#98 Hybrid Graphic Cards and MUX
Hybrid graphics systems combine an integrated GPU (iGPU) built into the CPU, with a discrete GPU (dGPU), a separate powerful card, typically in laptops or specialized some hardware. The iGPU handles low-power tasks and often drives display outputs, while the dGPU manages compute-intensive workloads; display routing determines which GPU connects to screens and ports, affecting performance and power use. MUX (Multiplexer) is a switching mechanism between integrated and dedicated graphics processors on laptops and desktop systems. Linux support varies.
MUX Availability
BIOS Check. Restart your machine then enter BIOS. Search for Graphics, MUX, Optimus, dGPU.
GPU Listing
List GPU
lspci | grep VGA
Example output of dual system
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050]
Alternative GPU listing
glxinfo | grep "OpenGL renderer"
Example output
AMD Radeon RX 6700 (NAVI23, DRM 3.XX, 5.XX.XX)
AMD Radeon Vega 10 (VEGA10, DRM 3.XX, 5.XX.XX)
Display Route
Set: xrandr --setprovideroutputsource 1 0 (dGPU provider 1 to iGPU 0), then xrandr --output HDMI-1 --provider 1.
PRIME
It is a technology used to manage hybrid graphics systems with Nvidia cards on recent desktops and laptops.
Install
# debian
sudo apt install nvidia-prime
# arch
sudo pacman nvidia-prime
Switch to dGPU
sudo prime-select nvidia
Switch to iGPU
sudo prime-select intel
AMD Switcheroo
It leverages the open-source AMD kernel drivers to provide seamless GPU switching. It is also called VGASWITCHEROO.
List GPUs
cat /sys/kernel/debug/vgaswitcheroo/switch
Example output:
0:IGD:+:Int:0 0000:00:02.0
1:DIS: :Dis:0 0000:0c:00.0
The first line 0:IGD:+: means GPU 0 (Integrated Graphics Device) is currently active; The second line: 1:DIS: : means GPU 1 (Discrete) is inactive. The format is ID:NAME:State:Type:PCI_ID.
View Current Switch Status
cat /sys/kernel/debug/vgaswitcheroo/switch
Switch to Discrete GPU
echo "DIGD" | sudo tee /sys/kernel/debug/vgaswitcheroo/switch
Switch to Integrated GPU
echo "IGD" | sudo tee /sys/kernel/debug/vgaswitcheroo/switch
Disable Discrete GPU (Power Off)
echo "OFF" | sudo tee /sys/bus/pci/devices/0000:0c:00.0/power/control
Replace 0000:0c:00.0 with your discrete GPU's PCI ID from lspci output.
Enable Discrete GPU (Power On)
echo "ON" | sudo tee /sys/bus/pci/devices/0000:0c:00.0/power/control
Check Current Power State
cat /sys/bus/pci/devices/0000:0c:00.0/power/control
Output is auto, on, or off.
Display Server
After switching the active GPU, you need to restart your display server. Simply logout and log back in.
Cites: