1

I am having some serious issues with the Switchable graphics setup on my HP Envy 1103-tx Laptop.

This laptop comes with:

  1. Intel HD Graphics 4000
  2. AMD Radeon HD 7670M

The ATI card is getting really hot making the laptop uncomfortable for use.

To fix the issues I have tried a few things but they didn't really complete:

  1. Setting Power Profiles using echo "low" > /sys/class/drm/card1/device/power_method which failed with an Invalid argument error. No additional kernel parameter set.

  2. Turning Off the card using echo OFF > /sys/kernel/debug/vgaswitcheroo/switch which did nothing at first and after adding radeon.dpm=0 to the kernel parameters the command lead to a crash with black screen and error log which got fixed after a hardware reboot.


System information:

[root@MISTRI ashesh] $ cat /proc/version
Linux version 4.1.6-200.fc22.x86_64 (mockbuild@bkernel02.phx2.fedoraproject.org) (gcc version 5.1.1 20150618 (Red Hat 5.1.1-4) (GCC) ) #1 SMP Mon Aug 17 19:54:31 UTC 2015

Device information:

[ashesh@MISTRI ~] $ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] (rev ff)

Switchable graphics information:

[ashesh@MISTRI ~] $ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
[sudo] password for ashesh: 
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :DynOff:0000:01:00.0

Any help is greatly appreciated; I really want to solve this.

PS: I am not in favor of installing 3rd proprietary drivers.

2
3

There is no way to fix it without installing proprietary drivers.

They can be installed by running in terminal

sudo apt-get install fglrx-updates
2
  • I had a similar problem (see my answer); can't use the proprietary drivers because my laptop simply refuses to boot with them (tried last time six month ago, no time to check it again and recover the thing afterward ;-)) – Rmano Oct 12 '15 at 19:45
  • @Rmano You can ask another question. Some adapters are better supported by radeon driver. Or the problem with fglrx can probably be fixed. – Pilot6 Oct 12 '15 at 19:49
2

I have a similar setup (see my answer at Why does my laptop with AMD Radeon HD 76xx graphics get overheated when using Ubuntu?) and I can force the laptop to run much cooler by using this script (I called it ati-cooldown):

#!/bin/bash 

if [ -f /sys/class/drm/card1/device/power_dpm_state ]; then
    cd /sys/class/drm/card1/device/ 
    echo battery > power_dpm_state
    echo low > power_dpm_force_performance_level
fi
if [ -f /sys/class/drm/card0/device/power_dpm_state ]; then
    cd /sys/class/drm/card0/device/ 
    echo battery > power_dpm_state
    echo low > power_dpm_force_performance_level
fi

which you need to run with sudo. To come back to normal operation, make another script with balanced instead of battery and auto instead of low.

The if is needed because although most of the time the ATI card is numbered card1, sometime it wakes up as card0 --- so I check and try both.

The discrete GPU cools down around 25 °C when I use it --- if it's running, that is.

2
  • when I try it, this error is thrown: ./gpu_cooldown.sh: line 6: echo: write error: Invalid argument that is the line echo low > power_dpm_force_performance_level from the script. Dont' you know, what can be a cause of this? – Dmitry Koroliov Jun 1 '16 at 15:47
  • I don't know - maybe they changed the name of the parameters in newer kernels. Will check as soon as possible. – Rmano Jun 1 '16 at 19:43
1

I'm sorry, but for what reason do you want to avoid proprietary drivers? The linux kernel simply cannot support it and a proprietary driver from the manufacturer is made to run the hardware as it should, so that it will not overheat.

I can think of a few reasons to avoid a proprietary driver, but in this case, it's your only option. Hardware overheating is a safety hazard and, if that heat is going into your body, it's known to be a cause towards cancer.

Your only bet if you really want to AVOID the proprietary driver would be to disassemble the generic linux driver and the proprietary driver and merge the parts of the proprietary driver that are in charge of the fans. In other words, if you're good with scripting, you can try that, but I do not condone it at all. It's a mere suggested alternative, but should you make a minor flaw in the scripting or if the new lines of code are incompatible, you could have a literal bomb on your lap... or you could burn out the fans.

I highly recommend the proprietary driver over all other things. It's written by the manufacturer and is proven to be the best thing for you to use otherwise, why would the manufacturer offer it? They know the heat is a flaw that linux cannot fix on their own, so they fixed it in their driver.

I hope this post was helpful, but if not, please tell us why you are adamantly against the proprietary driver.

Cheers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.