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
<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.
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>
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
<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]