我正在尝试设置 ubuntu 16.04 以同时使用 amd gpu 和 Nvidia gpu。amd gpu 是 R9 390x,Nvidia 是 1070 GTX。
我已经能够一次使用一张卡单独安装每个驱动程序而没有任何问题,但让它们一起工作却是一个大问题。
我希望使用 nvidia 进行显示和加密挖掘,而使用 amd 卡仅用于挖掘。
我已尝试使用此链接中的说明: Ubuntu 16.04 上用于 CUDA 的 NVIDIA 卡和用于显示的 AMD 卡 但是它以相反的方式使用了卡(AMD 用于显示),并且即使按照说明操作(但先安装 AMD 卡,最后安装 NVIDIA),在我安装第二个/NVIDIA GPU 后尝试登录时,我也会注销。
理想情况下,我需要一份关于如何在 16.04 上安装 AMD 驱动程序和 NVIDIA 驱动程序并仍然使用两张卡(Nvidia 作为显示器)的指南。
它在 Windows 10 上运行良好,但我无法让它们在 Ubuntu 上同时运行,即使在以前的发行版上也是如此。
任何帮助,将不胜感激!
答案1
- 假设计算机中没有安装驱动程序和 GPU
- 将 AMD GPU 添加到计算机,启动 Ubuntu
- 安装 amdgpu-pro 驱动程序
- 安装 nvidia 驱动程序(例如通过
sudo apt install nvidia-384
) - 关闭计算机
- 将 NVidia 卡添加到计算机,启动 Ubuntu
- 通过切换到控制台模式
Ctrl+Alt+F1
sudo nvidia-xconfig
sudo nano /etc/X11/xorg.conf
- 注释或删除除 Monitor、Device 和 Screen 部分之外的所有行(在 root 下编辑)。示例结果:
“监控”部分 标识符“Monitor0” 供应商名称“未知” 模型名称“未知” 水平同步 28.0 - 33.0 垂直刷新 43.0 - 72.0 选项“DPMS” 结束部分 “设备”部分 标识符“Device0” 驱动程序“nvidia” 供应商名称“NVIDIA Corporation” 结束部分 “屏幕”部分 标识符“Screen0” 设备“Device0” 监控“Monitor0” 默认深度 24 “显示”子部分 深度 24 结束子节 结束部分
lspci | egrep -h "VGA|3D controller"
- 记住每行开头的标识符:
01:00.0 VGA 兼容控制器:Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT [Radeon R9 290X] (rev 80) 02:00.0 VGA 兼容控制器:NVIDIA Corporation GK110 [GeForce GTX TITAN] (rev a1)
sudo nano /etc/X11/xorg.conf
并使用这些标识符:
“监控”部分 ... 没有变化 ... 结束部分 “设备”部分 标识符“Device0” 驱动程序“nvidia” 供应商名称“NVIDIA Corporation” BusId "PCI:2@0:0:0" # 添加此行(标识符 2 取自上一步的 lspci 输出) 结束部分 # 为 AMD 卡添加类似部分: “设备”部分 标识符“Device1” 驱动程序“amdgpu” BusId“PCI:1@0:0:0”#从 lspci 输出中获取的标识符 1 结束部分 “屏幕”部分 标识符“Screen0” 设备“Device0”#此标识符应来自连接到显示器的 GPU 设备(您需要 NVidia,因此它是 Device0) 监控“Monitor0” 默认深度 24 “显示”子部分 深度 24 结束子节 结束部分
- 关闭
- 将显示器连接到 NVidia 卡
- 启动 Ubuntu - 一切正常
如果它不起作用-请提供的输出lspci | egrep -h "VGA|3D controller"
,您的/etc/X11/xorg.conf
和/var/log/Xorg.0.log
。
PS,请有人指导我如何正确地“发布”这些类似问题的答案: