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

Can't launch games with the Appimage #60

Closed
tohurtv opened this issue Feb 20, 2022 · 11 comments · Fixed by #332
Closed

Can't launch games with the Appimage #60

tohurtv opened this issue Feb 20, 2022 · 11 comments · Fixed by #332
Labels
fixed This issue has been fixed and will be available in the next release.

Comments

@tohurtv
Copy link

tohurtv commented Feb 20, 2022

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

@ReenigneArcher
Copy link
Member

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.

@tohurtv
Copy link
Author

tohurtv commented Mar 7, 2022

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

@ReenigneArcher
Copy link
Member

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

@tohurtv
Copy link
Author

tohurtv commented Mar 7, 2022

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

@ReenigneArcher
Copy link
Member

Okay, sounds good... Ideally the appimage will function on any distro. That's kind of the goal of it anyway.

@tohurtv
Copy link
Author

tohurtv commented Mar 7, 2022

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

@github-actions
Copy link

github-actions bot commented Apr 7, 2022

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.

@github-actions github-actions bot added the stale label Apr 7, 2022
@github-actions
Copy link

This issue was closed because it has been stalled for 5 days with no activity.

@ReenigneArcher ReenigneArcher mentioned this issue Aug 19, 2022
7 tasks
@ReenigneArcher ReenigneArcher mentioned this issue Sep 12, 2022
5 tasks
@ReenigneArcher ReenigneArcher added the fixed This issue has been fixed and will be available in the next release. label Sep 12, 2022
@github-actions
Copy link

This issue has been fixed and will be available in the next release.

@Trezamere
Copy link

Trezamere commented Sep 15, 2022

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 AppImage/AppImageKit#881

@ReenigneArcher
Copy link
Member

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 AppImage/AppImageKit#881

That is also fixed in nightly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed This issue has been fixed and will be available in the next release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants