You are not logged in.
NOTE: In case this topic seems familiar to you, it is because I previously made the major oversight of testing the issue on a machine with blackarch additions. Hence, the previous topic was promptly closed and dustbinned. My apologies. This time it is tested on a fresh vanilla arch without any such packages, where I could validate the exact same problems.
I'm trying to install Arch in a Oracle Virtualbox virtual machine (virtualbox-host-modules-arch at 7.2.4-7), with Sway + Wayland to handle the graphics side of things. My process is to install all packets and some configuration files (including wayland-specific environment variables) from within the arch-chroot, then reboot the system. Sway comes up, and XWayland appears to run, but X applications do not start successfully. Notably, even the wayland-specific application "wdisplays" (AUR package) fails to run successfully.
When I try to start urxvt or wdisplays, the following errors are reported:
~ >>> urxvt
urxvt: X connection to ':0' broken, unable to recover, exiting.
~ >>> urxvt
urxvt: X connection to ':0' broken, unable to recover, exiting.
~ >>> wdisplays
Gdk-Message: 15:41:17:313: Error 71 (Protocol error) dispatching to Wayland display.
~ >>> wdisplays
Gdk-Message: 15:41:19:351: Error flushing display: Connection reset by peer
~ >>> wdisplays
Gdk-Message: 15:41:20:630: Lost connection to Wayland compositor.
~ >>> wdisplays
Gdk-Message: 15:41:22:112: Lost connection to Wayland compositor.XWayland appears to be running:
~ >>> Xwayland
(EE)
Fatal server error:
(EE) Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
(EE)Removing the mentioned lock file and re-running leads to new errors (sockets in use), which seems to confirm the server is running.
On startup, dmesg reports the following errors:
[ 4.084167] vmwgfx 0000:00:02.0: [drm] *ERROR* vmwgfx seems to be running on an unsupported hypervisor.
[ 4.084173] vmwgfx 0000:00:02.0: [drm] *ERROR* This configuration is likely broken.
[ 4.084177] vmwgfx 0000:00:02.0: [drm] *ERROR* Please switch to a supported graphics device to avoid problems.
[ 6.689073] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 6.689110] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 6.695891] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 6.695912] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 6.781447] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 6.781469] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 7.127476] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
[ 7.127506] [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.Notably, whenever I try to run urxvt or wdisplays, the following error is added to journalctl:
Dec 15 15:26:02 arch kernel: [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
Dec 15 15:26:02 arch kernel: [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
Dec 15 15:26:02 arch kernel: [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.
Dec 15 15:26:02 arch kernel: [drm:vmw_msg_ioctl [vmwgfx]] *ERROR* Failed to open channel.So I believe there is some problem with the virtual machine graphics drivers. I have tested the situation both with the VMSVGA driver (with 3D acceleration enabled, otherwise boot fails with egl errors), and the VBoxSVGA driver - no difference. I also tested both with virtualbox-guest-utils and virtualbox-guest-utils-nox, respectively. The machine runs much smoother with the nox version. But I believe that is because the virtualbox-guest-utils rely on XWayland (when launching VBoxClient-all , it reports XWayland as the used backend) and probably runs into errors during its operation.
I have also since found out that there is an environment variable WAYLAND_DEBUG=1 you can set. I called
WAYLAND_DEBUG=1 wdisplaysand received a lot of debug output. These are the last few lines:
[2007825.455] {Default Queue} -> wl_surface#46.set_input_region(wl_region#56)
[2007825.456] {Default Queue} -> wl_region#56.destroy()
[2007826.250] {mesa egl display queue} -> zwp_linux_dmabuf_v1#49.create_params(new id zwp_linux_buffer_params_v1#57)
[2007826.275] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#57.add(fd 24, 0, 0, 2500, 16777215, 4294967295)
[2007826.282] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#57.create_immed(new id wl_buffer#58, 625, 527, 875713089, 0)
[2007826.285] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#57.destroy()
[2007826.288] {mesa egl surface queue} -> wl_surface#46.attach(wl_buffer#58, 0, 0)
[2007826.297] {mesa egl surface queue} -> wl_surface#46.damage(0, 0, 2147483647, 2147483647)
[2007826.299] {mesa egl surface queue} -> wl_surface#46.commit()
[2007826.300] {mesa egl surface queue} -> wl_display#1.sync(new id wl_callback#59)
[2007826.571] {Default Queue} zwlr_screencopy_frame_v1#48.buffer(875709016, 945, 990, 3780)
[2007826.675] {Default Queue} -> wl_shm#35.create_pool(new id wl_shm_pool#60, fd 24, 3742200)
[2007826.685] {Default Queue} -> wl_shm_pool#60.create_buffer(new id wl_buffer#61, 0, 945, 990, 3780, 875709016)
[2007826.689] {Default Queue} -> zwlr_screencopy_frame_v1#48.copy(wl_buffer#61)
Gdk-Message: 15:31:32.100: Lost connection to Wayland compositor.Any ideas on how to further debug / solve this issue? Is there a specific software package I'm missing that will make things magically work?
Last edited by Archy-223 (2025-12-15 14:52:10)
Offline
As a final update: I could not get the issue fixed on virtualbox. However, I have moved on to qemu/kvm using virt-manager and can note that everything works fine on this system. I reckon the emulated virtualbox graphics card / drivers are simply a source of issues that can not be easily solved. To anyone struggling with the same issues, I can only recommend spending a couple of hours getting familiar with virt-manager. Topic can be closed.
Offline
I also had errors when I installed Oracle Virtualbox with virtualbox-host-modules-arch, errors that disappeared when installing virtualbox-host-modules-dkms. Why, I don't know, I didn't bother, it certainly works.
Offline