Can't launch games with the Appimage
Describe the Bug
Due to the Appimage being setup with the potable home option can not open any games and opening steam creates an entirely new instance of steam. This is due to it using the portable home as our actual home.
Expected Behavior
to be able to open games :)
Additional Context
I suggest to move the webserver related stuff back into the app image as we do not need to modify that anyway and turn off the portable home in the building of the app image so it uses our actual home folder so we do not run into this anymore
Sunshine Host Operating System and Version
Opensuse Tumbleweed
Architecture
64 bit
Sunshine Version
0.12.0
GPU Type
GTX 1660 ti
CPU Model
Ryzen 1600 AF
GPU Driver/Mesa Version
510.54
Capture Method (Linux Only)
No response
One issue is the assets folder is the default location of the apps_<os>.json as well as sunshine.conf file. This is the reason why there's a portable home directory... It would probably be good to move those out of the assets folder and instead use a config folder.
Also, I currently cannot actually test linux versions as sunshine will not start in my VMs.
IMO the sunshine appimage should be setup like the majority of app images and not use a portable home. the files that normally sit in /etc should be in /etc in the appimage and all the configs should go in our actual $HOME .. like the normally compile versions it should generate the configs in $HOME/.config because as it stands now it thinks the portable home is our actual $HOME and why with steam it opens an entirely new instance of steam and why it can't open games outside of steam as it can't actually find them.. games in lutris just gives an error as it can't find them
IMO the sunshine appimage should be setup like the majority of app images and not use a portable home. the files that normally sit in /etc should be in /etc in the appimage and all the configs should go in our actual $HOME .. like the normally compile versions it should generate the configs in $HOME/.config because as it stands now it thinks the portable home is our actual $HOME and why with steam it opens an entirely new instance of steam and why it can't open games outside of steam as it can't actually find them.. games in lutris just gives an error as it can't find them
You're welcome to take a try at improving it. Here is where it's built currently. https://github.com/SunshineStream/Sunshine/blob/4b658cd86ba0b7520f6f7cb5b5f07d6775845a81/.github/workflows/CI.yml#L81
atm trying to get an actual RPM to build but lots of debugging on Open Build service haha. one thing I would suggest is maybe doing the appimage there as OBS can build Appimages against what ever base distro we want. I will take look there as setting up a CI workflow is a pain for me haha . if I get an app image to build there properly I can just link ya the builds and you can put it somewhere here on github
Okay, sounds good... Ideally the appimage will function on any distro. That's kind of the goal of it anyway.
Looks like its building against Ubuntu or Debian so will just stick to that as appimages built on older Ubuntu or Debian should run anywhere since most the dependencies should be in the appimage
This issue is stale because it has been open for 30 days with no activity. Remove the stale label or comment, otherwise this will be closed in 5 days.
This issue was closed because it has been stalled for 5 days with no activity.
This issue has been fixed and will be available in the next release.
I was able to fix this by sym linking my home directory to sunshine.AppImage.home/; though it appears this has been fixed.
It did however lead me to this discovery... maybe want to track this under a different issue but you can't use any hardware encoding with AppImage,
[2022:09:15:17:01:38]: Error: Couldn't load cuda: -1
[2022:09:15:17:01:38]: Error: Failed to gain CAP_SYS_ADMIN
[2022:09:15:17:01:38]: Error: Failed to gain CAP_SYS_ADMIN
[2022:09:15:17:01:38]: Error: Couldn't get handle for DRM Framebuffer [127]: Possibly not permitted: do [sudo setcap cap_sys_admin+p sunshine]
[2022:09:15:17:01:38]: Error: Environment variable WAYLAND_DISPLAY has not been defined
[2022:09:15:17:01:38]: Info: Detecting connected monitors
[2022:09:15:17:01:38]: Info: //////////////////////////////////////////////////////////////////
[2022:09:15:17:01:38]: Info: // //
[2022:09:15:17:01:38]: Info: // Testing for available encoders, this may generate errors. //
[2022:09:15:17:01:38]: Info: // You can safely ignore those errors. //
[2022:09:15:17:01:38]: Info: // //
[2022:09:15:17:01:38]: Info: //////////////////////////////////////////////////////////////////
[2022:09:15:17:01:38]: Info: Trying encoder [vaapi]
[2022:09:15:17:01:38]: Info: Screencasting with X11
[2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000]
[2022:09:15:17:01:38]: Info: Screencasting with X11
[2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000]
[2022:09:15:17:01:38]: Info: Screencasting with X11
[2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000]
[2022:09:15:17:01:38]: Info: Screencasting with X11
[2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000]
[2022:09:15:17:01:38]: Info: Encoder [vaapi] failed
[2022:09:15:17:01:38]: Info:
[2022:09:15:17:01:38]: Info: //////////////////////////////////////////////////////////////
[2022:09:15:17:01:38]: Info: // //
[2022:09:15:17:01:38]: Info: // Ignore any errors mentioned above, they are not relevant //
[2022:09:15:17:01:38]: Info: // //
[2022:09:15:17:01:38]: Info: //////////////////////////////////////////////////////////////
[2022:09:15:17:01:38]: Info:
[2022:09:15:17:01:38]: Fatal: Couldn't find any encoder matching [vaapi]
and
$ getcap sunshine.AppImage
sunshine.AppImage cap_sys_admin=p
Seems possibly inherently broken https://github.com/AppImage/AppImageKit/issues/881
I was able to fix this by sym linking my home directory to
sunshine.AppImage.home/; though it appears this has been fixed.It did however lead me to this discovery... maybe want to track this under a different issue but you can't use any hardware encoding with AppImage,
[2022:09:15:17:01:38]: Error: Couldn't load cuda: -1 [2022:09:15:17:01:38]: Error: Failed to gain CAP_SYS_ADMIN [2022:09:15:17:01:38]: Error: Failed to gain CAP_SYS_ADMIN [2022:09:15:17:01:38]: Error: Couldn't get handle for DRM Framebuffer [127]: Possibly not permitted: do [sudo setcap cap_sys_admin+p sunshine] [2022:09:15:17:01:38]: Error: Environment variable WAYLAND_DISPLAY has not been defined [2022:09:15:17:01:38]: Info: Detecting connected monitors [2022:09:15:17:01:38]: Info: ////////////////////////////////////////////////////////////////// [2022:09:15:17:01:38]: Info: // // [2022:09:15:17:01:38]: Info: // Testing for available encoders, this may generate errors. // [2022:09:15:17:01:38]: Info: // You can safely ignore those errors. // [2022:09:15:17:01:38]: Info: // // [2022:09:15:17:01:38]: Info: ////////////////////////////////////////////////////////////////// [2022:09:15:17:01:38]: Info: Trying encoder [vaapi] [2022:09:15:17:01:38]: Info: Screencasting with X11 [2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000] [2022:09:15:17:01:38]: Info: Screencasting with X11 [2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000] [2022:09:15:17:01:38]: Info: Screencasting with X11 [2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000] [2022:09:15:17:01:38]: Info: Screencasting with X11 [2022:09:15:17:01:38]: Error: Couldn't open EGL display: [00003000] [2022:09:15:17:01:38]: Info: Encoder [vaapi] failed [2022:09:15:17:01:38]: Info: [2022:09:15:17:01:38]: Info: ////////////////////////////////////////////////////////////// [2022:09:15:17:01:38]: Info: // // [2022:09:15:17:01:38]: Info: // Ignore any errors mentioned above, they are not relevant // [2022:09:15:17:01:38]: Info: // // [2022:09:15:17:01:38]: Info: ////////////////////////////////////////////////////////////// [2022:09:15:17:01:38]: Info: [2022:09:15:17:01:38]: Fatal: Couldn't find any encoder matching [vaapi]and
$ getcap sunshine.AppImage sunshine.AppImage cap_sys_admin=pSeems possibly inherently broken https://github.com/AppImage/AppImageKit/issues/881
That is also fixed in nightly.