Skip to content

Commit 39bf4ea

Browse files
committed
add nvidia gbm linking to init for mismatched host paths
1 parent 42e7fc9 commit 39bf4ea

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

  • root/etc/s6-overlay/s6-rc.d/init-video

root/etc/s6-overlay/s6-rc.d/init-video/run

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,31 @@ EOF
8383
}
8484
EOF
8585
fi
86+
# fix gbm library linkage
87+
if ! ldconfig -p | grep -q "nvidia-drm_gbm.so"; then
88+
GBM_PATHS=(
89+
"/usr/lib/x86_64-linux-gnu/gbm/nvidia-drm_gbm.so"
90+
"/usr/lib/aarch64-linux-gnu/gbm/nvidia-drm_gbm.so"
91+
"/usr/lib64/gbm/nvidia-drm_gbm.so"
92+
"/usr/lib/gbm/nvidia-drm_gbm.so"
93+
"/usr/local/lib/gbm/nvidia-drm_gbm.so"
94+
"/usr/local/lib64/gbm/nvidia-drm_gbm.so"
95+
)
96+
GBM_SRC=""
97+
for p in "${GBM_PATHS[@]}"; do
98+
if [ -f "${p}" ]; then GBM_SRC="${p}"; break; fi
99+
done
100+
if [ -n "${GBM_SRC}" ]; then
101+
echo "**** Fixing GBM library linkage ****"
102+
LIB_PATH=$(ldconfig -p | grep "libc.so.6" | head -n1 | awk -F '=> ' '{print $2}' | xargs dirname)
103+
if [ -z "${LIB_PATH}" ]; then LIB_PATH="/usr/lib"; fi
104+
if [ -d "${LIB_PATH}/gbm" ]; then
105+
GBM_DEST="${LIB_PATH}/gbm"
106+
else
107+
GBM_DEST="${LIB_PATH}"
108+
fi
109+
cp "${GBM_SRC}" "${GBM_DEST}/"
110+
ldconfig
111+
fi
112+
fi
86113
fi

0 commit comments

Comments
 (0)