Sunshine: Difference between revisions
import from old wiki |
Improve nixos configuration |
||
Line 3: | Line 3: | ||
== Install == | == Install == | ||
To install Sunshine and enable to for use you will need to open up network ports as shown here:{{file|/etc/nixos/configuration.nix|nix|<nowiki> | To install Sunshine and enable to for use you will need to open up network ports as shown here:{{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ pkgs, ... }: { | |||
environment.systemPackages = [ | |||
pkgs.sunshine | |||
pkgs.moonlight-qt #for testing purposes. | |||
]; | ]; | ||
}; | networking.firewall = { | ||
enable = true; | |||
allowedTCPPorts = [ 47984 47989 47990 48010 ]; | |||
allowedUDPPortRanges = [ | |||
{ from = 47998; to = 48000; } | |||
{ from = 8000; to = 8010; } | |||
]; | |||
}; | |||
# Prevents this error: | |||
# Fatal: You must run [sudo setcap cap_sys_admin+p $(readlink -f sunshine)] for KMS display capture to work! | |||
security.wrappers.sunshine = { | |||
owner = "root"; | |||
group = "root"; | |||
capabilities = "cap_sys_admin+p"; | |||
source = "${pkgs.sunshine}/bin/sunshine"; | |||
}; | |||
# Needed for network discovery | |||
services.avahi.enable = true; | |||
services.avahi.publish.enable = true; | |||
services.avahi.publish.userServices = true; | |||
} | |||
</nowiki>}} | </nowiki>}} | ||
== Connecting to the host == | == Connecting to the host == | ||
Sunshine needs to be started with the <pre>sunshine</pre> command. | |||
You may have to manually add the host running Sunshine to your Moonlight client. This, thankfully, is not hard to do. | You may have to manually add the host running Sunshine to your Moonlight client. This, thankfully, is not hard to do. | ||
Line 23: | Line 42: | ||
If this doesn’t work you should double check the port in the Sunshine’s WebGUI. You can access this from the Host PC in a web browser <code>localhost:47990</code> | If this doesn’t work you should double check the port in the Sunshine’s WebGUI. You can access this from the Host PC in a web browser <code>localhost:47990</code> | ||
== Attribution == | == Attribution == | ||
A substantial amount of the above came from [https://www.reddit.com/r/NixOS/comments/1bq2bx4/beginners_guide_to_sunshine_gamedesktop_streaming/ this fairly wonderful guide] posted to Reddit: | A substantial amount of the above came from [https://www.reddit.com/r/NixOS/comments/1bq2bx4/beginners_guide_to_sunshine_gamedesktop_streaming/ this fairly wonderful guide] posted to Reddit: |
Revision as of 06:57, 21 April 2024
This page is intended to explain how to use Sunshine, an open-source implementation of Nvidia’s Moonlight game streaming application.
Install
To install Sunshine and enable to for use you will need to open up network ports as shown here:
/etc/nixos/configuration.nix
{ pkgs, ... }: {
environment.systemPackages = [
pkgs.sunshine
pkgs.moonlight-qt #for testing purposes.
];
networking.firewall = {
enable = true;
allowedTCPPorts = [ 47984 47989 47990 48010 ];
allowedUDPPortRanges = [
{ from = 47998; to = 48000; }
{ from = 8000; to = 8010; }
];
};
# Prevents this error:
# Fatal: You must run [sudo setcap cap_sys_admin+p $(readlink -f sunshine)] for KMS display capture to work!
security.wrappers.sunshine = {
owner = "root";
group = "root";
capabilities = "cap_sys_admin+p";
source = "${pkgs.sunshine}/bin/sunshine";
};
# Needed for network discovery
services.avahi.enable = true;
services.avahi.publish.enable = true;
services.avahi.publish.userServices = true;
}
Connecting to the host
Sunshine needs to be started with the
sunshine
command.
You may have to manually add the host running Sunshine to your Moonlight client. This, thankfully, is not hard to do.
Simply press the button that says Add Host Manually
, from there you will need to input the following (replace <Host IP>
with your Host’s IP address):
<Host IP>:47989
If this doesn’t work you should double check the port in the Sunshine’s WebGUI. You can access this from the Host PC in a web browser localhost:47990
Attribution
A substantial amount of the above came from this fairly wonderful guide posted to Reddit: