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
xexaxo has quit [Read error: Connection reset by peer]
xexaxo has joined #wayland
co1umbarius has joined #wayland
columbarius has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
onelegend has quit [Quit: WeeChat 2.8]
shashank1202 has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #wayland
boistordu_ex has joined #wayland
boistordu has quit [Ping timeout: 480 seconds]
zebrag has quit [Remote host closed the connection]
pedro1_ has joined #wayland
yongxiang has quit [Ping timeout: 480 seconds]
ziky has quit [Ping timeout: 480 seconds]
JPEW has quit [Ping timeout: 480 seconds]
ecocode has quit [Ping timeout: 480 seconds]
alexmitchellmus has quit [Ping timeout: 480 seconds]
juwain has quit [Ping timeout: 480 seconds]
zmike has quit [Ping timeout: 480 seconds]
Ariadne has quit [Ping timeout: 480 seconds]
daniels has quit [Ping timeout: 480 seconds]
wangledorf has quit [Ping timeout: 480 seconds]
shashank1202 has quit [Ping timeout: 480 seconds]
Cwiiis has quit [Ping timeout: 480 seconds]
pedro1 has quit [Ping timeout: 480 seconds]
hwentlan has quit [Ping timeout: 480 seconds]
smurray has quit [Ping timeout: 480 seconds]
panzeroceania has quit [Ping timeout: 480 seconds]
daniels has joined #wayland
hwentlan has joined #wayland
JPEW has joined #wayland
juwain has joined #wayland
yongxiang has joined #wayland
ziky has joined #wayland
panzeroceania has joined #wayland
alexmitchellmus has joined #wayland
wangledorf has joined #wayland
smurray has joined #wayland
zmike has joined #wayland
Cwiiis has joined #wayland
Ariadne has joined #wayland
ecocode has joined #wayland
dcz_ has joined #wayland
peeterm has quit []
peeterm has joined #wayland
danvet has joined #wayland
muhomor_ has quit [Remote host closed the connection]
muhomor has joined #wayland
Arnavion has quit [Quit: Arnavion]
Arnavion has joined #wayland
hardening has joined #wayland
hendursa1 has joined #wayland
hendursaga has quit [Ping timeout: 480 seconds]
leon-p has joined #wayland
leon-p_ has joined #wayland
dblsaiko has quit [Quit: ZNC 1.8.2 - https://znc.in]
dblsaiko has joined #wayland
griffinp has quit [Read error: Connection timed out]
leon-p has quit [Ping timeout: 480 seconds]
rasterman has joined #wayland
flacks has quit [Quit: Quitter]
flacks has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
lanodan has quit [Remote host closed the connection]
lanodan has joined #wayland
<DemiMarieObenour[m]> My compositor and the daemon it talks to basically map Wayland onto X11. Can I map Wayland subsurfaces onto X11 child windows, or does that way lie glitchy graphics and sad users?
<DemiMarieObenour[m]> My intuition is that mapping X11 child windows onto Wayland subsurfaces is easy, but X11 subsurfaces just do not have the needed atomicity guarantees. Is this accurate?
<wlb> wayland Issue #201 closed \o/ (wl_display_terminate does not exit wl_display_run event loop when called from idle event https://gitlab.freedesktop.org/wayland/wayland/-/issues/201)
<wlb> wayland/main: Damian Hobson-Garcia * server: stop wl_display event loop from any context https://gitlab.freedesktop.org/wayland/wayland/commit/d564823cfdbd src/wayland-server.c tests/display-test.c
<wlb> wayland Merge request !175 merged \o/ (server: stop wl_display event loop from any context https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/175)
<wlb> wayland/main: Build #419968 failed after 3 minutes 55 seconds https://gitlab.freedesktop.org/wayland/wayland/pipelines/419968
shashank1202 has joined #wayland
tzafrir has quit [Quit: No Ping reply in 180 seconds.]
tzafrir has joined #wayland
zebrag has joined #wayland
<soreau> DemiMarieObenour[m]: I've hacked weston to do this, so it's possible, but IIRC resizing was horrible
<DemiMarieObenour[m]> soreau: Did transparent subsurfaces work?
<soreau> actually, here it is https://github.com/soreau/weston/tree/xwpsb
<soreau> and transparent surfaces can work afaik, you just need to create X windows with full 32bit depth
<DemiMarieObenour[m]> Was that backend rootful or rootless?
<DemiMarieObenour[m]> soreau: What about subsurfaces?
<soreau> I figure subsurfaces should map to OR windows
<DemiMarieObenour[m]> soreau: As opposed to X11 child windows?
<DemiMarieObenour[m]> Would you mind expanding on “resizing was horrible”?
<soreau> DemiMarieObenour[m]: I'm not sure about subsurfaces specifically, maybe the relation should be children
<DemiMarieObenour[m]> soreau: Asking because I am not sure if transparent X11 subsurfaces actually work.
<soreau> but really this is a big hack that I doubt is on-topic for this channel
<DemiMarieObenour[m]> soreau: Do you mind if I direct-message you?
<soreau> sure
turbotum has joined #wayland
mjs_xorg_2 has joined #wayland
turbotum has quit []
turbotum has joined #wayland
st3r4g has joined #wayland
mjs_xorg_2 has quit []
shashank1202 has quit [Quit: Connection closed for inactivity]
AJ_Z0 has quit [Ping timeout: 480 seconds]
AJ_Z0 has joined #wayland
hendursa1 has quit []
hendursaga has joined #wayland
sndb has quit [Ping timeout: 480 seconds]
hendursaga has quit [Remote host closed the connection]
<DemiMarieObenour[m]> ManMower: My current thought for `wl_fixes` is that `wayland-scanner` will need to special-case `wl_registry`, so as to not emit `wl_registry_destroy` at all. Instead, `libwayland-client` would need to contain a hand-written implementation that does the right thing. Additionally, `libwayland-client` would need to obtain this information somehow, perhaps by binding to `wl_registry` itself, even though that would be a (slight)
<DemiMarieObenour[m]> regression on older servers.
<DemiMarieObenour[m]> Alternatively, `libwayland-client` could handle `wl_registry` specially, but that might lead to thread-safety problems.
sndb has joined #wayland
<ManMower> I really don't like special casing that in the scanner at all - but I'm just one voice in the crowd
<DemiMarieObenour[m]> I don’t either, but the alternative seems worse.
<ManMower> the alternative being just leaking a handful of bytes and ignoring the theoretical problem for another decade? :D
<DemiMarieObenour[m]> honestly, if the registry destructor was the only problem, I would be prepared to call it a day
<DemiMarieObenour[m]> my main goal is actually dealing with the zombie object situation, which I think is a bit less theoretical
<ManMower> I think cases people have actually hit in non-contrived real world code are mostly sorted, but there are definitely still ways someone can footgun with custom protocol
<DemiMarieObenour[m]> ManMower: Will `wl_data_device` cause any objects to be leaked after the zombie MR is merged?
<ManMower> I feel like maybe we could validate protocol harder to prevent people from doing that, but then old protocol that has the capacity to explode but hasn't yet is suddenly not scannerable and... sigh
<DemiMarieObenour[m]> Allow people to override the checks with `--force`?
<ManMower> I have very strong doubts that MR will be merged, let's call that an RFC for now. I don't think it adds any new leaks, but now that you call out that specific case I'll have to sit down and think about it :)
<ManMower> hmm, that's a level of grossness I'd be willing to accept. but I don't know if anyone else would - and I also don't know that making the scanner "smarter" would actually help, I'm just thinking out loud
<DemiMarieObenour[m]> RFC idea: require every interface to have either at least one destructor event (and no requests of any kind), or at least one destructor request (and no destructor events)
<ManMower> hehe my knee jerk reaction is "yes please"
<DemiMarieObenour[m]> From what I can tell, so long as there are no interfaces that are (a) created by the server and (b) create new server-side objects themselves, the problem is solvable
<ManMower> yeah, I think that's right. that's certainly where I went to contrive an icky test case
<DemiMarieObenour[m]> So check that every server-generated object (with `new_id` in an `<event>`) is of an interface defined in the same file, and itself either has a destructor event, or has no events of any kind that create objects.
any1 has joined #wayland
<DemiMarieObenour[m]> If one wanted to go even further, another option would be to state that *every* interface must have a destructor request named `destroy`, with a hard-coded list of exceptions
<ManMower> I've gotta BAIL in a minute, it's thanksgiving weekend here and we've got a bunch of family stuff planned.
<DemiMarieObenour[m]> Happy thanksgiving!
<ManMower> thanks! :)
<DemiMarieObenour[m]> You’re welcome!
<DemiMarieObenour[m]> BTW on further thought I think any server-generated object is bad, unless it is guaranteed to have either a destructor event, or a destructor request with no side effects.
<DemiMarieObenour[m]> The “no side effects” part is important because it means that libwayland-client can safely call its destructor automatically.
<wlb> wayland-protocols Issue #65 opened by () Accessibility protocol https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/65
<any1> Just joined. Are we discussing that annoying race where server created objects cause clients to crash when the server deletes them and creates new ones because they reuse object ids so the client gets confused?
feiqu has quit [Quit: feiqu]
hendursaga has joined #wayland
Spathoche has joined #wayland
feiqu has joined #wayland
any1 has quit [Quit: WeeChat 1.6]
any1 has joined #wayland
Spathoche has quit [Remote host closed the connection]
danvet has quit [Ping timeout: 480 seconds]
dcz_ has quit [Ping timeout: 480 seconds]
Lucretia has quit []
danvet has joined #wayland
Lucretia has joined #wayland
sndb has quit [Quit: Leaving]
leon-p_ has quit []
fmuellner has joined #wayland
hardening has quit [Ping timeout: 480 seconds]
danvet has quit [Ping timeout: 480 seconds]
d_ed has joined #wayland
d_ed has quit []
Seirdy has quit [Quit: exiting 3.2]
Seirdy has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
AJ_Z0 has quit [Read error: Connection reset by peer]
AJ_Z0 has joined #wayland