Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • N nvidia-patch
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 26
    • Issues 26
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Keylase
  • nvidia-patch
  • Merge requests
  • !10

Adopt for 410.48 and CentOS.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/ilyaevseev/master into master 6 years ago
  • Overview 3
  • Commits 1
  • Pipelines 0
  • Changes 1

Created by: ilyaevseev

Fixes:

  • 410.48 byte sequence is like 396.54
  • libdir is distribution-dependent
  • run "cp" in "--preserve" mode
Compare
  • master (base)

and
  • latest version
    10b1e446
    1 commit, 2 years ago

1 file
+ 10
- 5

    Preferences

    File browser
    Compare changes
patch.sh
+ 10
- 5
  • View file @ 10b1e446

  • Edit in single-file editor

  • Open in Web IDE


@@ -3,6 +3,7 @@
backup_path="/opt/nvidia/libnvidia-encode-backup"
silent_flag=''
rollback_flag=''
driver_dir='/usr/lib/x86_64-linux-gnu'
print_usage() { printf '
SYNOPSIS
@@ -30,6 +31,9 @@ if [[ $silent_flag ]]; then
exec 1> /dev/null
fi
test -d "$driver_dir" || driver_dir="/usr/lib64" # ..centos
test -d "$driver_dir" || { echo "ERROR: cannot detect driver directory"; exit 1; }
declare -A patch_list=(
["375.39"]='s/\x85\xC0\x89\xC5\x75\x18/\x29\xC0\x89\xC5\x90\x90/g'
["396.24"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
@@ -38,6 +42,7 @@ declare -A patch_list=(
# break nvenc.c:236,layout asm,step-mode,step,break *0x00007fff89f9ba45
# libnvidia-encode.so @ 0x15a45; test->sub, jne->nop-nop-nop-nop-nop-nop
["396.54"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
["410.48"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
)
driver_version=$(/usr/bin/nvidia-smi --query-gpu=driver_version --format=csv,noheader,nounits | head -n 1)
@@ -61,8 +66,8 @@ fi
if [[ $rollback_flag ]]; then
if [[ -f $backup_path/libnvidia-encode.so.$driver_version ]]; then
cp $backup_path/libnvidia-encode.so.$driver_version \
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.$driver_version
cp -p $backup_path/libnvidia-encode.so.$driver_version \
$driver_dir/libnvidia-encode.so.$driver_version
echo "Restore from backup libnvidia-encode.so.$driver_version"
else
echo "Backup not found. Try to patch first."
@@ -72,13 +77,13 @@ else
if [[ ! -f $backup_path/libnvidia-encode.so.$driver_version ]]; then
echo "Attention! Backup not found. Copy current libnvidia-encode to backup."
mkdir -p $backup_path
cp /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.$driver_version \
cp -p $driver_dir/libnvidia-encode.so.$driver_version \
$backup_path/libnvidia-encode.so.$driver_version
fi
sha1sum $backup_path/libnvidia-encode.so.$driver_version
sed "$patch" $backup_path/libnvidia-encode.so.$driver_version > \
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.$driver_version
sha1sum /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.$driver_version
$driver_dir/libnvidia-encode.so.$driver_version
sha1sum $driver_dir/libnvidia-encode.so.$driver_version
ldconfig
echo "Patched!"
fi
0 Assignees
None
Assign to
0 Reviewers
None
Request review from
Labels
1
enhancement
1
enhancement
    Assign labels
  • Manage project labels

Milestone
No milestone
None
None
Time tracking
No estimate or time spent
Lock merge request
Unlocked
2
2 participants
Administrator
Keylase
Reference: keylase/nvidia-patch!10
Source branch: github/fork/ilyaevseev/master

Menu

Explore Projects Groups Snippets