Ubuntu – 16.04 ; power off discrete graphics (ATI/AMD)

16.04amd-graphicsgraphicsoverheatingradeon

On 12.04 I used to utilize this procedure, to power off my ATI graphics and prevent my system from overheating, it worked fine.
After installing 16.04, I've been trying everything I could find on the net, but no solution. My system runs extremely hot, causing the fans to run at max almost all the time. Can anybody come up with a little hack to shutdown that discrete ATI Radeon card?

thanks.
M.Schoofs

System: HP Pavilion dv7-6190ed (FW F.18) [AMD/ATI] Whistler [Radeon HD 6730M/6770M/7690M XT]

Best Answer

Following Neni's answer, I had kernel panic after sleep. I solved my problem by adding radeon.modeset=0 amdgpu.runpm=0 acpi_backlight=intel_backlight to GRUB_CMDLINE_LINUX_DEFAULT

To edit file :

sudo nano /etc/default/grub

Find line :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

And replace with :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=0 amdgpu.runpm=0 acpi_backlight=intel_backlight"

To regenerate config :

sudo update-grub

Reboot :

sudo reboot


What those options do :

  • radeon.modeset=0 disables radeon driver
  • amdgpu.runpm=0 disables the power management from amdgpu driver
  • acpi_backlight=intel_backlight uses intel driver to control laptop screen backlight

Official bug report suggests as a workaround either manually install newer kernel (which you would have to manually update) or run those steps :

  1. /etc/default/grub: Add amdgpu.runpm=0 to GRUB_CMDLINE_LINUX_DEFAULT
    Included above.

  2. /etc/rc.local: Add the following command:

    echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
    This step caused my system to freeze on shutdown so I just skipped it.

  3. /etc/X11/xorg.conf: Create the file if it doesn't exist, and add the following in order to get the backlight controls working (otherwise it would be misdetected):

    Section "Device"
        Identifier "Card0"
        Driver "intel"
        Option "Backlight" "intel_backlight"
    EndSection
    
    This step is replaced replaced above by acpi_backlight=intel_backlight