netblue30 / firejail

Linux namespaces and seccomp-bpf sandbox
https://firejail.wordpress.com
GNU General Public License v2.0
5.74k stars 561 forks source link

lutris: gamescope is broken: /tmp/.X11-unix not owned by root or us (xwayland) #6191

Open nutta-git opened 8 months ago

nutta-git commented 8 months ago

Description

Using gamescope within lutris crashes games on launch.

Steps to Reproduce

Steps to reproduce the behavior

Expected behavior

Games should run without crashing

Actual behavior

Games crash on launch

Behavior without a profile

Games run through gamescope as intended

Additional context

lutristerminallog

Environment

Checklist

Log

Output of LC_ALL=C firejail /path/to/program

``` [kevin@archlinux ~]$ lutris Reading profile /home/kevin/.config/firejail/lutris.profile Reading profile /etc/firejail/allow-python2.inc Reading profile /etc/firejail/allow-python3.inc Reading profile /etc/firejail/disable-common.inc Reading profile /etc/firejail/disable-devel.inc Reading profile /etc/firejail/disable-exec.inc Reading profile /etc/firejail/disable-interpreters.inc Reading profile /etc/firejail/disable-programs.inc Reading profile /etc/firejail/disable-xdg.inc Reading profile /etc/firejail/whitelist-common.inc Reading profile /etc/firejail/whitelist-usr-share-common.inc Reading profile /etc/firejail/whitelist-runuser-common.inc Reading profile /etc/firejail/whitelist-var-common.inc Seccomp list in: !modify_ldt,!clone3,!ptrace,!process_vm_readv, check list: @default-keep, prelist: unknown,unknown,unknown,unknown, Parent pid 23137, child pid 23144 Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set. Seccomp list in: !modify_ldt,!clone3,!ptrace,!process_vm_readv, check list: @default-keep, prelist: unknown,unknown,unknown,unknown, Seccomp list in: !modify_ldt,!process_vm_readv, check list: @default-keep, prelist: unknown,unknown, Child process initialized in 56.66 ms Warning: seccomp disabled, it requires a Linux kernel version 3.5 or newer. (lutris:11): dbind-WARNING **: 15:48:53.571: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown 2024-02-04 15:48:53,606: Command 'vulkaninfo' not found on your system 2024-02-04 15:48:53,606: Command 'fluidsynth' not found on your system 2024-02-04 15:48:53,689: The Battle.net source is unavailable because Google protobuf could not be loaded: No module named 'google' 2024-02-04 15:48:53,752: Starting Lutris 0.5.16 2024-02-04 15:48:53,753: Running AMD Mesa driver 23.3.5 on AMD Radeon RX 6600 XT (radeonsi, navi23, LLVM 16.0.6, DRM 3.57, 6.7.3-2-cachyos-lto) (0x73ff) 2024-02-04 15:48:53,753: GPU: 8086:4680 1458:D000 (i915 drivers) 2024-02-04 15:48:53,753: GPU: 1002:73FF 1043:05D1 (amdgpu drivers) 2024-02-04 15:48:53,753: i386 libgnutls.so.30 missing (needed by gnutls) 2024-02-04 15:48:53,771: vulkaninfo not available, unable to list GPUs 2024-02-04 15:48:53,771: vulkaninfo not available, unable to list GPUs error: While opening repository /var/lib/flatpak/repo: opening repo: opendir(/var/lib/flatpak/repo): No such file or directory 2024-02-04 15:48:53,844: ['/usr/bin/flatpak', 'list', '--columns=name,application,version,branch,arch,origin,installation'] command failed: Command '['/usr/bin/flatpak', 'list', '--columns=name,application,version,branch,arch,origin,installation']' returned non-zero exit status 1. 2024-02-04 15:48:53,900: Error reading color-scheme: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown (2) Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/lutris/style_manager.py", line 80, in _call_cb values = obj.call_finish(result) ^^^^^^^^^^^^^^^^^^^^^^^ gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown (2) lutris-wrapper: Ubisoft Connect Started initial process 67 from gamescope -w 1920 -h 1080 -f -- /home/kevin/.local/share/lutris/runners/wine/wine-ge-8-25-x86_64/bin/wine /home/kevin/Games/ubisoft-connect/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/UbisoftConnect.exe Start monitoring process. vblank: Using timerfd. No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. wlserver: [backend/headless/backend.c:67] Creating headless backend ATTENTION: default value of option vk_khr_present_wait overridden by environment. vulkan: selecting physical device 'AMD Radeon RX 6600 XT (RADV NAVI23)': queue family 1 (general queue family 0) vulkan: physical device supports DRM format modifiers vulkan: supported DRM formats for sampling usage: vulkan: AR24 (0x34325241) vulkan: XR24 (0x34325258) vulkan: AB24 (0x34324241) vulkan: XB24 (0x34324258) vulkan: RG16 (0x36314752) vulkan: NV12 (0x3231564E) vulkan: AB4H (0x48344241) vulkan: XB4H (0x48344258) vulkan: AB48 (0x38344241) vulkan: XB48 (0x38344258) vulkan: AB30 (0x30334241) vulkan: XB30 (0x30334258) vulkan: AR30 (0x30335241) vulkan: XR30 (0x30335258) vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0 wlserver: Running compositor on wayland display 'gamescope-0' wlserver: [backend/headless/backend.c:17] Starting headless backend wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us wlserver: [xwayland/sockets.c:216] No display available in the first 33 Monitored process exited. Initial process has exited (return code: 139) All processes have quit Exit with return code 139 2024-02-04 15:48:58,343: Game still running (state: running) 2024-02-04 15:48:58,343: Stopping Ubisoft Connect (wine) 2024-02-04 15:48:58,344: The game has run for a very short time, did it crash? 2024-02-04 15:49:03,535: Shutting down Lutris Parent is shutting down, bye... ```

