alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
<HdkR> Heads up to the people using equipment hosted at my location. This weekend the network will be going down for about an hour or two
stikonas has quit [Remote host closed the connection]
<HdkR> Moving networking gear to a server rack and potentially stripping ATT's modem off my network (if eap_proxy works correctly)
<alyssa> HdkR: glhf :P
<alyssa> My instructions are just... vanishing
<HdkR> Sounds like a good optimization :P
<alyssa> lol
<alyssa> HdkR: Oh hey, that was the bug, thanks :)
<alyssa> was stuck for a while
rhyskidd has quit [Read error: Connection reset by peer]
rhyskidd has joined #panfrost
vstehle has quit [Ping timeout: 256 seconds]
kaspter has joined #panfrost
kaspter has quit [Remote host closed the connection]
kaspter has joined #panfrost
davidlt has joined #panfrost
_whitelogger has joined #panfrost
cowsay_ has joined #panfrost
cowsay has quit [Ping timeout: 256 seconds]
NeuroScr has quit [Quit: NeuroScr]
vstehle has joined #panfrost
davidlt has quit [Ping timeout: 256 seconds]
davidlt has joined #panfrost
cowsay has joined #panfrost
cowsay_ has quit [Ping timeout: 272 seconds]
buzzmarshall has quit [Remote host closed the connection]
kinkinkijkin has joined #panfrost
bnieuwenhuizen has quit [Ping timeout: 246 seconds]
<la-s> so I'm running weston with panfrost, but it's quite slow with a 4k resolution, is that expected, or is it just me that fucked something up? It's still faster than llvmpipe, but it's not that different.
<kinkinkijkin> which board?
<HdkR> That's like what, minimum 1GB/s memory bandwidth?
<HdkR> if 4k60
<kinkinkijkin> firstly panfrost is relatively young, secondly 4k60 is a *lot* of work, regardless of maturity of driver
<kinkinkijkin> on most boards, weston runs pretty slow even at 1080p with gpu accel
<kinkinkijkin> if you can, try with gnome3
<kinkinkijkin> ironically long-hated as being super slow, it's the only wayland compositor fast enough to maintain 1080p60 constantly on the majority of boards that can launch it
vstehle has quit [Quit: WeeChat 2.7.1]
vstehle has joined #panfrost
NeuroScr has joined #panfrost
<la-s> odroid n2
<la-s> huh, thanks!
<la-s> This works surprisingly well onestly
<HdkR> Wait, when did N2 start working in Panfrost? I thought it was still busted
<la-s> I don't know
<la-s> I literally just got it working
<icecream95> kinkinkijkin: Maybe we need to blacklist weston to stop people from using it
<la-s> using 5.7rc4 with the patches in github.com/superna9999/linux's amlogic/v5.8/bifrost branch along with adding arm,mali-bifrost or something to the compatible dt thing in the panfrost drm driver and mesa is just latest master with gitlab.freedesktop.org/tomeu/mesa's bifrost branch's patches.
<la-s> Anyway, why is weston so bad?
<la-s> I thought it was supposed to be good since it's kind of like a reference implementation of the protocols
<icecream95> la-s: Weston is pretty slow even on Midgard, but optimisation work hasn't started yet for Bifrost so everything is going to be very slow
<la-s> huh
<kinkinkijkin> because it doesn't see as much development as gnome 3, weston has stayed pretty much the same thing since it was originally put out
<kinkinkijkin> there's also sway and way cooler, but I haven't tried them on a non-x86 device yet
<la-s> going to try sway now since I know how to get that working easily
<kinkinkijkin> sway might not work, or will require a good amount of extra work nobody's done yet to get it working
<kinkinkijkin> like plasma 5 was when I got it working on my board
* tomeu cannot think of a good reason why weston would be slower than mutter
soldi_ has joined #panfrost
<soldi_> mutter saw some gpu magic happening to it some point in i think late 2018
<soldi_> weston hasn't yet had similar improvements last I checked
<icecream95> glmark2-es2 scores with Weston are half of what they are with Sway
kinkinkijkin has quit [Disconnected by services]
soldi_ is now known as kinkinkijkin
<la-s> related: is there any way to use mutter without the gnome shell?
<daniels> kinkinkijkin: weston has seen a surprising amount of development and optimisation, and we can do 4k60 even on terrible imx boards, so it's not an architectural issue
<daniels> kinkinkijkin: as a quick fix, try putting '[core]\nrepaint-window=15' in weston.ini
<kinkinkijkin> that wasn't me who needed that help
<kinkinkijkin> was la-s
<daniels> icecream95: ^ also try that
<daniels> the default repaint window aims to give you sub-frame latency, so clients can present in the same vblank cycle as they render
<daniels> but this is too aggressive for a lot of cases; 15 means that you always present in the next frame (like GNOME), but also gives you the whole refresh cycle to render, instead of half
<kinkinkijkin> I'd try that out but my only personal board is currently set up for some other stuff
<kinkinkijkin> no wayland for me yet
<icecream95> daniels: That doesn't seem to have any effect
<tomeu> icecream95: does top suggest that CPU is the bottleneck?
<tomeu> and if so, which process takes the most?
rhyskidd has quit [Remote host closed the connection]
<icecream95> tomeu: For glmark-es2-wayland -b pulsar, weston uses 70% CPU, with 40% of that in the kernel
<tomeu> icecream95: wonder what perf top says then
<icecream95> v7_dma_clean_range is at 10% in perf top
raster has joined #panfrost
<daniels> yeah, that's super broken and sounds to me like a lot of texture uploads and/or ReadPixels fun
<daniels> can you please send your weston log, and also ideally the output of running `weston-debug timeline` from when you've started the compositor with --debug, and it is running slowly?
kinkinkijkin has quit [Read error: Connection reset by peer]
stikonas has joined #panfrost
* tomeu suspects it is related to missing modifiers support
<la-s> fwiw doing that doesn't fix the issue for me, but it might not be anything being slow honestly; there's just a big delay when I type something until it appears on the screen
<daniels> la-s: still shouldn't be the case ...
<icecream95> la-s: How responsive is using the cursor keys to rotate in es2gears_*?
<la-s> dunno, will try now
<la-s> I couldn't even get es2_info to work though I think
<la-s> display not found or something (WAYLAND_DISPLAY is set, does it use X?)
<daniels> ... is your session even accelerated?
<la-s> It says it is using panfrost and the g52 gpu
<la-s> daniels: can it still somehow not be using acceleration even if it says that?
<icecream95> la-s: Try passing --xwayland to weston
<la-s> es2gears_wayland works for me, but what do you mean using the cursor keys to rotate icecream95?
<icecream95> la-s: That only works in es2gears_x11
<la-s> lol
<icecream95> (and glxgears, but I'm not sure if GL_QUADS is supported on Bifrost yet)
<la-s> well, running with --xwayland causes it crash on startup
<la-s> * well, running with --xwayland causes it to crash on startup
<daniels> la-s: capturing the output of WAYLAND_DEBUG=client es2gears_wayland would say for sure
<la-s> daniels: well I captured it, but how can I tell?
<daniels> la-s: send me a URL and I'll look at it for you :)
<la-s> daniels: http://[240d:1a:164:8700:21e:6ff:fe42:3663]:8000/debug
<daniels> yeah, the fact it's using zwp_linux_dmabuf_v1 means that it's using hw accel
<la-s> thanks
<la-s> well, I'll try using sway now and see if it works
<daniels> [2673232.554] wl_callback@11.done(14232868)
<daniels> [2673233.467] wl_buffer@9.release()
<daniels> [2673233.853] wl_callback@12.done(14232868)
<daniels> there's some _really_ weird and broken client behaviour going on here
<daniels> it's asking for two frame callbacks in the same frame, and one isn't being proceesed for ... far too many milliseconds
<daniels> i did at some point start untangling this, but the pseudo-winsys-abstraction-layer inside the Mesa demos didn't make it easy
<daniels> are you able to try with another client, like weston's simple-egl?
<la-s> sure
icecream95 has quit [Quit: leaving]
<la-s> daniels: http://[240d:1a:164:8700:21e:6ff:fe42:3663]:8000/
kinkinkijkin has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
<la-s> welp, sway doesn't really work. It launches, but the output is way too garbled and is mostly black. There are a lot of errors saying "Failed to add atomic DRM property: Timer expired" and "Plane 0 doesn't support format 0x34325258"
<robmur01> hmm, apropos of that, I had been wondering what the deal with atomic DRM is - last time I checked, `kmscube -A` refuses to work on RK3399, but it does on RK3328 with lima, so I assume it's not the display driver
raster has quit [Quit: Gettin' stinky!]
karolherbst has quit [Quit: duh 🐧]
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
raster has joined #panfrost
kinkinkijkin has quit [Read error: Connection reset by peer]
<alyssa> la-s: ...wait, GNOME works on Bifrost? what?
kinkinkijkin has joined #panfrost
<alyssa> not complaining but
karolherbst has joined #panfrost
<la-s> alyssa: sorry, haven't actually tried GNOME yet, but weston works, and is actually usable
<alyssa> la-s: neat :o
<alyssa> I mean, I know weston starts and gears go, but I didn't try actully using it since I don't have my n2 setup
<la-s> if you change ttys it fucks up a bit, and windows have to be a specific size to not be garbled
<la-s> I got firefox working too
<la-s> text input on higher resolutions is hard because of it's performance though
<la-s> its*
<alyssa> "windows have to be a specific size to not be garbled" This is interesting,I remember seeing this on t860 when first bringing it up
<alyssa> tomeu: ^ Could you look into sometime maybe? I suspect stride issues.
<alyssa> actually wait
<alyssa> ^ Not even compiled tested but should fix it :p
<la-s> thanks, will try
<alyssa> +1
* tomeu is happy to see that he's not needed :p
<alyssa> :P
<alyssa> let's see if it worked =P
<tomeu> alyssa: want me to clean up some of the patches you have accumulated in your branch?
<alyssa> tomeu: yes, please! :)
<tomeu> ok, I will find for it tomorrow
buzzmarshall has joined #panfrost
<la-s> alyssa: it works!
<la-s> without any problems at all
<la-s> I could actually use this as my daily driver now I think
<la-s> there is this black border around windows though, and the background for the mouse pointer is also black
<la-s> minor inconvenience
<alyssa> la-s: hehe, nice :)
<alyssa> tomeu: ^ that'd be blending
<alyssa> la-s: I remember taking in this machine to school with early Panfrost + Weston... teachers never understood why I had to recompile mesa during class but maybe they never noticed either ^^
<la-s> alyssa: wow, you're still a student?
<alyssa> la-s: yeah, or at least, I was pre-COVID :p
<la-s> lol
<alyssa> Ostensibly studying at University of Toronto. currently University of Internet.ca
cwabbott_ has joined #panfrost
cwabbott has quit [Ping timeout: 240 seconds]
cwabbott_ is now known as cwabbott
<rando25902> sudo wpa_cli
<rando25902> whoops
<HdkR> sudo woodo
<rando25902> those were for library times
<rando25902> mostly
nerdboy has joined #panfrost
nerdboy has quit [Ping timeout: 256 seconds]
<daniels> la-s: ha, glad it works! :)
<la-s> yeah, it's really nice, just wish it would work faster on 4k, but it seems to me that that might be an issue with panfrost, oh well, at least it works pretty fine on lower resolutions
adjtm_ has joined #panfrost
adjtm has quit [Ping timeout: 246 seconds]
<daniels> yeah, Bifrost support is ... not quite perfectly optimised yet ;)
<Lyude> i'm surprised it works at all w/ weston o:
<daniels> Lyude: weston doesn't even use fbos!
<Lyude> oh, huh
<daniels> yeah, doing multiple render -> texture -> render passes is just too inefficient
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
bnieuwenhuizen_ has joined #panfrost
bnieuwenhuizen_ is now known as bnieuwenhuizen
raster has quit [Quit: Gettin' stinky!]
raster has joined #panfrost
bbrezillon has quit [Ping timeout: 272 seconds]
bbrezillon has joined #panfrost
davidlt has quit [Ping timeout: 246 seconds]
bbrezillon has quit [Ping timeout: 260 seconds]
icecream95 has joined #panfrost
bbrezillon has joined #panfrost
<icecream95> Problem: NetworkManager crashes after connecting to wifi. Solution: Don't let systemd restart NetworkManager. ++hacks;
<alyssa> icecream95: \o/
<alyssa> icecream95: BTW, I'm not sure derivatives were working before either..
<alyssa> https://people.collabora.com/~alyssa/0001-pan-mdg-Set-types-for-derivatives.patch does fix the crash but deqp tests still fail more than no
<alyssa> (dEQP-GLES3.functional.shaders.derivate.*)
NeuroScr has joined #panfrost
<icecream95> alyssa: Some of the tests are failing register allocation, for example dEQP-GLES3.functional.shaders.derivate.fwidth.texture.basic.vec3_mediump
<alyssa> Uh oh.
* alyssa was hacking on the midgard RA just now actually, though not for that
<alyssa> (Hoping to improve perf a bit.)
<alyssa> Compile-time perf, that is.
<alyssa> (With the goal of making shader-db useable again, skia shaders being added makes things a lot slower.)
<alyssa> In particular, we don't *really* need per-byte.
<alyssa> Since it doesn't make sense to alloc a single byte on midg... 16-bit is the minimum that's properly atomic.
<icecream95> alyssa: Speaking of skia shaders, someone needs to implement blend_equation_advanced
<alyssa> Ah, yeah, the "let's stick Photoshop in OpenGL" extension
<alyssa> Nobody has a hw impl afaik
<alyssa> GLSL IR has the lowering in lower_blend_equation_advanced, but..
<HdkR> Nvidia is the only company that has a fast implementation. So it's pretty yolo everywhere else
<alyssa> 1) That should really be in NIR, GLSL is not the right place for it. Original author (Kayden) agreed iirc that rewriting in NIR is sane.
<alyssa> 2) For us, we generate blend shaders fresh from NIR without hitting GLSL at all, so.
rando25902 has quit [Ping timeout: 240 seconds]
<alyssa> I'm not sure if #2 is a hard constraint for blend_equation_advanced, though.
<alyssa> Traditionally it gets lowered to tilebuffer reads within the fragment shader (there's also a Mali extension for this unrelated to blend shaders), I'd assume blend shaders are the right place for us to do it but who knows
<alyssa> I haven't looked what the blob does
<alyssa> Almost certianly perf would be better with blend shaders since then we can key them appropriately.
<icecream95> alyssa: Possibly, but only once someone changes the work_count = 16 in panfrost_frag_meta_blend_update
<alyssa> Oops.
<alyssa> I keep forgetting that's still there :p
<alyssa> IIRC it should be MAX2(work_count_frag, work_count_blend)
<alyssa> ISTR the blob forces blend shader pressure <= 4 so you can probably get away with simpler but yeah
<alyssa> (4 is the first thread break, 8 is the other one)
<icecream95> robmur01: kmscube -A requires PIPE_CAP_NATIVE_FENCE_FD, but other clients can to atomic DRM without it
<robmur01> icecream95: ah, I guess fences are a thing the render node has to be involved in too, so that's logical enough for my tiny brain - thanks!
<icecream95> alyssa: The register allocation failures in derivate tests was with an ancient distro Mesa - I had set LD_LIBRARY_PATH to somewhere that didn't exist
<alyssa> icecream95: Ah.
<alyssa> Ok, I think I just did a big loop and rederived LCRA albeit in a much saner way.
<alyssa> oops?
gcl_ has quit [Ping timeout: 240 seconds]
gcl has joined #panfrost
<alyssa> ...but short of a total rewrite I'm not sure how to benefit
<alyssa> Turns out - yes, there is a massive constant factor improvement possible by vectorizing the solver with bitsets
<alyssa> But I'd rather not be tied up debugging a new RA impl for the next indefinite
<alyssa> I guess shelving for if I figure out another ah-ha
<alyssa> But it would speed up shader-db considerably to fix
icecream95 has quit [Remote host closed the connection]