From 425de8396734fc13d7f0ad3254c7a23e77ac0baa Mon Sep 17 00:00:00 2001 From: Anton Malinskiy Date: Thu, 22 Dec 2022 13:37:50 +1000 Subject: [PATCH] jellyfin-amd: jellyfin-amd add rocm-opencl-runtime add installation of rocm opencl package to speed up tone mapping --- root/etc/cont-init.d/93-amdgpu-repo | 7 ++++++ root/etc/cont-init.d/99-rocm-opencl-runtime | 23 +++++++++++++++++++ .../init-mod-jellyfin-amd-add-package/run | 13 +++++++++-- 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 root/etc/cont-init.d/93-amdgpu-repo create mode 100644 root/etc/cont-init.d/99-rocm-opencl-runtime diff --git a/root/etc/cont-init.d/93-amdgpu-repo b/root/etc/cont-init.d/93-amdgpu-repo new file mode 100644 index 0000000..96629b0 --- /dev/null +++ b/root/etc/cont-init.d/93-amdgpu-repo @@ -0,0 +1,7 @@ +#!/usr/bin/with-contenv bash + +if [ ! -f "/etc/apt/sources.list.d/amdgpu-focal.list" ]; then + echo "**** Adding amdgpu repo ****" + curl -sL --retry 3 https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - + echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.4.1 ubuntu main" > /etc/apt/sources.list.d/amdgpu-focal.list +fi diff --git a/root/etc/cont-init.d/99-rocm-opencl-runtime b/root/etc/cont-init.d/99-rocm-opencl-runtime new file mode 100644 index 0000000..c3d1624 --- /dev/null +++ b/root/etc/cont-init.d/99-rocm-opencl-runtime @@ -0,0 +1,23 @@ +#!/usr/bin/with-contenv bash + +# Determine if setup is needed +if [ ! -f "/usr/bin/apt" ]; then + echo "**** Image is not Ubuntu, skipping opencl-intel install ****" + exit 0 +fi + +pkgs='rocm-opencl-runtime' + +install=false +for pkg in $pkgs; do + status="$(dpkg-query -W --showformat='${db:Status-Status}' "$pkg" 2>&1)" + if [ ! $? = 0 ] || [ ! "$status" = installed ]; then + install=true + break + fi +done + +if "$install"; then + echo "**** Installing rocm-opencl-runtime ****" + apt-get install -y $pkgs +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-amd-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-amd-add-package/run index e9c7e5d..9c68ccf 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-amd-add-package/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-amd-add-package/run @@ -1,5 +1,7 @@ #!/usr/bin/with-contenv bash +AMDGPU_RELEASE=${AMDGPU_RELEASE:-5.4.1} + # Determine if setup is needed if [ ! -f "/usr/bin/apt" ]; then echo "**** Image is not Ubuntu, skipping opencl-intel install ****" @@ -17,7 +19,14 @@ if [ ! -f "/etc/apt/sources.list.d/kisak-mesa.list" ]; then echo "deb http://ppa.launchpad.net/kisak/kisak-mesa/ubuntu ${DISTRIB_CODENAME} main" > /etc/apt/sources.list.d/kisak-mesa.list fi -pkgs='mesa-vdpau-drivers mesa-va-drivers mesa-vdpau-drivers libdrm-radeon1' +if [ ! -f "/etc/apt/sources.list.d/amdgpu-focal.list" ]; then + echo "**** Adding amdgpu repo ****" + curl -sL --retry 3 https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - + echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${AMDGPU_RELEASE} ubuntu main" > /etc/apt/sources.list.d/amdgpu-focal.list +fi + + +pkgs='mesa-vdpau-drivers mesa-va-drivers mesa-vdpau-drivers libdrm-radeon1 rocm-opencl-runtime' install=false for pkg in $pkgs; do @@ -29,6 +38,6 @@ for pkg in $pkgs; do done if "$install"; then - echo "**** Adding mesa to package install list ****" + echo "**** Adding mesa and rocm-opencl-runtime to package install list ****" echo "$pkgs" >> /mod-repo-packages-to-install.list fi