ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput | register your nick to speak
co1umbarius has joined #wayland
radu242 has joined #wayland
columbarius has quit [Ping timeout: 480 seconds]
Consolatis_ has joined #wayland
Consolatis is now known as Guest2320
Consolatis_ is now known as Consolatis
Guest2320 has quit [Ping timeout: 480 seconds]
radu242 has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
cool110_ has joined #wayland
ecloud_ has joined #wayland
daz has joined #wayland
columbarius has joined #wayland
cool110 has quit [Ping timeout: 480 seconds]
Lumpio_ has quit [Ping timeout: 480 seconds]
d42 has quit [Ping timeout: 480 seconds]
Lumpio_ has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
ecloud has quit [Ping timeout: 480 seconds]
zebrag has quit [Quit: Konversation terminated!]
eric527 has joined #wayland
eric527 has left #wayland [#wayland]
cvmn has joined #wayland
caveman_ has joined #wayland
cvmn has quit [Ping timeout: 480 seconds]
radu242 has joined #wayland
Seirdy has quit [Ping timeout: 480 seconds]
Seirdy has joined #wayland
caveman_ has quit [Ping timeout: 480 seconds]
vchernin[m] has quit []
andyrtr has quit [Quit: ZNC 1.8.2 - https://znc.in]
andyrtr has joined #wayland
tzimmermann has joined #wayland
dcz has joined #wayland
cool110_ has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 has quit [Remote host closed the connection]
cool110 has joined #wayland
frytaped has joined #wayland
ianr has joined #wayland
ianr has quit [Read error: Connection reset by peer]
<MrCooper> emersion: right, but the protocol doesn't forbid it? (the scanout tranche could be a lower priority one)
<MrCooper> it may not make sense, just thinking about what Xwayland needs to handle
<emersion> I don't believe it's forbidden
<pq> MrCooper, how would that question change how Xwayland handles that extension?
<MrCooper> pq: the current code in https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/818 would end up using the last (lowest priority) tranche
<pq> Is someone trying to push code that assumes that default feedback can only contain a single tranche and malfunctions otherwise?
<pq> aha, so yes
<pq> you can also have several non-scanout tranches
<MrCooper> right; the plan for that MR is to use the first tranche with modifiers for the device & format, the implementation just doesn't quite match the plan yet
<pq> That would be used to communicate the preference between sets of pixels formats, as all formats within a tranche are equal.
<pq> cool
<MrCooper> thanks guys
frytaped has quit [Quit: WeeChat 3.5]
danvet has joined #wayland
<wlb> wayland Issue #319 opened by Pekka Paalanen (pq) Follow-up from "protocol: add wl_compositor.error.bad_parent" https://gitlab.freedesktop.org/wayland/wayland/-/issues/319
<wlb> weston Issue #663 opened by Pekka Paalanen (pq) Follow-up from "protocol: add wl_compositor.error.bad_parent" https://gitlab.freedesktop.org/wayland/weston/-/issues/663
<wlb> wayland Issue #319 closed \o/ (Follow-up from "protocol: add wl_compositor.error.bad_parent" https://gitlab.freedesktop.org/wayland/wayland/-/issues/319)
mbalmer has joined #wayland
rasterman has joined #wayland
mbalmer has quit []
frytaped has joined #wayland
rgallaispou has left #wayland [#wayland]
frytaped has quit [Remote host closed the connection]
frytaped has joined #wayland
rgallaispou has joined #wayland
fahien has joined #wayland
<heeen> I am developing a qtwayland compositor for a imx6 platform (etnaviv)
<heeen> even with very simple clients, the fps drop to 30fps as soon as a client connects
<heeen> with 1280x800 I don't think that is too heavy
<heeen> I am wondering if theres some known issues that would explain such a performance drop
<pq> as soon as client connects? it does not even need to open a window?
<pq> but no, I don't know
<heeen> that I haven't tested
<heeen> qt opengl client, trying to render 60fps
<heeen> qt opengl compositor trying to render at 60fps
<heeen> I wonder if there's some weird contention going on because I don't think the rendering load justifies the drop
fmuellner has joined #wayland
rgallaispou has left #wayland [#wayland]
<any1> sounds like wonky frame scheduling. I'd take a look at timings of things like when the compositor commits its buffer to be rendered, when vsync happens, when the client commits its buffer to the compositor, when the client starts rendering, when it's finished, when the compositor starts, finishes rendering, etc...
<any1> These functions can be probed using USDT and then you can get timing graphs with tools like ui.perfetto.dev.
<any1> It's tedious the set up, but well worth it for the information that it provides.
<heeen> whats USDT
<any1> userspace tracepoints
<any1> they can be set using perf, systemtap, bpf, ftrace, etc. Pick your poison. :)
<heeen> I skimmed the perfetto quick start and it says to use some android named scripts on linux, is that correct?
<heeen> I have used perf before
<any1> No, you just convert your trace logs to a format that perfetto understands using python or perl or something
<any1> There is no complete solution available for this. I have my own scripts somewhere for this stuff, but I'd have to dig them up. Not sure where I put them.
<any1> This article provides some good inspiration: https://mstoeckl.com/notes/gsoc/blog.html
<any1> Qt also has some builtin profiling trace points that you might be able to use. There's even a profiler built into qtcreator that looks and feels a lot like perfetto
<heeen> QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=linux-dmabuf-unstable-v1 I'm using this buffer integration FWIW
<heeen> hm unsetting that makes no difference
<heeen> qt.scenegraph.time.renderer: time in renderer: total=23ms, preprocess=0, updates=0, binding=0, rendering=23
<heeen> which gets rounded to 30fps by vsync I guess
<pq> sounds about right number-wise
<heeen> blitting a single 1280x800 texture?
<heeen> maybe I am overestimating the GPU
<pq> no, that 23 ms rounds to 30 fps
<pq> if that was software rendered, that might not be unexpected, but for GPU rendering sounds a lot
<pq> was that the compositor side? How about the same for client side?
<pq> the compositor rendering likely implicitly waits for the client rendering to finish. and I'm not sure qt compositor separates that waiting time from its own rendering time
<heeen> its the compositor side
<heeen> the client alone rendering to eglfs is 60fps
<heeen> the compositor alone can push 60fps with no client
<heeen> in combination the compositor only manages 30fps, the client is limited by frame callbacks I think
<heeen> is there a way to get insight into buffer wait states
<pq> a client can still hit 60 fps by consuming 16.2 ms per frame, but adding the tiny more of the compositor can push the combination off the cliff to 30 fps
<heeen> remind me who decides on the swap chain lenght, is it wayland or the driver/opengl userspace
<heeen> I can try removing vsync for either
<pq> would be better to measure rendering time, not fps
<heeen> if theres not enough buffers and they are mutually waited on couldn't that limit rendering
<pq> if the client has eglSwapInterval set to 1 (default), then eglSwapBuffers will wait until the frame callback from the previous SwapBuffers is triggered.
<pq> swap chain length is mostly irrelevant
<pq> Wayland acts as a mailbox anyway
<heeen> the surface format is rgb8 depth24 maybe thats a subpoptimal format for imx6?
<heeen> too much memory pressure?
<pq> I wouldn't know, what's the client rendering time?
<heeen> I should try reducing the surface size for a test as well
<pq> what's rgb8?
<heeen> qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 16ms, sync=0, render=3, swap=13 - (on render thread)
<pq> that seems well fast enough
<heeen> the reported surface format from qt
<heeen> too much memory pressure?qt.scenegraph.general: opengl texture atlas dimensions: 2048x1024
<heeen> qt.scenegraph.general: R/G/B/A Buffers: 8 8 8 0
<heeen> qt.scenegraph.general: Depth Buffer: 24
<heeen> qt.scenegraph.general: Stencil Buffer: 8
<heeen> qt.scenegraph.general: Samples: 0
<heeen> qt.scenegraph.general: GL_VENDOR: etnaviv
<pq> well... I guess... I don't know what "render time" means there
<heeen> qt.scenegraph.general: GL_RENDERER: Vivante GC2000 rev 5108
<heeen> qt.scenegraph.general: GL_VERSION: OpenGL ES 2.0 Mesa 21.2.4.20211020-1
dcz has quit [Ping timeout: 480 seconds]
<heeen> I'm guessing time until swap, then swap time is time from there until swap returns?
<pq> ok, so that's CPU time, not render time
<pq> which means 3 ms on CPU, then 13 ms is GPU + wait for vblank, which doesn't tell us anything really.
<pq> you should probably go with what any1 suggested
<any1> The render thread of a Qt wayland client renders right after vsync, then submits the frame to the compositor and then waits until next vsync
<pq> wait, what? Even on Wayland the app waits for *vsync*?
<any1> Ahh, sorry, I meant the frame event
<pq> ah, phew :-)
<any1> But I'm pretty sure that it waits for the gpu to finish rendering before it submits the buffer
<pq> Really?
<heeen> the 3/13 time above is from running the client under eglfs without wayland
<pq> glFinish() or maybe a fence?
<any1> A fence, iirc
<any1> I'd have to look at the code again.
<pq> Sounds nice, meaning it could know how long the GPU took.
<pq> It's really difficult to infer anything without actually instrumenting/tracing the happenings and looking at a resulting time graph.
<any1> Indeed
<any1> It is often quite eye opening to look at a good time graph
rgallaispou has joined #wayland
fahien has quit [Quit: fahien]
<heeen> ok so a smaller window does indeed run at 60fps
<heeen> so it seems to be a limitation of fillrate or something
<pq> or maybe not the best phase in a refresh cycle to start compositing or send frame callbacks
<pq> btw. you are sure nothing is software-rendered, right?
<heeen> both report qt.scenegraph.general: GL_VENDOR: etnaviv
<heeen> qt.scenegraph.general: GL_RENDERER: Vivante GC2000 rev 5108
<heeen> qt.scenegraph.general: GL_VERSION: OpenGL ES 2.0 Mesa 21.2.4.20211020-1
<pq> ok
<any1> Well, the imx6 has incredibly poor memory bandwidth
rgallaispou has quit []
rv1sr has joined #wayland
sozuba has joined #wayland
eroc1990 has quit [Ping timeout: 480 seconds]
tzimmermann has quit [Quit: Leaving]
eroc1990 has joined #wayland
fahien has joined #wayland
markbolhuis has joined #wayland
<ofourdan> MrCooper (or anyone else), anything against me landing xorg/xserver!972?
rv1sr has quit []
fahien has quit [Quit: fahien]
sozuba_tmp has joined #wayland
sozuba has quit [Ping timeout: 480 seconds]
<emersion> daniels, that double negation… ehhhh :P
<emersion> "non-fully-integrated desktops are not the design we want"
<emersion> == "fully-integrated desktops are the design we want"? right?
<daniels> emersion: you're not incorrect!
<emersion> :O
<daniels> sorry, double negation is a very strong commonwealth speech trait
<daniels> to the point where I was going to say 'it's not an easy habit to break', i.e. it's a difficult habit to break
<emersion> lol
<kennylevinsen> it could also be an average habit to break
<daniels> kennylevinsen: fun fact, in en_AU 'ordinary' means 'really really bad'
rv1sr has joined #wayland
<kennylevinsen> language, what is it even
<jadahl> kamelåså
<kennylevinsen> you just bought 1000 liters of milk
<jadahl> :D
dcz has joined #wayland
<kennylevinsen> (for the uninitiated: https://www.youtube.com/watch?v=ykj3Kpm3O0g)
cabal704 has joined #wayland
<dottedmag> kennylevinsen: I still don't understand how on Earth it is possible to be able to read all the signs, but being unable to understand a word of spoken speech — after recent trip to Denmark, and I know Norwegian.
<kennylevinsen> dottedmag: *clearly* you're the ones mispronouncing it all! :P
<jadahl> I always feel a bit bad for having to fall back on english when in Denmark
<kennylevinsen> jadahl: don't - I lived in Landskrona for two years, and I wouldn't be able to have a conversation with someone speaking Swedish even if my life depended on it
<kennylevinsen> unless that conversation starts and ends at "do you have an ICA stammis kort", "do you want a receipt", or "what you want on your pizza"
<jadahl> at least we can communicate via the written language
<jadahl> then I can pretend its norwegian and make sense of it ;P
<kennylevinsen> when I had to deal with the paperwork, the lady at skatteverket *insisted* on me speaking Danish while she spoke Swedish. Even spelling words doesn't work. "E? I? A?!?"
<jadahl> how frustrating
cabal705 has joined #wayland
cabal704 has quit [Ping timeout: 480 seconds]
<dottedmag> kennylevinsen: not my first language. I suppose native Norwegians are better at understanding spoken Danish
<MrCooper> ofourdan: no objections
<ofourdan> thx!
pieguy128_ has quit [Ping timeout: 480 seconds]
zebrag has joined #wayland
pieguy128 has joined #wayland
pieguy128_ has joined #wayland
pieguy128 has quit [Ping timeout: 480 seconds]
pieguy128_ has quit [Ping timeout: 480 seconds]
cabal705 has quit []
fahien has joined #wayland
fahien has quit []
eroc1990 has quit [Ping timeout: 480 seconds]
eroc1990 has joined #wayland
sozuba has joined #wayland
sozuba_tmp has quit [Ping timeout: 480 seconds]
sozuba has quit []
sozuba has joined #wayland
pieguy128 has joined #wayland
sozuba has quit [Quit: sozuba]
sozuba has joined #wayland
cabal704 has joined #wayland
fmuellner has quit [Remote host closed the connection]
sozuba has quit [Quit: sozuba]
ybogdano has joined #wayland
<wlb> weston Merge request !998 opened by Derek Foreman (derekf) libweston: Add and use weston_output_contains_point https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/998 [libweston API], [Core compositor]
<wlb> weston Merge request !999 opened by Derek Foreman (derekf) compositor: Remove output dirty bit https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/999 [Core compositor]
<wlb> weston Merge request !1000 opened by Derek Foreman (derekf) libweston: Remove x,y from weston_plane_init https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1000 [libweston API]
<wlb> weston Merge request !1001 opened by Derek Foreman (derekf) desktop-shell: Remove unused params from internal map() function https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1001 [Desktop shell]
<wlb> weston Merge request !1002 opened by Derek Foreman (derekf) matrix: Make matrix const in weston_matrix_transform https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1002 [libweston API]
<wlb> weston Merge request !1003 opened by Derek Foreman (derekf) Use matrix math for more internal operations https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1003 [libweston API], [Core compositor]
<daniels> :o
cabal705 has joined #wayland
cabal704 has quit [Ping timeout: 480 seconds]
ybogdano has quit [Quit: The Lounge - https://thelounge.chat]
ybogdano has joined #wayland
rgallaispou has joined #wayland
bhawan has joined #wayland
ybogdano has quit [Ping timeout: 480 seconds]
rasterman has quit [Remote host closed the connection]
rasterman has joined #wayland
cabal705 has quit []
Company has quit [Quit: Leaving]
Company has joined #wayland
cabal704 has joined #wayland
bhawan has quit [Remote host closed the connection]
ybogdano has joined #wayland
Narrat has joined #wayland
cabal705 has joined #wayland
cabal704 has quit [Ping timeout: 480 seconds]
rgallaispou has quit [Read error: Connection reset by peer]
cabal705 has quit [Read error: Connection reset by peer]
cabal705 has joined #wayland
skipet has quit [Remote host closed the connection]
skipet has joined #wayland
ybogdano has quit [Ping timeout: 480 seconds]
dcz has quit [Ping timeout: 480 seconds]
rv1sr has quit []
ybogdano has joined #wayland
rv1sr has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
zebrag has quit [Ping timeout: 480 seconds]
zebrag has joined #wayland
markbolhuis has quit [Quit: markbolhuis]
cabal705 has quit [Read error: Connection reset by peer]
cabal705 has joined #wayland
remyabel2 has quit [Quit: remyabel2]
Narrat has quit []
danvet has quit [Ping timeout: 480 seconds]
cabal704 has joined #wayland
cabal705 has quit [Ping timeout: 480 seconds]
rv1sr has quit []
remyabel2 has joined #wayland
nerdopolis has joined #wayland