R9 380X - Displayport 144Hz - Ubuntu Linux problems and solutions

This is meant as support information for those that encountered similar problems to mine.

 

Setup and situation:

- Sapphire R9 380X 4GB which suffers from serious instability in intermediate state and randomly during state switching, which leads to constant random crashing unrecoverable by operating system and occasionally even BIOS video corruption

- Asus MG278Q 2560x1440 144Hz monitor, connected via DisplayPort (HDMI doesn't show these problems)

 

Problems:

- With Ubuntu 16.04 and Linux Mint 18, screen doesn't show anything (no signal) by default, which uses the open source amd drivers. Can't even load the installer / live CD.

- With VESA mode, linux kernel would occasionally fail loading and go into panic mode

- On Ubuntu installed via HDMI, then switching to DisplayPort shows no video at all

- On Linux Mint 18 installed via HDMI, then switching to DisplayPort shows video in 640x480, and then no video after logging in. Text consoles (Ctrl + Alt + F1 and others) work fine.

- Linux Mint 18, after forcing the dpm state to 'high' or 'low', can log in, but changing resolution causes system crash

- CentOS just doesn't show anything even on HDMI

- Problems occur mostly due to 144Hz refresh rate in my opinion, because with HDMI the monitor only works at 60Hz. Also DVI seems to have the same problems as Displayport because it runs at 144Hz, but I haven't tested it extensively.

 

My current solution:

Install Ubuntu 16.04 (NOT 16.04.1 or 16.04.x) with HDMI connected.

I didn't install any updates at this point.

Install the AMDGPU PRO drivers (I followed this How-To Install/Uninstall AMD Radeon™ Software AMDGPU-PRO Driver for Linux® on an Ubuntu System

shut down and boot up using DisplayPort

At this point DisplayPort works in Ubuntu, at 144Hz

This still doesn't solve the random crashes my card suffers from, so I use this little script AMD-Linux-Power-Management/set_freq.py at master · giuliojiang/AMD-Linux-Power-Management · GitHub

to force fixed frequencies on the GPU