What is the difference between Display Controller and VGA Compatible Controller?
Asked Answered
C

2

15

Following is the output of lscpci command on my Arch linux terminal. I am using Lenovo G 50-70 Laptop.

[code_master5@BitBox ~]$ lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230]

I wanted to know why my VGA compatible controller and Display Conroller are showing different outputs?

When and why each of them is used?

Is there a way to check which application uses which graphics controller?

EDIT 1: Here is the output for first command in @McGrady's answer:

 [code_master5@BitBox node-express]$ grep LoadModule /var/log/Xorg.0.log
[    17.105] (II) LoadModule: "glx"
[    17.279] (II) LoadModule: "intel"
[    17.343] (II) LoadModule: "modesetting"
[    17.348] (II) LoadModule: "fbdev"
[    17.349] (II) LoadModule: "vesa"
[    17.374] (II) LoadModule: "dri3"
[    17.374] (II) LoadModule: "dri2"
[    17.374] (II) LoadModule: "present"
[    17.895] (II) LoadModule: "libinput"
[    18.144] (II) LoadModule: "synaptics"

But second is not working...

[code_master5@BitBox node-express]$ grep Driver /etc/X11/xorg.conf   
grep: /etc/X11/xorg.conf: No such file or directory
Cita answered 15/1, 2017 at 5:25 Comment(1)
Did you figure it out? I have the same issue on G50-80.Rancorous
S
2

It depends on the adapter firmware how it declares itself to PCI bus. The reason for that is probably because in an Optimus dual graphics systems.

You can run this command to find out which graphics controller is currently used by the system:

grep LoadModule /var/log/Xorg.0.log
grep Driver /etc/X11/xorg.conf
Sunstroke answered 15/1, 2017 at 6:14 Comment(2)
First command working but not second! I am attaching the output for first in question... for second command, it shows no such file or directory. Is it xorg.conf.d?Cita
@Cita You can check out x.org/releases/current/doc/man/man5/xorg.conf.5.xhtmlSunstroke
T
0

Like how @McGrady writes,

It depends on the adapter firmware how it declares itself to PCI bus.

This maybe true.


But here is my case & understanding:

I have a mobile device (laptop) with integrated graphics (Intel) & and another Discrete graphics (AMD).

This is how they are connected to this PCIe bus:

❯ lspci -k | grep -A 3 -E "(VGA|3D|Display)"
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
    Subsystem: Hewlett-Packard Company HD Graphics 5500
    Kernel driver in use: i915
    Kernel modules: i915
--
03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile] (rev 83)
    Subsystem: Hewlett-Packard Company Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile]
    Kernel driver in use: amdgpu
    Kernel modules: radeon, amdgpu

Purely based on my observation:

  • VGA compatible controller, Intel integrated GPU: Controls the display monitor & the HDMI port.
  • Display controller AMD discrete GPU: This PCI connected device can be used to render specific things, like games, or some other apps. This is known as "Hardware Acceleration" with GPU. This probably cannot drive the monitor display, I guess because no such physical connections exist from it which can control the display / HDMI. Desktop GPUs have their on video output ports.

I was trying to run my whole video output (monitors) via Dedicated graphics card. But as I see, the video output is controlled by integrated graphics.

Here, i915 driver is controlling the monitor output. amdgpu driver cannot drive it.

Trilateral answered 12/9, 2023 at 9:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.