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 quit [Ping timeout: 480 seconds]
erronews has joined #wayland
erronews has quit []
erronews has joined #wayland
erronews has quit []
erronews has joined #wayland
zhxuxu has quit [Remote host closed the connection]
zhxuxu has joined #wayland
erronews has left #wayland [#wayland]
zebrag has joined #wayland
danvet has quit [Ping timeout: 480 seconds]
agd5f has quit [Ping timeout: 480 seconds]
zhxuxu has quit [Remote host closed the connection]
<DemiMarieObenour[m]> emersion kennylevinsen: for the unprivileged XWayland implementation, would you still be interested if the code was written in Rust as an X11 compositing manager, or would you prefer that it be written in C?
thx has joined #wayland
zhxuxu has joined #wayland
zhxuxu has quit [Remote host closed the connection]
zhxuxu has joined #wayland
Seirdy has quit [Quit: exiting 3.2]
leon-p_ has quit []
agd5f has joined #wayland
Seirdy has joined #wayland
zebrag has quit [Quit: Konversation terminated!]
zhxuxu has quit [Remote host closed the connection]
zhxuxu has joined #wayland
d42 has joined #wayland
<wlb> weston Merge request !713 opened by () Implement xdg-decoration-unstable-v1 support for toytoolkit https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/713
d42 has quit [Ping timeout: 480 seconds]
pnowack has joined #wayland
dcz_ has joined #wayland
jgrulich has joined #wayland
remanifest has joined #wayland
d42 has joined #wayland
<wlb> weston Issue #555 opened by () kiosk-shell/kiosk-shell.c 410:Does it need to process the other situations? https://gitlab.freedesktop.org/wayland/weston/-/issues/555
danvet has joined #wayland
<kennylevinsen> DemiMarieObenour[m]: it would always be interesting, but it would reach a wider audience in C for now.
<DemiMarieObenour[m]> How much wider? Factor of 1.1 or factor of 5?
<DemiMarieObenour[m]> to be fair, this code mostly doesn’t deal with untrusted data and (unlike XWayland) doesn’t have any special privileges, so while I would prefer Rust, I would be okay with C if that dramatically increased its reach
<kennylevinsen> You're asking for more data than I have available, but as personal anecdote my C projects always get far more popular by factor 5-10 than my Rust ones. C is also easier to package...
<DemiMarieObenour[m]> Factor of 5-10 is definitely enough to tip the balance if security is not critical, as is the case here. If this were a server processing untrusted network traffic Rust would be a far better choice.
ofourdan_ has left #wayland [#wayland]
txtsd has quit [Ping timeout: 480 seconds]
ofourdan has joined #wayland
hardening has joined #wayland
<DemiMarieObenour[m]> Should this be a nested Wayland compositor backed by XWayland, or a custom driver for X11 that uses Wayland for input and rendering? The latter offers potential performance advantages and avoids having to spawn a subprocess, but the former seems far simpler to implement.
novakane has joined #wayland
rgallaispou has joined #wayland
hardening has quit [Quit: http://quassel-irc.org - Discuter simplement. Partout.]
<ofourdan> I am not sure I understand, what's the problem you're trying to solve and what priviledge does Xwayland have? afaik, Xwayland is a standard Wayland client, it doesn't have any specific priviledge.
<raphi7163> xwayland has special privileges, it can force grab the entire keyboard using zwp_xwayland_keyboard_grab_manager
<ofourdan> raphi7163: no it cannot if the compositor doesn't implement that
<ofourdan> it is not mandatory in any way
<raphi7163> true
<DemiMarieObenour[m]> XWayland also requires the compositor to give it information ordinary Wayland clients do not have, so it doesn’t work well in rootless nested compositor scenarios.
<ofourdan> can you be more specific, what information?
<DemiMarieObenour[m]> Absolute window position for one. XWayland also needs to be able to set absolute window position.
<ofourdan> no
<ofourdan> Xwayland doesn't, at all
<ofourdan> Xwayland (or X11 clients, rather) cannot place its windows either, this is purely between the X11 client, the X11 window manager and the X11 compositor - so if the problem is the placement of O-R windows, it's just a matter of /fixing/ the X11 compositor + X11 window manager not to honor placement - In X11, the window manager always have the final word, it's just policy
<ofourdan> there is no wayland protocol th place Xwayland windows
<pq> I believe XWM moving O-R windows may lead to fighting from X11 perspective as the XWM is not in the loop to position those in X11, but to the end user that doesn't show up, because the Wayland compositor draws the X11 windows where-ever the Wayland compositor wants them.
<pq> I suppose that might lead to broken application logic when the O-R is not where the app tried to force it.
<ofourdan> right, but it's just policy, one may want to break some behavior in x11 apps to improve security
<pq> sure
<ofourdan> my point being, this is not Xwayland having priviledge, it's X11 being more permissive so it should be /fixable/ without rewriting another X11 server in the compositor
<pq> yup
<pq> and without going back to the xwayland-as-DDX design
hendursaga has joined #wayland
rasterman has joined #wayland
hardening has joined #wayland
hendursa1 has quit [Ping timeout: 480 seconds]
<DemiMarieObenour[m]> That still requires the Wayland compositor to support XWayland, though. In the use-cases I am wanting, that isn’t an option: consider the case of a sandboxed Flatpak app that only has access to the Wayland socket and must bring its own X server to run legacy X programs.
<kennylevinsen> ofourdan: yeah, rewriting an X11 server would be too much work - for me the curiosity was regarding an xwayland that did not use xwm and just acted as a plan wayland client. Would still be Xorg.
<kennylevinsen> (although re: xwm policy, I don't think one really has much choice if one wants decent compatibility. X11 clients seem... fragile. And if compatibility can be sacrificed for policy, then Xwayland can just be omitted altogether. :P)
<DemiMarieObenour[m]> my idea was to actually have an xwm, but for it to be separate from the Wayland compositor.
<kennylevinsen> that's an implementation detail from my perspective - what the compositor needs to support is the interesting aspect
Lucretia has joined #wayland
<DemiMarieObenour[m]> indeed
<DemiMarieObenour[m]> kennylevinsen: so my goal is to do what Wine on Wayland does: work (with no compromises) for all decently behaved X11 clients, and be at least usable for the vast majority of the rest. My understanding is that most X11 clients either (1) use open source toolkits that conform to EWMH or (2) are games that just do everything themselves.
<kennylevinsen> 2 isn't reserved for games. There are quite a few plain x11 clients, as well as toolkits that may only have <10 users. Whether things are conformant, idk. I would suspect it's more a matter of relying on whatever behavior standard wm's happened to implement, rather than what was promised.
<kennylevinsen> (Things using major toolkits would likely support wayland anyway)
<DemiMarieObenour[m]> That is true. That said, I imagine the situation is no worse than in Windows-land. If Wine can map the Windows API to Wayland we should be able to do the same with X11.
<kennylevinsen> True - although to be fair, wine does appear to be a continuous struggle
<DemiMarieObenour[m]> Their heuristics are very simple, though.
<wlb> weston Merge request !714 opened by () gl-renderer: Take into account viewport when choosing filtering https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/714
thx has quit []
thx has joined #wayland
<pq> DemiMarieObenour[m], let's see how the wine-wayland backend has evolved 2 years after it has been merged upstream. I bet it won't be anywhere near simple.
<pq> it's the same with native X11 window managers - they take a decade of iterative development to become able to accommodate native X11 apps.
<ofourdan> true
<pq> ...and that is without any complications that having Wayland in the picture will bring.
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #wayland
flacks has quit [Quit: Quitter]
flacks has joined #wayland
Dami has quit [Ping timeout: 480 seconds]
thx has quit [Ping timeout: 480 seconds]
<daniels> kennylevinsen: the Wine Wayland backend is being upstreamed, it's just got a very long list of requirements from upstream before they'll consider it
<kennylevinsen> daniels: :D
leon-p has joined #wayland
zebrag has joined #wayland
st3r4g has joined #wayland
Lucretia has quit []
Lucretia has joined #wayland
pnowack has quit [Quit: pnowack]
pnowack has joined #wayland
pnowack has quit [Remote host closed the connection]
pnowack has joined #wayland
jgrulich has quit [Ping timeout: 480 seconds]
Narrat has joined #wayland
st3r4g has quit [Ping timeout: 480 seconds]
rgallaispou has quit [Remote host closed the connection]
hendursaga has quit [Quit: hendursaga]
hendursaga has joined #wayland
___nick___ has joined #wayland
leon-p has quit [Quit: leon-p]
pnowack has quit [Quit: pnowack]
leon-p has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
pnowack has joined #wayland
<wlb> wayland Merge request !186 opened by () Draft: add wl_client_get_pidfd and wl_client_get_user_dat/wl_client_set_user_dat https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/186
leon-p_ has joined #wayland
___nick___ has quit [Ping timeout: 480 seconds]
dcz_ has quit [Ping timeout: 480 seconds]
leon-p has quit [Ping timeout: 480 seconds]
<wlb> weston Merge request !715 opened by () Draft: race free client identification https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/715
<swick> questionable quality but at least it's out now and can be used to convince kernel folks that SO_PEERPIDFD is actually a good idea
remanifest has quit [Ping timeout: 480 seconds]
fmuellner has joined #wayland
danvet has quit [Ping timeout: 480 seconds]
zhxuxu has quit [Ping timeout: 480 seconds]
novakane has quit [Quit: WeeChat 3.3]
hardening has quit [Ping timeout: 480 seconds]
Narrat has quit []
<DemiMarieObenour[m]> swick: There is actually a good alternative: have the client send a pidfd and then its PID, then check that the two match.
<DemiMarieObenour[m]> The check can be done by checking that the provided FD (for `/proc/$PID`) and an FD to the `/proc/$PID` the server opened have the same device and inode numbers. The provided FD cannot belong to a reused PID because of causality. Sadly that only works if they share a `/proc`.
<wlb> weston Merge request !716 opened by () xwayland: Fix copy and paste error https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/716
zebrag has quit [Ping timeout: 480 seconds]
pnowack has quit [Quit: pnowack]