Output of LC_ALL=C firejail --debug /path/to/program

``` github doesn't like big logs ```

6191-debuglutrisgamescopelog.txt

rusty-snake commented 8 months ago
ignore private-tmp
nutta-git commented 8 months ago

@rusty-snake that didn't work and its needed since it crashed the game before it could launch (without gamescope enabled)

nutta-git commented 8 months ago

I was looking though journalctl and found a coredump for gamescope.

Feb 04  archlinux systemd-coredump[104055]: [?] Process 104048 (gamescope) of user 1000 dumped core.

                                                Stack trace of thread 75:
                                                #0  0x000058152e07414d n/a (gamescope + 0x7e14d)
                                                #1  0x000058152e0746d8 n/a (gamescope + 0x7e6d8)
                                                #2  0x000058152e00ff65 n/a (gamescope + 0x19f65)
                                                #3  0x00007f404821ecd0 n/a (libc.so.6 + 0x25cd0)
                                                #4  0x00007f404821ed8a __libc_start_main (libc.so.6 + 0x25d8a)
                                                #5  0x000058152e032285 n/a (gamescope + 0x3c285)

                                                Stack trace of thread 79:
                                                #0  0x00007f4048350cc9 n/a (libc.so.6 + 0x157cc9)
                                                #1  0x00007f40466956ef n/a (libvulkan_radeon.so + 0x6956ef)
                                                #2  0x00007f40462c851f n/a (libvulkan_radeon.so + 0x2c851f)
                                                #3  0x00007f4046694b8e n/a (libvulkan_radeon.so + 0x694b8e)
                                                #4  0x00007f4046694fa2 n/a (libvulkan_radeon.so + 0x694fa2)
                                                #5  0x00007f4046694fa2 n/a (libvulkan_radeon.so + 0x694fa2)
                                                #6  0x00007f4046694f91 n/a (libvulkan_radeon.so + 0x694f91)
                                                #7  0x00007f4046694fa2 n/a (libvulkan_radeon.so + 0x694fa2)
                                                #8  0x00007f4046694fa2 n/a (libvulkan_radeon.so + 0x694fa2)
                                                #9  0x00007f40462cf21a n/a (libvulkan_radeon.so + 0x2cf21a)
                                                #10 0x00007f40462cf8b0 n/a (libvulkan_radeon.so + 0x2cf8b0)
                                                #11 0x00007f40462cf9a4 n/a (libvulkan_radeon.so + 0x2cf9a4)
                                                #12 0x00007f40462cf9a4 n/a (libvulkan_radeon.so + 0x2cf9a4)
                                                #13 0x00007f4046143f0b n/a (libvulkan_radeon.so + 0x143f0b)
                                                #14 0x00007f404610a186 n/a (libvulkan_radeon.so + 0x10a186)
                                                #15 0x00007f404610a926 n/a (libvulkan_radeon.so + 0x10a926)
                                                #16 0x00007f404610ab4b n/a (libvulkan_radeon.so + 0x10ab4b)
                                                #17 0x000058152e07cb29 n/a (gamescope + 0x86b29)
                                                #18 0x000058152e07cdb1 n/a (gamescope + 0x86db1)
                                                #19 0x00007f40484e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                #20 0x00007f404828455a n/a (libc.so.6 + 0x8b55a)
                                                #21 0x00007f4048301874 __clone (libc.so.6 + 0x108874)

                                                Stack trace of thread 77:
                                                #0  0x00007f40482f40bf __poll (libc.so.6 + 0xfb0bf)
                                                #1  0x00007f4048b935b7 n/a (libSDL2-2.0.so.0 + 0x1935b7)
                                                #2  0x00007f4048a47a7f n/a (libSDL2-2.0.so.0 + 0x47a7f)
                                                #3  0x000058152e0783f9 n/a (gamescope + 0x823f9)
                                                #4  0x00007f40484e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                #5  0x00007f404828455a n/a (libc.so.6 + 0x8b55a)
                                                #6  0x00007f4048301874 __clone (libc.so.6 + 0x108874)

                                                Stack trace of thread 80:
                                                #0  0x00007f40482ff88d syscall (libc.so.6 + 0x10688d)
                                                #1  0x000058152e07c46e n/a (gamescope + 0x8646e)
                                                #2  0x00007f40484e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                #3  0x00007f404828455a n/a (libc.so.6 + 0x8b55a)
                                                #4  0x00007f4048301874 __clone (libc.so.6 + 0x108874)

                                                Stack trace of thread 78:
                                                #0  0x00007f4048280ebe n/a (libc.so.6 + 0x87ebe)
                                                #1  0x00007f4048283750 pthread_cond_wait (libc.so.6 + 0x8a750)
                                                #2  0x00007f40462a76cc n/a (libvulkan_radeon.so + 0x2a76cc)
                                                #3  0x00007f40462b865c n/a (libvulkan_radeon.so + 0x2b865c)
                                                #4  0x00007f404828455a n/a (libc.so.6 + 0x8b55a)
                                                #5  0x00007f4048301874 __clone (libc.so.6 + 0x108874)

                                                Stack trace of thread 76:
                                                #0  0x00007f4048301e66 epoll_wait (libc.so.6 + 0x108e66)
                                                #1  0x000058152e1271c7 n/a (gamescope + 0x1311c7)
                                                #2  0x000058152e06dcf4 n/a (gamescope + 0x77cf4)
                                                #3  0x00007f40484e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                #4  0x00007f404828455a n/a (libc.so.6 + 0x8b55a)
                                                #5  0x00007f4048301874 __clone (libc.so.6 + 0x108874)
                                                ELF object binary architecture: AMD x86-64
