如何在连接的 2 个 GPU 中的 1 个上运行 X?

Uri*_*era 6 xorg

我有 2 个 GPU 连接到我的 PC,一个 AMD Radeon HD 7770 和一个 nVidia GeForce 8600GT,我只想在 nVidia 卡上运行 X 服务器。

我怎样才能做到这一点?

编辑:由于我的 nVidia 卡无法使用,所以我将其换成了 Radeon HD 4770,问题仍然存在,尽管现在我想使用 HD 4770。

这是输出lspci -nnk | grep -iEA3 vga

    01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI   Device [1002:683d]
Subsystem: PC Partner Limited Device [174b:e215]
Kernel driver in use: fglrx_pci
Kernel modules: fglrx, radeon

   02:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI       Radeon HD 4770 [RV740] [1002:94b3]
Subsystem: XFX Pine Group Inc. Device [1682:2900]
Kernel modules: radeon
   02:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI RV710/730 HDMI Audio [Radeon HD 4000 series] [1002:aa38]
Run Code Online (Sandbox Code Playgroud)

这是lspci -v它的输出相当长所以我把它贴在这里

小智 3

plain 的输出是什么lspci -v?(没有上面提到的 grep ?)

确保您的 BIOS 设置为使用您想要用作 VGA 主卡的卡。它可能有一个类似“主视频:PCIE16-slot1,PCIE-slot2,..”的选项。确保将其设置为 NVidia 卡的插槽。

将模块列入黑名单可能会起作用,但我想 Xorg 服务器仍会尝试在另一张卡上运行 vesa 驱动程序。另一种选择可能是使用 pci-stub 驱动程序从本质上“隐藏”Linux 设备。看这里:

http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

..您可能需要将这些命令添加到启动早期运行的脚本中。

否则,您需要自定义 /etc/X11/xorg.conf 来强制 xserver 仅在一个 GPU 上运行。否则,Xorg 服务器将扫描 PCI 总线并帮助加载它找到的任何驱动程序并(大概)尝试使用它们。执行man xorg.conf后运行,Xorg -configure在当前目录生成一个xorg.conf.new。然后编辑生成的数据,特别注意设备部分下的 BusID 字段。然后查看配置的“屏幕”部分,并删除任何引用您不想使用的设备(可能是 Card0 或 Card1)的屏幕。

但是,您可能需要重新考虑您的用例。从你的评论来看:

我想使用 HD 4770 和适用于 X 的 radeon 驱动程序以及适用于 Windows 虚拟机的 HD 7770,或者仅使用 HD 4770 而忽略 HD 7770。

尽管看起来很简单,但这是一个非常非常艰巨的任务。问题是,要么您需要一个具有 IOMMU 的系统,该系统可以支持使用硬件虚拟化重新路由 PCI(-E) 总线(这需要 CPU、BIOS 和芯片组支持)。很少有主板具有必要的完整支持(大多数主板都有损坏的 BIOS 表)。以下是某人试图让华硕主板与 virtualbox 配合使用并遇到 BIOS 问题的描述:

https://unix.stackexchange.com/questions/56777/enabling-iommu-in-the-kernel-for-graphics-card-pass-through

即使具有足以支持网卡直通等功能的 IOMMU 系统,在使用显卡时也会失败,因为由于遗留原因,显卡仍被 pci 总线视为“特殊”卡(特别是 BIOS 标记的主卡) 。

否则,您将陷入对各种虚拟机管理程序使用实验性黑客尝试使用 paravirt PCI 直通支持来实现此类工作的困境。Xen 声称支持在非主来宾中使用 radeon 卡(并使用 PCIback 驱动程序隐藏)。他们还声称能够将英特尔卡传递给客人,即使它是主机上的主卡。我个人从来没有让它发挥作用。由于缺乏文档,在这种情况下 NVidia 卡总是更难处理。VMWare、KVM 或 virtualbox 很可能对此有更好的支持,我不知道。

您可以在此处找到有关 Xen 图形直通的信息: http: //wiki.xen.org/wiki/Xen_VGA_Passthrough

确实,如果您没有有效的 IOMMU 支持,请放弃尝试运行具有显卡直通功能的虚拟机,这样可以避免痛苦。