ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
paulk-ter has joined #wayland
paulk-bis has quit [Ping timeout: 480 seconds]
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
paulk-ter has quit [Remote host closed the connection]
paulk-ter has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
paulk-ter has quit [Remote host closed the connection]
paulk-ter has joined #wayland
paulk has joined #wayland
paulk-ter has quit [Ping timeout: 480 seconds]
molinari has quit [Remote host closed the connection]
molinari has joined #wayland
molinari has quit [Ping timeout: 480 seconds]
Brainium has quit [Quit: Konversation terminated!]
Company has quit [Quit: Leaving]
nerdopolis has quit [Ping timeout: 480 seconds]
dcz_ has joined #wayland
sima has joined #wayland
iomari891 has joined #wayland
andyrtr_ has joined #wayland
andyrtr has quit [Ping timeout: 480 seconds]
andyrtr_ is now known as andyrtr
molinari has joined #wayland
tzimmermann has joined #wayland
neonking has quit [Quit: Leaving]
<pq> DodoGTA, wl_data_device.data_offer is an extremely rare example of an event that creates a new protocol object. That error message comes from demarshal, i.e. receiving a message, so I suppose it's a client printing that. Might be due to a compositor bug if not memory corruption.
<pq> the actual id is plausible, it's in the server allocation range: 0xff000002
Dami_Lu has quit [Ping timeout: 480 seconds]
Dami_Lu has joined #wayland
pochu has joined #wayland
rasterman has joined #wayland
neonking has joined #wayland
cmichael has joined #wayland
kts has joined #wayland
fmuellner has joined #wayland
neonking has quit [Remote host closed the connection]
mvlad has joined #wayland
ultra has quit [Quit: ultra]
kts has quit [Quit: Konversation terminated!]
neonking has joined #wayland
<wlb> weston/main: Leandro Ribeiro * color-lcms: do not repeat call to check if log scope is enabled https://gitlab.freedesktop.org/wayland/weston/commit/854631cbf5c8 libweston/color-lcms/color-transform.c
<wlb> weston/main: Leandro Ribeiro * color-lcms: print curve sets on pipeline optimizer debug scope https://gitlab.freedesktop.org/wayland/weston/commit/686f0d4f2b03 libweston/color-lcms/ color-transform.c meson.build
<wlb> weston Merge request !1245 merged \o/ (color-lcms: print curve sets on pipeline optimizer debug scope https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1245)
neonking has quit [Quit: Leaving]
nerdopolis has joined #wayland
xaizone4 has quit []
xaizone4 has joined #wayland
xaizone4 has quit []
xaizone4 has joined #wayland
xaizone4 has quit []
ultra has joined #wayland
dcz_ has quit [Remote host closed the connection]
rasterman has quit [Quit: Gettin' stinky!]
fmuellner has quit [Remote host closed the connection]
rv1sr has joined #wayland
fmuellner has joined #wayland
fmuellner_ has joined #wayland
fmuellner has quit [Read error: Connection reset by peer]
pochu has quit [Quit: leaving]
molinari has quit [Remote host closed the connection]
molinari has joined #wayland
Company has joined #wayland
<DodoGTA> pq: So should I try a different compositor to rule out the first case?
<pq> sure, why not
<pq> which compositor did you hit it?
<DodoGTA> pq: The crash happened on KWin 5.27.5
<DodoGTA> But nested sway works fine 🤔️
<Max1> Is there a way to get something like Xephyr to run inside a Wayland session on a HiDPI monitor without being blurry?
<DodoGTA> Update: I reproduced the same bug on nested sway too 🤔️
<pq> I had a feeling it might be timing sensitive.
<DodoGTA> So maybe it's some race condition?
<pq> could be something the client is doing, someone might be able to spot something in a protocol dump
<d_ed[m]> DodoGTA: what's the client?
<MrCooper> Max1: there's non-rootless Xwayland, not sure how it handles scaling though
<ofourdan> worth a try :)
<DodoGTA> d_ed[m}: This might sound weird, but it's Battle.net
<DodoGTA> Here's a WAYLAND_DEBUG=1 log BTW: https://pastebin.com/fWL5UDrm
Vanfanel has joined #wayland
<Max1> MrCooper: Didn't know about that mode for XWayland, thanks!
<Max1> Unfortunately it's as blurry as Xephyr, but at least it integrates more nicely into Wayland
<emersion> mvlad: your blog post says "Wayland's reference compositor", but that's no longer the case
<MrCooper> Max1: yeah looks like Xwayland ignores scaling for now, might not be too hard to improve though
<Max1> MrCooper: If you tell me where to look and maybe broadly what to change, I can give it a try :)
<Vanfanel> Hi. I'm trying to shave off a frame of latency in RetroArch (Wayland + GL, for sytems without a Vulkan implementation), and for that, I am setting a frame callback before calling eglSwapBuffers() and waiting for completion after it: https://pastebin.com/fWCFjhUw
<Vanfanel> However, wl_display_dispatch() blocks forever the second time it's called. Any idea on why, please?
<MrCooper> Max1: wow, thanks for the offer, I actually meant "not too hard" for someone familiar with Xwayland code though :)
<mvlad> emersion, I'll need to ask around. That's been added afterwards.
<kennylevinsen> Vanfanel: wl_display_dispatch blocks if there is nothing queued until data arrives. You should mainly call that from your event loop.
<kennylevinsen> calling display_dispatch twice in a row without having made any requests is more or less guaranteed to block until the server wants to say something new (e.g., input events)
<Max1> MrCooper: Hmm, I've hacked around inside Weston a bit, not sure if that might help me?
<Max1> Of course I wouldn't object to someone actually familiar with XWayland doing it, but my use case for this is a talk that I give in ten days, and I can't demand someone else to do it in time (or to do it at all)
<Max1> So I'd be happy to invest one or two hours myself, and if that's not enough, one demo in my talk will have to be blurry :)
<kennylevinsen> Vanfanel: what ar eyou trying to do specifically?
<MrCooper> Max1: are you using integer or fractional scaling?
<Vanfanel> kennylevinsen: I am trying to block after eglSwapBuffers() until the new buffer is actually on screen.
<Max1> MrCooper: I think I'd be happy to have it work with only integer scaling for now
<Vanfanel> kennylevinsen: you can see it on my RetroArch branch here, starting at this line: https://github.com/vanfanel/RetroArch/blob/6ba84554787706e19f58b8fe81c4290140c0077a/gfx/drivers_context/wayland_ctx.c#L526
<pq> Vanfanel, did your wl_surface actually get on screen first?
<Vanfanel> pq: yes, first frame is onscreen in fact
<pq> Vanfanel, is it possible that your gfx_ctx_wl_swap_buffers() is being called from inside a protocol event handler?
kasper93_ has joined #wayland
kasper93_ has quit [Remote host closed the connection]
<pq> Nesting calls to wl_display_dispatch() is not a good idea, so if that happens, remove that first.
<pq> is the rest of your program prepared to have event handlers dispatches from inside this "low-level" function?
<pq> These are two reasons why trying to implement a blocking function here is hazardous. At the very least there should be a separate wl_event_queue for the event you are waiting to not unintendedly dispatch other events.
<pq> The best model would be to simply return to your main event loop instead of blocking, and that requires a bit of a state machine.
<MrCooper> Max1: I'd start by remembering the output scale in xserver/hw/xwayland/xwayland-output.c:output_handle_scale and setting the buffer scale when attaching a buffer to the surface
kasper93 has quit [Ping timeout: 480 seconds]
<Vanfanel> pq: I don't think it's being called from an event handler, looking at the call stack which is always the same: https://pastebin.com/EXaV5E4k
<ofourdan> MrCooper: that would probably not be enough, because the size of the surface must be a multiple of the scale otherwise we'll get an error.
<MrCooper> I'm sure there's other pesky details
<kennylevinsen> Vanfanel: can you collect the output of WAYLAND_DEBUG=1 when it blocks? One should see if wl_surface.frame request and wl_callback.done event is present
<MrCooper> that's just where I'd start the ride :)
<Max1> MrCooper: Sounds good, I'll try it next week! Thanks already :)
<Vanfanel> kennylevinsen: Of course! Here it's hung blocking: https://pastebin.com/8GGUZA5k
<kennylevinsen> hmm, so two frame callbacks (@31 and @32) are being registered, but only the first is seen firing.
<MrCooper> the other one is presumably from eglSwapBuffers
<Vanfanel> kennylevinsen: yes, only one time the .done callback function is run...
<MrCooper> ah, nvm, the other one is from your code as well
<kennylevinsen> Vanfanel: In lin 530 you make a reference to a pointer as user data to the surface frame listener
<Vanfanel> kennylevinsen: do you mean I should pass the pointer directly?
<kennylevinsen> Whatever value you pass is given as-is to your listener
<Vanfanel> kennylevinsen: ooowwww.. it works, it works!!!
<Vanfanel> thanks, from the bottom of my heart.. thanks really
<Vanfanel> I have no words
<kennylevinsen> shit happens, you're welcome :P
<Vanfanel> That went under my nose for hours and hours...
kasper93 has joined #wayland
<Vanfanel> kennylevinsen: is there a project I could donate in return for your help?
<kennylevinsen> give a buck to a local charity and I'll consider the invoice paid :)
<Vanfanel> ok, ok! I will do! This was driving me crazy..
rederick29 has joined #wayland
Fxzxmic has joined #wayland
kasper93_ has joined #wayland
MrCooper has quit [Remote host closed the connection]
MrCooper has joined #wayland
kasper93 has quit [Ping timeout: 480 seconds]
Fxzx_mic has joined #wayland
Fxzxmic has quit [Ping timeout: 480 seconds]
Vanfanel has quit [Quit: leaving]
<DodoGTA> Is it possible to call both lock_pointer() and confine_pointer() on the same wl_pointer and surface?
junaid has joined #wayland
kts has joined #wayland
kasper93_ has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Konversation terminated!]
Fxzx_mic has quit [Quit: Konversation exit!]
kasper93 has joined #wayland
kts has joined #wayland
kasper93_ has joined #wayland
tzimmermann has quit [Quit: Leaving]
kasper93_ has quit [Remote host closed the connection]
kasper93 has quit [Ping timeout: 480 seconds]
kasper93 has joined #wayland
MrCooper has quit [Remote host closed the connection]
junaid has quit [Ping timeout: 480 seconds]
MrCooper has joined #wayland
cmichael has quit [Quit: Leaving]
molinari has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Konversation terminated!]
eroc19907 is now known as eroc1990
ahartmetz has joined #wayland
Cyrinux9 has quit []
Cyrinux9 has joined #wayland
paulk-bis has joined #wayland
paulk has quit [Ping timeout: 480 seconds]
mvlad has quit [Remote host closed the connection]
junaid has joined #wayland
Szadek has quit [Quit: WeeChat 3.8]
kts has joined #wayland
kts has quit [Quit: Konversation terminated!]
Talca has joined #wayland
Talca has quit []
Satan2 has joined #wayland
Lyude has joined #wayland
kts has joined #wayland
sima has quit [Ping timeout: 480 seconds]
junaid has quit [Remote host closed the connection]
cool110 has quit [Quit: ZNC 1.8.2+deb3build2 - https://znc.in]
cool110 has joined #wayland
Szadek has joined #wayland
rederick29 has quit [Remote host closed the connection]
bindu_ has left #wayland [WeeChat 3.8]
iomari891 has quit [Ping timeout: 480 seconds]
bindu has joined #wayland
rv1sr has quit []
kts has quit [Quit: Konversation terminated!]
Brainium has joined #wayland