From f8461fd69922b11d22b17bbac7840aa395996ee9 Mon Sep 17 00:00:00 2001 From: Jai Luthra Date: Wed, 1 Nov 2023 22:55:16 +0530 Subject: [PATCH] patch(-fbc).sh: restructure and remove support for old vulkan outlier Signed-off-by: Jai Luthra --- README.md | 1 - drivers.json | 5 -- patch-fbc.sh | 137 +-------------------------------------- patch.sh | 180 +++------------------------------------------------ 4 files changed, 12 insertions(+), 311 deletions(-) diff --git a/README.md b/README.md index cfd72c1..39d8aea 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,6 @@ If you want to donate, please send it to your favorite open source organizations | 430.64 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.64/NVIDIA-Linux-x86_64-430.64.run) | | 435.17 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/435.17/NVIDIA-Linux-x86_64-435.17.run) | | 435.21 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run) | -| 435.27.08 | YES | YES | | | 440.26 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.26/NVIDIA-Linux-x86_64-440.26.run) | | 440.31 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.31/NVIDIA-Linux-x86_64-440.31.run) | | 440.33.01 | YES | YES | [Driver link](https://international.download.nvidia.com/tesla/440.33.01/NVIDIA-Linux-x86_64-440.33.01.run) | diff --git a/drivers.json b/drivers.json index 6c920b3..aab3c90 100644 --- a/drivers.json +++ b/drivers.json @@ -223,11 +223,6 @@ "nvfbc_patch": true, "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.36.run" }, - { - "version": "435.27.08", - "nvenc_patch": true, - "nvfbc_patch": true - }, { "version": "440.44", "nvenc_patch": true, diff --git a/patch-fbc.sh b/patch-fbc.sh index 2687838..74b8080 100755 --- a/patch-fbc.sh +++ b/patch-fbc.sh @@ -55,7 +55,6 @@ if [[ $flatpak_flag ]]; then fi declare -A patch_list=( - ["435.27.08"]='s/\x85\xc0\x89\xc3\x0f\x85\x68\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\x68\xfa\xff\xff/' ["440.26"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/' ["440.31"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/' ["440.33.01"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/' @@ -184,139 +183,9 @@ declare -A patch_list=( ["545.23.06"]='s/\x83\xfe\x01\x73\x08\x48/\x83\xfe\x01\x90\x90\x48/' ) -declare -A object_list=( - ["435.27.08"]='libnvidia-fbc.so' - ["440.26"]='libnvidia-fbc.so' - ["440.31"]='libnvidia-fbc.so' - ["440.33.01"]='libnvidia-fbc.so' - ["440.36"]='libnvidia-fbc.so' - ["440.43.01"]='libnvidia-fbc.so' - ["440.44"]='libnvidia-fbc.so' - ["440.48.02"]='libnvidia-fbc.so' - ["440.58.01"]='libnvidia-fbc.so' - ["440.58.02"]='libnvidia-fbc.so' - ["440.59"]='libnvidia-fbc.so' - ["440.64"]='libnvidia-fbc.so' - ["440.64.00"]='libnvidia-fbc.so' - ["440.66.02"]='libnvidia-fbc.so' - ["440.66.03"]='libnvidia-fbc.so' - ["440.66.04"]='libnvidia-fbc.so' - ["440.66.08"]='libnvidia-fbc.so' - ["440.66.09"]='libnvidia-fbc.so' - ["440.66.11"]='libnvidia-fbc.so' - ["440.66.12"]='libnvidia-fbc.so' - ["440.66.14"]='libnvidia-fbc.so' - ["440.66.15"]='libnvidia-fbc.so' - ["440.66.17"]='libnvidia-fbc.so' - ["440.82"]='libnvidia-fbc.so' - ["440.95.01"]='libnvidia-fbc.so' - ["440.100"]='libnvidia-fbc.so' - ["440.118.02"]='libnvidia-fbc.so' - ["450.36.06"]='libnvidia-fbc.so' - ["450.51"]='libnvidia-fbc.so' - ["450.51.05"]='libnvidia-fbc.so' - ["450.51.06"]='libnvidia-fbc.so' - ["450.56.01"]='libnvidia-fbc.so' - ["450.56.02"]='libnvidia-fbc.so' - ["450.56.06"]='libnvidia-fbc.so' - ["450.56.11"]='libnvidia-fbc.so' - ["450.57"]='libnvidia-fbc.so' - ["450.66"]='libnvidia-fbc.so' - ["450.80.02"]='libnvidia-fbc.so' - ["455.23.04"]='libnvidia-fbc.so' - ["455.23.05"]='libnvidia-fbc.so' - ["455.26.01"]='libnvidia-fbc.so' - ["455.26.02"]='libnvidia-fbc.so' - ["455.28"]='libnvidia-fbc.so' - ["455.32.00"]='libnvidia-fbc.so' - ["455.38"]='libnvidia-fbc.so' - ["455.45.01"]='libnvidia-fbc.so' - ["455.46.01"]='libnvidia-fbc.so' - ["455.46.02"]='libnvidia-fbc.so' - ["455.46.04"]='libnvidia-fbc.so' - ["455.50.02"]='libnvidia-fbc.so' - ["455.50.03"]='libnvidia-fbc.so' - ["455.50.04"]='libnvidia-fbc.so' - ["455.50.05"]='libnvidia-fbc.so' - ["455.50.07"]='libnvidia-fbc.so' - ["455.50.10"]='libnvidia-fbc.so' - ["460.27.04"]='libnvidia-fbc.so' - ["460.32.03"]='libnvidia-fbc.so' - ["460.39"]='libnvidia-fbc.so' - ["460.56"]='libnvidia-fbc.so' - ["460.67"]='libnvidia-fbc.so' - ["460.73.01"]='libnvidia-fbc.so' - ["460.80"]='libnvidia-fbc.so' - ["460.84"]='libnvidia-fbc.so' - ["460.91.03"]='libnvidia-fbc.so' - ["465.19.01"]='libnvidia-fbc.so' - ["465.24.02"]='libnvidia-fbc.so' - ["465.27"]='libnvidia-fbc.so' - ["465.31"]='libnvidia-fbc.so' - ["470.42.01"]='libnvidia-fbc.so' - ["470.57.02"]='libnvidia-fbc.so' - ["470.62.02"]='libnvidia-fbc.so' - ["470.62.05"]='libnvidia-fbc.so' - ["470.63.01"]='libnvidia-fbc.so' - ["470.74"]='libnvidia-fbc.so' - ["470.82.00"]='libnvidia-fbc.so' - ["470.82.01"]='libnvidia-fbc.so' - ["470.86"]='libnvidia-fbc.so' - ["470.94"]='libnvidia-fbc.so' - ["470.103.01"]='libnvidia-fbc.so' - ["470.129.06"]='libnvidia-fbc.so' - ["470.141.03"]='libnvidia-fbc.so' - ["470.161.03"]='libnvidia-fbc.so' - ["470.182.03"]='libnvidia-fbc.so' - ["470.199.02"]='libnvidia-fbc.so' - ["495.29.05"]='libnvidia-fbc.so' - ["495.44"]='libnvidia-fbc.so' - ["495.46"]='libnvidia-fbc.so' - ["510.39.01"]='libnvidia-fbc.so' - ["510.47.03"]='libnvidia-fbc.so' - ["510.54"]='libnvidia-fbc.so' - ["510.60.02"]='libnvidia-fbc.so' - ["510.68.02"]='libnvidia-fbc.so' - ["510.73.05"]='libnvidia-fbc.so' - ["510.73.08"]='libnvidia-fbc.so' - ["510.85.02"]='libnvidia-fbc.so' - ["510.108.03"]='libnvidia-fbc.so' - ["515.43.04"]='libnvidia-fbc.so' - ["515.48.07"]='libnvidia-fbc.so' - ["515.57"]='libnvidia-fbc.so' - ["515.65.01"]='libnvidia-fbc.so' - ["515.76"]='libnvidia-fbc.so' - ["515.86.01"]='libnvidia-fbc.so' - ["515.105.01"]='libnvidia-fbc.so' - ["520.56.06"]='libnvidia-fbc.so' - ["520.61.05"]='libnvidia-fbc.so' - ["525.60.11"]='libnvidia-fbc.so' - ["525.60.13"]='libnvidia-fbc.so' - ["525.78.01"]='libnvidia-fbc.so' - ["525.85.05"]='libnvidia-fbc.so' - ["525.85.12"]='libnvidia-fbc.so' - ["525.89.02"]='libnvidia-fbc.so' - ["525.105.17"]='libnvidia-fbc.so' - ["525.116.03"]='libnvidia-fbc.so' - ["525.116.04"]='libnvidia-fbc.so' - ["525.125.06"]='libnvidia-fbc.so' - ["530.30.02"]='libnvidia-fbc.so' - ["530.41.03"]='libnvidia-fbc.so' - ["535.43.02"]='libnvidia-fbc.so' - ["535.54.03"]='libnvidia-fbc.so' - ["535.86.05"]='libnvidia-fbc.so' - ["535.86.10"]='libnvidia-fbc.so' - ["535.98"]='libnvidia-fbc.so' - ["535.104.05"]='libnvidia-fbc.so' - ["535.104.12"]='libnvidia-fbc.so' - ["535.113.01"]='libnvidia-fbc.so' - ["535.129.03"]='libnvidia-fbc.so' - ["545.23.06"]='libnvidia-fbc.so' -) - check_version_supported () { local ver="$1" - [[ "${patch_list[$ver]+isset}" && "${object_list[$ver]+isset}" ]] + [[ "${patch_list[$ver]+isset}" ]] } get_flatpak_driver_path () { @@ -333,7 +202,7 @@ get_flatpak_driver_path () { get_supported_versions () { for drv in "${!patch_list[@]}"; do - [[ "${object_list[$drv]+isset}" ]] && echo "$drv" + echo "$drv" done | sort -t. -n return 0 } @@ -372,7 +241,7 @@ patch_common () { fi patch="${patch_list[$driver_version]}" - object="${object_list[$driver_version]}" + object='libnvidia-fbc.so' if [[ $flatpak_flag ]]; then driver_dir=$(get_flatpak_driver_path "$driver_version") diff --git a/patch.sh b/patch.sh index 95104ba..0ee6627 100755 --- a/patch.sh +++ b/patch.sh @@ -93,7 +93,6 @@ declare -A patch_list=( ["430.64"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g' ["435.17"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g' ["435.21"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g' - ["435.27.08"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g' ["440.26"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g' ["440.31"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g' ["440.33.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g' @@ -223,176 +222,9 @@ declare -A patch_list=( ["545.23.06"]='s/\xe8\xc5\x8f\xfe\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x8f\xfe\xff\x29\xc0\x41\x89\xc4/g' ) -declare -A object_list=( - ["375.39"]='libnvidia-encode.so' - ["390.77"]='libnvidia-encode.so' - ["390.87"]='libnvidia-encode.so' - ["390.147"]='libnvidia-encode.so' - ["396.24"]='libnvidia-encode.so' - ["396.26"]='libnvidia-encode.so' - ["396.37"]='libnvidia-encode.so' - ["396.54"]='libnvidia-encode.so' - ["410.48"]='libnvidia-encode.so' - ["410.57"]='libnvidia-encode.so' - ["410.73"]='libnvidia-encode.so' - ["410.78"]='libnvidia-encode.so' - ["410.79"]='libnvidia-encode.so' - ["410.93"]='libnvidia-encode.so' - ["410.104"]='libnvidia-encode.so' - ["415.18"]='libnvcuvid.so' - ["415.25"]='libnvcuvid.so' - ["415.27"]='libnvcuvid.so' - ["418.30"]='libnvcuvid.so' - ["418.43"]='libnvcuvid.so' - ["418.56"]='libnvcuvid.so' - ["418.67"]='libnvcuvid.so' - ["418.74"]='libnvcuvid.so' - ["418.87.00"]='libnvcuvid.so' - ["418.87.01"]='libnvcuvid.so' - ["418.88"]='libnvcuvid.so' - ["418.113"]='libnvcuvid.so' - ["430.09"]='libnvcuvid.so' - ["430.14"]='libnvcuvid.so' - ["430.26"]='libnvcuvid.so' - ["430.34"]='libnvcuvid.so' - ["430.40"]='libnvcuvid.so' - ["430.50"]='libnvcuvid.so' - ["430.64"]='libnvcuvid.so' - ["435.17"]='libnvcuvid.so' - ["435.21"]='libnvcuvid.so' - ["435.27.08"]='libnvidia-encode.so' - ["440.26"]='libnvidia-encode.so' - ["440.31"]='libnvidia-encode.so' - ["440.33.01"]='libnvidia-encode.so' - ["440.36"]='libnvidia-encode.so' - ["440.43.01"]='libnvidia-encode.so' - ["440.44"]='libnvidia-encode.so' - ["440.48.02"]='libnvidia-encode.so' - ["440.58.01"]='libnvidia-encode.so' - ["440.58.02"]='libnvidia-encode.so' - ["440.59"]='libnvidia-encode.so' - ["440.64"]='libnvidia-encode.so' - ["440.64.00"]='libnvidia-encode.so' - ["440.66.02"]='libnvidia-encode.so' - ["440.66.03"]='libnvidia-encode.so' - ["440.66.04"]='libnvidia-encode.so' - ["440.66.08"]='libnvidia-encode.so' - ["440.66.09"]='libnvidia-encode.so' - ["440.66.11"]='libnvidia-encode.so' - ["440.66.12"]='libnvidia-encode.so' - ["440.66.14"]='libnvidia-encode.so' - ["440.66.15"]='libnvidia-encode.so' - ["440.66.17"]='libnvidia-encode.so' - ["440.82"]='libnvidia-encode.so' - ["440.95.01"]='libnvidia-encode.so' - ["440.100"]='libnvidia-encode.so' - ["440.118.02"]='libnvidia-encode.so' - ["450.36.06"]='libnvidia-encode.so' - ["450.51"]='libnvidia-encode.so' - ["450.51.05"]='libnvidia-encode.so' - ["450.51.06"]='libnvidia-encode.so' - ["450.56.01"]='libnvidia-encode.so' - ["450.56.02"]='libnvidia-encode.so' - ["450.56.06"]='libnvidia-encode.so' - ["450.56.11"]='libnvidia-encode.so' - ["450.57"]='libnvidia-encode.so' - ["450.66"]='libnvidia-encode.so' - ["450.80.02"]='libnvidia-encode.so' - ["450.102.04"]='libnvidia-encode.so' - ["455.22.04"]='libnvidia-encode.so' - ["455.23.04"]='libnvidia-encode.so' - ["455.23.05"]='libnvidia-encode.so' - ["455.26.01"]='libnvidia-encode.so' - ["455.26.02"]='libnvidia-encode.so' - ["455.28"]='libnvidia-encode.so' - ["455.32.00"]='libnvidia-encode.so' - ["455.38"]='libnvidia-encode.so' - ["455.45.01"]='libnvidia-encode.so' - ["455.46.01"]='libnvidia-encode.so' - ["455.46.02"]='libnvidia-encode.so' - ["455.46.04"]='libnvidia-encode.so' - ["455.50.02"]='libnvidia-encode.so' - ["455.50.04"]='libnvidia-encode.so' - ["455.50.05"]='libnvidia-encode.so' - ["455.50.07"]='libnvidia-encode.so' - ["455.50.10"]='libnvidia-encode.so' - ["460.27.04"]='libnvidia-encode.so' - ["460.32.03"]='libnvidia-encode.so' - ["460.39"]='libnvidia-encode.so' - ["460.56"]='libnvidia-encode.so' - ["460.67"]='libnvidia-encode.so' - ["460.73.01"]='libnvidia-encode.so' - ["460.80"]='libnvidia-encode.so' - ["460.84"]='libnvidia-encode.so' - ["460.91.03"]='libnvidia-encode.so' - ["465.19.01"]='libnvidia-encode.so' - ["465.24.02"]='libnvidia-encode.so' - ["465.27"]='libnvidia-encode.so' - ["465.31"]='libnvidia-encode.so' - ["470.42.01"]='libnvidia-encode.so' - ["470.57.02"]='libnvidia-encode.so' - ["470.62.02"]='libnvidia-encode.so' - ["470.62.05"]='libnvidia-encode.so' - ["470.63.01"]='libnvidia-encode.so' - ["470.74"]='libnvidia-encode.so' - ["470.82.00"]='libnvidia-encode.so' - ["470.82.01"]='libnvidia-encode.so' - ["470.86"]='libnvidia-encode.so' - ["470.94"]='libnvidia-encode.so' - ["470.103.01"]='libnvidia-encode.so' - ["470.129.06"]='libnvidia-encode.so' - ["470.141.03"]='libnvidia-encode.so' - ["470.161.03"]='libnvidia-encode.so' - ["470.182.03"]='libnvidia-encode.so' - ["470.199.02"]='libnvidia-encode.so' - ["495.29.05"]='libnvidia-encode.so' - ["495.44"]='libnvidia-encode.so' - ["495.46"]='libnvidia-encode.so' - ["510.39.01"]='libnvidia-encode.so' - ["510.47.03"]='libnvidia-encode.so' - ["510.54"]='libnvidia-encode.so' - ["510.60.02"]='libnvidia-encode.so' - ["510.68.02"]='libnvidia-encode.so' - ["510.73.05"]='libnvidia-encode.so' - ["510.73.08"]='libnvidia-encode.so' - ["510.85.02"]='libnvidia-encode.so' - ["510.108.03"]='libnvidia-encode.so' - ["515.43.04"]='libnvidia-encode.so' - ["515.48.07"]='libnvidia-encode.so' - ["515.57"]='libnvidia-encode.so' - ["515.65.01"]='libnvidia-encode.so' - ["515.76"]='libnvidia-encode.so' - ["515.86.01"]='libnvidia-encode.so' - ["515.105.01"]='libnvidia-encode.so' - ["520.56.06"]='libnvidia-encode.so' - ["520.61.05"]='libnvidia-encode.so' - ["525.60.11"]='libnvidia-encode.so' - ["525.60.13"]='libnvidia-encode.so' - ["525.78.01"]='libnvidia-encode.so' - ["525.85.05"]='libnvidia-encode.so' - ["525.85.12"]='libnvidia-encode.so' - ["525.89.02"]='libnvidia-encode.so' - ["525.105.17"]='libnvidia-encode.so' - ["525.116.03"]='libnvidia-encode.so' - ["525.116.04"]='libnvidia-encode.so' - ["525.125.06"]='libnvidia-encode.so' - ["530.30.02"]='libnvidia-encode.so' - ["530.41.03"]='libnvidia-encode.so' - ["535.43.02"]='libnvidia-encode.so' - ["535.54.03"]='libnvidia-encode.so' - ["535.86.05"]='libnvidia-encode.so' - ["535.86.10"]='libnvidia-encode.so' - ["535.98"]='libnvidia-encode.so' - ["535.104.05"]='libnvidia-encode.so' - ["535.104.12"]='libnvidia-encode.so' - ["535.113.01"]='libnvidia-encode.so' - ["535.129.03"]='libnvidia-encode.so' - ["545.23.06"]='libnvidia-encode.so' -) - check_version_supported () { local ver="$1" - [[ "${patch_list[$ver]+isset}" && "${object_list[$ver]+isset}" ]] + [[ "${patch_list[$ver]+isset}" ]] } get_flatpak_driver_path () { @@ -409,7 +241,7 @@ get_flatpak_driver_path () { get_supported_versions () { for drv in "${!patch_list[@]}"; do - [[ "${object_list[$drv]+isset}" ]] && echo "$drv" + echo "$drv" done | sort -t. -n return 0 } @@ -448,7 +280,13 @@ patch_common () { fi patch="${patch_list[$driver_version]}" - object="${object_list[$driver_version]}" + driver_maj_version=${driver_version%%.*} + if [[ $driver_maj_version -ge "415" && $driver_maj_version -le "435" ]]; then + object='libnvcuvid.so' + else + object='libnvidia-encode.so' + fi + echo $object if [[ $flatpak_flag ]]; then driver_dir=$(get_flatpak_driver_path "$driver_version")