我使用的是 Ubuntu 16.04,因为我觉得这个操作系统更适合处理卷积神经网络 (CNN)。安装 Ubuntu 的过程很顺利,直到我想在同一系统上设置两个显卡:
- NVIDIA 970 GTX
- AMD R9 380
我希望将 NVIDIA 卡仅用于 CUDA,以便能够使用其所有图形内存,并将 AMD 用于图形用户界面。为此,所有显示器都将插入此卡。
问题:
- 当我安装 nvidia 和 cuda 8.0 驱动程序时一切似乎正常,但是当我安装 AMD 驱动程序时,我无法登录 lightdm。
- 如果我将显示器插入 AMD 卡上,它会说 lightdm 在低图形模式下运行并且什么都不工作。
- 修改 xorg.conf 文件没有任何区别,因为它被 gpu-manager 覆盖
我找不到任何解释如何操作的教程。
答案1
在开始之前,我建议安装 ssh,以便在出现问题时能够远程关闭系统。为此,请使用以下命令:
sudo apt-get install ssh
要关闭系统,您必须使用另一台计算机或移动设备进行 ssh 并使用此命令:
sudo shutdown -r now
步骤1
首先,您必须物理移除 AMD 卡,保留 NVIDIA 卡并安装 CUDA 和 NVIDIA 驱动程序。您可以从此处下载 cuda:https://developer.nvidia.com/cuda-downloads
使用此命令确保一切正常:
nvidia-smi
第2步
此时,由于我们正在处理图形卡,我们必须修改 grub 以便以控制台模式启动。
使用您最喜欢的编辑器(在我的情况下是 joe)编辑默认的 grub 配置文件:
sudo joe /etc/default/grub
并修改以下几行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console
对于这些:
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console
最后使用此命令更新 grub:
sudo update-grub
步骤3
关闭系统并移除 NVIDIA 卡并插入 AMD 卡。打开计算机并安装最新的 AMD 图形驱动程序。就我而言,我使用以下命令安装驱动程序:
wget https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-16.40-348864.tar.xz
tar -Jxvf amdgpu-pro-16.40-348864.tar.xz
cd amdgpu-pro-16.40-348864/
./amdgpu-pro-install
sudo usermod -a -G video $USER
重启电脑。现在你可以使用以下命令启动 lightdm(用户界面):
sudo service lightdm start
一切都应该按预期工作,现在您可以使用系统设置来设置您的显示。
步骤4
关闭系统,然后添加 NVIDIA 卡,不要移除 AMD(此时您的系统中将有两张显卡)。打开计算机并使用您的用户名登录,但不要启动 LIGHTDM!!
此时,gpu-manager 已自动为控制台模式设置了两个显卡,并为 lightdm 仅设置了 AMD(因为我们在上一步中启动了 lightdm)。如果此时运行 lightdm,gpu-manager 会造成混乱。所以现在我们必须完全禁用 gpu-manager。为此,我们必须再次修改 grub:
sudo joe /etc/default/grub
并将以下几行替换:
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console
这些:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nogpumanager"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console
最后使用此命令更新 grub:
sudo update-grub
步骤5
重新启动系统,如果 lightdm 无法正确启动(出现黑屏),则必须按 Ctrl+F1,以控制台模式登录并将此命令添加到 rc.local 文件:
sudo joe /etc/rc.local
在“exit 0”之前添加此行:
service lightdm start
重新启动系统,现在一切都可以正常工作......
在控制台中,您可以使用以下命令检查两个图形 CAD 是否都在使用中:
lspci -nnk | grep -i vga -A3 | grep 'in use'
Kernel driver in use: amdgpu
Kernel driver in use: nvidia
并且 nvidia-smi 应该可以正常工作。显示您正在使用 0 兆字节的内存:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| 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 970 Off | 0000:02:00.0 Off | N/A |
| 30% 42C P0 36W / 163W | 0MiB / 4036MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+