SDB:NVIDIA SUSE Prime

跳转至: 导航, 搜索


注意: SUSE Prime 目前并不支持 Wayland。如果你需要在 Wayland 下工作,可以阅读 SDB:NVIDIA PRIME Render Offload

简介

SUSE Prime 提供了在 Intel 显卡和 NVIDIA 显卡之间切换的工具,它适用于启用了Optimus 技术的笔记本电脑。与 Bumblebee 不同的是,使用 SUSE Prime 可以完全发挥 NVIDIA 显卡的性能。

在SUSE Prime设置下,所有应用程序都在 Intel 显卡或 NVIDIA 显卡上渲染。你可以使用一个 prime-select 工具在它们之间切换。要使这一变更生效,需要注销并重新登录系统。

适用范围

你有 Optimus 笔记本电脑,并希望能够在 NVIDIA 和 Intel GPU 之间进行切换。


安装过程

  • 请参考 SDB:NVIDIA_驱动 安装 NVIDIA 驱动。
  • 首先删除 /etc/X11/xorg.conf 文件。然后查看所有位于 /etc/X11/xorg.conf.d 下的文件,确保其中不包含任何关于 ServerLayoutDeviceScreen 的配置文件(全新安装无需清理这些文件)。
  • 安装 suse-prime 和 bbswitch-kmp-default:
sudo zypper install suse-prime bbswitch-kmp-default

使用

要在 Intel 显卡和 NVIDIA 显卡之间转换,可以运行:

sudo prime-select nvidia

或者

sudo prime-select intel

然后注销并重新登录以应用显卡变更。

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

详见: https://github.com/openSUSE/SUSEPrime

要查看当前使用的显卡,请运行:

sudo prime-select get-current

验证

要验证正在使用哪个 GPU,您可以比较以下命令的输出:

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 脚本会编辑两个系统文件。

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

当选择Intel选项时,X服务器被配置为完全忽略 NVIDIA 卡。英伟达(NVIDIA)驱动程序会让它保持睡眠状态。

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

自定义配置

如果你需要改变X配置中的 "屏幕"、"设备" 或 "服务器布局" 部分,请在 /etc/prime/xorg-nvidia.conf 或 /etc/prime/xorg-intel.conf 文件中进行修改。

其他部分(例如输入设备配置)可以在 /etc/X11/xorg.conf.d 目录下的文件中完成。

常见问题

Xorg/Wayland

可能是因为您运行在 Wayland 而不是 Xorg 下,注销后在登录界面选择 “Gnome on Xorg” 即可(其他桌面环境同理)。

如果 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

重启你的电脑。

画面撕裂

出现此种情况,你必须打开 “PRIME同步” 功能:

  1. 创建文件
sudo echo "options nvidia_drm modeset=1 " > /etc/modprobe.d/nvidia-drm-nomodeset.conf 
  1. 执行代码:
sudo dracut -f

重启

注意: 在某些情况下,修改此配置可能会导致图形界面无法进入,若出现此情况,请进入重启后进入恢复模式,删除 “/etc/modprobe.d/nvidia-drm-nomodeset.conf ” 文件,然后执行 “dracut -f ” ,然后重启

安装程序在 optimus 笔记本电脑上卡死

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

2.1 如果你使用 UEFI 安装,向下移动选择 "installation" ,按 "e" 键编辑名为 "installation" 的 grub 条目。找到以 "linuxefi /boot/vmlinuzxxx" 开头的一行,移到 "splash=silent" 之后,添加以下内容(不带括号)"nomodeset" 。按 F10 键启动。注意,安装程序将不再挂起。

2.2 如果你使用传统 BIOS 启动安装,向下移动选择 "installation",按 "F5",向下移动选择 "nomodeset" ,按回车确认。注意 "F5 Kernel" 下面现在显示 "nomodeset"。按回车键,开始安装。注意,安装程序不再挂起。

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.org/SDB:NVIDIA_drivers

9. 按照官方文件继续进行SUSE-PRIME的安装和测试:https://en.opensuse.org/SDB:NVIDIA_SUSE_Prime

10. 重启系统。