Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(linux)!: add fedora 40 and remove fedora 38 #2525

Merged
Merged
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
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ System Requirements
"OS", "Windows: 10+ (Windows Server does not support virtual gamepads)"
"", "macOS: 12+"
"", "Linux/Debian: 11 (bullseye)"
"", "Linux/Fedora: 38+"
"", "Linux/Fedora: 39+"
"", "Linux/Ubuntu: 22.04+ (jammy)"
"Network", "Host: 5GHz, 802.11ac"
"", "Client: 5GHz, 802.11ac"
Expand Down
61 changes: 35 additions & 26 deletions docker/fedora-38.dockerfile → docker/fedora-40.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# platforms_pr: linux/amd64
# no-cache-filters: sunshine-base,artifacts,sunshine
ARG BASE=fedora
ARG TAG=38
ARG TAG=40
FROM ${BASE}:${TAG} AS sunshine-base

FROM sunshine-base as sunshine-build
Expand All @@ -30,11 +30,11 @@ set -e
dnf -y update
dnf -y group install "Development Tools"
dnf -y install \
boost-devel-1.78.0* \
cmake-3.27.* \
boost-devel-1.83.0* \
cmake-3.28.* \
doxygen \
gcc-13.2.* \
gcc-c++-13.2.* \
gcc-14.1.* \
gcc-c++-14.1.* \
git \
graphviz \
libappindicator-gtk3-devel \
Expand All @@ -60,7 +60,7 @@ dnf -y install \
openssl-devel \
opus-devel \
pulseaudio-libs-devel \
python3.10 \
python3.11 \
rpm-build \
wget \
which \
Expand All @@ -72,27 +72,35 @@ dnf clean all
rm -rf /var/cache/yum
_DEPS

# TODO: re-enable cuda once cuda supports gcc-14
## install cuda
WORKDIR /build/cuda
#WORKDIR /build/cuda
## versions: https://developer.nvidia.com/cuda-toolkit-archive
ENV CUDA_VERSION="12.4.0"
ENV CUDA_BUILD="550.54.14"
#ENV CUDA_VERSION="12.4.0"
#ENV CUDA_BUILD="550.54.14"
## hadolint ignore=SC3010
RUN <<_INSTALL_CUDA
#!/bin/bash
set -e
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
cuda_suffix=""
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
cuda_suffix="_sbsa"
fi
url="${cuda_prefix}${CUDA_VERSION}/local_installers/cuda_${CUDA_VERSION}_${CUDA_BUILD}_linux${cuda_suffix}.run"
echo "cuda url: ${url}"
wget "$url" --progress=bar:force:noscroll -q --show-progress -O ./cuda.run
chmod a+x ./cuda.run
./cuda.run --silent --toolkit --toolkitpath=/build/cuda --no-opengl-libs --no-man-page --no-drm
rm ./cuda.run
_INSTALL_CUDA
#RUN <<_INSTALL_CUDA
##!/bin/bash
#set -e
#cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
#cuda_suffix=""
#if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
# cuda_suffix="_sbsa"
#
# # patch headers https://bugs.launchpad.net/ubuntu/+source/mumax3/+bug/2032624
# sed -i 's/__Float32x4_t/int/g' /usr/include/bits/math-vector.h
# sed -i 's/__Float64x2_t/int/g' /usr/include/bits/math-vector.h
# sed -i 's/__SVFloat32_t/float/g' /usr/include/bits/math-vector.h
# sed -i 's/__SVFloat64_t/float/g' /usr/include/bits/math-vector.h
# sed -i 's/__SVBool_t/int/g' /usr/include/bits/math-vector.h
#fi
#url="${cuda_prefix}${CUDA_VERSION}/local_installers/cuda_${CUDA_VERSION}_${CUDA_BUILD}_linux${cuda_suffix}.run"
#echo "cuda url: ${url}"
#wget "$url" --progress=bar:force:noscroll -q --show-progress -O ./cuda.run
#chmod a+x ./cuda.run
#./cuda.run --silent --toolkit --toolkitpath=/build/cuda --no-opengl-libs --no-man-page --no-drm
#rm ./cuda.run
#_INSTALL_CUDA

# copy repository
WORKDIR /build/sunshine/
Expand All @@ -101,12 +109,13 @@ COPY --link .. .
# setup build directory
WORKDIR /build/sunshine/build

# TODO: re-add as first cmake argument: -DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
# TODO: enable cuda flag
# cmake and cpack
RUN <<_MAKE
#!/bin/bash
set -e
cmake \
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
-DBUILD_WERROR=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
Expand All @@ -115,7 +124,7 @@ cmake \
-DSUNSHINE_ENABLE_WAYLAND=ON \
-DSUNSHINE_ENABLE_X11=ON \
-DSUNSHINE_ENABLE_DRM=ON \
-DSUNSHINE_ENABLE_CUDA=ON \
-DSUNSHINE_ENABLE_CUDA=OFF \
/build/sunshine
make -j "$(nproc)"
cpack -G RPM
Expand Down
2 changes: 1 addition & 1 deletion docs/source/about/setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ Install
sunshine_{arch}.flatpak 12.0.0 525.60.13 50;52;60;61;62;70;75;80;86;90
sunshine-debian-bookworm-{arch}.deb 12.0.0 525.60.13 50;52;60;61;62;70;75;80;86;90
sunshine-debian-bullseye-{arch}.deb 11.8.0 450.80.02 35;50;52;60;61;62;70;75;80;86;90
sunshine-fedora-38-{arch}.rpm 12.4.0 525.60.13 50;52;60;61;62;70;75;80;86;90
sunshine-fedora-39-{arch}.rpm 12.4.0 525.60.13 50;52;60;61;62;70;75;80;86;90
sunshine-fedora-40-{arch}.rpm n/a n/a n/a
sunshine-ubuntu-22.04-{arch}.deb 11.8.0 450.80.02 35;50;52;60;61;62;70;75;80;86;90
sunshine-ubuntu-24.04-{arch}.deb 11.8.0 450.80.02 35;50;52;60;61;62;70;75;80;86;90
=========================================== ============== ============== ================================
Expand Down
2 changes: 1 addition & 1 deletion docs/source/building/linux.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Install Requirements
nvidia-cuda-dev \ # Cuda, NvFBC
nvidia-cuda-toolkit # Cuda, NvFBC

Fedora 38, 39
Fedora 39, 40
^^^^^^^^^^^^^

Install Requirements
Expand Down
Loading