how to check which graphic controller is in use

4

2

On my linux laptop I have two VGA compatible controllers (information from lshw):

  • product: GK107 [GeForce GT 640M]
    physical id: 0
    bus info: pci@0000:01:00.0
    ..
    clock: 33MHz
    capabilities: pm msi pciexpress vga_controller bus_master cap_list
    configuration: driver=nouveau latency=0
    resources: irq:16 memory:f2000000-f2ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:3000(size=128)
  • product: 3rd Gen Core processor Graphics Controller
    physical id: 2
    bus info: pci@0000:00:02.0
    clock: 33MHz
    capabilities: msi pm vga_controller bus_master cap_list rom
    configuration: driver=i915 latency=0
    resources: irq:44 memory:f3000000-f33fffff memory:d0000000-dfffffff ioport:4000(size=64)

lspci | grep VGA output:

  • 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
  • 01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev a1)

When I run glxgears I've got the following output (while application is running):

 libGL error: failed to load driver: i965
 libGL error: Try again with LIBGL_DEBUG=verbose for more details.
 XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
       after 2968 requests (2966 known processed) with 0 events remaining.

So I suppose it fails with intel VGA?

I have installed followed drivers:

  • intel-dri
  • xf86-video-intel 2.20 (X.org Intel i810/i830/i915/945G/G965+ video drivers)
  • xf86-video-nouveau

1 How can I check which controller is used by system/programs?

2 How can I ensure specific controller to be used?

3 How can I ensure that driver i965 is loaded, instead i915 (from the lshw output)? (the proper for my intel agp)

4 Why lshw shows clock: 33MHz? For GeForce 640M should be 625 MHz.

I'm using Linux Arch.

Robert Zaremba

Posted 2012-11-07T23:23:33.367

Reputation: 143

1http://bumblebee-project.org/ - nvidia optimus on linux – week – 2012-11-07T23:29:21.067

1The 915 seems to be on a PCI bus (pci@0000:00:02.0), not on a PCIe bus. A PCI bus runs either at 33MHz or at 66MHz. (33Mhz for most PCs, 66 Mhz for workstations, servers, ancient apple G3 etc). – Hennes – 2012-11-07T23:38:27.887

Answers

4

  1. To find out which graphics controller is currently used by system/programs use the following two commands:

    grep LoadModule /var/log/Xorg.0.log
    grep Driver /etc/X11/xorg.conf
    

    The first will give you a list of all loaded modules (or modules which X tried to load), and the second will give you list of all devices that are configured to run on your box. Intersection of these tho files gives you running controller.

  2. Define it in /etc/X11/xorg.conf

    Not to go in too much details, but define Driver line in Device section.

  3. If it is installed and configured in /etc/X11/xorg.conf, it'll run. Please keep in mind that drivers are sometimes generic, meaning nvidia is the driver for all nvidia cards, so i915 could be the appropriate driver for i965.

  4. @Hennes already partly answered it above. It seems that it is an lshw bug, to show PCI bus speed for every device either on PCI or PCIe. Check this pic: NVidia GeForce GT220 (not mine, but I have two NVidias and lshw for both tells 33MHz).

stemd

Posted 2012-11-07T23:23:33.367

Reputation: 386

SpeedyGonsales, when trying the second command, I get this: grep: /etc/X11/xorg.conf: No such file or directory... That means I dont have anything installed? what should I do? I thought I had just installed them using http://www.howopensource.com/2012/10/install-nvidia-geforce-driver-in-ubuntu-12-10-12-04-using-ppa/

– fersarr – 2013-04-03T21:34:20.077