Page MenuHomeSolus

Initial inclusion of Sunshine for T9799
ClosedPublic

Authored by Jacek on Jul 3 2021, 7:50 AM.

Details

Summary

Initial inclusion of Sunshine, fixes T9799.

Test Plan

Used prebuild Sunshine on both Linux and Windows for last few months.
Used this packaged version for a day with bot PS Vita and Android.
Test on another machine that adding user to input in fact isn't necessary for the controller to work.

Diff Detail

Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 1023
Build 1023: arc lint + arc unit

Event Timeline

Jacek created this revision.Jul 3 2021, 7:50 AM
Jacek requested review of this revision.Jul 3 2021, 7:50 AM
Jacek updated this revision to Diff 27576.Jul 3 2021, 9:01 PM

Clean up dependencies

Jacek edited the summary of this revision. (Show Details)Jul 4 2021, 6:55 AM
joebonrichie requested changes to this revision.Jul 5 2021, 1:37 AM
joebonrichie added subscribers: JoshStrobl, joebonrichie.

After installation user needs to be added to input group using sudo usermod -a -G input $USER for controller to work. Can it be done during the installation?

AFAIK the only way to add the user to the correct group is with a custom usysconf trigger. We are still using the legacy usysconf, but with the new version of usysconf it should be significantly easier to add a toml based usysconf trigger for this, ping @JoshStrobl for status/thoughts?

I think there is a risk updating the package could overwrite user settings, like in apps_linux.json, but I don't see a better option to package it

I haven't looked deeply into it but upstream should probably generate and install config files to XDG_CONFIG_HOME/sunshine. It might be possible to patch in support for a statelessness config, where /etc/sunshine/apps_linux.json is searched first before /usr/share/sunshine/apps_linux.json. If that's too much work then just leave as-is.

Am I putting all the files in the correct locations, or should I choose some different ones.

File locations look correct to me AFAICT.

make will fail if I don't build in /build, I already mentioned this bug to the author

This is quite common for cmake based projects and is generally recommended behavior, no need to worry about it.

Might have missed some things, the main blocker is the custom post-install step

package.yml
2

Lowercase sunshine

7

Should either be GPL-3-0-only or GPL-3.0-or-later, it's hard to tell which one it is as they do not include the copyright notice at the top of their source files.

8

Probably network.web is the best component match.

31

Using cp is okay here as long as the file permissions are all correct.

This revision now requires changes to proceed.Jul 5 2021, 1:37 AM

After installation user needs to be added to input group using sudo usermod -a -G input $USER for controller to work. Can it be done during the installation?

AFAIK the only way to add the user to the correct group is with a custom usysconf trigger.

Nope. That's qol-assist.

Jacek updated this revision to Diff 27589.Jul 6 2021, 8:11 AM

Make changes according to joebonrichie's comments

Jacek marked 4 inline comments as done.Jul 6 2021, 8:15 AM

I tested it on a fresh machine, and contrary to what program's readme says, you don't need to add user to input group! I even tested it a few months ago and back then it was needed but for some reason it no longer is.
So I think this package is now ready to be included, and all functions work without the need of qol-assist.
Should I create a new diff without [RFC] in the name, or can I just edit this one?

JoshStrobl requested changes to this revision.Jul 6 2021, 8:32 AM

Should I create a new diff without [RFC] in the name, or can I just edit this one?

Can just edit this one.

package.yml
34

Should use %libdir% instead of /usr/lib

35

Should use %libdir% instead of /usr/lib

This revision now requires changes to proceed.Jul 6 2021, 8:32 AM
Jacek updated this revision to Diff 27590.Jul 6 2021, 9:34 AM

Use %libdir% according to Josh's advice

Jacek retitled this revision from [RFC] Initial inclusion of Sunshine for T9799 to Initial inclusion of Sunshine for T9799.Jul 6 2021, 9:45 AM
Jacek edited the summary of this revision. (Show Details)
Jacek edited the test plan for this revision. (Show Details)
Jacek marked 2 inline comments as done.
Jacek updated this revision to Diff 27605.Jul 8 2021, 12:48 PM

Fix permissions for sunshine.conf and apps_linux.json, so the new web GUI can edit them

JoshStrobl accepted this revision.Jul 8 2021, 6:29 PM

LGTM, thanks!

This revision was not accepted when it landed; it landed in state Needs Review.Jul 8 2021, 6:30 PM
This revision was automatically updated to reflect the committed changes.