SDB:NVIDIA SUSE Prime

跳转到:导航搜索


在 openSUSE 上测试

推荐文章

Icon-manual.png


由于 NVIDIA 现在支持 switcherooctl,对于具有混合显卡的笔记本电脑,该方法比 SUSE Prime 更受青睐。请考虑阅读 SDB:NVIDIA Switcheroo Control

SUSE Prime 是一种用于在 Optimus 笔记本电脑上切换集成 Intel GPU 和 NVIDIA GPU 的工具。它是 Bumblebee 的替代方案。

使用 SUSE Prime 设置后,所有应用程序都将在 Intel 或 NVIDIA 上渲染。您可以使用prime-select工具进行切换。更改生效需要注销并重新登录。

Icon-warning.png
警告:SUSE Prime 是 X 服务器的设置。通常,它不适用于 Wayland。如果要在 Wayland 上使用它,请考虑使用卸载方法

情况

您拥有 Optimus 笔记本电脑,并希望能够切换 NVIDIA 和 Intel GPU。


流程

  • 安装 NVIDIA 专有驱动程序:SDB:NVIDIA drivers
  • 确保您没有/etc/X11/xorg.conf文件和在/etc/X11/xorg.conf.d目录中包含 "ServerLayout"、"Device" 或 "Screen" 部分的任何配置文件。(干净安装可以满足此要求。)
  • 安装suse-primebbswitch-kmp-default软件包。

用法

要在 Intel 和 NVIDIA 之间切换,以 root 身份运行

# prime-select boot nvidia

# prime-select boot intel

# prime-select boot offload

建议使用最新版本,因为它提供了为特定应用程序使用 GPU 的能力(请参阅 卸载)。

然后注销并重新登录以应用更改。

请注意:如果您有 Optimus 笔记本电脑,则需要额外的步骤来确保 Nvidia 显卡已关闭。需要安装一个 systemd 服务。

请参阅 https://github.com/openSUSE/SUSEPrime

验证

要验证正在使用的 GPU,您可以比较以下命令的输出(请记住,如果使用卸载方法,请使用 prime-run

Intel

# xrandr --listproviders
    Providers: number : 1
    Provider 0: ... associated providers: 0; name: modesetting
# glxinfo | grep 'OpenGL renderer string'
    OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile

NVIDIA

# xrandr --listproviders
    Providers: number : 2
    Provider 0: ... associated providers: 1; name: NVIDIA-0
    Provider 1: ... associated providers: 1; name: Intel
# glxinfo | grep 'OpenGL renderer string'
    OpenGL renderer string: GeForce GT 640M LE/PCIe/SSE2

卸载

使用最新驱动程序,您可以执行以下操作

# prime-select boot offload

这允许在将特定计算和渲染卸载到 NVIDIA GPU 的同时使用集成 GPU。为了定义应卸载到 NVIDIA GPU 的应用程序/命令,您可以使用

prime-run steam

来运行 Steam 或任何其他使用 NVIDIA GPU 的应用程序。

它是如何工作的?

prime-select脚本会修改系统中的两件事

  • 在原始实现和 NVIDIA 实现之间切换 X 服务器的 GLX 扩展。
  • 复制/usr/share/prime/xorg-nvidia.conf/usr/share/prime/xorg-intel.conf/etc/X11/xorg.conf.d目录。

当选择 Intel 选项时,X 服务器配置为完全忽略 NVIDIA 显卡。NVIDIA 驱动程序将使其保持休眠状态。

当选择 NVIDIA 选项时,X 服务器将使用两张卡 - NVIDIA 用于渲染,Intel 作为输出提供者。输出提供者的配置由 X 服务器在启动时自动完成。

自定义配置

如果您需要更改 X 配置的“Screen”、“Device”或“ServerLayout”部分,请在/usr/share/prime/xorg-nvidia.conf/usr/share/prime/xorg-intel.conf文件中进行更改。

任何其他部分(例如输入设备配置)都可以在/etc/X11/xorg.conf.d目录。

的故障排除

Xorg/Wayland

如果 Nvidia 驱动程序在登录时未激活(如果您选择它),您可能正在使用 Wayland 协议。要验证您正在使用的 X 服务器

# loginctl 
    SESSION  UID USER   SEAT  TTY
     1 1000 youruser seat0

然后

# loginctl show-session 1 | grep Type
    Type=x11

如果是 wayland 而不是 x11,您正在使用 Wayland。

要配置系统以使用 X11

编辑

/etc/gdm/custom.conf

替换

#WaylandEnable=false

WaylandEnable=false

重启。

撕裂问题

您可能会遇到激活 Nvidia 后出现一些撕裂问题。要消除此问题,您必须激活“PRIME 同步”。

创建文件

/etc/modprobe.d/nvidia-drm-nomodeset.conf 

并插入行

options nvidia_drm modeset=1 

然后使用命令

# sudo dracut -f

重启。

Icon-warning.png
警告:在某些配置中,PRIME 同步不起作用,X 服务器将无法启动,如果发生这种情况,请在恢复模式下重启,删除文件/etc/modprobe.d/nvidia-drm-nomodeset.conf使用dracut -f然后重启。

安装程序在 Optimus 笔记本电脑上冻结

1. 使用 openSUSE Tumbleweed live USB/DVD 启动笔记本电脑。

2a. 如果您正在使用 UEFI 进行安装,向下移动以选择“installation”,按“e”编辑名为“installation”的 grub 条目。找到以“linuxefi /boot/vmlinuzxxx”开头的行,在“splash=silent”之后移动并添加以下内容(不要带方括号)“nomodeset”。按 F10 启动。请注意,安装程序不再挂起。

2b. 如果您正在使用传统 BIOS 启动进行安装,向下移动以选择“installation”,按“F5”,向下移动以选择“nomodeset”,按 Enter 确认。请注意,在“F5 Kernel”下方,现在显示“nomodeset”。按 Enter 开始安装。请注意,安装程序不再挂起。

3. 安装 openSUSE Tumbleweed。

4. 更新仓库并升级系统

$ "sudo zypper ref && sudo zypper dup". 

5. 重启系统。

6. 删除 nomodeset 内核选项。

编辑

/etc/default/grub

找到以

"GRUB_CMDLINE_LINUX_DEFAULT="

删除

nomodeset

7. 更新 grub。

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

8. 按照官方文档进行 nvidia 驱动程序安装:https://en.opensuse.net.cn/SDB:NVIDIA_drivers

9. 按照官方文档进行 suse-prime 安装和测试:https://en.opensuse.net.cn/SDB:NVIDIA_SUSE_Prime

10. 重启系统