kmk3 commented 8 months ago
wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us

Something not being owned by root is likely due to noroot.

Does it work with ignore noroot?

What is the output of the following?

firejail --quiet --profile=lutris ls -al /tmp | grep X11
firejail --quiet --ignore=noroot --profile=lutris ls -al /tmp | grep X11
nutta-git commented 8 months ago

@kmk3 ignore root didn't work, but it gave new errors.

[kevin@archlinux ~]$ lutris 
Reading profile /home/kevin/.config/firejail/lutris.profile
Reading profile /etc/firejail/allow-python2.inc
Reading profile /etc/firejail/allow-python3.inc
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-exec.inc
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/disable-xdg.inc
Reading profile /etc/firejail/whitelist-common.inc
Reading profile /etc/firejail/whitelist-usr-share-common.inc
Reading profile /etc/firejail/whitelist-runuser-common.inc
Reading profile /etc/firejail/whitelist-var-common.inc
Seccomp list in: !clone3,!modify_ldt,!process_vm_readv,!ptrace, check list: @default-keep, prelist: unknown,unknown,unknown,unknown,
Parent pid 111061, child pid 111068
Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set.
Seccomp list in: !clone3,!modify_ldt,!process_vm_readv,!ptrace, check list: @default-keep, prelist: unknown,unknown,unknown,unknown,
Seccomp list in: !modify_ldt,!process_vm_readv, check list: @default-keep, prelist: unknown,unknown,
Child process initialized in 56.33 ms
Warning: seccomp disabled, it requires a Linux kernel version 3.5 or newer.

