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
fmuellner_ has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
columbarius has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
aswar002 has quit [Remote host closed the connection]
aswar002 has joined #wayland
fmuellner has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
fmuellner has quit []
fmuellner has joined #wayland
caveman has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
caveman has quit []
fmuellner has quit [Read error: Connection reset by peer]
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
caveman has joined #wayland
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit [Remote host closed the connection]
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
slattann has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
maxzor has quit [Ping timeout: 480 seconds]
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
laolmtdea^ has joined #wayland
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
fmuellner has quit [Read error: Connection reset by peer]
fmuellner has joined #wayland
fmuellner has quit [Remote host closed the connection]
<ofourdan>
zzag: by definition, Xwayland the Wayland compositor can deadlock, that is not new at all - Xwayland being a Wayland client (of the compositor) and the Wayland compositor being an X11 client (ie window manager) of Xwayland.
<ofourdan>
That, however, tends to affect more the Wayland compositors relyin on Xlib than those using xcb, because xcb gives a better granularity than Xlib (even though the deadlock appears to happen in xcb, that's because Xlib uses xcb nowadays)
<ofourdan>
I reckon the only sane way to avoid such a deadlock possibility would be to decorelate the X11 code from the Wayland code in the compositor
mvlad has joined #wayland
<ofourdan>
so that an Xsync() in the WM part doesn't block the compositor loop
erc has joined #wayland
sstiller has joined #wayland
maxzor has joined #wayland
rv1sr has joined #wayland
hardening has joined #wayland
cvmn has joined #wayland
caveman has quit [Ping timeout: 480 seconds]
sstiller has quit [Read error: Connection reset by peer]
<jadahl>
ofourdan: some how mutter seems to have managed to mostly avoid these dead locks despite using Xlib, I can't remember the last time I heard about such an issue
jmdaemon has quit [Ping timeout: 480 seconds]
<ofourdan>
yes, agreed - the last time was the issue with vlc tooltip that I fixed in vlc (was mapping/unmapping tht tooltip in a loop because of enter/leve events caused by the mapping/unmapping)
<ofourdan>
but still, that deadlock is always possible
<jadahl>
ah, right, that one I remember!
<jadahl>
indeed
<jadahl>
but the vlc one was more like a feedback loop than a dead lock wasn't it?
<ofourdan>
it was both, it would end up in a deadlock
<jadahl>
ah, i see
<jadahl>
the dead locks I've run into myself I think have been gpu hangs, since it has been some mutex in the gpu driver getting stuck
<ofourdan>
yes, exactly, to trigger the deadlock, all it takes is something hogging the compositor for long enough
<ofourdan>
fwiw, I have not experienced any such deadlocks for a very long time either
<ofourdan>
but all I am saying is that it is still possible, by the very design of most compositors
<ofourdan>
(if not all :) )
<jadahl>
i'm glad we managed to avoid the display server roundtrip in the drm lease xwayland implementation. that would have made things worse I suspect
<ofourdan>
yes, it was just not acceptable :)
<zzag>
ofourdan: while splitting x11 from wayland in the compositor would be amazing, I don't think it's feasible. also, to be frank, I don't want swing my hands through that swarm of hornets
<zzag>
maybe it's possible to split x11 stuff from wayland in Xwayland?
<ofourdan>
zzag: it is doable, but would require communication between the wayland compositor and the x11 window manager
<jadahl>
there was a branch in weston to make x11 wm stuff run in a thread or something, but it was abandoned pretty quickly
<ofourdan>
I mean, that's a lot of work
<zzag>
jadahl: moving everything in a thread was my first thought too, but we have lots of legacy lib code which was written for single thread use case with lots of hidden side effects :(
<ofourdan>
imagine a wayland compositor and the required protocols to externalize the window management to a separate process, and Xwayland implementing those protocols, you woudl not only solve the deadlock problem but provide a way for all the legacy X11 window managers to run with Wayland
<jadahl>
it's a can of worms to say the least
<pq>
I would think the reason you don't usually see these deadlocks is that Xwayland is very good at not doing blocking Wayland roundtrips, right?
<ofourdan>
Xwayland doesn't do any such things, but libwayland sometime does iirc
<pq>
really?
<ofourdan>
yes
<pq>
what are those?
<ofourdan>
when the buffers get full
<pq>
the alternative to that is to disconnect
<pq>
ok, so it comes down to the flow control, rather than libwayland doing protocol roundtrips
<ofourdan>
maybe wayland/wayland!188 might help as well
<pq>
yeah
<pq>
I got worried that libwayland might be doing protocol roundtrips now :-)
<ofourdan>
no, sorry
<ofourdan>
I wasn't clear
lxsameer3 has joined #wayland
duxsco has joined #wayland
droshan has quit []
rasterman has joined #wayland
droshan has joined #wayland
MajorBiscuit has joined #wayland
jmabr has joined #wayland
maxzor has quit [Ping timeout: 480 seconds]
eroux has quit [Read error: Connection reset by peer]
eroux has joined #wayland
zebrag has joined #wayland
eroux has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
flacks has quit [Quit: Quitter]
flacks has joined #wayland
neonking has quit [Remote host closed the connection]
Company has joined #wayland
eroux has joined #wayland
maxzor has joined #wayland
duxsco has quit [Ping timeout: 480 seconds]
tzafrir has quit [Read error: Connection reset by peer]
tzafrir has joined #wayland
eroux_ has joined #wayland
eroux has quit [Ping timeout: 480 seconds]
pnowack has joined #wayland
droshan has quit []
Moprius has joined #wayland
c7s has joined #wayland
<zamundaaa[m]>
Does any compositor currently support hardware rotation / has someone else really looked into it?
eroux_ has quit [Remote host closed the connection]
<zamundaaa[m]>
I've been trying to have it enabled by default for KWin, but there's some weird flickering on Polaris hardware... As it seems to work on all other hw, I could really use some other compositor implementation to test against
eroux has joined #wayland
<pq>
I think Weston doesn't use it.
droshan has joined #wayland
<emersion>
gamescope uses it
<zamundaaa[m]>
Thanks, that should help
codecolla has joined #wayland
eroux has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<swick>
zamundaaa[m]: mutter blacklists some HW rotations
<swick>
so at some point at least there were driver bugs
pnowack has quit [Quit: pnowack]
<pq>
swick, could that be because the modifier used has a big impact on rotation feasibility?
<swick>
yes, the note there specifically mentions modifiers
<pq>
like a certain intel modifier would require huge amounts of CRTC buffer memory if rotated
Guest2557 has quit [Ping timeout: 480 seconds]
<zamundaaa[m]>
About modifiers, is there a better solution that doing a shitload of allocations and atomic tests when one doesn't work?
<pq>
I don't think so. Unless libliftoff has hardware-specific knowledge.
<zamundaaa[m]>
Hmm. My solution for KWin is to just brute force it, but with crtc<->connector assignment + hw rotation + modifiers it can take ages to find a working setup.
<pq>
why do you have crtc<->connector assignment in that combination?
<pq>
swick, let's do the Wayland HDR and libdisplay-info first :-p
<pq>
I think libdisplay-info is waiting for you to revise your API proposal?
<swick>
yeah, kind of busy with other things right now
<swick>
but it's on my list somewhere
<pq>
heh
<pq>
I've stopped almost all my activity on dri-devel topics to concentrate here.
<pq>
zamundaaa[m], FWIW, Weston's approach here is not to test before-hand, but test with direct scanout whenever it becomes an option. If it doesn't work, fall back, and prune the modifier hints list for the client.
<pq>
start-up is faster, but when you really need to search, it can take a while I guess
<pq>
since buffer reallocation is off-loaded to clients that also draw into them before we can test
eroux_ has joined #wayland
eroux has quit [Read error: No route to host]
<zamundaaa[m]>
For dmabuf feedback we do the same
<zamundaaa[m]>
I'm talking about the modifiers used for the gbm surfaces KWin creates itself
<pq>
why would you ever rotate such a surface in KMS?
<pq>
wouldn't you just render it pre-rotated and scan out straight up?
eroux has joined #wayland
<zamundaaa[m]>
That is what I would want to do, yes, but KWin's scene is not really made for that (and I don't really want to change that right now)
<pq>
ah
<pq>
that's painful, yes
eroux_ has quit [Ping timeout: 480 seconds]
<zamundaaa[m]>
About the connector<->crtc thing though, don't other compositors do that as well? It was necessary to make some Intel hw use all 3 displays it can power
<zamundaaa[m]>
If I could drop that by doing something else, that would be quite nice
<pq>
was that about possible_crtcs field being lies?
<pq>
encoder->possible_crtcs
<pq>
you undoubtedly have much better user testing coverage than weston, so I don't dare say that searching is unnecessary today
<pq>
weston does try quite hard to preserve any existing crtc-connector routing
<pq>
if you want to have a look, it's drm_output_pick_crtc() in weston
eroux has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]