diff --git a/.github/workflows/os.yml b/.github/workflows/os.yml index 581ead3..d2826d1 100644 --- a/.github/workflows/os.yml +++ b/.github/workflows/os.yml @@ -91,7 +91,7 @@ jobs: with: context: . push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }}, ${{ steps.meta.outputs.tags }}-39, ${{ steps.meta.outputs.tags }}-39.${{ steps.date.outputs.date }} + tags: ${{ steps.meta.outputs.tags }}, ${{ steps.meta.outputs.tags }}-40, ${{ steps.meta.outputs.tags }}-40.${{ steps.date.outputs.date }} # labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile index efbf49e..52dc1d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,9 @@ -ARG IMAGE_NAME="${IMAGE_NAME:-kinoite}" -ARG SOURCE_IMAGE="${SOURCE_IMAGE:-kinoite}" -ARG BASE_IMAGE="quay.io/fedora-ostree-desktops/${SOURCE_IMAGE}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-39}" -FROM quay.io/fedora-ostree-desktops/kinoite:39 AS base + +FROM quay.io/fedora-ostree-desktops/kinoite:40 AS base ARG CACHEBUST=2 -ARG IMAGE_NAME="${IMAGE_NAME}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}" - COPY repo/*.repo /etc/yum.repos.d/ @@ -19,9 +13,6 @@ RUN rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-fre # 32-bit dependencies for the Nvidia driver. RUN rpm-ostree install glibc.i686 -# pipewire clang -RUN rpm-ostree override replace --experimental --from repo=fedora-clang pipewire pipewire-libs pipewire-pulseaudio pipewire-alsa pipewire-utils pipewire-gstreamer pipewire-jack-audio-connection-kit pipewire-jack-audio-connection-kit-libs - # install nonfree codecs RUN rpm-ostree override remove libavcodec-free libavfilter-free libavformat-free libavutil-free libpostproc-free libswresample-free libswscale-free libavdevice-free ffmpeg-free --install libavcodec-freeworld @@ -29,15 +20,15 @@ RUN rpm-ostree override remove libavcodec-free libavfilter-free libavformat-free RUN rpm-ostree install libheif-freeworld # Mesa clang -RUN rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:andersrh:my-ostree-os mesa-filesystem mesa-libglapi mesa-dri-drivers mesa-libgbm mesa-libEGL mesa-libGL mesa-vulkan-drivers mesa-libxatracker mesa-vdpau-drivers mesa-libOSMesa mesa-libOpenCL mesa-va-drivers libdrm +RUN rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:andersrh:my-ostree-os mesa-filesystem mesa-libglapi mesa-dri-drivers mesa-libgbm mesa-libEGL mesa-libGL mesa-vulkan-drivers mesa-libxatracker mesa-vdpau-drivers mesa-libOSMesa mesa-libOpenCL mesa-va-drivers # 32-bit dependencies for the Nvidia driver. RUN rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:andersrh:my-ostree-os:ml mesa-dri-drivers.i686 -RUN rpm-ostree install mesa-filesystem.i686 mesa-libEGL.i686 mesa-libGL.i686 mesa-libgbm.i686 mesa-libglapi.i686 mesa-vulkan-drivers.i686 libdrm.i686 +RUN rpm-ostree install mesa-filesystem.i686 mesa-libEGL.i686 mesa-libGL.i686 mesa-libgbm.i686 mesa-libglapi.i686 mesa-vulkan-drivers.i686 RUN rpm-ostree install ffmpeg ffmpeg-libs libavdevice intel-media-driver pipewire-codec-aptx libva-intel-driver libva-utils -FROM fedora:39 AS akmods-builder +FROM fedora:40 AS akmods-builder RUN dnf -y update && dnf -y install wget @@ -60,14 +51,6 @@ RUN /tmp/akmods.sh FROM base AS kernel -ARG IMAGE_NAME="${IMAGE_NAME}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}" - -COPY --from=ghcr.io/ublue-os/akmods-nvidia:39-535 /rpms /tmp/akmods-rpms - -RUN rpm-ostree install \ - /tmp/akmods-rpms/ublue-os/ublue-os-nvidia-addons-*.rpm - RUN mkdir /tmp/nvidia COPY install-nvidia.sh /tmp/install-nvidia.sh @@ -84,6 +67,9 @@ RUN rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfra COPY --from=akmods-builder /var/cache/akmods/*/* /tmp/nvidia +# install binutils to get strip command +RUN rpm-ostree install binutils + COPY install_cachyos_kernel.sh /tmp # Enable cliwrap. RUN rpm-ostree cliwrap install-to-root / && \ @@ -102,13 +88,11 @@ RUN rpm-ostree install \ nvidia-container-toolkit supergfxctl supergfxctl-plasmoid RUN mv /etc/nvidia-container-runtime/config.toml{,.orig} -RUN cp /etc/nvidia-container-runtime/config{-rootless,}.toml RUN systemctl enable supergfxd.service RUN rpm-ostree uninstall xorg-x11-drv-nvidia-power -RUN semodule --verbose --install /usr/share/selinux/packages/nvidia-container.pp RUN ln -s /usr/bin/ld.bfd /etc/alternatives/ld RUN ln -s /etc/alternatives/ld /usr/bin/ld @@ -123,8 +107,6 @@ ostree container commit FROM kernel AS os ARG CACHEBUST=5 -ARG IMAGE_NAME="${IMAGE_NAME}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}" RUN cd /tmp && \ rpm-ostree cleanup -m && rpm-ostree install ksshaskpass cronie distrobox fish lld nvtop seadrive-gui pulseaudio-utils hfsplus-tools VirtualBox @@ -144,9 +126,6 @@ RUN rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfra # add Haruna media player to host for better VAAPI performance RUN rpm-ostree install haruna -# software to be replaced with clang version -RUN rpm-ostree override replace --experimental --from repo=fedora-clang podman tar kpipewire NetworkManager-libnm NetworkManager NetworkManager-vpnc NetworkManager-wwan NetworkManager-wifi NetworkManager-ppp NetworkManager-bluetooth NetworkManager-config-connectivity-fedora wayland-utils xz xz-libs gzip bzip2-libs bzip2 libzip libarchive rsync libva dbus-broker dbus-glib wget dbusmenu-qt - # Install AppImageLauncher RUN rpm-ostree install https://github.com/TheAssassin/AppImageLauncher/releases/download/continuous/appimagelauncher-2.2.0-gha111.d9d4c73.x86_64.rpm diff --git a/repo/eyecantcu-supergfxctl.repo b/repo/eyecantcu-supergfxctl.repo new file mode 100644 index 0000000..52ab0c2 --- /dev/null +++ b/repo/eyecantcu-supergfxctl.repo @@ -0,0 +1,10 @@ +[copr:copr.fedorainfracloud.org:eyecantcu:supergfxctl] +name=Copr repo for supergfxctl owned by eyecantcu +baseurl=https://download.copr.fedorainfracloud.org/results/eyecantcu/supergfxctl/fedora-$releasever-$basearch/ +type=rpm-md +skip_if_unavailable=True +gpgcheck=1 +gpgkey=https://download.copr.fedorainfracloud.org/results/eyecantcu/supergfxctl/pubkey.gpg +repo_gpgcheck=0 +enabled=1 +enabled_metadata=1 diff --git a/repo/fedora-clang.repo b/repo/fedora-clang.repo deleted file mode 100644 index ff051ca..0000000 --- a/repo/fedora-clang.repo +++ /dev/null @@ -1,12 +0,0 @@ -[fedora-clang] -name=Copr repo for clang-built-f38 owned by @fedora-llvm-team -baseurl=https://download.copr.fedorainfracloud.org/results/@fedora-llvm-team/clang-built-f$releasever/fedora-$releasever-$basearch/ -type=rpm-md -skip_if_unavailable=True -gpgcheck=1 -gpgkey=https://download.copr.fedorainfracloud.org/results/@fedora-llvm-team/clang-built-f$releasever/pubkey.gpg -repo_gpgcheck=0 -enabled=1 -enabled_metadata=1 -cost=10 -priority=10 diff --git a/repo/nvidia-container-toolkit.repo b/repo/nvidia-container-toolkit.repo new file mode 100644 index 0000000..5dcd37c --- /dev/null +++ b/repo/nvidia-container-toolkit.repo @@ -0,0 +1,19 @@ +[nvidia-container-toolkit] +name=nvidia-container-toolkit +baseurl=https://nvidia.github.io/libnvidia-container/stable/rpm/$basearch +repo_gpgcheck=1 +gpgcheck=0 +enabled=1 +gpgkey=https://nvidia.github.io/libnvidia-container/gpgkey +sslverify=1 +sslcacert=/etc/pki/tls/certs/ca-bundle.crt + +[nvidia-container-toolkit-experimental] +name=nvidia-container-toolkit-experimental +baseurl=https://nvidia.github.io/libnvidia-container/experimental/rpm/$basearch +repo_gpgcheck=1 +gpgcheck=0 +enabled=0 +gpgkey=https://nvidia.github.io/libnvidia-container/gpgkey +sslverify=1 +sslcacert=/etc/pki/tls/certs/ca-bundle.crt