简单配置 Linux 上的 NVIDIA

Entropy Tree Lv4

本文主要介绍在 Linux 上简单地配置 NVIDIA 用于特定应用程序(例如游戏)的图形加速,而非全局性的设置。

HMCL 为例,只需安装一些基础包,进行简单的配置即可让 Minecraft 在 NVIDIA 显卡下工作。

基础安装

这里仅列举需要安装的包,大部分包可能已经被安装了。

nvidia nvidia-settings lib32-nvidia-utils:这三个是必须安装的包,是 NVIDIA 的基础驱动。

nvidia-prime:可选安装,是用于指定应用程序使用 NVIDIA 显卡加速。本质上是通过设置环境变量实现。

以下是用于监控 NVIDIA 工作情况的一些选项。

命令行工具

  1. nvidia-smi(NVIDIA System Management Interface):

    • nvidia-smi 是 NVIDIA 提供的一个命令行工具,它能够显示 NVIDIA GPU 的详细状态,包括温度、使用率、显存使用情况等。
    • 使用方法:在终端中输入 nvidia-smi。你也可以使用 watch -n 1 nvidia-smi 命令来每秒刷新显示状态。
  2. nvtop:

    • nvtop 是一个类似于 htop 的工具,但专门用于 NVIDIA GPU。它提供了一个基于文本的用户界面,显示 GPU 的使用率、显存使用情况、正在运行的进程等信息。

    • 安装方法:在许多 Linux 发行版中,nvtop 可以通过包管理器安装,如 sudo apt install nvtop(在基于 Debian 的系统上)或 sudo pacman -S nvtop(在 Arch Linux 上)。

图形化工具

  1. NVIDIA X Server Settings:

    • 如果你使用的是 NVIDIA 官方驱动,那么 NVIDIA X Server Settings 工具应该已经包含在驱动安装包中。
    • 这个图形界面工具提供了关于显卡状态的信息,包括温度、显存使用量等。
  2. Conky:

    • Conky 是一个轻量级的系统监控工具,它可以配置为显示 NVIDIA GPU 的状态。
    • Conky 需要一些配置工作才能显示 GPU 信息,但它提供了很高的可定制性。

使用 prime-run 命令控制

如果选择安装nvidia-prime包,可以直接执行如下格式的命令

1
prime-run program

在一些启动应用程序的命令之前添加prime-run命令即可使其工作在NVIDIA 显卡下。

设置环境变量控制

如果选择手动设置环境,大部分时候只需要关注三个环境变量,更多时候可能只需要关注两个环境变量。

1
2
3
__NV_PRIME_RENDER_OFFLOAD=1			# 启用 PRIME Render Offload,允许应用程序使用 NVIDIA GPU
__GLX_VENDOR_LIBRARY_NAME="nvidia" # 指定使用 NVIDIA 的 GLX 实现,确保 OpenGL 调用通过 NVIDIA GPU
__VK_LAYER_NV_optimus="NVIDIA_only" # 专门用于 Vulkan 应用程序强制使用 NVIDIA GPU

对于大部分不使用vulkan图形 API 的应用程序来说,不需要关心__VK_LAYER_NV_optimus这个环境变量。

以该方式运行一个应用程序,手动执行命令如下

1
__NV_PRIME_LIBRARY_RENDER_OFFLOAD=1 __CLX_VENDOR_LIBRARY_NAME=nvidia program

如果觉得该方式比较繁琐,也可自行编写脚本并进行软链接,用于自定义需要使用 NVIDIA 的应用程序

参考脚本如下

1
2
3
4
5
6
7
8
#!/bin/bash

# 设置环境变量以使用NVIDIA显卡
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia

# 启动你的应用程序
exec program

在 HMCL 中配置 NVIDIA 加速游戏

HMCL 本身是一个游戏启动器,这里需要加速的是游戏,而非启动器本身。

先启动 HMCL,进入“设置”页面,选择“修改高级设置”

image-20240125175909038

如果选择使用prime-run的方式,可以在“自定义命令”模块的“包装命令”中填入prime-run

image-20240125182631549

如果选择设置环境变量的方式,可以在“Java 虚拟机设置”模块的”环境变量“中填入__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia

image-20240125182927742

接下来就可以运行游戏,在 NVIDIA 显卡下工作,可以通过前面提到的 NVIDIA 的监控工具查看 NVIDIA 显卡是否在工作。

参考资料

显卡驱动 | archlinuxstudio

  • 标题: 简单配置 Linux 上的 NVIDIA
  • 作者: Entropy Tree
  • 创建于 : 2024-01-25 18:35:33
  • 更新于 : 2024-03-06 17:32:19
  • 链接: https://www.entropy-tree.top/2024/01/25/simple-nvidia-setup-for-linux/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论