I’ve been a Xubuntu user for years after switching from OpenSuse. I liked its simplicity and the fact that it just worked out of the box, but I was getting more and more disappointed with Ubuntu packages being out of date, sorry, stable. Having to rebuild a bunch of packages on every install was getting a little old. Well, they did provide material for all those “build XXX on Ubuntu” posts. Recently I’ve been playing with Manjaro Linux in a VM as I had been looking for an Arch Linux based distribution that gave me the right balance between DIY and convenience. I ended up liking it so much that I did a proper bare metal install on my main desktop. The install was pretty smooth apart from a issue with getting my AMD RX 470 graphics card to work.

Getting the AMD RX 470 GPU to work

The main issue I ran into when booting from the Manjaro Linux 16.10.2 live disk was a distinct lack of GUI and instead staring at a blank monitor. Not good, but the usual ALT-F2 got me a text console. A quick search of the Manjaro Wiki brought up the page describing how to configure graphics cards. Running mhwd -l provided the following output:

timo@timo-linux ~]$ mhwd -l
> 0000:01:00.0 (0300:1002:67df) Display controller ATI Technologies Inc:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
          video-amdgpu            2016.08.22                true            PCI
            video-vesa            2012.09.18                true            PCI

As you can see, the system identified both the amdgpu and vesa drivers as suitable drivers but the Xorg logfile confirmed that the amdgpu driver didn’t recognise my card. A simple

sudo mhwd -i pci video-vesa

followed by

startx

resulted in a working GUI on my AMD RX 470. Yay. I did have to repeat the process once more after installing from the live disk onto the hard drive but that was the only hiccup. The above should also work for AMD RX 480 GPUs as long as the Vesa driver is showing as being compatible.

I haven’t played around with the amdgpu-pro drivers or any of the catalyst drivers that are available via the repositories. As I don’t use Linux in a way that tends to require high 3D performance I can happily wait until the free drivers also support AMD RX 470 and RX 480 GPUs.

Making the clock work together with Windows

Manjaro Linux – as pretty much every other Unix or Linux I installed – really wants the hardware clock reading in UTC. As we all know, that thoroughly confuses Windows and as I tend to switch back and forth regularly that wasn’t acceptable. The Manjaro Wiki suggests to make Windows also use a UTC hardware clock. I wasn’t so keen on that idea and found the necessary information in the Arch Linux Wiki.

timedatectl set-local-rtc 1

does the job.

The rest of the installation

That’s where we get to the pleasant part of using a rolling release distribution rather than one that uses more “fixed” packages like Ubuntu or Linux Mint. The main packages I need on any of my Linux installs – GNU Emacs, GCC, Clang, Ruby, Clojure, Mercurial and last but not least zsh – are all present in the repositories and all are at their current release. So no more pulling of packages from experimental repos or building the binaries myself. So instead of spending an hour or two building binaries, 15-20 minutes worth of downloads on a fast Internet connection had me up and running.

In case you’re wondering why I don’t simply continue using the Manjaro Linux VM and jump through the hoops of actually doing a bare metal install – I’ll probably continue using the VM as well. However I like having segregated installs depending their use. Not running in a VM with easy access to background timesinks like Facebook and Twitter helps me focus. This install is purely for development and will stay that way.

5 thoughts on “Switching to Manjaro Linux and getting an AMD RX 470 to work”

  1. This was a life saver for me. I was in almost the exact same boat as you: GPU died, bought the RX 470, was tired of Ubuntu, dead set on Manjaro. I tried several different distributions before I found your post: Manjaro 16.04/16.10/15.12, Ubuntu 14.04/16.04/16.10, Apracity, and Fedora. Only Apricity and Ubuntu 16.10 worked out of the box with the RX 470, but I wasn’t really satisfied with these, and I’m running Manjaro on my laptops, and I like consistency. I was a little surprised that Manjaro did not work given that Apricity did. Apricity’s kernel is more up to date (4.8 I believe?), but Manjaro 16.04/16.10 with Linux kernels 4.7 and 4.8 did not work.

    I had to haul my tower to my office to install and set up the video-vesa driver since I only have wifi at home and could not get my USB wifi device connected to the internet from the terminal! Oh well. All is better now as I have Manjaro working with this GPU! Thanks for this post.

    1. I’m glad I was able to help you! I’ve become a fan of Manjaro over the last couple of months and I was hoping that this post would help other people with the same problem.

  2. Just curious – which kernel are you using? At first, everything was noticeably choppy (Manjaro 16.10 with the 4.4 kernel), but 4.8 and 4.9 have worked much better for me. I wonder why the most up to date version of Manjaro is using 4.4?

Leave a Reply