Closed sonic2kk closed 3 weeks ago
@sonic2kk
If you're up to building from a fork of gamescope, try building from my branch: gs-fix-wlserver-wlr-virtual_keyboard_device_nullptr_assert_fail_latest_upstream
from my fork: https://github.com/sharkautarch/gamescope
Very strange, I tried out your branch and it worked. To confirm, I went back to upstream GameScope master, and it worked prefectly fine now. Both your branch and upstream master now work with and without --backend sdl
/ --backend wayland
.
I will close this issue, it seems to have gone away. I guess it wasn't related to GameScope after all somehow.
I spoke too soon somewhat, it appears this issue happens intermittently with only one game in particular (SeaBed).
I tested some other games after restarting Steam with your branch and upstream, and SeaBed intermittently fails with both.
I spoke too soon somewhat, it appears this issue happens intermittently with only one game in particular (SeaBed).
I tested some other games after restarting Steam with your branch and upstream, and SeaBed intermittently fails with both.
HMM interesting maybe try compiling with thread sanitizer:
LD_PRELOAD=/usr/lib/libtsan.so CC=gcc CXX=g++ meson setup --reconfigure --wipe build -Db_ndebug=false --buildtype=debugoptimized -Db_lto=true -Dc_args="-Wno-error=stringop-overflow -Wno-error=calloc-transposed-args -Wno-error=unused-but-set-variable -Wno-error=unused-variable -fsanitize=undefined -fsanitize=thread -fsanitize-recover=all -fno-omit-frame-pointer" -Dc_link_args="-Wno-error=stringop-overflow -Wno-error=calloc-transposed-args -Wno-error=unused-but-set-variable -Wno-error=unused-variable -fsanitize=undefined -fsanitize=thread -fsanitize-recover=all -fno-omit-frame-pointer" -Dcpp_args="-Wno-error=stringop-overflow -Wno-error=calloc-transposed-args -Wno-error=unused-but-set-variable -fno-omit-frame-pointer -Wno-error=unused-variable -fsanitize=undefined -fsanitize=thread -fsanitize-recover=all" -Dcpp_link_args="-Wno-error=calloc-transposed-args -Wno-error=unused-but-set-variable -Wno-error=stringop-overflow -fno-omit-frame-pointer -Wno-error=unused-variable -fsanitize=undefined -fsanitize=thread -fsanitize-recover=all"
and then to run:
first set this sysctl thingy to avoid this issue: https://stackoverflow.com/questions/77850769/fatal-threadsanitizer-unexpected-memory-mapping-when-running-on-linux-kernels
sudo sysctl vm.mmap_rnd_bits=30
then run like this:
LD_PRELOAD=/usr/lib/libtsan.so TSAN_OPTIONS="halt_on_error=false detect_leaks=false" path/to/gamescope <otherparams>
Even --backend auto
?
Using GameScope built from commit 09cb7b451d8825e597d15ab9d30e43aee8418670.
When trying to launch a Steam game with
gamescope --backend [any_backend] -- %command%
, they don't open. This happens when specifying any backend. Games will launch if just usinggamescope -- %command%
. Without specifying one, GameScope will prefer the Wayland backend I believe, but evengamescope --backend wayland -- %command%
does not work and results in this hanging behaviour.I initally thought this issue was specific to specifying
--backend sdl
, but while writing up this issue, I realised it was not specific to any backend, and only to providing the--backend
option altogether.The Steam "Play" button changes to "STOP" as though the game is loading, but the window never appears. Using
gamescope --backend [any_backend] -- foobar
with any other process I can find appears to work.When launching Steam from the terminal and examining the output of a Steam game trying to use GameScope, the following gets output but there is no continuous logging, which may suggest nothing else is happening. This log includes force-stopping the game from Steam.
This log is from
gamescope --backend sdl -- %command%
.