DISable PCIe graphics and force use of iGPU

Hi, I’m trying to figure out how to force the OpenSUSE 13.1 install I’m using to only use the integrated graphics and leave alone the discrete PCIe graphics adapter (that one is reserved for a KVM guest). The primary GPU in BIOS is set to the PCIe GPU as setting it onboard has issues for the KVM guest.

The output of hwinfo --gfxcard is

10: PCI 02.0: 0380 Display controller
  [Created at pci.319]
  Unique ID: _Znp.jifMeyjqN3C
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "Intel Display controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0102
  SubVendor: pci 0x1849 "ASRock Incorporation"
  SubDevice: pci 0x0102
  Revision: 0x09
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xf7800000-0xf7bfffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  IRQ: 46 (108 events)
  Module Alias: "pci:v00008086d00000102sv00001849sd00000102bc03sc80i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

20: PCI 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.319]
  Unique ID: VCu0.3Y7viaVZ67F
  Parent ID: vSkL.ox7uDD9yMv3
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "ATI VGA compatible controller"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x6779
  SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
  SubDevice: pci 0x047b
  Driver: "vfio-pci"
  Driver Modules: "vfio_pci"
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xf7d20000-0xf7d3ffff (rw,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0xf7d00000-0xf7d1ffff (ro,non-prefetchable,disabled)
  IRQ: 11 (no events)
  Module Alias: "pci:v00001002d00006779sv00001043sd0000047Bbc03sc00i00"
  Driver Info #0:
    Driver Status: radeon is not active
    Driver Activation Cmd: "modprobe radeon"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #9 (PCI bridge)

Primary display adapter: #20

Looking at Hardware Information using YaST under the heading “Display” I find both devices with “Drivers > Active” shown as “No” for the AMD GPU and “Yes” for the Intel one. The radeon module is blacklisted and the AMD GPU is bound to vfio-pci so it shouldn’t be used.

So with above I don’t understand why the GUI is being output as 640x480 through the discrete VGA card and nothing through the integrated graphics (there is a signal according to my monitor but the screen is black). I don’t mind that GRUB output is routed to the PCIe graphics but I want to ensure that after booting the OpenSUSE install the discrete PCIe graphics are no longer used at all. So basically I guess it would be enforcing #10 rather than #20 as Primary display adapter but I haven’t been able to figure out how.

I’ve done research both here on the forum and out there as well but the majority of information I find deals with either multi-monitor setups or the opposite of my case (forcing discrete graphics). Any pointers are greatly appreciated. Thanks!

On 2014-05-05 13:46 (GMT) siddharta42 composed:

> Hi, I’m trying to figure out how to force the OpenSUSE 13.1 install I’m
> using to only use the integrated graphics and leave alone the discrete
> PCIe graphics adapter (that one is reserved for a KVM guest). The
> primary GPU in BIOS is set to the PCIe GPU as setting it onboard has
> issues for the KVM guest.

No matter what the BIOS settings seem to imply, it’s rather typical that the BIOS
prevents use of both onboard gfxchip and gfxchip in the PCIe slot at the same time.
Usually its necessary to defeat the PCIe device in the BIOS entirely in order to
enable onboard to function at all (or remove it from the slot). No Linux driver can
get around that if that’s the situation, which seems to be especially typical with
Intel video, and with other than first tier motherboard manufacturers. IOW, it takes
careful motherboard shopping to acquire such capability. Consider yourself lucky if
it turns out yours provides it.

“The wise are known for their understanding, and pleasant
words are persuasive.” Proverbs 16:21 (New Living Translation)

Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

Felix Miata *** http://fm.no-ip.com/

Thanks Felix, this is good to know. I’m considering swapping out the mainboard for one that has 2 x16 PCIe slots so I can use two PCIe graphics adapters, one for the host (nVidia) and one for passthrough to a guest (AMD).

To force the host to use the nVidia as primary graphics adapter will it be sufficient to blacklist the AMD?

If not, how does one enforce which card is selected as primary?

That’s usually set in the BIOS AFAIK. Blacklisting alone won’t work, because if set as primary card, Xorg will use a generic framebuffer driver instead.

This may be of interest to you as well:

http://wiki.xen.org/wiki/Xen_VGA_Passthrough