This question already has an answer here:

I'm using windows currently but because of programming, aesthetics, financial and other reasons I have decided to move to Ubuntu.

Problem is my device is a laptop with Intel CPU and AMD R7 M360 GPU and I have read online (like here) that AMD graphics are a mess in Ubuntu 16.04.

I'm not very familiar with how Ubuntu work or what some of these technical words used in the link above, Until now I have just simply wrote C++ codes in Ubuntu or any Linux environment.

Should I avoid moving to Ubuntu or is there a solution to this driver issue?


marked as duplicate by mikewhatever, dobey, Takkat, muru, WinEunuuchs2Unix Oct 3 '17 at 2:39

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • You can install Ubuntu as a virtual machine using VirtualBox, for example, and do some tests before moving (or not) to live. – M. Dm. Oct 2 '17 at 14:46
  • 2
    It is the proprietary driver fglrx that was ditched by AMD in favor of the open source radeon. This open driver is included with the installation DVD and it usually supports ATI graphics quite well. Before installing Ubuntu I recommend however you try it out as a live system (which will use radeon) to see how you GPU performs there. – Takkat Oct 2 '17 at 14:56
  • 1
    @M.Dm. a VM would be the last resort only if a GPU is not supported at all, which is not the case with the R7 M360 – Takkat Oct 2 '17 at 14:59
  • 1
    @Alireza That means your system is a hybrid graphics laptop, and the Intel driver is being used by Ubuntu. You probably will need to change BIOS options to force it over to the AMD chip instead. – dobey Oct 2 '17 at 16:41
  • 1
    No. AMDGPU is open source and included by default. – dobey Oct 2 '17 at 17:18

First of all, the article linked to is fairly old in Linux terms and AMD regards.

Ubuntu works very well with AMD hardware, but your use should determine which Ubuntu version you need.

Ubuntu 16.04 LTS (Long Term Support) is primarily for you if you are going to use professional software such as CAD, OpenCL and similar software. AMD provides their own closes-source proprietary graphics driver on their website http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx

However, if you don't know what any of this is, you might as well go with 17.04, since it has a newer kernel and therefore better hardware support - again, however, AMD's own closed source driver doesn't support this newer kernel, so you won't be able to install it on Ubuntu 17.04

Instead, you will be using the Open Source radeonsi driver part of a project called MESA. radeonsi is actually developed by AMD developers, and this is the driver you will be getting the best overall experience with.

The Open Source driver radeonsi is the AMD driver with the best gaming support on Linux and also has no screen tearing. This is the recommended driver for most users.

The only downside of the radeonsi driver, is that it is packaged alongside every major Ubuntu release (every six months). Therefore, you will not be getting the latest enhancements right away.

However, to that, there is a solution. If you want the latest drivers automatically, you can add something called a repository. There is a repository that will automatically update your open source radeonsi driver everytime a new update arrives.

You can do that by opening a terminal ctrl+alt+t (after installing Ubuntu), and enter:

sudo add-apt-repository ppa:paulo-miguel-dias/pkppa

press yes to add it and then:

sudo apt update && sudo apt upgrade -y

Lastly, reboot your computer and you will have the latest stable graphics driver installed.

There is only one caveat with adding this repository, which might be that you need to remove it before upgrading Ubuntu to let's say Ubuntu 17.10 when that arrives.

You can remove the repository by writing this in the terminal:

sudo apt install ppa-purge
sudo ppa-purge ppa:paulo-miguel-dias/pkppa
sudo apt update && sudo apt upgrade

When the new Ubuntu has been installed, simply add the repository again to automatically get the newest updates again. BTW, this repository also works on Ubuntu 16.04 LTS

*radeonsi is also referred to as AMDGPU

** The closed source driver is referred to as AMDGPU-PRO

You can download Ubuntu and try it out on your computer without installing it. You only need a USB Dongle and put a Ubuntu Live-Preview on it.

You can get this here: https://www.ubuntu.com/download/desktop

  • Thank you very much for your easy-to-understand explanation. – Alireza Oct 2 '17 at 17:14
  • 1
    You are welcome. Please beware, that Ubuntu / Linux will prioritise to use your Intel HD Graphics as much as possible as that will save battery life. The open source driver should automatically use the discrete GPU (R7 M360) whenever needed. So if you start a game it should automatically use that one instead. If not you might be able to force it using DRI_PRIME=1 -environment variable in the startup command (Steam for an example has an easy way of doing this). – sleort Oct 2 '17 at 17:35
  • I did what you said, How can I see if it is installed and can be used when needed? In "About This Computer" window it still says Intel HD Graphics. – Alireza Oct 2 '17 at 18:36
  • 1
    As said, when using the Open Source drivers from MESA, it should switch automatically, but you can force it by running you program from the terminal DRI_PRIME=1 nameofyourprogram. You could try it on glxgears, but keep in mind that v-sync is enabled, so it won't go above 60fps in either case. BTW, the technology used to offload to the dGPU is called PRIME in case you want to learn about it more thoroughly. – sleort Oct 2 '17 at 20:21
  • 1
    If you want a simple benchmark, you can install glmark2 using apt like earlier. Then run the benchmark as glmark2 and DRI_PRIME=1 glmark2 and see if there is a difference in the score. On Steam you can set the launch options and put in DRI_PRIME=1 %command% to force dGPU. – sleort Oct 2 '17 at 20:36

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