Page MenuHomeSolus

Update Sunshine to 0.10.1
ClosedPublic

Authored by Jacek on Sun, Sep 5, 3:36 PM.

Details

Summary

Changelog:

  • Added audio encryption.
  • Sunshine will now accept expired or not-yet-valid certificates, as long as they are signed properly.
  • Fixed compatibility with iOS version of Moonlight.
  • Drastically reduced chance of being forced to skip error correction due to video frame size
  • Added basic NVENC support on Linux.
  • Some cosmetic changes to the WebUI.
  • Added support for Rumble with gamepads.
  • Added support for keyboard shortcuts <--- See the README for details.
  • The first time the WebUI is opened, it will request the creation of a username/password pair from the user.
  • Fixed audio crackling introduced in version 0.8.0.
  • Sunshine is now stateless, and won't override user config with updates.
Test Plan

I worked on the changes to make Sunshine stateless to not override old configs, so I tested that a lot
Sucessfully streamed to Moonlight on PS Vita and Android phone, works with both software and va-api acceleration

Diff Detail

Repository
R5262 sunshine
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Jacek created this revision.Sun, Sep 5, 3:36 PM
Jacek requested review of this revision.Sun, Sep 5, 3:36 PM
joebonrichie added inline comments.
package.yml
19–20

These x libs are not showing up in abi_used_libs, are they still needed in builddeps?

Jacek updated this revision to Diff 28713.Sun, Sep 5, 4:15 PM

Remove one dependency, that is no longer needed

Jacek marked an inline comment as done.Sun, Sep 5, 4:17 PM
Jacek added inline comments.
package.yml
19–20

You are right, xtst was no longer needed as the author reworked mouse implementation. But all other x libs are needed, as the build fails without them.

JoshStrobl requested changes to this revision.Mon, Sep 6, 10:23 AM
JoshStrobl added a subscriber: JoshStrobl.
JoshStrobl added inline comments.
package.yml
35–37

Is there a specific reason this directory is being made? Surely it shouldn't be used by default and we shouldn't ship it, as that would defeat the whole point of the statelessness, which is you could nuke the system-wide configuration to get the default vendor-provided ones. Nuking the sunshine directory in /etc in this scenario would now result in a "broken" package, regardless of it being a significant breakage or not.

This revision now requires changes to proceed.Mon, Sep 6, 10:23 AM
Jacek marked an inline comment as done.Mon, Sep 6, 10:38 AM
Jacek added inline comments.
package.yml
35–37

When you will configure it through GUI, your configs will get placed in /etc, and the defaults shipped with the package are in defaults.
When I didn't create that directory, the program would fail to create those config files.

JoshStrobl added inline comments.Mon, Sep 6, 10:57 AM
package.yml
35–37

Seems more like a bug with the software. It should ensure the directory exists and creates it if not, if it intends to place contents in it.

Jacek added inline comments.Mon, Sep 6, 1:09 PM
package.yml
35–37

what(): filesystem error: cannot copy file: No such file or directory [/usr/share/defaults/etc/sunshine/sunshine.conf] [/etc/sunshine/sunshine.conf] if you don't include this mkdir.
I noticed it already when I was providing stateless (well stateless-like) patches, and didn't really know how to rework the code to create directories that don't exist, as it had to work on windows as well.
So do you consider this a small enough problem, and this package can get accepted? This directory will get populated with user's config files when the app is first run anyways.

JoshStrobl added inline comments.Wed, Sep 15, 4:25 PM
package.yml
35–37

Given the conversation from IRC, yea I guess we're just going to have to ship the /etc/ folder, which is unfortunate, at least until sunshine stops attempting to copy the configuration to a system-wide path and prefers a home directory path instead.

Let's fix this to use install instead of mkdir though,

Jacek updated this revision to Diff 28822.Wed, Sep 15, 5:43 PM

Replaced mkdir with install, as for IDOS' request

Jacek marked an inline comment as done.Wed, Sep 15, 5:44 PM
JoshStrobl accepted this revision.Wed, Sep 15, 9:19 PM

LGTM, thanks!

This revision is now accepted and ready to land.Wed, Sep 15, 9:19 PM
This revision was automatically updated to reflect the committed changes.