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 joined #wayland
columbarius has quit [Ping timeout: 480 seconds]
AJ_Z0 has quit [Read error: Connection reset by peer]
AJ_Z0 has joined #wayland
nerdopolis_ has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
boistordu_old has joined #wayland
boistordu has quit [Ping timeout: 480 seconds]
txtsd has quit [Quit: WeeChat 3.2]
nerdopolis_ has quit [Ping timeout: 480 seconds]
txtsd has joined #wayland
leon-p has quit [Quit: leaving]
slattann has joined #wayland
Seirdy has quit [Ping timeout: 480 seconds]
Seirdy has joined #wayland
Seirdy has quit []
dcz has joined #wayland
slattann has quit []
rasterman has joined #wayland
Lucretia has joined #wayland
Seirdy has joined #wayland
hardening has joined #wayland
danvet has joined #wayland
hill has joined #wayland
hendursa1 has joined #wayland
hendursaga has quit [Ping timeout: 480 seconds]
hill has quit [Remote host closed the connection]
immibis has joined #wayland
slattann has joined #wayland
slattann has quit []
slattann has joined #wayland
slattann has quit []
alwayscurious[m] has joined #wayland
<alwayscurious[m]> I have a client that needs to know the absolute position of its own windows. What is the best way to implement this?
<emersion> the best way is not to
<emersion> why do you need to know the absolute position?
<dottedmag> And what is absolute position anyway?
nerdopolis has joined #wayland
leon-p has joined #wayland
slattann has joined #wayland
<alwayscurious[m]> <emersion> "why do you need to know the..." <- Because the clients are virtual machines, and each VM needs to be able to share its own screen. And to do that it needs to know where its own windows are.
<alwayscurious[m]> <dottedmag> "And what is absolute position..." <- Position relative to the physical screen.
<emersion> i don't understand your use-case
<alwayscurious[m]> Qubes OS
<emersion> … yes?
<alwayscurious[m]> Simplified version: in Qubes OS, there is a GUI agent that runs in each guest virtual machine and connects to the GUI daemon running in the host. The GUI agent is currently an X window manager, and the GUI daemon is currently an X client. I am currently making a Wayland compositor version of the GUI agent, and would like the GUI daemon to be a Wayland client in the future.
<alwayscurious[m]> Qubes OS will be gaining support for cross-VM screensharing in the not too distant future. For that to work, each qube (VM) needs to know (or be able to find out) what would be displayed on the physical display if no other qubes were running. That means it needs to know the position of its own windows.
<alwayscurious[m]> Additionally, the GUI agent needs to be able to be an X window manager even if the GUI daemon is a Wayland client, and the GUI agent needs to know where the windows it has created are for that to work.
<alwayscurious[m]> The GUI daemon does not need to be able to set the absolute position of its windows, merely read it.
<alwayscurious[m]> I am willing to submit MRs to wayland-protocols and to at least try to contribute patches to the major compositors if so required.
<alwayscurious[m]> But I will need design help.
slattann has quit []
<alwayscurious[m]> <robertmader[m]> "alwayscurious: I don't think suc" <- The GUI daemon and GUI agent are under the control of Qubes OS, but the desktop environment is minimally modified.
<alwayscurious[m]> Exposing more info is an anti-goal of Qubes, and an alternative that did not require this would be preferable. I haven’t been able to find one, though. That does not mean none exists.
<alwayscurious[m]> I have no interest in the position of other clients’ windows. Just to be able to query of the position of windows created by the same client making the query.
<emersion> alwayscurious[m]: i still don't understand why the absolute position is important
<emersion> are you trying to do xwayland over wayland?
<emersion> x11 over wayland?
<alwayscurious[m]> That needs to be supported, yes.
<alwayscurious[m]> Essentially
<alwayscurious[m]> The real situation is obviously much more complicated
<emersion> this doesn't seem like something that should be widely supported
<emersion> it should only be supported by your custom compositor
<alwayscurious[m]> The two major problems I have run into so far are:
<alwayscurious[m]> 2. When a VM shares its own screen (*not* the host’s screen) with another VM, it needs to know where to put its windows in the video stream it generates.
<alwayscurious[m]> 1. X11 programs in VMs still need to be supported, even after the host’s GUI agent switches to Wayland.
<vyivel> so, you have a daemon and a bunch of agents/VMs? are there any GUI clients that can connect to daemon directly, without an agent?
<alwayscurious[m]> vyivel: There is one daemon per VM. From the host compositor’s perspective, the daemon is just another Wayland client.
<vyivel> ah, nvm
<alwayscurious[m]> Modifying the desktop environment would of course work, but is a significant maintenance challenge, and that challenge will grow in the future. Qubes OS currently supports Awesome, i3, XFCE (the default), and KDE, and support for GNOME is planned. Furthermore, R4.1 includes support for running the GUI outside of dom0, and a future release will require this, which means that shipping a patched desktop environment would be even more
<alwayscurious[m]> difficult.
<alwayscurious[m]> Obviously, i3 and Awesome are X11 window managers, but there are Wayland clones of both.
slattann has joined #wayland
<dottedmag> This looks like a new protocol extension will be required. Imagine a compositor displaying a window slanted or spinning. Nowadays clients are oblivious to this.
<dottedmag> Also GUI agent looks like a Wayland proto proxy, with additional feature "compose all windows from this VM into a single framebuffer" for sharing?
<alwayscurious[m]> <dottedmag> "Also GUI agent looks like a..." <- That is *exactly* what it is, although it uses a custom (much simpler) protocol to communicate with the daemon.
<alwayscurious[m]> <dottedmag> "This looks like a new protocol..." <- It will be. I plan on resolving the security concerns by making it opt-in and subject to compositor-side access controls, with the default being to deny the operation.
leon-p has quit [Remote host closed the connection]
zebrag has joined #wayland
leon-p has joined #wayland
tdeo has quit [Remote host closed the connection]
tdeo has joined #wayland
slattann has quit []
Lantizia has quit [Remote host closed the connection]
Lantizia has joined #wayland
<emersion> alwayscurious[m]: why not make it mandatory for the outer session to use wayland if the inner session is also using it?
dangole has joined #wayland
<dangole> as a fun project for the weekend i choose to compile the wayland/weston stack on OpenWrt, to run on my MediaTek MT7623N-based BananaPi BPi-R2 board. I got as far as getting output on fbdev fully working, i can use weston-terminal and things are working as expected. in drm mode, however, the tty basically just freezes and nothing happens. logs here: https://termbin.com/4zcq
<dangole> so this is on musl of course, we don't have libpam, so I'm starting weston directly (as I got neither systemd nor weston-launch, which would require pam) and LD_PRELOAD=/usr/lib/libEGL.so.1
nerdopolis has quit [Ping timeout: 480 seconds]
slattann has joined #wayland
Lantizia_ has joined #wayland
Lantizia has quit [Read error: No route to host]
Lantizia__ has joined #wayland
<emersion> starting weston directly won't work
<emersion> i'm a bit surprised weston-launch depends on PAM
<emersion> weston master should have support for seatd
Lantizia_ has quit [Ping timeout: 480 seconds]
<dangole> emersion: on OpenWrt we don't have systemd with seatd either...
<dangole> emersion: and musl seems to require LD_PRELOAD'ing libEGL.so.1 for things to work at least a bit
<emersion> dangole: seatd != systemd
<dangole> emersion: interesting. thank you! i'll give that a shot.
xexaxo_ has joined #wayland
<wlb> wayland Issue #229 opened by Simon Ser (emersion) wl_surface.frame interactions with sub-surfaces https://gitlab.freedesktop.org/wayland/wayland/-/issues/229 [Protocol]
jgrulich_ has joined #wayland
jgrulich_ has quit [Ping timeout: 480 seconds]
nerdopolis has joined #wayland
aleasto has joined #wayland
st3r4g_ has quit []
st3r4g has joined #wayland
<dangole> emersion: so now that i got seatd and libseat, how do i use that? as in: how to use that to start weston in a away that works? by now i've also verified that kmscube works, and yes, it does.
<emersion> start seatd, then start weston
<dangole> emersion: and i need weston master branch, 9.0.0 release is not good with that, right?
<emersion> yeah, need weston master
<emersion> weston needs to link with libseat
<emersion> s/master/main/
hendursa1 has quit []
hendursaga has joined #wayland
danvet has quit [Ping timeout: 480 seconds]
<dangole> emersion: ok, now i see a line saying "libseat: session control granted" in the stderr of weston, but screen content still freezes. fbdev_backend works fine, kmscube works fine. just drm_backend doesn't. did you see the logs i posted before? https://termbin.com/4zcq
<dangole> looks like it just stops redrawing the previous fbconsole content, ie. content stays but cursor stops blinking until i kill weston.
dcz has quit [Ping timeout: 480 seconds]
slattann has quit []
aleasto has quit [Quit: Konversation terminated!]
aleasto has joined #wayland
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
<carbonfiber> Using xorg i can just launch xterm without using any window manager. What is the simplest way to just run a centered xterm (inside xwayland) using wayland? I don't care about window decorations, and i don't care about mouse support. I just want a terminal with the least amount of code dependencies.
<LaserEyess> carbonfiber: cage is probably the closest thing to that
<LaserEyess> but it's still a window manager starting a terminal
rasterman has quit [Quit: Gettin' stinky!]
hardening has quit [Ping timeout: 480 seconds]
immibis has quit [Ping timeout: 480 seconds]
<carbonfiber> LaserEyess: allright. thanks. I will give it a look.
aleasto has quit [Quit: Konversation terminated!]
katp32 has joined #wayland
<katp32> heyo, I'm having some issues with libinput; my huion drawing tablet is recognized by the kernel, and everything looks fine when I check the kernel events with evtest, but libinput complains "event14 - HUION Huion Tablet: libinput bug: missing tablet capabilities: resolution. Ignoring this device."
<katp32> this device used to work fine with libinput from what I can remember, I have literally no clue what's wrong or how I'm supposed to fix it
yomendieta has joined #wayland
V has quit [Ping timeout: 480 seconds]
katp32 has quit [Quit: So long, and thanks for all the fish!]
katp32 has joined #wayland
<katp32> I'd really appreciate any help...