Skip to content

About

If you are running a Linux-based home server on a laptop with hybrid graphics (like the HP Pavilion G6 with AMD Trinity/Thames), the discrete GPU often stays powered on even if it isn't being used. This wastes electricity and generates unnecessary heat. This guide explains how to identify the correct ACPI path and cut power to the discrete card.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Disable-Discrete-GPU-on-Linux

If you are running a Linux-based home server on a laptop with hybrid graphics (like the HP Pavilion G6 with AMD Trinity/Thames), the discrete GPU often stays powered on even if it isn't being used. This wastes electricity and generates unnecessary heat. This guide explains how to identify the correct ACPI path and cut power to the discrete card.

1. Identify the Discrete GPU

First, verify that your system sees two graphics controllers.

lspci | grep -i vga

Example output:

  • 00:01.0 (Integrated/APU)
  • 01:00.0 (Discrete/Dedicated) — This is the one we want to turn off.

2. Install acpi_call

You need the acpi_call kernel module to send power-off commands directly to the motherboard.

On Debian/Ubuntu/Proxmox:

sudo apt update
sudo apt install acpi-call-dkms
sudo modprobe acpi_call

3. Find the "Power Off" Method

Every laptop manufacturer uses a different internal ACPI path. Use the built-in search script to find which one works for your hardware.

sudo /usr/share/doc/acpi-call-dkms/examples/turn_off_gpu.sh

Look for the line that says "works!". For example:

Trying \_SB_.PCI0.VGA.PX02: works!


4. Manually Test the Command

Take the path that worked and send the "OFF" signal (replace the path below with your specific result):

echo "\_SB_.PCI0.VGA.PX02" | sudo tee /proc/acpi/call

Verify Success

Check the power state of the PCI device (replace 01:00.0 if your ID was different):

cat /sys/bus/pci/devices/0000:01:00.0/power_state

If it shows D3cold (or returns an error because the device is literally gone), the power has been cut.


5. Make it Permanent (Auto-run at Boot)

To ensure the GPU stays off after a reboot, create a simple script and trigger it with a cron job.

Create the script:

sudo nano /usr/local/bin/disable-gpu.sh

Paste this content:

#!/bin/bash
# Load the acpi_call module
modprobe acpi_call
# Cut power to the discrete GPU (using verified path)
echo "\_SB_.PCI0.VGA.PX02" > /proc/acpi/call

Set Permissions:

sudo chmod +x /usr/local/bin/disable-gpu.sh

Add to Crontab:

Run sudo crontab -e and add this line to the bottom:

@reboot /usr/local/bin/disable-gpu.sh


Results

  • Lower Temps: CPU/APU temperatures usually drop by 5-10°C.
  • Power Savings: Reduces idle power draw by 5W–15W.
  • Silent Operation: Fans spin slower and less frequently.

About

If you are running a Linux-based home server on a laptop with hybrid graphics (like the HP Pavilion G6 with AMD Trinity/Thames), the discrete GPU often stays powered on even if it isn't being used. This wastes electricity and generates unnecessary heat. This guide explains how to identify the correct ACPI path and cut power to the discrete card.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors