我在具有以下显示适配器和 X 服务器的 x86_64 计算机上使用 Linux Mint:
# inxi -G
Graphics: Card-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
Card-2: NVIDIA GK106 [GeForce GTX 650 Ti Boost]
Display Server: X.org 1.18.4 driver: nvidia tty size: 130x50 Advanced Data: N/A for root
但事实上,我只使用板载图形控制器进行显示。我希望 Xorg 忽略我的 nvidia 卡并避免使用它(这样我只能将它用于 CUDA 工作)。我的/etc/X11/xorg.conf
说:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "None"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:2@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
...但显然这种“不活跃”还不够不活跃:如果我尝试在 nVIDIA 的 nsight 中调试 CUDA 代码,我会得到
fatal:所有CUDA设备均用于显示,调试时无法使用。
我想尝试从 中删除对 nvidia 适配器的引用/etc/X11/xorg.conf
,但如果我这样做 - 文件会被重写。
所以:
xorg.conf
我的目标应该是删除引用吗?- 如果是这样,我如何防止它被重写,或者确保它在没有 nVIDIA 卡的情况下被重写?
- 如果不是,我该如何让 Xorg 完全忽略我的 nVIDIA 卡?也许是某种模块的摆弄?
编辑:
我尝试过使用nvidia-settings
.我在主列表中选择了“Prime Profiles”,然后在“选择您想要使用的 GPU”中从“nVIDIA”切换到“Intel”。然而,这阻止了我完全使用 CUDA - 运行时无法识别任何可用的 GPU - 而在我至少能够运行(而不是调试)我的代码之前。而且,奇怪的是,这样做会让它/etc/X11/xorg.conf
完全消失。