alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - https://gitlab.freedesktop.org/panfrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
hanetzer has joined #panfrost
<hanetzer> damn, now I have to start charging again :P
<alyssa> hanetzer: You asled :P
<hanetzer> was afk :P
<alyssa> :P
<urjaman> https://www.xkcd.com/303/ this comic also depicts the gentoo user :P
pH5 has quit [Ping timeout: 250 seconds]
pH5 has joined #panfrost
<alyssa> urjaman: Debian tbh
_whitelogger has joined #panfrost
Elpaulo1 has joined #panfrost
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
<bbrezillon> alyssa: yep, glGetTexLevelParameteriv() maybe?
<bbrezillon> sorry, I meant textureSize()
LinguinePenguiny has joined #panfrost
<alyssa> bbrezillon: Yeah, textureSize()
<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
<alyssa> Need the pulseaudio hack
<alyssa> load-module module-alsa-sink device=hw:0,2
<alyssa> Fixed
<alyssa> But kodi can't play..?
<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> wow nice that you upstreamed it!
<paulk-leonov> thanks for working on that!
<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
<paulk-leonov> I see
<paulk-leonov> so still somewhat broken
<paulk-leonov> HDMI was also a bit wonky
<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> and or/check what the PKGBUILD(s) in there: https://github.com/urjaman/arch-c201 point to
<paulk-leonov> oh cool, I'm also using ALARM :)
<paulk-leonov> about https://github.com/urjaman/linux/commit/23d46278911e18df138b7adde1bebc23f606baae that clearly shows why we need ranges in panel description
<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
<alyssa> lvrp16: Exciting! :)
NeuroScr has quit [Quit: NeuroScr]