Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm currently setting up my new desktop computer.
There are two graphics cards installed on the Mainboard (MSI 970A-G43):
- Nvidia Geforce GTX 650 Ti Boost (Vendor: Giga-byte)
- Nvidia Geforce 210 (Vendor: EVGA)
My intention was to setup a KVM Virtual Machine with Windows, use VGA Passthrough with the high-performance card (GTX 650), while running my linux desktop on the Geforce 210. But I don't get that far.
Both of the cards are plugged into the mainboard's PCI Express slots.
However, the Geforce 210 card is currently not working as expected:
During boot, only the GTX650 (connected to the first PCI-E slot in the mainboard) will output a video signal.
Even if I only connect the 210, the screen remains black.
If I remove the 650 from the mainboard, the 210 card works.
I also tried to boot up Windows (on the host computer) and both cards are working there.
It's not that linux isn't recognizing the secondary GPU (it does; see hwinfo below), but I can't use it to display anything. KDE Monitor settings does not allow me to configure the second gpu either.
hwinfo reports:
Code:
root@JPS-Desktop:~ # hwinfo --gfxcard
34: PCI 100.0: 0300 VGA compatible controller (VGA)
[Created at pci.319]
Unique ID: VCu0.73qzEg7BLY1
Parent ID: _Znp.FMDgKnDywJ4
SysFS ID: /devices/pci0000:00/0000:00:02.0/0000:01:00.0
SysFS BusID: 0000:01:00.0
Hardware Class: graphics card
Model: "nVidia VGA compatible controller"
Vendor: pci 0x10de "nVidia Corporation"
Device: pci 0x11c2
SubVendor: pci 0x1458 "Giga-byte Technology"
SubDevice: pci 0x356d
Revision: 0xa1
Driver: "nvidia"
Driver Modules: "nvidia"
Memory Range: 0xf6000000-0xf6ffffff (rw,non-prefetchable)
Memory Range: 0xc8000000-0xcfffffff (ro,non-prefetchable)
Memory Range: 0xd0000000-0xd1ffffff (ro,non-prefetchable)
I/O Ports: 0xe000-0xefff (rw)
Memory Range: 0xf7000000-0xf707ffff (ro,non-prefetchable,disabled)
IRQ: 88 (19922 events)
Module Alias: "pci:v000010DEd000011C2sv00001458sd0000356Dbc03sc00i00"
Driver Info #0:
Driver Status: nvidiafb is not active
Driver Activation Cmd: "modprobe nvidiafb"
Driver Info #1:
Driver Status: nouveau is not active
Driver Activation Cmd: "modprobe nouveau"
Driver Info #2:
Driver Status: nvidia is active
Driver Activation Cmd: "modprobe nvidia"
Config Status: cfg=no, avail=yes, need=no, active=unknown
Attached to: #10 (PCI bridge)
36: PCI 200.0: 0300 VGA compatible controller (VGA)
[Created at pci.319]
Unique ID: B35A.krMl9Oq+G5C
Parent ID: 8otl.HB6AIsoa_f3
SysFS ID: /devices/pci0000:00/0000:00:04.0/0000:02:00.0
SysFS BusID: 0000:02:00.0
Hardware Class: graphics card
Model: "nVidia GT200 [GeForce 210]"
Vendor: pci 0x10de "nVidia Corporation"
Device: pci 0x0a65 "GT200 [GeForce 210]"
SubVendor: pci 0x3842 "eVga.com. Corp."
SubDevice: pci 0x1313
Revision: 0xa2
Driver: "nvidia"
Driver Modules: "nvidia"
Memory Range: 0xf4000000-0xf4ffffff (rw,non-prefetchable)
Memory Range: 0xb0000000-0xbfffffff (ro,non-prefetchable)
Memory Range: 0xc0000000-0xc1ffffff (ro,non-prefetchable)
I/O Ports: 0xd000-0xdfff (rw)
Memory Range: 0xf5000000-0xf507ffff (ro,non-prefetchable,disabled)
IRQ: 89 (4706 events)
Module Alias: "pci:v000010DEd00000A65sv00003842sd00001313bc03sc00i00"
Driver Info #0:
Driver Status: nvidiafb is not active
Driver Activation Cmd: "modprobe nvidiafb"
Driver Info #1:
Driver Status: nouveau is not active
Driver Activation Cmd: "modprobe nouveau"
Driver Info #2:
Driver Status: nvidia is active
Driver Activation Cmd: "modprobe nvidia"
Config Status: cfg=no, avail=yes, need=no, active=unknown
Attached to: #11 (PCI bridge)
Primary display adapter: #34
I'd like to switch the GPUs in their PCI-E slots, to see if that helps. But unfortunately, the 650 is too large to be installed into the lower slot.
What distro are you running? Reason I ask is that on another forum there are three very recent issues with Nvidia drivers and updates. In fact, I'm running a GeForce 210 and had one of them myself. If you installed your driver from Additional Drivers, try
Thanks for the reply.
I'm currently running OpenSuse 12.3.
(CPU is AMD FX-6300)
In the meantime, I already partially solved the problem.
Running the NVIDIA configuration tool, I can enable the second GPU, so at least I can run my linux desktop.
It still doesn't work during startup, but I don't really need that anyway.
Now, after many hours of reading up on VGA Passthrough and trying to pass the primary GPU to KVM,
I still couldn't really figure out how to make it work.
The secondary GPU (running my host desktop) is using the nouveau driver, 'nvidia' kernel module is not loaded.
Both the 01:00.0 and 01:00.1 PCI devices (the primary vga card and it's HDMI audio device) are assigned to the VM.
I'm running the host kernel with all the required options:
amd_iommu=on pci-stub.ids=10de:11c2,10de:0e0b vfio_iommu_type1.allow_unsafe_interrupts=1
IOMMU is enabled in BIOS.
If I start the VM, however, all I get is:
Code:
Error starting domain: internal error Unable to reset PCI device 0000:01:00.1: internal error Active 0000:01:00.0 devices on bus with 0000:01:00.1, not doing bus reset
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1098, in startup
self._backend.create()
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 681, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error Unable to reset PCI device 0000:01:00.1: internal error Active 0000:01:00.0 devices on bus with 0000:01:00.1, not doing bus reset
Explicitly detaching the devices using virsh doesn't work either.
Now, after many hours of reading up on VGA Passthrough and trying to pass the primary GPU to KVM,
I still couldn't really figure out how to make it work.
If you read about it, you would know that VGA OpenSuSE's 12.3 has kernel 3.7.10 and that kernel 3.9+ is recommended. In fact you should follow the tutorial on https://bbs.archlinux.org/viewtopic.php?id=162768
Written for Arch but easily adaptable to any distro...
Looks like the latest "factory" version of OpenSUSE has kernel 3.12.2, so you'll just need to use the latest qemu and seabios if you update your version. If you're not wedded to OpenSUSE you can try the Arch tutorial with Arch. There's also a Xen version that uses Linux Mint. http://forums.linuxmint.com/viewtopic.php?t=112013&f=42
Last edited by mostlyharmless; 12-23-2013 at 07:25 PM.
If you read about it, you would know that VGA OpenSuSE's 12.3 has kernel 3.7.10 and that kernel 3.9+ is recommended.
In fact you should follow the tutorial on https://bbs.archlinux.org/viewtopic.php?id=162768
Written for Arch but easily adaptable to any distro...
That is exactly the tutorial I was following.
However, I didn't pay enough attention to the required kernel version.
I guess I just assumed that current OpenSuse kernel was adequate.
Thanks a lot for the tip.
Ok, well then good luck. I noticed in your original post that you used virt-manager, not the qemu command line. If you use the test commandline from the Arch thread above:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.