ublue-os / bazzite

Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.
https://bazzite.gg
Apache License 2.0
3.93k stars 233 forks source link

No gamepad input while in game mode (gamescope) when adding games to Steam via Lutris #1500

Open RodoMa92 opened 2 months ago

RodoMa92 commented 2 months ago

Describe the bug

I can't get any gamepad input while using the provided Lutris installed software while starting games on game mode. If I enable gamescope from the lutris settings the game will completely fail to start with a weird non gamescope layer error. Without it enabled the game start fine, but with no gamepad input available. On desktop mode both (non gamescope/gamescope enabled in lutris) work 100% fine in my testing.

What did you expect to happen?

Gamepad inputs working in game mode for games installed via Lutris

Output of rpm-ostree status

State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable
                   Digest: sha256:6ce12036986eb6b37658dac3d335ce826106cf46a628516be96bf966bc8f6cbf
                  Version: v3.6-40.20240809.0 (2024-08-09T21:14:34Z)
          LayeredPackages: android-tools aspell-it bchunk bluez-tools
                           cdemu-client cdemu-daemon fluidsynth gh kde-cdemu-manager-kf6
                           patch powerline-fonts qt5pas rasdaemon rmlint smb4k sqlite-devel
                           strace tldr valgrind xlsclients yt-dlp zsh
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf"' 

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable
                   Digest: sha256:fa9d7c77f4be2d451aa62cc232649afd087a2ea0f539df891ef4bb5cb6ac488a
                  Version: 40.20240807.0 (2024-08-07T07:32:24Z)
          LayeredPackages: android-tools aspell-it bchunk bluez-tools
                           cdemu-client cdemu-daemon fluidsynth gh kde-cdemu-manager-kf6
                           patch powerline-fonts qt5pas rasdaemon rmlint
                           setroubleshoot-server smb4k sqlite-devel strace tldr valgrind
                           xlsclients yt-dlp zsh
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf"'

Hardware

Jupiter

Extra information or context

From what I've seen here, xwayland + libei is required to get this to work. Is this correctly enabled in the bazzite builds of gamescope?

fsworld009 commented 2 months ago

Observed the same issue, Steam Input is not working for Lutris games in game mode on my Bazzite installation on GPD Win 4 as well.

I'm currently using Flatpak Lutris as workaround. With the exact same game installation step (manually configured Wine game), the Steam input works when launching games in Flatpak Lutris.

RodoMa92 commented 2 months ago

Yep, can confirm that switching to flatpak as a workaround makes it work, since it's using flatpak gamescope instead of the built in one. However we lose additional fixes from bazzite, so this is not the ideal path to make it work.

matte-schwartz commented 2 months ago

From what I've seen here, xwayland + libei is required to get this to work. Is this correctly enabled in the bazzite builds of gamescope?

You would have no cursor in gamescope-session whatsoever if libei/input-emulation was disabled in the gamescope build.

fsworld009 commented 2 months ago

libei seems to be enabled according to https://github.com/ublue-os/bazzite/blob/0f35915/spec_files/gamescope/gamescope.spec#L35 ?

Also, when I was testing this, I didn't enable any gamescope option in both Lutris and I don't have flatpak gamescope installe, so I'm not sure if the issue is related to gamescope.

RodoMa92 commented 2 months ago

libei seems to be enabled according to https://github.com/ublue-os/bazzite/blob/0f35915/spec_files/gamescope/gamescope.spec#L35 ?

Also, when I was testing this, I didn't enable any gamescope option in both Lutris and I don't have flatpak gamescope installe, so I'm not sure if the issue is related to gamescope.

When you run games in gamemode it will run them in gamescope by default, so since I doubt that there are other variables at play I've assumed that the embedded gamescope build is at fault here. Might be wrong though.