tgall_foo has quit [Read error: Connection reset by peer]
robert_ancell has quit [Remote host closed the connection]
Elpaulo has quit [Read error: Connection reset by peer]
phh has quit [Quit: No Ping reply in 180 seconds.]
Elpaulo1 is now known as Elpaulo
phh has joined #panfrost
* urjaman
had enough of crashing his X in various weird ways for tonight
<urjaman>
i've learned a bunch tho
<alyssa>
:)
<alyssa>
bbrezillon: I just sent some patches to the list for managing system values.
<alyssa>
This provides the infrastructure for piping around special uniforms, currently used for viewports.
<alyssa>
I designed it specifically with textureSize() implementation in mind, so that should be an easy "first userspace patch" if you'd like to dig in!
<alyssa>
For a sketch of how I envision this:
<alyssa>
Introduce a new PAN_SYSVAL_TEXTURE_SIZE in midgard/midgard_compile.h
<alyssa>
You'll address this as
<alyssa>
PAN_SYSVAL(TEXTURE_SIZE, n)
<alyssa>
where n is the texture number
<alyssa>
In midgard/midgard_compile.c, you'll make a few changes:
<alyssa>
In midgard_nir_assign_sysval_body, you'll want to check for texture instructions (and then specialize to texture size instructions) and map those to PAN_SYSVAL(...)
<alyssa>
And then in emit_tex, you'll handle the texture size instruction by a call to emit_uniform_read (see emit_sysval_read for a sketch of that)
<alyssa>
Then, in pan_context.c, grep for PAN_SYSVAL_VIEWPORT_SCALE... and just add another branch to that if handling the TEXTURE_SIZE sysval, filling in the corresponding info for Gallium.
<alyssa>
Feel free to ping me with any questions / complaints! :)
tlwoerner has quit [Quit: Leaving]
tlwoerner has joined #panfrost
_whitelogger has joined #panfrost
vstehle has quit [Ping timeout: 250 seconds]
chewitt has quit [Quit: Zzz..]
chewitt has joined #panfrost
vstehle has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
_whitelogger has joined #panfrost
<bbrezillon>
alyssa: great! thanks a lot for mentoring me on this task.
<alyssa>
bbrezillon: Mentoring? I just kinda thoughtdumped there. Good luck :p
<alyssa>
Should be fun!
<alyssa>
bbrezillon: One other thing, you'll probably want to test with textureSize() directly, not rect textures, at first..?
<bbrezillon>
alyssa: should be enough to start digging and getting familiar with the driver
<alyssa>
Only potential issue is that that's an ES3 function..
<alyssa>
You can fake ES3/GLSL3 with some mesa envs, we set enough fake CAPs that that can work
<bbrezillon>
ok
<alyssa>
bbrezillon: MESA_GLSL_VERSION_OVERRIDE and one other; look at mesa docs
<LinguinePenguiny>
Just came in so don't know if you mentioned it, but if an app doesn't run and fails to link, you probably need to export variables/functions that the app expects but doesn't find in the driver, which is what the caps and whatnot should be for.
<LinguinePenguiny>
and you can hack some caps to do the rudimentary, but wrong, thing to make it just work.
pH5 has quit [Remote host closed the connection]
LinguinePenguiny has quit [Ping timeout: 250 seconds]
_whitelogger has joined #panfrost
adjtm has quit [Ping timeout: 252 seconds]
adjtm has joined #panfrost
<urjaman>
kinda funny how when get_maintainer falls back to the git fallback, and obviously these patches are already in my git tree, it recommends that i should CC them to myself...
yann has joined #panfrost
tlwoerner has quit [Read error: Connection reset by peer]
<paulk-leonov>
that's built-in support for multiple personality disorder :)
raster has joined #panfrost
tlwoerner has joined #panfrost
unoccupied has quit [Quit: WeeChat 2.4]
<alyssa>
paulk-leonov: Oh hi, it's been a while!
<paulk-leonov>
alyssa, hey there :)
unoccupied has joined #panfrost
<TheCycoONE>
thanks, now I have Staind stuck in my head :p "And it's been awhile, since I could hold my head up high..."
* TheCycoONE
dates himself
<alyssa>
I ship it.
yann has quit [Ping timeout: 250 seconds]
pH5 has joined #panfrost
* alyssa
wonders why her USB drive won't mount
<jernej>
alyssa: did you do kernel update and usb_storage driver is a module? Just do a reboot.
<jernej>
common issue for me on arch
<alyssa>
jernej: I don't do modules :P
* alyssa
rebuilds kernel
<alyssa>
You know, this was supposed to be a relaxing morning of rewatching a film...
<alyssa>
...and instead it's a debugging session involving rebuilding kernels and probably soon Panfrost debugging for Kodi
<ente>
I'd expect nothing else :P
<alyssa>
ente: Hey, I really want to say I've watched a film using mainline kernel n RK3399, Kodi, Panfrost (mainline driver, not kbase), and working audio on my nice Kevin display, with touchscreen working for Kodi interface..
<alyssa>
:P
<ente>
I wish I had the same dedication you have to do anything ^^
<alyssa>
ente: I don't watch many films normally .. ;)
<ente>
me neither, ever since my favourite torrent sites disappeared
<alyssa>
/* no comment */
<alyssa>
ente: Kernel rebuild gets my hard disk working
<alyssa>
Next up is audio
<ente>
what do you mean, gets your hard disk working?
<alyssa>
The USB issue
<ente>
ah..
<ente>
forgot to compile it in?
<alyssa>
mm
<alyssa>
Got headphones up
<ente>
\o/
<alyssa>
Or not
<ente>
/o\
<alyssa>
Playing out headphones and speakers simultaneous
<ente>
[18:53] <@alyssa> jernej: I don't do modules :P
<ente>
^^
<alyssa>
hm?
<alyssa>
Ig
<alyssa>
Oh
<alyssa>
Audio still broken
<alyssa>
Grr
<alyssa>
Audio okay in mpv
<alyssa>
There it is, in Kodi
<Lyude>
you should do modules :p
<Lyude>
imo, anyway
<alyssa>
Probably
<alyssa>
Now my disk won't mount
<alyssa>
I really think we need to do something like GalliumOS but for Chromebooks
<Lyude>
i'd love to just get fedora working oob on them
<alyssa>
Sure, but Debian
<alyssa>
:P
<alyssa>
s/Chromebooks/Arm/
<Lyude>
jfyi, generally if fedora works I assume other distros like debian should already be working as well :)
<alyssa>
Just teasing
<Lyude>
hehe
<alyssa>
Woohoo!
<alyssa>
Got everything working!
<alyssa>
Of course, now I don't have time to watch a film, but c'est la vie :)
NeuroScr has joined #panfrost
<paulk-leonov>
alyssa, ah! I've also been struggling to get audio working nicely on arm chromebooks
<paulk-leonov>
last time I looked at it, I think the way to go was alsa UCM files
<paulk-leonov>
which is what chromium os uses
<paulk-leonov>
(with some additions of their own IIRC)
<paulk-leonov>
I had managed to get the gnome pulseaudio control thing to properly select sources with that
raster has quit [Remote host closed the connection]
<paulk-leonov>
not sure if I still have that around somewhere
<paulk-leonov>
and I guess that for fedora to properly support arm chromebooks, they'd have to give up on the idea that everything needs to be UEFI boot :p
* urjaman
fixed up the ucm file for the C201 ...
<paulk-leonov>
awesome!
<paulk-leonov>
I think upstream alsa still has some config for the downstream kernel only
<urjaman>
dunno how it's on kevin tho
<urjaman>
but anyways i even got the C201 UCM upstream so the only thing i do for the sound is have a systemd unit load the UCM on boot ... i think that might also be done by pulseaudio but i guess it doesnt hurt
<paulk-leonov>
ah right, there was a trick with "Comment" that's somehow essential to making it work
<urjaman>
even the headset jack insertion detection thing works... the only thing is that it doesnt detect the headphones being plugged in on boot so i need to do a re-insert
MoeIcenowy has quit [Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in]
<urjaman>
paulk-leonov: the Playback/CapturePCM entries were more critical, but yes without the comments the pulseaudio UI only displayed two empty list items so it was super duper confusing IIRC
<urjaman>
"pulseaudio UI" being pavucontrol but yeah
MoeIcenowy has joined #panfrost
* paulk-leonov
remembers spending hours reading pulseaudio logs before figure it out
<paulk-leonov>
and I guess I didn't get to the PCM entries
<paulk-leonov>
how's usb on rk3288 nowadays?
<paulk-leonov>
the dwc2 was incredibly unstable on mainline last time I tried
<paulk-leonov>
IIRC there were also inconsistencies in battery handling but that was about it
<urjaman>
it works for what i use it with (i've tested one rtl-something wifi stick, some USB card reader, and some development widgets)... but not totally bulletproof
<urjaman>
once cdc_acm hung the kernel until i realized to unplug the flasher ... and sometimes if i re-plug an usb stick one of the ports might get "stuck" until reboot
<urjaman>
that is, not notice a device attach at all after a detach
<urjaman>
i have a patchset for HDMI (basically just making it do what the chromeos kernel does)
<urjaman>
but it would need more smarts (and maybe some social engineering lol) to get upstream
<paulk-leonov>
urjaman, well, if you're interested in starting the discussion, feel free to CC me :)
<urjaman>
i think i started it and forgot about it (and then got really stressed out when reading it when i remembered) at some point last year (i'm not very good with email stuff)
<paulk-leonov>
hehe I totally understand
<urjaman>
https://github.com/urjaman/linux/commits/c201_5_1_rc3_pf3 for reference this is the kernel tree i'm currently testing :P (has the HDMI things, some eMMC patches i just found on github :P, and some of my other hacks, and the panfrost kernel driver stuck on top of 5.1-rc3)
<paulk-leonov>
neat, I'll keep an eye on it
<urjaman>
well, that specific branch will likely be irrelevant in about a week, but you can likely just look up the newest branch in that repo that has "c201" in the name
<urjaman>
well yeah i might try upstreaming that at some point (nobody else than RK3288 is using the panel, so it wouldnt hurt i think) but i thought it might be a bit too nitpicky ... i just wanted xrandr to 1. not lie about the mode and for 2. the mode to be actually 60 hz
<paulk-leonov>
fair enough :)
<paulk-leonov>
I had more display issues on minnie tbh
<paulk-leonov>
like flickering after a long time of use
<urjaman>
but yeah ranges and "this is the clock we got, find me a 60Hz-ish mode please" would be cleaner i suppose ... also something that would need a lot of testing (or put a supported panel onto a system with a different clock configuration and it might accidentally pick a mode that doesnt sync)
<paulk-leonov>
yeah, and I guess some board-specific indications would be welcome, I'm not sure the clock is enough to represent constraints
<urjaman>
and it was kinda fun to write the tiny bit of code that iterated through the available mode-space for closest-to-60Hz combinations of htotal/vtotal :P
<paulk-leonov>
pcb routing it itself can make some configurations unreliable on its own
<paulk-leonov>
heh :)
<urjaman>
and yeah i heard (and i looked up the mode ChromeOS kernel had picked for it... iirc 50-something hz) minnie had to also pick a mode that doesnt interfere with the touchscreen
<paulk-leonov>
ah right, there's that too
<urjaman>
currently i'm trying to upstream this pile of patches that resulted from me putting u-boot into the C201 :P
<paulk-leonov>
well, I use coreboot + depthcharge, which I find much cleaner than u-boot
<urjaman>
i mean i didnt look much into what non-chromeos built depthcharge could do, but i kinda also didnt want to look into that anymore :P
<urjaman>
but yes i know u-boot is a kitchen sink, but a kitchen sink i've gotten familiar with from previous things so...
<alyssa>
paulk-leonov: Yeah, I have that ucm stuff setup. It's just such a giant hack.
<urjaman>
oh btw, my thought when i noticed a "sound support" menu in u-boot config was "what next, an mp3 player?" but then i realized that depthcharge also has sound support for the horrible beeps
<alyssa>
Beep borp.
chewitt has quit [Quit: Adios!]
unoccupied has quit [Quit: WeeChat 2.4]
<hanetzer>
urjaman: did more work on the c201?
<urjaman>
hanetzer: well yes and no and idk what are you comparing to, but mostly i made some more generic defconfig changes (all veyrons) ... oh and yeah ignoring (=not spewing a ton of errors about) the eMMC 'IGNOREME' GPT ... and also i implemented the poweroff command
<hanetzer>
nice
<urjaman>
(i also had fun by plugging in the Terminus Font and setting the default fg text color to green, but those arent C201 specific or for upstream, atleast yet...)
<urjaman>
happen to know a clean way to do color selection in Kconfig? :P
<urjaman>
(i'd like to do a choice but so that the output is a number in one CONFIG variable, but that's not how it works it looks like...)
pH5 has quit [Quit: -_-]
<lvrp16>
so when is panfrost driver going to hit the kernel?
<lvrp16>
now that lima driver will land
<anarsoul>
lvrp16: when it's ready?
<lvrp16>
anarsoul: hehe, hopefully before 5.3 or whichever the next LTS release is
<anarsoul>
lvrp16: well, it really doesn't matter since it's not done yet. Whichever version lands in kernel it's not final
<alyssa>
lvrp16: 5.2, we think
<lvrp16>
alyssa: that would be nice if it can land in staging then
<lvrp16>
less stuff to maintain for me
<alyssa>
lvrp16: It's not going to staging.. :P
<lvrp16>
alyssa: :P
<alyssa>
lvrp16: (remind me which you maintain?)
<lvrp16>
alyssa: libre computer kernel and images
<alyssa>
Gotcha :)
<lvrp16>
using panfrost for the s912 board they have
<alyssa>
Ah-ha
<alyssa>
lvrp16: You're the one doing LibreELEC on the S912?
<alyssa>
(Commercially, I mean?)
<lvrp16>
no that's christian hewitt
<lvrp16>
who is part of kodi
<alyssa>
I know tha-- never mind, I think I just got myself really confused :p
<lvrp16>
narmstrong and mjourdan is who you're thinking of?
<alyssa>
Mayhaps
<alyssa>
lvrp16: I was under the impression someone was interested in selling S912 boards running LibreELEC+Panfrost out of the box
<lvrp16>
o.0
<lvrp16>
alyssa: decoders are not finish yet, hopefully we get budget to finish decoder work for gxl
<lvrp16>
alyssa: last year, there was hdmi 2.0 and initial decoder work, we plan to finish that this year
<alyssa>
lvrp16: I may have mixed up you (or narmstrong?) selling S912 with Panfrost vs chewitt interested in S912 with LibreELEC+Panfrost but not commercially?
<lvrp16>
alyssa: we plan to sell s912 but not with software. chewitt has generously helped make images for our stuff before.
<lvrp16>
alyssa: i don't know of anyone selling libreelec + panfrost bundled with hardware
<alyssa>
Okey dokey!
<lvrp16>
alyssa: we are trying to get people to help with panfrost gles3, currently still in discussion