build(linux): Add support for openSUSE Tumbleweed#3676
build(linux): Add support for openSUSE Tumbleweed#3676gw3583 wants to merge 1 commit intoLizardByte:masterfrom gw3583:opensuse-1
Conversation
|
This is a first pass. It successfully builds an RPM on an opensuse tumbleweed fresh install, and I can install it on a fresh opensuse VM and successfully stream from it. Not sure if there's anything obvious I've missed though. |
|
ReenigneArcher
left a comment
There was a problem hiding this comment.
Thank you for the PR!
I've left some comments on the code. In addition here are a couple more.
- If we add a new CMAKE arg it should be added the
options.cmakefile - We don't actually use this
linux_build.shscript for rpms anymore (I've only left it for self compiling) - I think we can support openSuse through our copr repo builds. If you can add whatever conditional logic you need to this spec (https://github.com/LizardByte/Sunshine/blob/master/packaging/linux/fedora/Sunshine.spec), I can enable those chroots in copr. I know this is a bit harder to test locally, so it's fine if we have to go through a few iterations of CI runs in the PR.
| elif [ "$distro" == "opensuse" ]; then | ||
| # avoid using system packages on openSUSE - boost and doxygen versions cause errors | ||
| return 1 |
There was a problem hiding this comment.
This part of the code is just supposed to check what the installed version is.
| "-DSUNSHINE_ENABLE_DRM=ON" | ||
| ) | ||
|
|
||
| cmake_args+=("-DSUNSHINE_BUILD_DISTRO='${distro}'") |
There was a problem hiding this comment.
I'm not sure how I feel about this cmake arg yet, but it should be in the array above. It doesn't need to use the += since there is no conditional logic on whether to use it or not.
| distro="opensuse" | ||
| version="tumbleweed" | ||
| package_update_command="${sudo_cmd} zypper dup" | ||
| package_install_command="${sudo_cmd} zypper in -y" |
There was a problem hiding this comment.
| package_install_command="${sudo_cmd} zypper in -y" | |
| package_install_command="${sudo_cmd} zypper in -y" | |
| cuda_version="11.8.0" | |
| cuda_build="520.61.05" | |
| gcc_version="11" | |
| nvm_node=0 |
It appears cuda should work just fine on opensuse. https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=OpenSUSE&target_version=15&target_type=runfile_local
Although, it depends on the version of gcc you can get. If gcc is too new you can set the cuda_version and cuda_build to empty like the fedora 40 one. Also please set the gcc_version to whatever version is available. I know it's not used in the script for non debian distros, but it serves as a reference for us.
| openssl >= 3.0.2, \ | ||
| pulseaudio-libs >= 10.0") | ||
|
|
||
| if (SUNSHINE_BUILD_DISTRO STREQUAL "opensuse") |
There was a problem hiding this comment.
| if (SUNSHINE_BUILD_DISTRO STREQUAL "opensuse") | |
| if(SUNSHINE_BUILD_DISTRO STREQUAL "opensuse") |
Can you also add a comment about why this behavior is needed?
|
A user just linked this on our discord, figured I'd share here just for reference: https://build.opensuse.org/package/show/games:tools/sunshine |
Thanks for the feedback - will try to take a look at these in the next week or two. |
|
It looks like this PR has been idle for 90 days. If it's still something you're working on or would like to pursue, please leave a comment or update your branch. Otherwise, we'll be closing this PR in 10 days to reduce our backlog. Thanks! |
|
This PR was closed because it has been stalled for 10 days with no activity. |
|
For anyone who finds this in the future, openSUSE support should be added here: https://github.com/LizardByte/Sunshine/blob/master/packaging/linux/fedora/Sunshine.spec PRs welcome |



Description
Add support for building on openSUSE Tumbleweed
Type of Change
.github/...)Checklist