0

I’m trying to switch to Linux on my laptop.

I downloaded Ubuntu 16.04 and installed it, and expirience no problems, except for with my graphics card, an AMD Radeon hd 7610m.

I know that AMD no longer support the fglrx on newer Linux, and that I have to depend on open source drivers. The problem is that the screen shows many artifacts when there is more than one window on screen, especially when there's a lot of transparency or moving characters on screen.

Games works smoothly, however.

This problem was also present in Windows. In Windows, changing the ATI Graphics Powerplay settings to "Maximize battery life" reduced the problem dramatically. Also disabling the GPU, and only enabling it for gaming or video worked.

I can't do any of this in Ubuntu. So what I’m asking if you can help me how to do at least one of these in Ubuntu

  1. disable the gpu
  2. manage the power settings of the gpu

    • Also I can’t find any option of changing this in my bios
    • I tried to enable low graphics mode in unity de and it helped (no crashes now) but the artifacts still shows up.

Update

  • seems like I can’t get my intel graphics work to use switcheroo
  • if work on battery (no charger) everything runs smoothly without any artifacts at all
  • your graphic card. – markroxor Aug 24 '18 at 12:30
2

As you ask in (1) for disabling the GPU I assume you have a hybrid configuration and want to disable your discrete GPU. You can use switcheroo for that.

Activating Switcheroo

First check whether switcheroo is active, in a terminal type:

sudo grep -i switcheroo /boot/config-*

Your output should look like:

/boot/config-4.1.0-1-amd64:CONFIG_VGA_SWITCHEROO=y

Then you need to edit your config file of grub by doing:

sudo gedit /etc/default/grub

In the line

GRUB_CMDLINE_LINUX_DEFAULT=

add radeon.modeset=1 and delete nomodeset if there. So this line should look like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=1"

Finally update your Grub settings:

sudo update-grub

and reboot your laptop.

Turn off your discrete GPU

First you need to be root, in a terminal, type:

sudo su

Then, to display your GPU state type:

sudo cat /sys/kernel/debug/vgaswitcheroo/switch

Your output should look like 0:IGD: :Off:0000:00:02.0 1:DIS:+:DynPwr:0000:01:00.0

The GPU in use is marked with the "+". IGD states for Integrated and DIS for Discrete. If you're not on a Hybrid GPU config, you will have only one line.

To activate the integrated GPU:

echo IGD > /sys/kernel/debug/vgaswitcheroo/switch

To turn off the not used GPU:

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

You can recheck the state of your GPU by entering again:

sudo cat /sys/kernel/debug/vgaswitcheroo/switch

Note: X server does not manage switching graphic cards during use, so after your changes you will need to restart it:

service lightdm start

Or simply reboot your laptop.

Paraphrased from https://help.ubuntu.com/community/HybridGraphics

  • Then I can’t switch while use and I have to restart every time?! – Amr Okasha Nov 11 '17 at 12:43
  • I don't know your exact configuration (hybrid intel hd graphics + Radeon ?) but if this is the case, it depends what you want to do: if you want your system to switch the GPU completely, you will have to restart lightdm (it's not a reboot of the computer but only of the window manager). I have hybrid config and I managed to get my Radeon HD 7500 to show in the additionnal drivers. Since then I have the option when I right-click a package in the Dash to "Launch with discrete GPU" – Doudou Nov 11 '17 at 12:49
  • Yes I have hybrid intel+Radeon – Amr Okasha Nov 11 '17 at 12:58
  • The restart of lightdm seemed so easy after I tried it I didn’t know it’s different from restart it all works fine now thanks – Amr Okasha Nov 11 '17 at 13:00
  • Glad to help! You can mark it as answer if it solved you problem – Doudou Nov 11 '17 at 13:15

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.