Skip to content

Commit

Permalink
build(linux)!: add fedora 40 and remove fedora 38 (#2525)
Browse files Browse the repository at this point in the history
  • Loading branch information
ReenigneArcher authored May 12, 2024
1 parent b4c12cb commit 4e49db9
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 29 deletions.
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

0 comments on commit 4e49db9

Please sign in to comment.