almalinux10安装英伟达驱动

AlmaLinux 10 + NVIDIA RTX 3080 Ti 驱动安装与 GPU 加速完整指南(含海外 VPS 代理方案) 本指南适用于在使用 dnf 安装 NVIDIA 驱动时遇到网络问题(如超时、下载失败)的用户。核心思路是: 租用一台海外 VPS 搭建 HTTP 代理,让本地 dnf 通...
almalinux10安装英伟达驱动
almalinux10安装英伟达驱动

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

备选命令:如果上述方式未生效,可使用 grubby 直接注入参数(二选一即可):

sudo grubby --update-kernel=ALL --args="nvidia_drm.modeset=1 rd.driver.blacklist=i915"
写入系统级环境变量(防止 Wayland 回退)

这一步能确保桌面会话强制选择 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 位参与者

阅读完整话题

来源: linux.do查看原文