Skip to content

lvxingye/Sunshine_rk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,178 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sunshine RockChip Fork

Warning

This fork is for Rockchip platform only and has only been tested on RK3566 chip!

Note on Performance: Although a dedicated FFmpeg version for Rockchip is used and can find the rkmpp encoder, it currently occupies CPU significantly, similar to not using rkmpp hardware encoding at all.

Build Instructions

First, install build dependencies:

sudo apt update
sudo apt install -y \
   git meson cmake pkg-config gcc libasound2-dev libdrm-dev ninja-build libv4l-dev \
   libboost-all-dev
sudo apt-get install -y \
   build-essential gcc-10 g++-10 libayatana-appindicator3-dev libxtst-dev wget \
   libavdevice-dev libcap-dev libcurl4-openssl-dev libdrm-dev libevdev-dev \
   libminiupnpc-dev libnotify-dev libnuma-dev libopus-dev libpulse-dev \
   libssl-dev libva-dev libwayland-dev libx11-dev libxcb-shm0-dev \
   libxcb-xfixes0-dev libxcb1-dev libxfixes-dev libxrandr-dev

Then, build rkmpp and rkrga modules:

git clone https://github.com/HermanChen/mpp.git rkmpp
cd rkmpp
mkdir ./build && cd build
mkdir -p rkmpp/rkmpp_build && cd rkmpp/rkmpp_build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \
   -DBUILD_SHARED_LIBS=ON -DBUILD_TEST=OFF ..
sudo make -j$(nproc)
sudo make install
git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
cd rkrga
meson setup ./ rkrga_build --prefix=/usr --libdir=lib --buildtype=release \
   -Dcpp_args=-fpermissive -Dlibdrm=false -Dlibrga_demo=false
meson configure rkrga_build
sudo ninja -C rkrga_build install

Get specific ffmpeg build from lvxingye/build-deps repo:

wget https://github.com/lvxingye/build-deps/releases/download/ubuntu-20.04/ffmpeg.tar.gz
tar -xvf ./ffmpeg.tar.gz
mv ./ffmpeg_build ./_deps/ffmpeg

Clone this fork:

git clone https://github.com/lvxingye/Sunshine_rk.git

Configure with CMake (disable CUDA and enable Rockchip support):

cd Sunshine_rk
cmake -B build/ -S ./ \
   -DSUNSHINE_ENABLE_CUDA=OFF \
   -DSUNSHINE_ENABLE_ROCKCHIP=ON \
   -DFFMPEG_PREPARED_BINARIES="`pwd`/_deps/ffmpeg/" \
   -DSUNSHINE_ASSETS_DIR=share/sunshine \
   -DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine

Build Sunshine (it's preferred to use 2 processes to avoid OOM):

cd build
ninja -C ./ -j2

Install Sunshine:

sudo env "PATH=$PATH" ninja install

Overview

LizardByte has the full documentation hosted on Read the Docs.

About

Sunshine is a self-hosted game stream host for Moonlight. Offering low latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware encoding. Software encoding is also available. You can connect to Sunshine from any Moonlight client on a variety of devices. A web UI is provided to allow configuration, and client pairing, from your favorite web browser. Pair from the local server or any mobile device.

System Requirements

Warning

This table is a work in progress. Do not purchase hardware based on this.

Minimum Requirements

GPU AMD: VCE 1.0 or higher, see obs-amd hardware support
Intel: VAAPI-compatible, see: VAAPI hardware support
Nvidia: NVENC enabled cards, see nvenc support matrix
CPU AMD: Ryzen 3 or higher
Intel: Core i3 or higher
RAM 4GB or more
OS Windows: 10+ (Windows Server not supported)
macOS: 12+
Linux/Debian: 11 (bullseye)
Linux/Fedora: 38+
Linux/Ubuntu: 20.04+ (focal)
Network Host: 5GHz, 802.11ac
Client: 5GHz, 802.11ac

4k Suggestions

GPU AMD: Video Coding Engine 3.1 or higher
Intel: HD Graphics 510 or higher
Nvidia: GeForce GTX 1080 or higher
CPU AMD: Ryzen 5 or higher
Intel: Core i5 or higher
Network Host: CAT5e ethernet or better
Client: CAT5e ethernet or better

HDR Suggestions

GPU AMD: Video Coding Engine 3.4 or higher
Intel: UHD Graphics 730 or higher
Nvidia: Pascal-based GPU (GTX 10-series) or higher
CPU AMD: todo
Intel: todo
Network Host: CAT5e ethernet or better
Client: CAT5e ethernet or better

Integrations

GitHub Workflow Status (CI) GitHub Workflow Status (localize) Read the Docs

Support

Our support methods are listed in our LizardByte Docs.

Downloads

GitHub Releases Docker Winget Version

Stats

GitHub stars

About

Self-hosted game stream host for Moonlight. For rockchip platform. test.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 76.4%
  • HTML 4.8%
  • CMake 4.8%
  • Vue 3.4%
  • CSS 2.2%
  • Shell 2.1%
  • Other 6.3%