Sunshine prebuilts (#510)
This commit is contained in:
parent
a7b19f48fe
commit
e8aa7499af
14 changed files with 105 additions and 134 deletions
13
.github/workflows/CI.yml
vendored
13
.github/workflows/CI.yml
vendored
|
|
@ -265,8 +265,8 @@ jobs:
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
cmake \
|
cmake \
|
||||||
qemu-user-static \
|
flatpak \
|
||||||
flatpak
|
qemu-user-static
|
||||||
sudo su $(whoami) -c "flatpak --user remote-add --if-not-exists flathub \
|
sudo su $(whoami) -c "flatpak --user remote-add --if-not-exists flathub \
|
||||||
https://flathub.org/repo/flathub.flatpakrepo"
|
https://flathub.org/repo/flathub.flatpakrepo"
|
||||||
sudo su $(whoami) -c "flatpak --user install -y flathub \
|
sudo su $(whoami) -c "flatpak --user install -y flathub \
|
||||||
|
|
@ -372,8 +372,6 @@ jobs:
|
||||||
|
|
||||||
- name: Setup Dependencies Linux
|
- name: Setup Dependencies Linux
|
||||||
run: |
|
run: |
|
||||||
sudo add-apt-repository ppa:savoury1/ffmpeg4 -y
|
|
||||||
# sudo add-apt-repository ppa:savoury1/boost-defaults-1.71 -y
|
|
||||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||||
|
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
|
|
@ -390,9 +388,12 @@ jobs:
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libdrm-dev \
|
libdrm-dev \
|
||||||
libevdev-dev \
|
libevdev-dev \
|
||||||
libpulse-dev \
|
libnuma-dev \
|
||||||
libopus-dev \
|
libopus-dev \
|
||||||
|
libpulse-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
libwayland-dev \
|
libwayland-dev \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxcb-shm0-dev \
|
libxcb-shm0-dev \
|
||||||
|
|
@ -557,7 +558,7 @@ jobs:
|
||||||
- name: Setup Dependencies MacOS
|
- name: Setup Dependencies MacOS
|
||||||
run: |
|
run: |
|
||||||
# install dependencies using homebrew
|
# install dependencies using homebrew
|
||||||
brew install boost cmake curl ffmpeg node opus
|
brew install boost cmake curl node opus
|
||||||
|
|
||||||
# fix openssl header not found
|
# fix openssl header not found
|
||||||
ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
|
ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
|
||||||
|
|
|
||||||
16
.gitmodules
vendored
16
.gitmodules
vendored
|
|
@ -16,3 +16,19 @@
|
||||||
[submodule "third-party/TPCircularBuffer"]
|
[submodule "third-party/TPCircularBuffer"]
|
||||||
path = third-party/TPCircularBuffer
|
path = third-party/TPCircularBuffer
|
||||||
url = https://github.com/michaeltyson/TPCircularBuffer
|
url = https://github.com/michaeltyson/TPCircularBuffer
|
||||||
|
[submodule "ffmpeg-windows-x86_64"]
|
||||||
|
path = third-party/ffmpeg-windows-x86_64
|
||||||
|
url = https://github.com/LizardByte/build-deps
|
||||||
|
branch = ffmpeg-windows-x86_64
|
||||||
|
[submodule "ffmpeg-macos-x86_64"]
|
||||||
|
path = third-party/ffmpeg-macos-x86_64
|
||||||
|
url = https://github.com/LizardByte/build-deps
|
||||||
|
branch = ffmpeg-macos-x86_64
|
||||||
|
[submodule "ffmpeg-linux-x86_64"]
|
||||||
|
path = third-party/ffmpeg-linux-x86_64
|
||||||
|
url = https://github.com/LizardByte/build-deps
|
||||||
|
branch = ffmpeg-linux-x86_64
|
||||||
|
[submodule "ffmpeg-linux-aarch64"]
|
||||||
|
path = third-party/ffmpeg-linux-aarch64
|
||||||
|
url = https://github.com/LizardByte/build-deps
|
||||||
|
branch = ffmpeg-linux-aarch64
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ build:
|
||||||
## apt packages required packages to run cmake on sunshine, note that additional packages are required
|
## apt packages required packages to run cmake on sunshine, note that additional packages are required
|
||||||
# apt_packages:
|
# apt_packages:
|
||||||
# - cmake
|
# - cmake
|
||||||
# - ffmpeg
|
|
||||||
# - libboost-filesystem-dev
|
# - libboost-filesystem-dev
|
||||||
# - libboost-log-dev
|
# - libboost-log-dev
|
||||||
# - libboost-thread-dev
|
# - libboost-thread-dev
|
||||||
|
|
|
||||||
|
|
@ -75,24 +75,12 @@ list(APPEND SUNSHINE_COMPILE_OPTIONS -Wall -Wno-missing-braces -Wno-maybe-uninit
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
enable_language(RC)
|
enable_language(RC)
|
||||||
set(CMAKE_RC_COMPILER windres)
|
set(CMAKE_RC_COMPILER windres)
|
||||||
file(
|
|
||||||
DOWNLOAD "https://github.com/TheElixZammuto/sunshine-prebuilt/releases/download/1.0.0/pre-compiled.zip" "${CMAKE_CURRENT_BINARY_DIR}/pre-compiled.zip"
|
|
||||||
TIMEOUT 60
|
|
||||||
EXPECTED_HASH SHA256=5d59986bd7f619eaaf82b2dd56b5127b747c9cbe8db61e3b898ff6b485298ed6)
|
|
||||||
|
|
||||||
file(ARCHIVE_EXTRACT
|
|
||||||
INPUT "${CMAKE_CURRENT_BINARY_DIR}/pre-compiled.zip"
|
|
||||||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/pre-compiled)
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CURL_STATIC_LDFLAGS} ${CURL_STATIC_CFLAGS}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CURL_STATIC_LDFLAGS} ${CURL_STATIC_CFLAGS}")
|
||||||
|
|
||||||
# Restrict Boost WinAPI version to work around 1.80 linker errors
|
# Restrict Boost WinAPI version to work around 1.80 linker errors
|
||||||
ADD_DEFINITIONS(-DBOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WIN7)
|
ADD_DEFINITIONS(-DBOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WIN7)
|
||||||
|
|
||||||
if(NOT DEFINED SUNSHINE_PREPARED_BINARIES)
|
|
||||||
set(SUNSHINE_PREPARED_BINARIES "${CMAKE_CURRENT_BINARY_DIR}/pre-compiled/windows")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_compile_definitions(SUNSHINE_PLATFORM="windows")
|
add_compile_definitions(SUNSHINE_PLATFORM="windows")
|
||||||
add_subdirectory(tools) # This is temporary, only tools for Windows are needed, for now
|
add_subdirectory(tools) # This is temporary, only tools for Windows are needed, for now
|
||||||
|
|
||||||
|
|
@ -123,22 +111,6 @@ if(WIN32)
|
||||||
libssl.a
|
libssl.a
|
||||||
libcrypto.a)
|
libcrypto.a)
|
||||||
|
|
||||||
set(FFMPEG_INCLUDE_DIRS
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/include)
|
|
||||||
set(FFMPEG_LIBRARIES
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libavcodec.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libavdevice.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libavfilter.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libavformat.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libavutil.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libpostproc.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libswresample.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libswscale.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libx264.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libx265.a
|
|
||||||
${SUNSHINE_PREPARED_BINARIES}/lib/libhdr10plus.a
|
|
||||||
z lzma bcrypt libiconv.a)
|
|
||||||
|
|
||||||
list(PREPEND PLATFORM_LIBRARIES
|
list(PREPEND PLATFORM_LIBRARIES
|
||||||
libstdc++.a
|
libstdc++.a
|
||||||
libwinpthread.a
|
libwinpthread.a
|
||||||
|
|
@ -163,17 +135,18 @@ elseif(APPLE)
|
||||||
link_directories(/usr/local/lib)
|
link_directories(/usr/local/lib)
|
||||||
ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)
|
ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)
|
||||||
|
|
||||||
find_package(FFmpeg REQUIRED)
|
|
||||||
FIND_LIBRARY(APP_SERVICES_LIBRARY ApplicationServices )
|
FIND_LIBRARY(APP_SERVICES_LIBRARY ApplicationServices )
|
||||||
FIND_LIBRARY(AV_FOUNDATION_LIBRARY AVFoundation )
|
FIND_LIBRARY(AV_FOUNDATION_LIBRARY AVFoundation )
|
||||||
FIND_LIBRARY(CORE_MEDIA_LIBRARY CoreMedia )
|
FIND_LIBRARY(CORE_MEDIA_LIBRARY CoreMedia )
|
||||||
FIND_LIBRARY(CORE_VIDEO_LIBRARY CoreVideo )
|
FIND_LIBRARY(CORE_VIDEO_LIBRARY CoreVideo )
|
||||||
|
FIND_LIBRARY(VIDEO_TOOLBOX_LIBRARY VideoToolbox )
|
||||||
FIND_LIBRARY(FOUNDATION_LIBRARY Foundation )
|
FIND_LIBRARY(FOUNDATION_LIBRARY Foundation )
|
||||||
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
|
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
|
||||||
${APP_SERVICES_LIBRARY}
|
${APP_SERVICES_LIBRARY}
|
||||||
${AV_FOUNDATION_LIBRARY}
|
${AV_FOUNDATION_LIBRARY}
|
||||||
${CORE_MEDIA_LIBRARY}
|
${CORE_MEDIA_LIBRARY}
|
||||||
${CORE_VIDEO_LIBRARY}
|
${CORE_VIDEO_LIBRARY}
|
||||||
|
${VIDEO_TOOLBOX_LIBRARY}
|
||||||
${FOUNDATION_LIBRARY})
|
${FOUNDATION_LIBRARY})
|
||||||
|
|
||||||
set(PLATFORM_INCLUDE_DIRS
|
set(PLATFORM_INCLUDE_DIRS
|
||||||
|
|
@ -239,8 +212,6 @@ else()
|
||||||
set(WAYLAND_FOUND OFF)
|
set(WAYLAND_FOUND OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(FFMPEG REQUIRED)
|
|
||||||
|
|
||||||
if(X11_FOUND)
|
if(X11_FOUND)
|
||||||
add_compile_definitions(SUNSHINE_BUILD_X11)
|
add_compile_definitions(SUNSHINE_BUILD_X11)
|
||||||
include_directories(${X11_INCLUDE_DIR})
|
include_directories(${X11_INCLUDE_DIR})
|
||||||
|
|
@ -333,6 +304,7 @@ else()
|
||||||
list(APPEND PLATFORM_LIBRARIES
|
list(APPEND PLATFORM_LIBRARIES
|
||||||
dl
|
dl
|
||||||
evdev
|
evdev
|
||||||
|
numa
|
||||||
pulse
|
pulse
|
||||||
pulse-simple
|
pulse-simple
|
||||||
)
|
)
|
||||||
|
|
@ -400,6 +372,35 @@ set(SUNSHINE_TARGET_FILES
|
||||||
|
|
||||||
set_source_files_properties(src/upnp.cpp PROPERTIES COMPILE_FLAGS -Wno-pedantic)
|
set_source_files_properties(src/upnp.cpp PROPERTIES COMPILE_FLAGS -Wno-pedantic)
|
||||||
|
|
||||||
|
# Pre-compiled binaries
|
||||||
|
if(WIN32)
|
||||||
|
set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-windows-x86_64")
|
||||||
|
set(FFMPEG_PLATFORM_LIBRARIES mfplat ole32 strmiids mfuuid)
|
||||||
|
elseif(APPLE)
|
||||||
|
set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-macos-x86_64")
|
||||||
|
else()
|
||||||
|
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
|
||||||
|
set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-aarch64")
|
||||||
|
else()
|
||||||
|
set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-x86_64")
|
||||||
|
endif()
|
||||||
|
set(FFMPEG_PLATFORM_LIBRARIES va va-drm va-x11 vdpau X11)
|
||||||
|
endif()
|
||||||
|
set(FFMPEG_INCLUDE_DIRS
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/include)
|
||||||
|
if(EXISTS ${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a)
|
||||||
|
set(HDR10_PLUS_LIBRARY
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a)
|
||||||
|
endif()
|
||||||
|
set(FFMPEG_LIBRARIES
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/lib/libavcodec.a
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/lib/libavutil.a
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/lib/libswscale.a
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/lib/libx264.a
|
||||||
|
${FFMPEG_PREPARED_BINARIES}/lib/libx265.a
|
||||||
|
${HDR10_PLUS_LIBRARY}
|
||||||
|
${FFMPEG_PLATFORM_LIBRARIES})
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/third-party
|
${CMAKE_CURRENT_SOURCE_DIR}/third-party
|
||||||
|
|
@ -654,8 +655,8 @@ elseif(UNIX)
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
||||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "openssl, libavdevice58, libboost-thread1.67.0 | libboost-thread1.71.0 | libboost-thread1.74.0, libboost-filesystem1.67.0 | libboost-filesystem1.71.0 | libboost-filesystem1.74.0, libboost-log1.67.0 | libboost-log1.71.0 | libboost-log1.74.0, libcurl4, libpulse0, libopus0, libxcb-shm0, libxcb-xfixes0, libxtst6, libevdev2, libdrm2, libcap2")
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "openssl, libboost-thread1.67.0 | libboost-thread1.71.0 | libboost-thread1.74.0, libboost-filesystem1.67.0 | libboost-filesystem1.71.0 | libboost-filesystem1.74.0, libboost-log1.67.0 | libboost-log1.71.0 | libboost-log1.74.0, libcurl4, libpulse0, libopus0, libxcb-shm0, libxcb-xfixes0, libxtst6, libevdev2, libdrm2, libcap2")
|
||||||
set(CPACK_RPM_PACKAGE_REQUIRES "openssl >= 1.1, libavdevice >= 4.3, boost-thread >= 1.67.0, boost-filesystem >= 1.67.0, boost-log >= 1.67.0, libcurl >= 7.0, pulseaudio-libs >= 10.0, libopusenc >= 0.2.1, libxcb >= 1.13, libXtst >= 1.2.3, libevdev >= 1.5.6, libdrm >= 2.4.97, libcap >= 2.22")
|
set(CPACK_RPM_PACKAGE_REQUIRES "openssl >= 1.1, boost-thread >= 1.67.0, boost-filesystem >= 1.67.0, boost-log >= 1.67.0, libcurl >= 7.0, pulseaudio-libs >= 10.0, libopusenc >= 0.2.1, libxcb >= 1.13, libXtst >= 1.2.3, libevdev >= 1.5.6, libdrm >= 2.4.97, libcap >= 2.22")
|
||||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) # This should automatically figure out dependencies, doesn't work with the current config
|
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) # This should automatically figure out dependencies, doesn't work with the current config
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,12 @@ RUN apt-get update -y \
|
||||||
libcurl4-openssl-dev=7.81.0* \
|
libcurl4-openssl-dev=7.81.0* \
|
||||||
libdrm-dev=2.4.110* \
|
libdrm-dev=2.4.110* \
|
||||||
libevdev-dev=1.12.1* \
|
libevdev-dev=1.12.1* \
|
||||||
libpulse-dev=1:15.99.1* \
|
libnuma-dev=2.0.14* \
|
||||||
libopus-dev=1.3.1* \
|
libopus-dev=1.3.1* \
|
||||||
|
libpulse-dev=1:15.99.1* \
|
||||||
libssl-dev=3.0.2* \
|
libssl-dev=3.0.2* \
|
||||||
|
libva-dev=2.14.0* \
|
||||||
|
libvdpau-dev=1.4* \
|
||||||
libwayland-dev=1.20.0* \
|
libwayland-dev=1.20.0* \
|
||||||
libx11-dev=2:1.7.5* \
|
libx11-dev=2:1.7.5* \
|
||||||
libxcb-shm0-dev=1.14* \
|
libxcb-shm0-dev=1.14* \
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,12 @@ Install Requirements
|
||||||
libcap-dev \ # KMS
|
libcap-dev \ # KMS
|
||||||
libdrm-dev \ # KMS
|
libdrm-dev \ # KMS
|
||||||
libevdev-dev \
|
libevdev-dev \
|
||||||
libpulse-dev \
|
libnuma-dev \
|
||||||
libopus-dev \
|
libopus-dev \
|
||||||
|
libpulse-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
libwayland-dev \ # Wayland
|
libwayland-dev \ # Wayland
|
||||||
libx11-dev \ # X11
|
libx11-dev \ # X11
|
||||||
libxcb-shm0-dev \ # X11
|
libxcb-shm0-dev \ # X11
|
||||||
|
|
@ -35,7 +38,7 @@ Install Requirements
|
||||||
nodejs \
|
nodejs \
|
||||||
npm \
|
npm \
|
||||||
nvidia-cuda-dev \ # Cuda, NvFBC
|
nvidia-cuda-dev \ # Cuda, NvFBC
|
||||||
nvidia-cuda-toolkit \ # Cuda, NvFBC
|
nvidia-cuda-toolkit # Cuda, NvFBC
|
||||||
|
|
||||||
Fedora 35
|
Fedora 35
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
@ -55,9 +58,10 @@ Install Requirements
|
||||||
boost-devel \
|
boost-devel \
|
||||||
boost-static.x86_64 \
|
boost-static.x86_64 \
|
||||||
cmake \
|
cmake \
|
||||||
ffmpeg-devel \
|
|
||||||
gcc-c++ \
|
gcc-c++ \
|
||||||
libevdev-devel \
|
libevdev-devel \
|
||||||
|
libva-devel \
|
||||||
|
libvdpau-devel \
|
||||||
libX11-devel \ # X11
|
libX11-devel \ # X11
|
||||||
libxcb-devel \ # X11
|
libxcb-devel \ # X11
|
||||||
libXcursor-devel \ # X11
|
libXcursor-devel \ # X11
|
||||||
|
|
@ -69,10 +73,11 @@ Install Requirements
|
||||||
mesa-libGL-devel \
|
mesa-libGL-devel \
|
||||||
nodejs \
|
nodejs \
|
||||||
npm \
|
npm \
|
||||||
|
numactl-devel \
|
||||||
openssl-devel \
|
openssl-devel \
|
||||||
opus-devel \
|
opus-devel \
|
||||||
pulseaudio-libs-devel \
|
pulseaudio-libs-devel \
|
||||||
rpm-build \ # if you want to build an RPM binary package
|
rpm-build # if you want to build an RPM binary package
|
||||||
|
|
||||||
Ubuntu 18.04
|
Ubuntu 18.04
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
|
@ -83,10 +88,7 @@ Install Repositories
|
||||||
|
|
||||||
sudo apt update && sudo apt install \
|
sudo apt update && sudo apt install \
|
||||||
software-properties-common \
|
software-properties-common \
|
||||||
&& add-apt-repository ppa:savoury1/graphics && \
|
&& add-apt-repository ppa:savoury1/boost-defaults-1.71 && \
|
||||||
add-apt-repository ppa:savoury1/multimedia && \
|
|
||||||
add-apt-repository ppa:savoury1/ffmpeg4 && \
|
|
||||||
add-apt-repository ppa:savoury1/boost-defaults-1.71 && \
|
|
||||||
add-apt-repository ppa:ubuntu-toolchain-r/test && \
|
add-apt-repository ppa:ubuntu-toolchain-r/test && \
|
||||||
|
|
||||||
Install Requirements
|
Install Requirements
|
||||||
|
|
@ -105,9 +107,12 @@ Install Requirements
|
||||||
libcap-dev \ # KMS
|
libcap-dev \ # KMS
|
||||||
libdrm-dev \ # KMS
|
libdrm-dev \ # KMS
|
||||||
libevdev-dev \
|
libevdev-dev \
|
||||||
libpulse-dev \
|
libnuma-dev \
|
||||||
libopus-dev \
|
libopus-dev \
|
||||||
|
libpulse-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
libwayland-dev \ # Wayland
|
libwayland-dev \ # Wayland
|
||||||
libx11-dev \ # X11
|
libx11-dev \ # X11
|
||||||
libxcb-shm0-dev \ # X11
|
libxcb-shm0-dev \ # X11
|
||||||
|
|
@ -118,7 +123,7 @@ Install Requirements
|
||||||
libxtst-dev \ # X11
|
libxtst-dev \ # X11
|
||||||
nodejs \
|
nodejs \
|
||||||
npm \
|
npm \
|
||||||
wget \
|
wget
|
||||||
|
|
||||||
Update gcc alias
|
Update gcc alias
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
@ -158,9 +163,12 @@ Install Requirements
|
||||||
libcap-dev \ # KMS
|
libcap-dev \ # KMS
|
||||||
libdrm-dev \ # KMS
|
libdrm-dev \ # KMS
|
||||||
libevdev-dev \
|
libevdev-dev \
|
||||||
libpulse-dev \
|
libnuma-dev \
|
||||||
libopus-dev \
|
libopus-dev \
|
||||||
|
libpulse-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
libwayland-dev \ # Wayland
|
libwayland-dev \ # Wayland
|
||||||
libx11-dev \ # X11
|
libx11-dev \ # X11
|
||||||
libxcb-shm0-dev \ # X11
|
libxcb-shm0-dev \ # X11
|
||||||
|
|
@ -171,7 +179,7 @@ Install Requirements
|
||||||
libxtst-dev \ # X11
|
libxtst-dev \ # X11
|
||||||
nodejs \
|
nodejs \
|
||||||
npm \
|
npm \
|
||||||
wget \
|
wget
|
||||||
|
|
||||||
Update gcc alias
|
Update gcc alias
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
@ -201,8 +209,9 @@ Install Requirements
|
||||||
libcap-dev \ # KMS
|
libcap-dev \ # KMS
|
||||||
libdrm-dev \ # KMS
|
libdrm-dev \ # KMS
|
||||||
libevdev-dev \
|
libevdev-dev \
|
||||||
libpulse-dev \
|
libnuma-dev \
|
||||||
libopus-dev \
|
libopus-dev \
|
||||||
|
libpulse-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libwayland-dev \ # Wayland
|
libwayland-dev \ # Wayland
|
||||||
libx11-dev \ # X11
|
libx11-dev \ # X11
|
||||||
|
|
@ -215,7 +224,7 @@ Install Requirements
|
||||||
nodejs \
|
nodejs \
|
||||||
npm \
|
npm \
|
||||||
nvidia-cuda-dev \ # Cuda, NvFBC
|
nvidia-cuda-dev \ # Cuda, NvFBC
|
||||||
nvidia-cuda-toolkit \ # Cuda, NvFBC
|
nvidia-cuda-toolkit # Cuda, NvFBC
|
||||||
|
|
||||||
npm dependencies
|
npm dependencies
|
||||||
----------------
|
----------------
|
||||||
|
|
|
||||||
|
|
@ -12,14 +12,14 @@ MacPorts
|
||||||
Install Requirements
|
Install Requirements
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo port install cmake boost ffmpeg libopus npm9
|
sudo port install boost cmake libopus npm9
|
||||||
|
|
||||||
Homebrew
|
Homebrew
|
||||||
""""""""
|
""""""""
|
||||||
Install Requirements
|
Install Requirements
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
brew install boost cmake ffmpeg node opus
|
brew install boost cmake node opus
|
||||||
# if there are issues with an SSL header that is not found:
|
# if there are issues with an SSL header that is not found:
|
||||||
cd /usr/local/include
|
cd /usr/local/include
|
||||||
ln -s ../opt/openssl/include/openssl .
|
ln -s ../opt/openssl/include/openssl .
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ arch=('x86_64' 'i686')
|
||||||
url=@PROJECT_HOMEPAGE_URL@
|
url=@PROJECT_HOMEPAGE_URL@
|
||||||
license=('GPL3')
|
license=('GPL3')
|
||||||
|
|
||||||
depends=('avahi' 'boost-libs' 'curl' 'ffmpeg4.4' 'libevdev' 'libpulse' 'libx11' 'libxcb' 'libxfixes' 'libxrandr' 'libxtst' 'openssl' 'opus' 'udev')
|
depends=('avahi' 'boost-libs' 'curl' 'libevdev' 'libpulse' 'libva' 'libvdpau' 'libx11' 'libxcb' 'libxfixes' 'libxrandr' 'libxtst' 'numactl' 'openssl' 'opus' 'udev')
|
||||||
makedepends=('boost' 'cmake' 'git' 'make' 'nodejs' 'npm')
|
makedepends=('boost' 'cmake' 'git' 'make' 'nodejs' 'npm')
|
||||||
optdepends=('cuda' 'libcap' 'libdrm')
|
optdepends=('cuda' 'libcap' 'libdrm')
|
||||||
|
|
||||||
|
|
@ -38,17 +38,7 @@ build() {
|
||||||
-Wno-dev \
|
-Wno-dev \
|
||||||
-D CMAKE_INSTALL_PREFIX=/usr \
|
-D CMAKE_INSTALL_PREFIX=/usr \
|
||||||
-D SUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
|
-D SUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
|
||||||
-D SUNSHINE_ASSETS_DIR="share/sunshine" \
|
-D SUNSHINE_ASSETS_DIR="share/sunshine"
|
||||||
-D LIBAVCODEC_INCLUDE_DIR=/usr/include/ffmpeg4.4 \
|
|
||||||
-D LIBAVCODEC_LIBRARIES=/usr/lib/ffmpeg4.4/libavcodec.so \
|
|
||||||
-D LIBAVDEVICE_INCLUDE_DIR=/usr/include/ffmpeg4.4 \
|
|
||||||
-D LIBAVDEVICE_LIBRARIES=/usr/lib/ffmpeg4.4/libavdevice.so \
|
|
||||||
-D LIBAVFORMAT_INCLUDE_DIR=/usr/include/ffmpeg4.4 \
|
|
||||||
-D LIBAVFORMAT_LIBRARIES=/usr/lib/ffmpeg4.4/libavformat.so \
|
|
||||||
-D LIBAVUTIL_INCLUDE_DIR=/usr/include/ffmpeg4.4 \
|
|
||||||
-D LIBAVUTIL_LIBRARIES=/usr/lib/ffmpeg4.4/libavutil.so \
|
|
||||||
-D LIBSWSCALE_INCLUDE_DIR=/usr/include/ffmpeg4.4 \
|
|
||||||
-D LIBSWSCALE_LIBRARIES=/usr/lib/ffmpeg4.4/libswscale.so
|
|
||||||
|
|
||||||
make -C build
|
make -C build
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,69 +41,6 @@ modules:
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.74/boost1.74_1.74.0.orig.tar.xz
|
url: http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.74/boost1.74_1.74.0.orig.tar.xz
|
||||||
sha256: 2467be4af625b5ae4b3c93fc7af196a09eba39c11a7338cd9e8b356fa44d2f45
|
sha256: 2467be4af625b5ae4b3c93fc7af196a09eba39c11a7338cd9e8b356fa44d2f45
|
||||||
|
|
||||||
- name: ffmpeg
|
|
||||||
disabled: false
|
|
||||||
config-opts:
|
|
||||||
- --enable-gpl
|
|
||||||
- --disable-static
|
|
||||||
- --enable-shared
|
|
||||||
- --disable-doc
|
|
||||||
- --disable-programs
|
|
||||||
- --disable-decoders
|
|
||||||
- --disable-vdpau
|
|
||||||
- --disable-audiotoolbox
|
|
||||||
- --disable-videotoolbox
|
|
||||||
- --disable-vulkan
|
|
||||||
- --disable-sdl2
|
|
||||||
- --disable-filters
|
|
||||||
- --disable-avfilter
|
|
||||||
- --disable-postproc
|
|
||||||
- --disable-autodetect
|
|
||||||
- --enable-nvenc
|
|
||||||
- --enable-ffnvcodec
|
|
||||||
- --enable-vaapi
|
|
||||||
- --enable-libx264
|
|
||||||
- --enable-libx265
|
|
||||||
cleanup:
|
|
||||||
- /share
|
|
||||||
sources:
|
|
||||||
- type: archive
|
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/universe/f/ffmpeg/ffmpeg_5.1.1.orig.tar.xz
|
|
||||||
sha256: 95bf3ff8c496511e71e958fb249e663c8c9c3de583c5bebc0f5a9745abbc0435
|
|
||||||
modules:
|
|
||||||
- name: x264
|
|
||||||
config-opts:
|
|
||||||
- --disable-cli
|
|
||||||
- --enable-shared
|
|
||||||
sources:
|
|
||||||
- type: archive
|
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/universe/x/x264/x264_0.164.3095+gitbaee400.orig.tar.gz
|
|
||||||
sha256: 8b237e94b08c196a1da22f2f25875f10be4cff3648df4eeff21e00da8f683fc2
|
|
||||||
|
|
||||||
- name: x265
|
|
||||||
disabled: false
|
|
||||||
buildsystem: cmake-ninja
|
|
||||||
builddir: true
|
|
||||||
subdir: source
|
|
||||||
config-opts:
|
|
||||||
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
||||||
- -DENABLE_CLI=OFF
|
|
||||||
sources:
|
|
||||||
- type: archive
|
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/universe/x/x265/x265_3.5.orig.tar.gz
|
|
||||||
sha256: e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8
|
|
||||||
|
|
||||||
- name: nv-codec-headers
|
|
||||||
no-autogen: true
|
|
||||||
make-install-args:
|
|
||||||
- PREFIX=${FLATPAK_DEST}
|
|
||||||
cleanup:
|
|
||||||
- '*'
|
|
||||||
sources:
|
|
||||||
- type: archive
|
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/universe/n/nv-codec-headers/nv-codec-headers_11.1.5.1.orig.tar.gz
|
|
||||||
sha256: d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c
|
|
||||||
|
|
||||||
- name: avahi
|
- name: avahi
|
||||||
disabled: false
|
disabled: false
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|
@ -179,6 +116,17 @@ modules:
|
||||||
sha256: f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8
|
sha256: f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8
|
||||||
dest-filename: cuda.run
|
dest-filename: cuda.run
|
||||||
|
|
||||||
|
- name: numactl
|
||||||
|
buildsystem: autotools
|
||||||
|
make-args:
|
||||||
|
- install
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: http://archive.ubuntu.com/ubuntu/pool/main/n/numactl/numactl_2.0.14.orig.tar.gz
|
||||||
|
sha256: 1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035
|
||||||
|
cleanup:
|
||||||
|
- "/bin"
|
||||||
|
|
||||||
- name: sunshine
|
- name: sunshine
|
||||||
disabled: false
|
disabled: false
|
||||||
buildsystem: cmake
|
buildsystem: cmake
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,9 @@ post-fetch {
|
||||||
|
|
||||||
depends_lib port:avahi \
|
depends_lib port:avahi \
|
||||||
port:curl \
|
port:curl \
|
||||||
port:ffmpeg \
|
|
||||||
port:libopus \
|
port:libopus \
|
||||||
port:npm9
|
port:npm9 \
|
||||||
|
port:pkgconfig
|
||||||
|
|
||||||
boost.version 1.80
|
boost.version 1.80
|
||||||
|
|
||||||
|
|
|
||||||
1
third-party/ffmpeg-linux-aarch64
vendored
Submodule
1
third-party/ffmpeg-linux-aarch64
vendored
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 294e33f209caabba4004a7792bb6d67bc303eb30
|
||||||
1
third-party/ffmpeg-linux-x86_64
vendored
Submodule
1
third-party/ffmpeg-linux-x86_64
vendored
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 3994d18cd855f43e81cbcc9eb9f7d1880de29a8b
|
||||||
1
third-party/ffmpeg-macos-x86_64
vendored
Submodule
1
third-party/ffmpeg-macos-x86_64
vendored
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 5285b18e0470157ecd11476e4c6e96c5ea6d46a2
|
||||||
1
third-party/ffmpeg-windows-x86_64
vendored
Submodule
1
third-party/ffmpeg-windows-x86_64
vendored
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit a60c72bc8589011bb38be369a5765e13c60642c8
|
||||||
Loading…
Add table
Add a link
Reference in a new issue