-
-
Notifications
You must be signed in to change notification settings - Fork 5
fix(sunshine): make cuda and unit tests optional #52
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
Conversation
|
Pushed an update: corrected a small shellcheck warning and will rebase on the latest version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR! I understand the points you're mentioning and agree they should be improved, but I have some concerns about merging this as is.
- Boost 1.87 is fetched during the cmake configure process. Sunshine uses boost 1.87 for all builds currently. I'd like to move to the newer version, but haven't investigated migrating, so thank you for the link. I think I'm okay with the boost hack for the stable here, but once we have upstream updated to 1.88. Would you be interested in helping us migrate upstream to 1.88?
- If this were merged as is, changes won't persist on the next stable release of Sunshine. PR(s) will need to be made upstream as well. https://github.com/LizardByte/Sunshine/tree/master/packaging/linux/Arch
Edit: looks the issue was mitigated in boost 1.89, I wonder why Arch hasn't updated to 1.89 yet, usually Arch is pretty quick.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Done, see LizardByte/Sunshine#4254
That's way simpler. I adjusted my pull request. |
|
Updated due to changes requested in LizardByte/Sunshine#4254 |
|
Removed trailing line following |
ReenigneArcher
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it will be good to merge after these.
|



Description
The current published PKGBUILD (
2025.628.4510-5) doesn't build on Arch currently due to the missingboostmakedepends. There are also a few issues with the package itself that causes issues for non Nvidia systems.A few changes have been made in this pull request.
Quality of life changes for you
_commitinto a variable so that, when you want to release an update, you don't have 3 places where you have to change the hash. This makes maintaining the PKGBUILD easier, and it also makes adjusting your pipelines dynamically to use a different commit easier as well (just set the_commitvariable).-j$(nproc)to speed up building..gitignorefiles so that build artifacts are ignored.Make
cudaoptional for buildingRequiring
cudafor building on non-Nvidia systems is quite a heavy requirement. Even if it is anoptdepends, for a build it still will be required. Sincecudais huge (4.8 GB installed, ~2 GB download), and won't realistically be used on AMD systems, I added some logic to make it truly optional at build time. Ifcudaornvidia-utilsis detected as installed at build time, the build will requirecuda. If not,-DCUDA_FAIL_ON_MISSING=OFFis passed. You can pass_use_cuda=trueto force it on at any time.I've adjusted the GitHub pipelines to build with
cudaregardless, so that your CI processes won't be impacted, and your builds will havecudaenabled by default.Make
xorg-server-xvfboptional for buildingSame comment here for
xorg-server-xvfb, the end-users don't really need it; it is however super useful for testing, so I made it an optional component of the build. Your pipelines have been adjusted so that it is present in your builds as anoptdepends.Make tests failure optional when a user builds it
At the moment, the tests are failing after a build. I tried to debug it a little, but I wasn't able to identify the cause, and the resulting package still works fine on the two systems I tested them on.
The test failures all seem to be in the assertion for
platf_deinit.Either way, it's safe to assume that if a release was made by you, that release was tested previously. Just like the community PKGBUILD beforehand was doing, I made failing on tests optional. The GitHub CI pipelines were adjusted to fail if the test fail, however, because that's quite an important metric to have during a CI build.
Restoreboost1.88 fixes from community PKGBUILDArch currently ships withboost1.88 which unfortunately requires fixes in the main package. For now, to restore functionality, the fixes that were present in the community provided PKGBUILD were ported to this PKGBUILD.There's guidance on how to possibly fix this in the upstream bug report: boostorg/process#480Correctness fix in sunshine.install
sunshine.installwas modified to usewhich. That may cause undesired behaviour if there is a differentsunshinebinary present higher in the user'sPATH. Thesunshine.installfile was modified to use the proper installation path instead, which avoids that problem.Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage