9
3
2019
12

NVIDIA PRIME 配置笔记

本文来自依云's Blog,转载请注明。

这是由 NVIDIA 官方提供的新的双显卡配置方案(官方文档),需要最新的驱动及 Xorg 支持。其中 nvidia 驱动已经位于 Arch Linux 官方仓库中(版本号 435.21)。相关 Xorg 补丁还在 git 上,并没有新版本放出,所以需要自行编译包含补丁的版本。这里有现成的 PKGBUILD。我打包好的版本也提供下载

2019年11月25日更新:xorg-server 1.20.6 已经进入 Arch Linux 官方仓库,包含需要的补丁了。

我的硬件是 ThinkPad T470p,Intel Corporation HD Graphics 630 核显和 GeForce 940MX 独显。核显的特点是:省电、支持视频编解码加速。独显的特点是:Minecraft 能开光影,FPS 也要高一点。用来跑火狐的话可以正确渲染 FishGL

配置方法如下。

首先把 bbswitch 啥的都卸载了吧。虽然注意点不卸载也没事,但是毕竟装着没意义还容易出问题。然后看看 /etc/modprobe.d 下有没有黑名单 nvidia 的驱动,给它取消了。我有一个 options nvidia_drm modeset=1 的配置,不知道有没有影响。

Xorg 这边要加一段配置。就保存在 /etc/X11/xorg.conf.d/nvidia.conf 好了。

Section "ServerLayout"
  Identifier "layout"
  Screen 0 "iGPU"
  Option "AllowNVIDIAGPUScreens"
EndSection

Section "Device"
  Identifier "iGPU"
  Driver "modesetting"
  BusID "PCI:0:2:0"
EndSection

Section "Screen"
  Identifier "iGPU"
  Device "iGPU"
EndSection

Section "Device"
  Identifier "dGPU"
  Driver "nvidia"
EndSection

那个 BusID 的值要自己看着 lspci | grep VGA 来改。

如果你之前是用N卡跑 Xorg 的,需要把 xrandr --setprovideroutputsource modesetting NVIDIA-0 之类的设置去掉。

然后重启系统就可以了。请做好通过 tty 或者 ssh 修复配置的准备。

默认情况下,Xorg 及其上的程序运行于i卡。使用 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia 环境变量来指定使用N卡。为了方便起见,做一个别名好了:

alias nvrun="__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia"

然后就可以 nvrun minecraft-launcher 啦~

Minecraft BSL 光影效果

对了,要注意一下的是,这两个环境变量对视频硬解也是有效的。比如我如果给 mpv 使用这两个环境变量的话,mpv 就会黑屏(我的N卡不支持硬解……

Category: Linux | Tags: linux nvidia 显卡驱动 | Read Count: 100298
TripleHeadMonster 说:
Sep 04, 2019 08:09:09 AM

话说能在不用的时候把n卡关掉吗?还是说要自开机起一直给n卡通电?

Avatar_small
依云 说:
Sep 04, 2019 11:20:08 AM

得一直开着,不用的时候处于待机状态。

lyman 说:
Oct 03, 2019 01:02:48 AM

感谢分享,这个方案比 nvidia-xrun 更方便

Tee 说:
Oct 06, 2019 06:26:42 PM

感谢分享!这个方案比 optimus-manager 更方便(gdm+gnome shell)

Tee 说:
Oct 08, 2019 10:05:27 AM

似乎目前还不支持 扩展显示器 https://devtalk.nvidia.com/default/topic/1061293/linux/-435-17-am-i-observing-the-proper-results-with-the-new-prime-/post/5375031/#5375031

Avatar_small
依云 说:
Oct 08, 2019 02:33:22 PM

链接没提到扩展显示器呀。

Tee 说:
Oct 09, 2019 10:25:43 AM

emmm 我英文比较差劲,可能误会意思了,看见后面的楼层写着“have an issue with external (HDMI) displays”以为跟我一样的问题

out 说:
Oct 09, 2019 06:01:37 PM

mpv 应该可以设置 hwdec=vaapi-copy ,让N卡使用I卡的硬解。(在nvidia-xrun上没问题)

Avatar_small
依云 说:
Oct 10, 2019 12:48:26 AM

嗯,是可以的。CPU 使用率35%左右。使用I卡的时候是40%左右。而我使用默认的 vaapi(不 copy)只有7%。所以还是不要用N卡放视频啦。

LXYan 说:
Nov 27, 2019 12:14:46 AM

完全放弃折腾nVidia了,bbswitch直接关死。
哪怕有btrfs快照,我也不会把生命浪费在nVidia上了。就当多花几千块钱给笔电加了块配重吧。
看现在Linux对AMD越来越友好,也许(很久以后)选笔电就选AMD了?

firefoxuser 说:
Dec 28, 2019 05:58:47 PM

用970m独显,使用火狐非常卡,滚屏基本就是一秒一卡那种,。根据我的试验流畅度 970m+linux< gtx1650 +linux<intel HD Graphics P530+linux<intel HD Graphics 4400+windows10<<gtx1650+windows10。 只有win10+nvidia才能称得上流畅,能跟chromium 相比。你的体验如何呢?

Avatar_small
依云 说:
Dec 28, 2019 11:16:27 PM

之前用 optirun 和只用 N 卡的时候跑火狐没感觉太大的区别。现在 prime offload 方案,火狐会报错,然后就 fallback 到一个好像是没 GPU 的渲染方案了。

因为太少使用,我并没有在 Win10 那边安装火狐,不知道那边情况如何。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

| Theme: Aeros 2.0 by TheBuckmaker.com