Compare commits

...

6 Commits

Author SHA1 Message Date
3da7b0c9b4 update: 现在安装时可正确拉起N卡配置 2025-02-14 21:46:59 +08:00
dc01ee917c update:gitignore 2025-02-14 21:46:42 +08:00
0d0e8452bf update: amber-ce-bookworm-configure-nvidia 2025-02-14 21:39:05 +08:00
b2f1a9cccb update: bookworm-configure-nvidia 2025-02-14 21:31:46 +08:00
b1a2b02c1e update: 改为软链接到容器中
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-14 12:54:47 +00:00
517816ee00 update:nvidia-configure 2025-02-14 20:44:03 +08:00
5 changed files with 71 additions and 2 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,2 @@
#*.deb
*.deb
src/opt/apps/amber-ce-bookworm/files/ace-env.tar.xz

2
debian/changelog vendored
View File

@@ -1,4 +1,4 @@
amber-ce-bookworm (12.6.0) UNRELEASED; urgency=low
amber-ce-bookworm (12.6.1) UNRELEASED; urgency=low
* fix: Can't pass args via bwrap
* fix: Auto upgrade service always pop up upgradable notifier
* fix: /etc/apt/sources.list only request main repo

View File

@@ -114,3 +114,4 @@ sudo -u $(who | awk '{print $1}' | head -n 1) bwrap --dev-bind $chrootEnvPath/ /
bookworm-run update-locale LANG=$LANG
chown -R root $chrootEnvPath
chmod 777 -R $chrootEnvPath/usr/share/icons
amber-ce-bookworm-configure-nvidia || true

View File

@@ -0,0 +1,67 @@
#!/bin/bash
log.warn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
log.error() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; }
log.info() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
log.debug() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }
if [ "$UID" != "0" ];then
log.error "需要以root权限运行 Need to be run as root."
exit 1
fi
# 1\. 获取宿主机 NVIDIA 驱动版本
nvidia_version=$(cat /sys/module/nvidia/version 2>/dev/null)
if [ -z "$nvidia_version" ]; then
log.error "无法获取 NVIDIA 驱动版本 Can not determine NVIDIA Driver version"
exit 1
fi
# 2\. 目标目录准备
ACE_DIR="/opt/apps/amber-ce-bookworm/files/ace-env"
if [[ ! -e "${ACE_DIR}" ]];then
log.error "未检测到 ACE Bookworm 安装,请安装后再试 ACE Bookworm is not detected. Please try again after installation"
spark-store spk://store/tools/cn.flamescion.bookworm-compatibility-mode &
log.info "请按回车关闭... Press Enter to close..."
read
exit 1
fi
mkdir -p "$ACE_DIR/usr/lib" "$ACE_DIR/usr/lib32"
log.info "正在链接 NVIDIA 驱动库 Linking NVIDIA Driver Libs"
# 3\. 收集库文件路径
lib_list=$(ldconfig -p | grep -Ei "nvidia|libcuda" | cut -d'>' -f2)
# 4\. 复制库文件
copied=0
for lib in $lib_list; do
resolved=$(readlink -f "$lib") # 解析符号链接
if file "$resolved" | grep -q "32-bit"; then
ln -sf "/host/$resolved" "$ACE_DIR/usr/lib32/$(basename $lib)"
else
ln -sf "/host/$resolved" "$ACE_DIR/usr/lib/$(basename $lib)"
copied=1
fi
done
# 5\. 复制辅助文件
additional_files=(
/usr/share/vulkan/icd.d/nvidia_icd.json
/usr/share/egl/egl_external_platform.d/20_nvidia_xcb.json
)
for file in "${additional_files[@]}"; do
if [ -f "$file" ]; then
file=$(readlink -f "$file")
dir=$(dirname "$file")
mkdir -p "$ACE_DIR/$dir"
ln -sf "/host/$file" "$ACE_DIR/$dir"
fi
done
# 6\. 标记版本
if [ $copied -eq 1 ]; then
echo "$nvidia_version" > "$ACE_DIR/current_version"
log.info "NVIDIA 驱动库已成功链接 Nvidia Driver Libs are successfully linked. "
else
log.error "未找到有效 NVIDIA 库文件 No valid NVIDIA Driver Libs found."
fi

View File

@@ -0,0 +1 @@
../../opt/apps/amber-ce-bookworm/files/bin/amber-ce-bookworm-configure-nvidia