waypipe is x-forwarding for wayland
whats really cool is you can use waypipe to forward a wayland application running in a linuxulator choot
to freebsd on the same machine running wayland using waypipe sockets in the tmp dir of the chroot
i have wayland set up on both freebsd and the ubuntu chroot
and environmental variables in a ~/.zshenv file in the chroots home directory to launch qt5 applications using wayland
install waypipe on both freebsd and ubuntu in the choot
freebsd install waypipe
ubuntu install waypipe
heres the trick
on the freebsd host
create the client socket in the ubuntu chroot tmp directory
from the freebsd host as your regular user, ie not as root
in the ubuntu chroot
create the server socket that matches the same path as the client socket in the tmp directory
and specify an application to launch as the last argument to the command
again run the command as your user in the chroot, not as root
and because you can map id of your user on freebsd to the user in the chroot they can both access the socket
without any permission issues
in this case open qt5ct and use waypipe to display the application on freebsd
heres a screen shot of qt5ct launched from the chroot with waypipe
and displayed on the freebsd host running wayland using wlroots and the dwl wayland tiling window manager
i think this also use the gpu and works with video as well
another idea is that you could perhaps use the same idea of creating sockets in the chroots tmp directory with pulseaudio
so on the freebsd host you start pulseaudio and create the pulseaudio socket in the chroots tmp directory
and then pipe the audio from applications in the chroot into that socket
waypipe
waypipe notes
ubuntu mantic linuxulator wayland set up
whats really cool is you can use waypipe to forward a wayland application running in a linuxulator choot
to freebsd on the same machine running wayland using waypipe sockets in the tmp dir of the chroot
i have wayland set up on both freebsd and the ubuntu chroot
and environmental variables in a ~/.zshenv file in the chroots home directory to launch qt5 applications using wayland
install waypipe on both freebsd and ubuntu in the choot
freebsd install waypipe
Code:
sudo pkg install waypipe
ubuntu install waypipe
Code:
sudo apt install waypipe
heres the trick
on the freebsd host
create the client socket in the ubuntu chroot tmp directory
from the freebsd host as your regular user, ie not as root
Code:
waypipe --socket /compat/ubuntu/tmp/waypipe.sock client &
in the ubuntu chroot
create the server socket that matches the same path as the client socket in the tmp directory
and specify an application to launch as the last argument to the command
again run the command as your user in the chroot, not as root
and because you can map id of your user on freebsd to the user in the chroot they can both access the socket
without any permission issues
Code:
waypipe --socket /tmp/waypipe.sock server qt5ct
in this case open qt5ct and use waypipe to display the application on freebsd
heres a screen shot of qt5ct launched from the chroot with waypipe
and displayed on the freebsd host running wayland using wlroots and the dwl wayland tiling window manager
i think this also use the gpu and works with video as well
another idea is that you could perhaps use the same idea of creating sockets in the chroots tmp directory with pulseaudio
so on the freebsd host you start pulseaudio and create the pulseaudio socket in the chroots tmp directory
and then pipe the audio from applications in the chroot into that socket
waypipe
M. Stoeckl / Waypipe · GitLab
Network transparency with Wayland: https://mstoeckl.com/notes/gsoc/blog.html
gitlab.freedesktop.org
waypipe notes
cerberus/waypipe/waypipe.org at master · NapoleonWils0n/cerberus
cerberus code library. Contribute to NapoleonWils0n/cerberus development by creating an account on GitHub.
github.com
ubuntu mantic linuxulator wayland set up
cerberus/freebsd/linuxlator-ubuntu.org at master · NapoleonWils0n/cerberus
cerberus code library. Contribute to NapoleonWils0n/cerberus development by creating an account on GitHub.
github.com