Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 22 additions & 26 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ body:
id: description
attributes:
label: Describe the Bug
description: A clear and concise description of the bug, list the reproduction steps.
description: |
A clear and concise description of the bug, list the reproduction steps.
:warning: Errors in log messages are NOT bugs. Read the message and fix what it's telling you. :warning:
validations:
required: true
- type: textarea
Expand All @@ -52,6 +54,7 @@ body:
description: What version operating system are you running the software on?
options:
- Docker
- FreeBSD
- Linux
- macOS
- Windows
Expand All @@ -75,15 +78,6 @@ body:
- other, n/a
validations:
required: true
- type: input
id: version
attributes:
label: Sunshine commit or version
description: |
Use `sunshine --verison` to get the version, or get the version from web UI.
Please don't just copy the latest commit from our repo, if that's not the commit you're actually using.
validations:
required: true
- type: dropdown
id: package_type
attributes:
Expand All @@ -103,10 +97,10 @@ body:
- Linux - solus (Third Party)
- Linux - Unraid (Third Party)
- macOS - Homebrew
- macOS - Portfile
- Windows - Chocolatey (Third Party)
- Windows - installer (recommended)
- Windows - portable (not recommended)
- Windows - exe installer
- Windows - msi installer (recommended)
- Windows - portable (NOT recommended)
- Windows - Scoop (Third Party)
- Windows - Winget
- other (not listed)
Expand Down Expand Up @@ -154,19 +148,11 @@ body:
- NvFBC (Linux)
- wlroots (Linux)
- X11 (Linux)
- XDG Portal Grab (Linux)
- Desktop Duplication API (Windows)
- Windows.Graphics.Capture (Windows)
validations:
required: false
- type: textarea
id: config
attributes:
label: Config
description: |
Please copy and paste your config (`sunshine.conf`) file.
render: Shell
validations:
required: false
- type: textarea
id: apps
attributes:
Expand All @@ -179,10 +165,20 @@ body:
- type: textarea
id: logs
attributes:
label: Relevant log output
label: Log output
description: |
Please copy and paste any relevant log output. This will be automatically formatted into code,
so no need for backticks.
Copy and paste logs from web-ui troubleshooting page.
This will be automatically formatted into code, so no need for backticks.
:warning: If full logs are not provided, the issue will be closed! :warning:
render: shell
validations:
required: true
required: false
- type: input
id: logs_link
attributes:
label: Online logs
description: |
If logs are too long to include in the field above,
create a [gist](https://gist.github.com/) of the logs and paste the link here.
validations:
required: false
2 changes: 1 addition & 1 deletion docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PROJECT_NAME = Sunshine

# project specific settings
DOT_GRAPH_MAX_NODES = 60
# IMAGE_PATH = ../docs/images
IMAGE_PATH = ../docs/images
PREDEFINED += SUNSHINE_BUILD_WAYLAND
PREDEFINED += SUNSHINE_TRAY=1

Expand Down
62 changes: 37 additions & 25 deletions docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,22 +100,10 @@ CUDA is used for NVFBC capture.

> [!CAUTION]
> Use distro-specific packages instead of the AppImage if they are available.
> AppImage does not support KMS capture.
According to AppImageLint the supported distro matrix of the AppImage is below.

- ✖ Debian bullseye
- ✔ Debian bookworm
- ✔ Debian trixie
- ✔ Debian sid
- ✔ Ubuntu plucky
- ✔ Ubuntu noble
- ✔ Ubuntu jammy
- ✖ Ubuntu focal
- ✖ Ubuntu bionic
- ✖ Ubuntu xenial
- ✖ Ubuntu trusty
- ✖ Rocky Linux 8
- ✖ Rocky Linux 9
> [!NOTE]
> The AppImage is built on Ubuntu 22.04, which requires `glibc 2.35` or newer and `libstdc++ 3.4.11` or newer.
##### Install
1. Download [sunshine.AppImage](https://github.com/LizardByte/Sunshine/releases/latest/download/sunshine.AppImage)
Expand Down Expand Up @@ -214,6 +202,12 @@ sudo dnf remove sunshine
```

##### Install (Copr)

> [!IMPORTANT]
> Stable builds are only available if the Sunshine release was made after the Fedora version release.
> Because of this, it is often recommended to use the beta copr; however, you do not need to regularly update.
> This could lead to annoyances in rare cases where there may be a breaking change.
1. Enable copr repository.
```bash
sudo dnf copr enable lizardbyte/stable
Expand All @@ -238,6 +232,7 @@ sudo dnf remove Sunshine

> [!CAUTION]
> Use distro-specific packages instead of the Flatpak if they are available.
> Flatpak does not support KMS capture.
Using this package requires that you have [Flatpak](https://flatpak.org/setup) installed.

Expand Down Expand Up @@ -305,6 +300,9 @@ brew install sunshine
brew uninstall sunshine
```

> [!TIP]
> For beta you can replace `sunshine` with `sunshine-beta` in the above commands.
### macOS

> [!IMPORTANT]
Expand All @@ -315,6 +313,8 @@ This package requires that you have [Homebrew](https://docs.brew.sh/Installation

##### Install
```bash
brew update
brew upgrade
brew tap LizardByte/homebrew
brew install sunshine
```
Expand Down Expand Up @@ -461,6 +461,8 @@ In order for virtual gamepads to work, you must install ViGEmBus. You can do thi
in the web UI, as long as you are running Sunshine as a service or as an administrator. After installation, it is
recommended to restart your computer.

![ViGEmBus Installation](images/vigembus-installer.png)

## Usage

### Basic usage
Expand All @@ -481,9 +483,8 @@ sunshine <directory of conf file>/sunshine.conf
```

> [!NOTE]
> You do not need to specify a config file. If no config file is entered, the default location will be used.
> [!TIP]
> This step is optional, you do not need to specify a config file.
> If no config file is entered, the default location will be used.
> The configuration file specified will be created if it doesn't exist.
### Start Sunshine over SSH (Linux/X11)
Expand Down Expand Up @@ -519,16 +520,27 @@ by default. You may replace *localhost* with your internal ip address.
> [!CAUTION]
> If running for the first time, make sure to note the username and password that you created.
1. Add games and applications.
2. Adjust any configuration settings as needed.
3. In Moonlight, you may need to add the PC manually.
4. When Moonlight requests for you insert the pin:

- Login to the web ui
1. Change the web-ui to your desired theme, using the dropdown menu in the navbar.
![Theme Selection](images/split-themes.png)
2. Add games and applications.
![Applications](images/applications.png)
3. Adjust any configuration settings as needed. You can search for options in the search bar.
![Configuration](images/configuration-search.png)
4. Find Moonlight clients and other tools for Sunshine in the `Featured Apps` tab.
![Featured Apps](images/featured-apps.png)
5. In Moonlight, you may need to add the PC manually.
6. When Moonlight requests for you insert the pin:

- Login to the web-ui
- Go to "PIN" in the Navbar
- Type in your PIN and press Enter, you should get a Success Message
- Type in your PIN and press `Enter`, and enter a name of your choosing for the device.
You should get a Success Message!
- In Moonlight, select one of the Applications listed

7. If you run into issues, logs are available in the `Troubleshooting` tab.
You can navigate through each warning/error message for clues to the issue.
![Logs](images/troubleshooting-logs.png)

### Arguments
To get a list of available arguments, run the following command.

Expand Down
Binary file added docs/images/applications.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/configuration-search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/featured-apps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/split-themes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/troubleshooting-logs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/vigembus-installer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ int main(int argc, char *argv[]) {
BOOST_LOG(info) << "Starting system tray"sv;
#ifdef _WIN32
// TODO: Windows has a weird bug where when running as a service and on the first Windows boot,
// he tray icon would not appear even though Sunshine is running correctly otherwise.
// the tray icon would not appear even though Sunshine is running correctly otherwise.
// Restarting the service would allow the icon to appear normally.
// For now we will keep the Windows tray icon on a separate thread.
// Ideally, we would run the system tray on the main thread for all platforms.
Expand Down
9 changes: 7 additions & 2 deletions src/platform/linux/kmsgrab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1661,9 +1661,14 @@ namespace platf {
if (!fb->handles[0]) {
BOOST_LOG(error) << "Couldn't get handle for DRM Framebuffer ["sv << plane->fb_id << "]: Probably not permitted"sv;
BOOST_LOG((config::video.capture == "kms") ? fatal : error)
<< "If you installed from AppImage or Flatpak, KMS capture is not supported.\n"sv
#if defined(SUNSHINE_BUILD_FLATPAK) || defined(SUNSHINE_BUILD_APPIMAGE)
<< "AppImage and Flatpak do not support KMS capture. Use another capture method."sv;
#else
<< "You must use the 'sunshine-kms' service instead of the 'sunshine' service for KMS capture.\n"sv
<< "Please refer to the official documentation:\n"sv
<< "https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2getting__started.html#linux"sv;
<< " stable: https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2getting__started.html#linux-1"sv
<< " beta: https://docs.lizardbyte.dev/projects/sunshine/master/md_docs_2getting__started.html#linux-1"sv;
#endif
break;
}

Expand Down
Loading