[vfio-users] [help] 2 identical GPUs in Arch

Ben J btpprograms at gmail.com
Sun Feb 21 17:33:31 UTC 2016


Yes. You have no choice but to PCI stub both since pci stubs can only work
by device ID. So you need to PCI stub them, then vfio bind the guest card,
then nvidia bind the host card. You can probably set that up to happen on
launch using systemd but I currently just have a script that I launch
manually. My X server fails on startup with that same error but as soon as
I bind the nvidia card the server starts successfully.
On Feb 21, 2016 12:20 PM, "Garland Key" <david.garland.key at gmail.com> wrote:

> Just to be sure I understand you correctly, you're suggesting that I pci
> stub both of them and then bind one of them to nvidia after that, correct?
> I just want to be clear that this is correct and that I'm using the correct
> terminology so that I can research it further with the best results.
>
> On Sun, Feb 21, 2016 at 12:05 PM Ben J <btpprograms at gmail.com> wrote:
>
>> Did you pci stub them? If you pci stubbed both cards then then X
>> obviously won't launch since it has no active graphics device. The module
>> is probably failing because it has no card to bind to and X is set to
>> launch using the nvidia driver. If you bind one of the cards to nvidia, X
>> will probably launch.
>> On Feb 21, 2016 12:01 PM, "Garland Key" <david.garland.key at gmail.com>
>> wrote:
>>
>>> It seems xorg crashed because the nvidia kernel module failed.  Here's
>>> the xorg log file:
>>>
>>> [    10.474] (--) Log file renamed from "/var/log/Xorg.pid-1427.log" to
>>> "/var/log/Xorg.0.log"
>>> [    10.474]
>>> X.Org X Server 1.18.1
>>> Release Date: 2016-02-08
>>> [    10.474] X Protocol Version 11, Revision 0
>>> [    10.474] Build Operating System: Linux 4.2.5-1-ARCH x86_64
>>> [    10.474] Current Operating System: Linux makeshift 4.4.1-2-ARCH #1
>>> SMP PREEMPT Wed Feb 3 13:12:33 UTC 2016 x86_64
>>> [    10.474] Kernel command line: initrd=\initramfs-linux.img
>>> root=/dev/sda2 rw resume=/dev/sda3 quiet splash rd.modules-load=vfio-pci
>>> intel_iommu=on usbhid.quirks=0x1B1C:0x1B13:0x20000408
>>> [    10.474] Build Date: 11 February 2016  09:57:03AM
>>> [    10.474]
>>> [    10.474] Current version of pixman: 0.34.0
>>> [    10.474] Before reporting problems, check http://wiki.x.org
>>> to make sure that you have the latest version.
>>> [    10.474] Markers: (--) probed, (**) from config file, (==) default
>>> setting,
>>> (++) from command line, (!!) notice, (II) informational,
>>> (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
>>> [    10.474] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Feb 21
>>> 10:37:06 2016
>>> [    10.474] (==) Using config file: "/etc/X11/xorg.conf"
>>> [    10.474] (==) Using system config directory
>>> "/usr/share/X11/xorg.conf.d"
>>> [    10.475] (==) ServerLayout "Layout0"
>>> [    10.475] (**) |-->Screen "Screen0" (0)
>>> [    10.475] (**) |   |-->Monitor "Monitor0"
>>> [    10.475] (**) |   |-->Device "Device0"
>>> [    10.475] (**) |-->Input Device "Keyboard0"
>>> [    10.475] (**) |-->Input Device "Mouse0"
>>> [    10.475] (==) Automatically adding devices
>>> [    10.475] (==) Automatically enabling devices
>>> [    10.475] (==) Automatically adding GPU devices
>>> [    10.475] (==) Max clients allowed: 256, resource mask: 0x1fffff
>>> [    10.475] (WW) `fonts.dir' not found (or not valid) in
>>> "/usr/share/fonts/100dpi/".
>>> [    10.475] Entry deleted from font path.
>>> [    10.475] (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
>>> [    10.475] (WW) `fonts.dir' not found (or not valid) in
>>> "/usr/share/fonts/75dpi/".
>>> [    10.475] Entry deleted from font path.
>>> [    10.475] (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
>>> [    10.475] (==) FontPath set to:
>>> /usr/share/fonts/misc/,
>>> /usr/share/fonts/TTF/,
>>> /usr/share/fonts/OTF/,
>>> /usr/share/fonts/Type1/
>>> [    10.475] (==) ModulePath set to "/usr/lib/xorg/modules"
>>> [    10.475] (WW) Hotplugging is on, devices using drivers 'kbd',
>>> 'mouse' or 'vmmouse' will be disabled.
>>> [    10.475] (WW) Disabling Keyboard0
>>> [    10.475] (WW) Disabling Mouse0
>>> [    10.475] (II) Loader magic: 0x81ad60
>>> [    10.475] (II) Module ABI versions:
>>> [    10.475] X.Org ANSI C Emulation: 0.4
>>> [    10.475] X.Org Video Driver: 20.0
>>> [    10.475] X.Org XInput driver : 22.1
>>> [    10.475] X.Org Server Extension : 9.0
>>> [    10.475] (++) using VT number 1
>>>
>>> [    10.475] (II) systemd-logind: logind integration requires -keeptty
>>> and -keeptty was not provided, disabling logind integration
>>> [    10.478] (--) PCI:*(0:1:0:0) 10de:13c2:1458:367a rev 161, Mem @
>>> 0xfa000000/16777216, 0xc0000000/268435456, 0xd0000000/33554432, I/O @
>>> 0x0000e000/128, BIOS @ 0x????????/524288
>>> [    10.478] (--) PCI: (0:2:0:0) 10de:13c2:1458:367a rev 161, Mem @
>>> 0xf8000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @
>>> 0x0000d000/128, BIOS @ 0x????????/524288
>>> [    10.478] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file
>>> or directory)
>>> [    10.478] (II) LoadModule: "glx"
>>> [    10.478] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
>>> [    10.482] (II) Module glx: vendor="NVIDIA Corporation"
>>> [    10.482] compiled for 4.0.2, module version = 1.0.0
>>> [    10.482] Module class: X.Org Server Extension
>>> [    10.482] (II) NVIDIA GLX Module  361.28  Wed Feb  3 15:10:57 PST 2016
>>> [    10.482] (II) LoadModule: "nvidia"
>>> [    10.483] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
>>> [    10.483] (II) Module nvidia: vendor="NVIDIA Corporation"
>>> [    10.483] compiled for 4.0.2, module version = 1.0.0
>>> [    10.483] Module class: X.Org Video Driver
>>> [    10.483] (II) NVIDIA dlloader X Driver  361.28  Wed Feb  3 14:48:10
>>> PST 2016
>>> [    10.483] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
>>> [    10.483] (II) Loading sub module "fb"
>>> [    10.483] (II) LoadModule: "fb"
>>> [    10.483] (II) Loading /usr/lib/xorg/modules/libfb.so
>>> [    10.483] (II) Module fb: vendor="X.Org Foundation"
>>> [    10.483] compiled for 1.18.1, module version = 1.0.0
>>> [    10.483] ABI class: X.Org ANSI C Emulation, version 0.4
>>> [    10.483] (II) Loading sub module "wfb"
>>> [    10.483] (II) LoadModule: "wfb"
>>> [    10.483] (II) Loading /usr/lib/xorg/modules/libwfb.so
>>> [    10.484] (II) Module wfb: vendor="X.Org Foundation"
>>> [    10.484] compiled for 1.18.1, module version = 1.0.0
>>> [    10.484] ABI class: X.Org ANSI C Emulation, version 0.4
>>> [    10.484] (II) Loading sub module "ramdac"
>>> [    10.484] (II) LoadModule: "ramdac"
>>> [    10.484] (II) Module "ramdac" already built-in
>>> [    10.489] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module.
>>> Please see the
>>> [    10.489] (EE) NVIDIA:     system's kernel log for additional error
>>> messages and
>>> [    10.489] (EE) NVIDIA:     consult the NVIDIA README for details.
>>> [    10.489] (EE) No devices detected.
>>> [    10.489] (EE)
>>> Fatal server error:
>>> [    10.489] (EE) no screens found(EE)
>>> [    10.489] (EE)
>>> Please consult the The X.Org Foundation support
>>> at http://wiki.x.org
>>>  for help.
>>> [    10.489] (EE) Please also check the log file at
>>> "/var/log/Xorg.0.log" for additional information.
>>> [    10.489] (EE)
>>>
>>> On Sun, Feb 21, 2016 at 11:10 AM Alex Williamson <
>>> alex.williamson at redhat.com> wrote:
>>>
>>>> On Sun, Feb 21, 2016 at 9:04 AM, Garland Key <
>>>> david.garland.key at gmail.com> wrote:
>>>>
>>>>> Thanks Alex,
>>>>>
>>>>> I consider myself an intermediate power user. I know enough to
>>>>> understand what the line that you provided does, but not enough to write a
>>>>> solution of my own. I inserted the line that you provided above in
>>>>> /modprobe.d/vfio.conf and it caused X to fail. I had to alt+f2 to comment
>>>>> it out, rebuilt initramfs and then reboot.
>>>>>
>>>>> It was suggested that I could do this through a systemd service in the
>>>>> arch irc channel but nobody was able to provide details other than "man
>>>>> systemd.service".  Any further pointers is greatly appreciated.
>>>>>
>>>>
>>>> Why does Xorg fail and what is a systemd script supposed to do
>>>> differently to make it work?  Maybe you just need to create an xorg.conf
>>>> stub with a BusID to specify the remaining card for the host.
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160221/f6fec21e/attachment.htm>


More information about the vfio-users mailing list