(lutris:11): dbind-WARNING **: 17:50:06.121: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
2024-02-04 17:50:06,156: Command 'vulkaninfo' not found on your system
2024-02-04 17:50:06,156: Command 'fluidsynth' not found on your system
2024-02-04 17:50:06,239: The Battle.net source is unavailable because Google protobuf could not be loaded: No module named 'google'
2024-02-04 17:50:06,303: Starting Lutris 0.5.16
2024-02-04 17:50:06,304: Running AMD Mesa driver 23.3.5 on AMD Radeon RX 6600 XT (radeonsi, navi23, LLVM 16.0.6, DRM 3.57, 6.7.3-2-cachyos-lto) (0x73ff)
2024-02-04 17:50:06,304: GPU: 8086:4680 1458:D000 (i915 drivers)
2024-02-04 17:50:06,304: GPU: 1002:73FF 1043:05D1 (amdgpu drivers)
2024-02-04 17:50:06,304: i386 libgnutls.so.30 missing (needed by gnutls)
2024-02-04 17:50:06,321: vulkaninfo not available, unable to list GPUs
2024-02-04 17:50:06,322: vulkaninfo not available, unable to list GPUs
error: While opening repository /var/lib/flatpak/repo: opening repo: opendir(/var/lib/flatpak/repo): No such file or directory
2024-02-04 17:50:06,394: ['/usr/bin/flatpak', 'list', '--columns=name,application,version,branch,arch,origin,installation'] command failed: Command '['/usr/bin/flatpak', 'list', '--columns=name,application,version,branch,arch,origin,installation']' returned non-zero exit status 1.
2024-02-04 17:50:06,450: Error reading color-scheme: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown (2)
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/lutris/style_manager.py", line 80, in _call_cb
    values = obj.call_finish(result)
             ^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown (2)
lutris-wrapper: Ubisoft Connect
Started initial process 75 from gamescope -w 1920 -h 1080 -f -- /home/kevin/.local/share/lutris/runners/wine/wine-ge-8-25-x86_64/bin/wine /home/kevin/Games/ubisoft-connect/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/UbisoftConnect.exe
Start monitoring process.
vblank: Using timerfd.
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
wlserver: [backend/headless/backend.c:67] Creating headless backend
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
vulkan: selecting physical device 'AMD Radeon RX 6600 XT (RADV NAVI23)': queue family 1 (general queue family 0)
vulkan: physical device supports DRM format modifiers
vulkan: supported DRM formats for sampling usage:
vulkan:   AR24 (0x34325241)
vulkan:   XR24 (0x34325258)
vulkan:   AB24 (0x34324241)
vulkan:   XB24 (0x34324258)
vulkan:   RG16 (0x36314752)
vulkan:   NV12 (0x3231564E)
vulkan:   AB4H (0x48344241)
vulkan:   XB4H (0x48344258)
vulkan:   AB48 (0x38344241)
vulkan:   XB48 (0x38344258)
vulkan:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
wlserver: [xwayland/server.c:108] Starting Xwayland on :1
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
wlserver: [types/wlr_compositor.c:692] New wlr_surface 0x6236c05e4b50 (res 0x6236c0641390)
wlserver: [xwayland/server.c:273] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 74
gamescope: children shut down!
(EE) failed to read Wayland events: Broken pipe
Initial process has exited (return code: 0)
Monitored process exited.
All processes have quit
Exit with return code 0
2024-02-04 17:50:15,132: Game still running (state: running)
2024-02-04 17:50:15,132: Stopping Ubisoft Connect (wine)
2024-02-04 17:50:15,132: The game has run for a very short time, did it crash?
lutris-wrapper: Ubisoft Connect
Started initial process 121 from gamescope -w 1920 -h 1080 -f -- /home/kevin/.local/share/lutris/runners/wine/wine-ge-8-25-x86_64/bin/wine /home/kevin/Games/ubisoft-connect/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/UbisoftConnect.exe
Start monitoring process.
vblank: Using timerfd.
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
wlserver: [backend/headless/backend.c:67] Creating headless backend
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
vulkan: selecting physical device 'AMD Radeon RX 6600 XT (RADV NAVI23)': queue family 1 (general queue family 0)
vulkan: physical device supports DRM format modifiers
vulkan: supported DRM formats for sampling usage:
vulkan:   AR24 (0x34325241)
vulkan:   XR24 (0x34325258)
vulkan:   AB24 (0x34324241)
vulkan:   XB24 (0x34324258)
vulkan:   RG16 (0x36314752)
vulkan:   NV12 (0x3231564E)
vulkan:   AB4H (0x48344241)
vulkan:   XB4H (0x48344258)
vulkan:   AB48 (0x38344241)
vulkan:   XB48 (0x38344258)
vulkan:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
wlserver: [xwayland/server.c:108] Starting Xwayland on :1
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86Cle
arvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
wlserver: [types/wlr_compositor.c:692] New wlr_surface 0x59ed19255ce0 (res 0x59ed19255250)
wlserver: [xwayland/server.c:273] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 74
gamescope: children shut down!
(EE) failed to read Wayland events: Broken pipe
Monitored process exited.
Initial process has exited (return code: 0)
All processes have quit
Exit with return code 0
2024-02-04 17:50:33,182: Game still running (state: running)
2024-02-04 17:50:33,182: Stopping Ubisoft Connect (wine)
2024-02-04 17:50:33,182: The game has run for a very short time, did it crash?
^C
Parent received signal 2, shutting down the child process...

Child received signal 2, shutting down the sandbox...

Parent is shutting down, bye...

firejail --quiet --profile=lutris ls -al /tmp | grep X11

drwxrwxrwt  2 root root   60 Feb  4 17:50 .X11-unix

firejail --quiet --ignore=noroot --profile=lutris ls -al /tmp | grep X11

drwxrwxrwt  2 root root   60 Feb  4 17:50 .X11-unix
kmk3 commented 8 months ago
2024-02-04 17:50:06,156: Command 'vulkaninfo' not found on your system
2024-02-04 17:50:06,156: Command 'fluidsynth' not found on your system
[...]
2024-02-04 17:50:06,321: vulkaninfo not available, unable to list GPUs
2024-02-04 17:50:06,322: vulkaninfo not available, unable to list GPUs
$ pacman -F vulkaninfo
world/vulkan-tools 1.3.269-1 (vulkan-devel)
    usr/bin/vulkaninfo
