SDB:NVIDIA PRIME Render Offload
這篇文章太簡略! 這篇文章需要擴充。歡迎您依循風格規範來幫忙擴充。 |
- 本文目前只记录了如何在 KDE 桌面使用 PRIME Offload,内容需要扩充;
- 本文适用于 openSUSE KDE Wayland 会话。
目录
安装显卡驱动
详见 SDB:NVIDIA 驱动。
检查软件版本
- 使用 Plasma 5.20.2 或更高版本。
- 确保 NVIDIA 闭源驱动版本不低于 495.44。
- 确保 Qt 版本高于 Qt5.15.0
- 确保 Nvidia EGL 库已安装,它在 openSUSE 软件源的包名是
libnvidia-egl-wayland11
。
要在 XWayland 应用程序上使用带有硬件加速的 Plasma Wayland 会话,你需要确保系统已安装:
- Xorg 1.20.12 及更高版本;
- XWayland 21.1.2 及更高版本;
- libxcb 1.1.7 及更高版本。
以上条件对于风滚草用户来说,一般是自动满足的。
删除 suse-prime
suse-prime
只能在 X11 下工作,它会影响接下来的操作。
sudo zypper rm -u suse-prime
如果你根据 SDB:NVIDIA_SUSE_Prime 还安装了额外的模块,请一并卸载:
sudo zypper rm bbswitch-kmp-default
然后重启系统。
使用 modesetting 驱动
使用下列命令检查驱动是否运行在 modesettings mode:
sudo cat /sys/module/nvidia_drm/parameters/modeset
终端输出结果应该是 “Y”。
如果不是,打开 YaST,找到并打开 引导加载器 -> 内核参数(K),在 可选内核命令行参数(P) 中,填入 nvidia-drm.modeset=1
,保存设置并退出 YaST。
然后重启系统。
登录
在 KDE 登录界面选择 Plasma (wayland),然后进入桌面。
prime-run
根据官方文档,要让程序调用 NVIDIA 显卡,你可以使用下列命令:
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia [命令]
你可以将这个命令写成名为 prime-run
的 shell 脚本,放置到 $PATH
中:
#!/bin/bash __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"
然后使用此命令运行应用:
prime-run [应用程序名、命令或脚本]
其他
查看哪些应用程序在使用 xwayland
你可以安装 xlsclients:
sudo zypper in xlsclients
然后直接运行 xlsclients 即可列出当前正在使用 xwayland 的程序。
NVIDIA Optimus
有关多种 NVIDIA Optimus 方案,详见 NVIDIA Optimus - archlinux wiki。
Envycontrol
EnvyControl 是一个用于在 Linux 下,实现 Nvidia Optimus 笔记本电脑的 GPU 轻松切换的 CLI 工具。
目前OBS上有实验性的包,可以使用这个,或者手动安装:
克隆仓库(例如克隆到 ~/bin
):
cd ~/bin && git clone https://github.com/bayasdev/envycontrol.git
然后在 ~/.bashrc
文件中写入:
alias envycontrol="python3 $HOME/bin/envycontrol/envycontrol.py"
重新载入 bash shell 配置
source ~/.bashrc
使用 EnvyControl 将图形模式设置为 Hybrid:
sudo envycontrol -s hybrid --rtd3
在设置完成后,重启系统。
其他详细内容另见项目自述文件。