-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27 from SunshineStream/nightly
v0.11.1
- Loading branch information
Showing
19 changed files
with
627 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,232 @@ | ||
name: Create Package | ||
|
||
on: | ||
pull_request: | ||
branches: [master, nightly] | ||
types: [opened, synchronize, edited, reopened] | ||
push: | ||
branches: [master] | ||
workflow_dispatch: | ||
|
||
jobs: | ||
check_changelog: | ||
name: Check Changelog | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Verify Changelog | ||
id: verify_changelog | ||
if: ${{ github.ref == 'refs/heads/master' || github.base_ref == 'master' }} | ||
# base_ref for pull request check, ref for push | ||
uses: SunshineStream/actions/verify_changelog@v0 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
outputs: | ||
next_version: ${{ steps.verify_changelog.outputs.changelog_parser_version }} | ||
last_version: ${{ steps.verify_changelog.outputs.latest_release_tag_name }} | ||
release_body: ${{ steps.verify_changelog.outputs.changelog_parser_description }} | ||
|
||
build_appimage: | ||
name: AppImage | ||
runs-on: ubuntu-20.04 | ||
needs: check_changelog | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Setup Dependencies AppImage | ||
run: | | ||
mkdir -p artifacts | ||
sudo apt-get update -y && \ | ||
sudo apt-get --reinstall install -y \ | ||
git wget gcc-10 g++-10 build-essential cmake libssl-dev libavdevice-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libpulse-dev libopus-dev libxtst-dev libx11-dev libxrandr-dev libxfixes-dev libevdev-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev libdrm-dev libcap-dev libwayland-dev | ||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 | ||
sudo wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run --progress=bar:force:noscroll -q --show-progress -O /root/cuda.run && sudo chmod a+x /root/cuda.run | ||
sudo /root/cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm && sudo rm /root/cuda.run | ||
sudo add-apt-repository ppa:savoury1/graphics -y | ||
sudo add-apt-repository ppa:savoury1/multimedia -y | ||
sudo add-apt-repository ppa:savoury1/ffmpeg4 -y | ||
sudo apt-get update -y | ||
sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y | ||
sudo apt-get install ffmpeg -y | ||
- name: Build AppImage | ||
run: | | ||
CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Release}" | ||
SUNSHINE_EXECUTABLE_PATH="${SUNSHINE_EXECUTABLE_PATH:-/usr/bin/sunshine}" | ||
SUNSHINE_ASSETS_DIR="${SUNSHINE_ASSETS_DIR:-sunshine.AppImage.config}" | ||
SUNSHINE_ENABLE_WAYLAND=${SUNSHINE_ENABLE_WAYLAND:-ON} | ||
SUNSHINE_ENABLE_X11=${SUNSHINE_ENABLE_X11:-ON} | ||
SUNSHINE_ENABLE_DRM=${SUNSHINE_ENABLE_DRM:-ON} | ||
SUNSHINE_ENABLE_CUDA=${SUNSHINE_ENABLE_CUDA:-ON} | ||
mkdir -p appimage-build && cd appimage-build | ||
cmake "-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" "-DSUNSHINE_EXECUTABLE_PATH=$SUNSHINE_EXECUTABLE_PATH" "-DSUNSHINE_ASSETS_DIR=$SUNSHINE_ASSETS_DIR" "-DSUNSHINE_ENABLE_WAYLAND=$SUNSHINE_ENABLE_WAYLAND" "-DSUNSHINE_ENABLE_X11=$SUNSHINE_ENABLE_X11" "-DSUNSHINE_ENABLE_DRM=$SUNSHINE_ENABLE_DRM" "-DSUNSHINE_ENABLE_CUDA=$SUNSHINE_ENABLE_CUDA" "../" -DCMAKE_INSTALL_PREFIX=/usr | ||
make -j ${nproc} DESTDIR=AppDir | ||
- name: Package AppImage | ||
# https://docs.appimage.org/packaging-guide/index.html | ||
run: | | ||
mkdir -p appimage_temp && cd appimage_temp | ||
DESKTOP_FILE="${DESKTOP_FILE:-sunshine.desktop}" | ||
ICON_FILE="${ICON_FILE:-sunshine.png}" | ||
CONFIG_DIR="${CONFIG_DIR:-sunshine/sunshine.AppImage.config/}" | ||
HOME_DIR="${HOME_DIR:-sunshine/sunshine.AppImage.home/}" | ||
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage && chmod +x linuxdeploy-x86_64.AppImage | ||
./linuxdeploy-x86_64.AppImage --appdir ../AppDir -e ../appimage-build/sunshine -i "../$ICON_FILE" -d "../$DESKTOP_FILE" --output appimage | ||
mv sunshine*.AppImage sunshine.AppImage | ||
mkdir sunshine && mv sunshine.AppImage sunshine/ | ||
./sunshine/sunshine.AppImage --appimage-portable-config | ||
./sunshine/sunshine.AppImage --appimage-portable-home | ||
cp -r ../assets/* "$CONFIG_DIR" | ||
rm -f "$CONFIG_DIR"/apps_windows.json | ||
mkdir -p ./"$HOME_DIR"/.config/"$CONFIG_DIR" | ||
cp ./"$CONFIG_DIR"/apps_linux.json ./"$HOME_DIR"/.config/"$CONFIG_DIR" | ||
zip -r ./sunshine_linux.zip ./sunshine/* | ||
mv sunshine_linux.zip ../artifacts/ | ||
- name: Verify AppImage | ||
run: | | ||
cd appimage_temp | ||
wget https://github.com/TheAssassin/appimagelint/releases/download/continuous/appimagelint-x86_64.AppImage && chmod +x appimagelint-x86_64.AppImage && ./appimagelint-x86_64.AppImage ./sunshine/sunshine.AppImage | ||
- name: Upload Artifacts | ||
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: sunshine-AppImage | ||
path: artifacts/ | ||
- name: Create Release | ||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | ||
uses: SunshineStream/actions/create_release@v0 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
next_version: ${{ needs.check_changelog.outputs.next_version }} | ||
last_version: ${{ needs.check_changelog.outputs.last_version }} | ||
release_body: ${{ needs.check_changelog.outputs.release_body }} | ||
|
||
|
||
build_linux: | ||
name: Linux | ||
runs-on: ubuntu-20.04 | ||
needs: check_changelog | ||
strategy: | ||
fail-fast: true # false to test all, true to fail entire job if any fail | ||
matrix: | ||
distro: [ debian, ubuntu_20_04, ubuntu_21_04, ubuntu_21_10 ] # removed ubuntu_18_04 for now | ||
package: [ -p ] | ||
include: # don't package these | ||
- distro: fedora_33 | ||
package: '' | ||
- distro: fedora_35 | ||
package: '' | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Setup Container | ||
run: | | ||
mkdir -p artifacts | ||
cd scripts | ||
sudo ./build-container.sh -c build -f Dockerfile-${{ matrix.distro }} -n sunshine-${{ matrix.distro }} | ||
- name: Build Linux | ||
run: | | ||
cd scripts | ||
sudo ./build-sunshine.sh ${{ matrix.package }} -u -n sunshine-${{ matrix.distro }} -s .. | ||
- name: Package Linux | ||
if: ${{ matrix.package == '-p' }} | ||
run: | | ||
cd scripts | ||
sudo mv ./sunshine-${{ matrix.distro }}-build/sunshine-${{ matrix.distro }}.deb ../artifacts/ | ||
- name: Upload Artifacts | ||
if: ${{ matrix.package == '-p' && ( github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' ) }} | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: sunshine-${{ matrix.distro }} | ||
path: artifacts/ | ||
- name: Create Release | ||
if: ${{ matrix.package == '-p' && github.event_name == 'push' && github.ref == 'refs/heads/master' }} | ||
uses: SunshineStream/actions/create_release@v0 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
next_version: ${{ needs.check_changelog.outputs.next_version }} | ||
last_version: ${{ needs.check_changelog.outputs.last_version }} | ||
release_body: ${{ needs.check_changelog.outputs.release_body }} | ||
|
||
build_win: | ||
name: Windows | ||
runs-on: windows-2019 | ||
needs: check_changelog | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
- name: MSYS2 Setup | ||
uses: msys2/setup-msys2@v2 | ||
with: | ||
update: true | ||
install: >- | ||
base-devel | ||
git | ||
mingw-w64-x86_64-binutils | ||
mingw-w64-x86_64-openssl | ||
mingw-w64-x86_64-cmake | ||
mingw-w64-x86_64-toolchain | ||
mingw-w64-x86_64-opus | ||
mingw-w64-x86_64-x265 | ||
mingw-w64-x86_64-boost | ||
git | ||
yasm | ||
nasm | ||
diffutils | ||
make | ||
- name: Build Windows | ||
shell: msys2 {0} | ||
run: | | ||
mkdir sunshine-windows-build && cd sunshine-windows-build | ||
cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -G "MinGW Makefiles" .. | ||
mingw32-make -j2 | ||
- name: Package Windows | ||
run: | | ||
cd sunshine-windows-build | ||
del ..\assets\apps_linux.json | ||
7z a Sunshine-Windows.zip ..\assets | ||
7z a Sunshine-Windows.zip sunshine.exe | ||
7z a Sunshine-Windows.zip tools\dxgi-info.exe | ||
7z a Sunshine-Windows.zip tools\audio-info.exe | ||
7z a Sunshine-Windows.zip tools\sunshinesvc.exe | ||
7z a Sunshine-Windows.zip ..\tools\install-service.bat | ||
7z a Sunshine-Windows.zip ..\tools\uninstall-service.bat | ||
cd .. | ||
mkdir artifacts | ||
move "sunshine-windows-build\Sunshine-Windows.zip" "artifacts" | ||
- name: Upload Artifacts | ||
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: sunshine-${{ runner.os }} | ||
path: artifacts/ | ||
- name: Create Release | ||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | ||
uses: SunshineStream/actions/create_release@v0 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
next_version: ${{ needs.check_changelog.outputs.next_version }} | ||
last_version: ${{ needs.check_changelog.outputs.last_version }} | ||
release_body: ${{ needs.check_changelog.outputs.release_body }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
# Changelog | ||
|
||
## [v0.11.1] - 2020-10-04 | ||
### Changed | ||
- (Linux) Fix search path for config file and assets | ||
|
||
## [v0.11.0] - 2020-10-04 | ||
### Added | ||
- (Linux) Added support for wlroots based compositors on Wayland. | ||
- (Windows) Added an icon for the executable | ||
### Changed | ||
- Fixed a bug causing segfault when connecting multiple controllers. | ||
- (Linux) Improved NVENC, it now offloads converting images from RGB to NV12 | ||
- (Linux) Fixed a bug causes stuttering | ||
|
||
## [v0.10.1] - 2020-08-21 | ||
### Changed | ||
- (Linux) Re-enabled KMS | ||
|
||
## [v0.10.0] - 2020-08-20 | ||
### Added | ||
- Added support for Rumble with gamepads. | ||
- Added support for keyboard shortcuts <--- See the README for details. | ||
- (Windows) A very basic script has been added in Sunshine-Windows\tools <-- This will start Sunshine at boot with the highest privileges which is needed to display the login prompt. | ||
### Changed | ||
- Some cosmetic changes to the WebUI. | ||
- 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 | ||
- (Linux) VAAPI hardware encoding now works on Intel i7-6700 at least. <-- For the best experience, using ffmpeg version 4.3 or higher is recommended. | ||
- (Windows) Installing from debian package shouldn't overwrite your configuration files anymore. <-- It's recommended that you back up `/etc/sunshine/` before testing this. | ||
|
||
## [v0.9.0] - 2020-07-11 | ||
### Added | ||
- Added audio encryption | ||
- (Linux) Added basic NVENC support on Linux | ||
- (Windows) The Windows version can now capture the lock screen and the UAC prompt as long as it's run through `PsExec.exe` https://docs.microsoft.com/en-us/sysinternals/downloads/psexec | ||
### Changed | ||
- 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 | ||
- (Linux) sunshine.service will be installed automatically. | ||
|
||
## [v0.8.0] - 2020-06-30 | ||
### Added | ||
- Added mDNS support: Moonlight will automatically find Sunshine. | ||
- Added UPnP support. It's off by default. | ||
|
||
## [v0.7.7] - 2020-06-24 | ||
### Added | ||
- (Linux) Added installation package for Debian | ||
### Changed | ||
- Fixed incorrect scaling for absolute mouse coordinates when using multiple monitors. | ||
- Fixed incorrect colors when scaling for software encoder | ||
|
||
## [v0.7.1] - 2020-06-18 | ||
### Changed | ||
- (Linux) Fixed an issue where it was impossible to start sunshine on ubuntu 20.04 | ||
|
||
## [v0.7.0] - 2020-06-16 | ||
### Added | ||
- Added a Web Manager. Accessible through: https://localhost:47990 or https://<ip of your pc>:47990 | ||
- (Linux) Added hardware encoding support for AMD on Linux | ||
### Changed | ||
- (Linux) Moved certificates and saved pairings generated during runtime to .config/sunshine on Linux | ||
|
||
## [v0.6.0] - 2020-05-26 | ||
### Added | ||
- Added support for surround audio | ||
### Changed | ||
- Maintain aspect ratio when scaling video | ||
- Fix issue where Sunshine is forced to drop frames when they are too large | ||
|
||
## [v0.5.0] - 2020-05-13 | ||
### Added | ||
- Added support for absolute mouse coordinates | ||
- (Linux) Added support for streaming specific monitor on Linux | ||
- (Windows) Added support for AMF on Windows | ||
|
||
## [v0.4.0] - 2020-05-03 | ||
### Changed | ||
- prep-cmd is now optional in apps.json | ||
- Fixed bug causing video artifacts | ||
- Fixed bug preventing Moonlight from closing app on exit | ||
- Fixed bug causing preventing keyboard keys from repeating on latest version of Moonlight | ||
- Fixed bug causing segfault when another session of sunshine was already running | ||
- Fixed bug causing crash when monitor has resolution 1366x768 | ||
|
||
## [v0.3.1] - 2020-04-24 | ||
### Changed | ||
- Fix a memory leak. | ||
|
||
## [v0.3.0] - 2020-04-23 | ||
### Changed | ||
- Hardware acceleration on NVidia GPU's for Video encoding on Windows | ||
|
||
## [v0.2.0] - 2020-03-21 | ||
### Changed | ||
- Multicasting is now supported: You can set the maximum simultaneous connections with the configurable option: channels | ||
- Configuration variables can be overwritten on the command line: "name=value" --> it can be useful to set min_log_level=debug without modifying the configuration file | ||
- Switches to make testing the pairing mechanism more convenient has been added, see "sunshine --help" for details | ||
|
||
## [v0.1.1] - 2020-01-30 | ||
### Added | ||
- (Linux) Added deb package and service for Linux | ||
|
||
## [v0.1.0] - 2020-01-27 | ||
### Added | ||
- The first official release for Sunshine! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.