extra/vulkan-tools 1.3.269-1 (vulkan-devel)
    usr/bin/vulkaninfo

Does it change anything if vulkan-tools is installed?

2024-02-04 17:50:06,304: i386 libgnutls.so.30 missing (needed by gnutls)

Are gnutls and lib32-gnutls installed?

Do you use private-lib?

wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
wlserver: [xwayland/server.c:108] Starting Xwayland on :1

I don't know if xwayland needs access to different paths.

What DE/WM do you use?

Does it work in an X11 session?

(By "Using gamescope within lutris" I assume that it's not just gamescope directly).

gamescope: children shut down!
(EE) failed to read Wayland events: Broken pipe
Monitored process exited.
Initial process has exited (return code: 0)
All processes have quit
Exit with return code 0
2024-02-04 17:50:33,182: Game still running (state: running)
2024-02-04 17:50:33,182: Stopping Ubisoft Connect (wine)
2024-02-04 17:50:33,182: The game has run for a very short time, did it crash?
^C
Parent received signal 2, shutting down the child process...

Unfortunate that it does not print the pipe location in the "Broken pipe" message.

Is there any related error in dmesg?

I don't see anything too obvious in the output; I'd suggest to try commenting lutris.profile until it works.

Also, note that there have been a few changes to lutris.profile since 0.9.72.

Do the warnings change if you install firejail-git from the AUR?

nutta-git commented 8 months ago

@kmk3 I had to restart my pc and it worked. Thank you for taking your time and helping me out. @kmk3 @rusty-snake ignore noroot fixed this issue.

EDIT: I restarted again and now doesn't work. this time the error code is

wlserver: [xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X1: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X2: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X3: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X4: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X5: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X6: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X7: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X8: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X9: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X10: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X11: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X12: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X13: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X14: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X15: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X16: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X17: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X18: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X19: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X20: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X21: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X22: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X23: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X24: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X25: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X26: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X27: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X28: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X29: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X30: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X31: Read-only file system
wlserver: [xwayland/sockets.c:63] Failed to bind socket /tmp/.X11-unix/X32: Read-only file system

EDIT: I think I figured it out, I had to ignore private-tmp and now it seems to work. so its:

ignore noroot & ignore private-tmp .

I restarted multiple times to check this time :)

Steam can also uses gamescope (launch option), this might be applicable there as well (i haven't tested it).

kmk3 commented 8 months ago
wlserver: [xwayland/sockets.c:99] /tmp/.X11-unix not owned by root or us

This seems like a bug in gamescope/xwayland.

I think that the real issue is that the ownership check above is faulty; it does not take user namespaces into account, which is usually what causes a path to appear to be owned by nobody:nobody to the sandboxed process.

For example, when using unshare:

$ unshare -U ls -al /tmp | grep .X11-unix
drwxrwxrwt  2 nobody nobody     80 Feb 11 00:00 .X11-unix

Also, such a directory may very well be owned by a system account.

I'd report this as a bug to the relevant project.

nutta-git commented 8 months ago

Thanks, I will report this to gamescope.

rusty-snake commented 8 months ago

FWIW: https://gitlab.gnome.org/GNOME/mutter/-/blob/6762626747171b6438fc77ddb0ffa1ae24500664/src/wayland/meta-xwayland.c#L513-573

nutta-git commented 8 months ago

Issue reported to wlroots project. https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3805

nutta-git commented 6 months ago

Update from Simon Ser

In general, /tmp/.X11-unix can't be shared between multiple users. That is, if the system is using /tmp/.X11-unix for its own X11 sockets, then a sandbox with a different user namespace can't use the same directory for its own X11 sockets. That's necessary due to the X11 socket directory design. Maybe try not sharing /tmp in the sandbox, ie. bind-mount a standalone temp dir there? In any case, I don't believe there is anything to be done in wlroots.

https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3805