在很大程度上,这个问题已经被问过了,但答案中的构思有点过时,或者说实话不够明确。因此,冒着“已经问过”的惩罚风险,我的目标是:
我正在尝试隔离集成的英特尔视频以作为主要功能提供所有功能,并隔离未连接显示器的 Nvidia GPU 以用于 Cuda 工作。
以下是主要参考/先前的询问:
如何为 xserver 配置 igpu 以及为 cuda 配置 nvidia gpu?
不幸的是,经过几天的努力xorg.conf
,我还是没有成功。我也不愿意尝试,bumblebee
因为在更好地理解问题之前,让问题变得更加复杂似乎是愚蠢的。
我当前的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:5@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
您可以看到 GPU 上的进程:
root@zeus:~# nvidia-smi
Mon Nov 27 16:48:35 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90 Driver Version: 384.90 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 106... Off | 00000000:05:00.0 Off | N/A |
| 0% 42C P8 6W / 120W | 257MiB / 3013MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1798 G /usr/lib/xorg/Xorg 59MiB |
| 0 4052 G /usr/bin/gnome-shell 192MiB |
| 0 9880 G /usr/bin/python 2MiB |
+-----------------------------------------------------------------------------+
真正令人沮丧的是,由于这个原因,颜色出现了异常。颜色实际上发生了变化(例如,绿色现在变成了红色)lua
。conky
此安装已完成--dkms --no-opengl-files
答案1
看来我已经接近目标了。最终的解决方法来自这里: https://devtalk.nvidia.com/default/topic/970144/linux/intel-for-display-nvidia-for-cuda-optimus-bug-/1
- 使用 Prime 切换到 Intel
sudo prime-select intel
- 删除链接
sudo rm /usr/bin/nvidia-smi
bash
为您安装的版本(在我的情况下是 384)创建一个包装器。请注意,当您执行驱动程序时,您必须更新它。
nano /usr/bin/nvidia-smi
#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/nvidia-384; /etc/alternatives/x86_64-linux-gnu_nvidia_smi "$@"
sudo chmod +x /usr/bin/nvidia-smi
重启