AlmaLinux 10 + NVIDIA RTX 3080 Ti 驱动安装与 GPU 加速完整指南(含海外 VPS 代理方案)
本指南适用于在使用 dnf 安装 NVIDIA 驱动时遇到网络问题(如超时、下载失败)的用户。核心思路是:租用一台海外 VPS 搭建 HTTP 代理,让本地 dnf 通过代理下载驱动包。
一、准备工作:租用海外 VPS 并搭建 Squid 代理
1. 选择与配置 VPS
- 推荐区域:香港、日本或新加坡(延迟低,下载速度快)。
- 操作系统:任意 Linux 发行版均可,本指南以 openEuler 为例(与 AlmaLinux 操作习惯一致)。
- 安全组/防火墙:在 VPS 控制台放行代理端口(例如
18888)。
2. 登录 VPS 并安装 Squid
# 登录 VPS(替换为你的 IP)
ssh root@<VPS_IP>
# 安装 Squid
sudo dnf install -y squid
3. 配置 Squid 代理
编辑配置文件 /etc/squid/squid.conf:
sudo vi /etc/squid/squid.conf
进行以下修改:
- 修改端口(可选,增加安全性):
http_port 18888
- 临时允许所有 IP 访问(仅用于测试,稍后会限制):
找到http_access deny all,改为:
http_access allow all
- 调整缓存大小(可选):
cache_dir ufs /var/spool/squid 4096 16 256
4096单位是兆,建议改为1024,具体更具服务器内存选择
保存并退出。
4. 初始化并启动 Squid
sudo squid -z # 初始化缓存目录
sudo systemctl enable --now squid
sudo systemctl status squid # 检查状态
5. 配置防火墙放行代理端口
sudo firewall-cmd --zone=public --add-port=18888/tcp --permanent
sudo firewall-cmd --reload
6. 测试代理连通性
在本地 AlmaLinux 终端执行(替换 IP 和端口):
curl -x http://<VPS_IP>:18888 https://ifconfig.me
若返回 VPS 的 IP 地址,则代理搭建成功。
二、配置本地 dnf 使用代理
1. 编辑 dnf 配置文件
sudo vi /etc/dnf/dnf.conf
在 [main] 段落中添加:
proxy=http://<VPS_IP>:18888
2. 验证代理生效
sudo dnf clean all
sudo dnf makecache
如果元数据下载顺利,说明 dnf 已通过代理工作。
三、安装 NVIDIA 驱动与 CUDA 工具包
1. 安装依赖并添加 NVIDIA 仓库
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
sudo dnf install -y almalinux-release-nvidia-driver
2. 配置 GSP 固件(重要!RTX 30/40 系列必需)
sudo tee /etc/dracut.conf.d/nvidia-gsp.conf > /dev/null <<'EOF'
install_items+=" /lib/firmware/nvidia/595.58.03/gsp_ga10x.bin "
EOF
sudo dracut --force
注意:固件路径中的版本号
595.58.03可能随驱动版本变化,请根据实际安装的驱动版本调整。可先安装驱动,然后查看/lib/firmware/nvidia/下的目录名。
3. 安装驱动核心包
sudo dnf install -y nvidia-open-kmod nvidia-driver
4. 安装 nvidia-smi 工具
sudo dnf install -y nvidia-driver-cuda
5. 启用内核模式设置(KMS)
sudo grubby --update-kernel=ALL --args="nvidia_drm.modeset=1"
6. 重启系统
sudo reboot
7. 验证驱动安装
nvidia-smi
若正常显示 GPU 信息(如 RTX 3080 Ti)和驱动版本,则驱动安装成功。
如果有核显可能会导致显示卡顿掉帧需要下面的操作,设置为全局独显。
(注:以下操作不太确定,找了好多教程东改一点西改一点,我也不知道哪一步最后成功的,下面的操作是我认为最可能正确的操作,请谨慎操作,如果有大佬知道如何正确操作,也希望指出)
四、让整个桌面强制使用 NVIDIA 显卡(全局独显)
如果你的显示器已连接到 NVIDIA 显卡,但桌面渲染仍由 Intel 核显负责,导致画面卡顿、glxinfo | grep "OpenGL renderer" 显示为 Mesa Intel,可执行以下步骤强制系统以 NVIDIA 作为唯一渲染显卡。
准备工作:安装必要工具
# 安装 glx-utils 用于后续验证
sudo dnf install -y glx-utils
完整操作步骤
写入内核引导参数首先创建所需目录,并写入 NVIDIA 显示模式与屏蔽核显的参数。
# 创建目录(如果不存在)
sudo mkdir -p /etc/kernel/cmdline.d
# 写入配置文件
sudo tee /etc/kernel/cmdline.d/99-nvidia-primary.conf > /dev/null <<'EOF'
nvidia_drm.modeset=1 rd.driver.blacklist=i915
EOF
重建 GRUB 引导配置
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
写入系统级环境变量(防止 Wayland 回退)备选命令:如果上述方式未生效,可使用
grubby直接注入参数(二选一即可):sudo grubby --update-kernel=ALL --args="nvidia_drm.modeset=1 rd.driver.blacklist=i915"
这一步能确保桌面会话强制选择 NVIDIA 渲染器。
sudo tee /etc/environment.d/nvidia-prime.conf > /dev/null <<'EOF'
__GLX_VENDOR_LIBRARY_NAME=nvidia
__NV_PRIME_RENDER_OFFLOAD=1
__VK_LAYER_NV_optimus=NVIDIA_only
EOF
重启系统
# 若提示被 PackageKit 阻塞,可先停止该服务
sudo systemctl stop packagekit
# 重启(忽略抑制剂)
sudo systemctl reboot -i
验证结果
重启并登录桌面后,打开终端运行:
glxinfo | grep "OpenGL renderer"
预期输出:
OpenGL renderer string: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
若输出如上所示,则全局独显设置成功,桌面渲染与 AI 计算均会使用 NVIDIA 显卡,画面卡顿问题彻底解决。
1 个帖子 - 1 位参与者