Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lutris: gamescope doesnt work with firejail #6191

Open
5 of 7 tasks
nutta-git opened this issue Feb 4, 2024 · 12 comments
Open
5 of 7 tasks

lutris: gamescope doesnt work with firejail #6191

nutta-git opened this issue Feb 4, 2024 · 12 comments
Labels
notourbug The issue is valid, but it isn't directly caused by (or cannot be fixed by) firejail

Comments

@nutta-git
Copy link
Contributor

nutta-git commented Feb 4, 2024

Description

Using gamescope within lutris crashes games on launch.

Steps to Reproduce

Steps to reproduce the behavior

  • ln -s /usr/bin/firejail /usr/local/bin/lutris
  • cp /etc/firejail/lutris.profile ~/.config/firejail/lutris.profile
  • firecfg --fix
  • Launch Lutris
  • Right Click any game
  • Click Configure
  • Navigate to System options Tab
  • Navigate to Gamescope
    gamescope

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

  • Arch Linux
  • firejail version 0.9.72

Checklist

  • The issues is caused by firejail (i.e. running the program by path (e.g. /usr/bin/vlc) "fixes" it).
  • I can reproduce the issue without custom modifications (e.g. globals.local).
  • The program has a profile. (If not, request one in https://github.com/netblue30/firejail/issues/1139)
  • The profile (and redirect profile if exists) hasn't already been fixed upstream.
  • I have performed a short search for similar issues (to avoid opening a duplicate).
    • I'm aware of browser-allow-drm yes/browser-disable-u2f no in firejail.config to allow DRM/U2F in browsers.
  • I used --profile=PROFILENAME to set the right profile. (Only relevant for AppImages)

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
Copy link
Collaborator

ignore private-tmp

@nutta-git
Copy link
Contributor Author

nutta-git commented Feb 4, 2024

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

@nutta-git
Copy link
Contributor Author

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
Copy link
Collaborator

kmk3 commented Feb 4, 2024

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
Copy link
Contributor Author

@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
Copy link
Collaborator

kmk3 commented Feb 4, 2024

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
Copy link
Contributor Author

nutta-git commented Feb 5, 2024

@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
Copy link
Collaborator

kmk3 commented Feb 11, 2024

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.

@kmk3 kmk3 added the notourbug The issue is valid, but it isn't directly caused by (or cannot be fixed by) firejail label Feb 11, 2024
@nutta-git
Copy link
Contributor Author

Thanks, I will report this to gamescope.

@nutta-git
Copy link
Contributor Author

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

@nutta-git
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notourbug The issue is valid, but it isn't directly caused by (or cannot be fixed by) firejail
Projects
None yet
Development

No branches or pull requests

3 participants