R9 390x has garbage performance on Linux - please help

Linux has been a tedious nightmare but I won’t give up on it. I’ve gone through several guides to try to get this to play anything and have failed.

So far most games straight up fail to render even 1 frame and freeze up and I have to ssh in to kill that game. Two games so far have made it beyond that to a stuttering ~20fps.


I’ve got Ubuntu 18.10 currently with amdgpu active & radeon blacklisted.

I was going to try to install the AMD supplied drivers for 18.04 (no 18.10 available yet) but now apt-get is stuck in a broken state and somehow even though the installers failed, they installed amdgpu-uninstall & amdgpu-pro-uninstall.

:~$ dmesg | grep amd
[    0.000000] Linux version 4.18.0-16-generic (buildd@lcy01-amd64-022) (gcc version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)) #17-Ubuntu SMP Fri Feb 8 00:06:57 UTC 2019 (Ubuntu 4.18.0-16.17-generic 4.18.20)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-generic root=UUID=fae7d5d0-6933-482b-95a3-905f616c96fe ro quiet splash radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1 vt.handoff=1
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-generic root=UUID=fae7d5d0-6933-482b-95a3-905f616c96fe ro quiet splash radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1 vt.handoff=1
[    0.550876] pcie_mp2_amd: AMD(R) PCI-E MP2 Communication Driver Version: 1.0
[    2.643633] [drm] amdgpu kernel modesetting enabled.
[    2.658143] amdgpu 0000:01:00.0: enabling device (0000 -> 0003)
[    3.582320] amdgpu 0000:01:00.0: VRAM: 8192M 0x000000F400000000 - 0x000000F5FFFFFFFF (8192M used)
[    3.582322] amdgpu 0000:01:00.0: GTT: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
[    3.582410] [drm] amdgpu: 8192M of VRAM memory ready
[    3.582412] [drm] amdgpu: 8192M of GTT memory ready.
[    3.805994] amdgpu 0000:01:00.0: fb1: amdgpudrmfb frame buffer device
[    3.807632] [drm] Initialized amdgpu 3.26.0 20150101 for 0000:01:00.0 on minor 1
[    4.211587] amdgpu: [powerplay]
:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  amdgpu-core
The following NEW packages will be installed:
  amdgpu-core
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
45 not fully installed or removed.
Need to get 0 B/2,348 B of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 file:/var/opt/amdgpu-pro-local ./ amdgpu-core 18.50-725072 [2,348 B]
(Reading database ... 310964 files and directories currently installed.)
Preparing to unpack .../amdgpu-core_18.50-725072_all.deb ...
ERROR: This package can only be installed on Ubuntu 18.04.
dpkg: error processing archive /var/opt/amdgpu-pro-local/./amdgpu-core_18.50-725072_all.deb (--unpack):
 new amdgpu-core package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 /var/opt/amdgpu-pro-local/./amdgpu-core_18.50-725072_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
:~$ sudo apt-get purge amdgpu-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'amdgpu-core' is not installed, so not removed
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 amdgpu-dkms : Depends: amdgpu-core but it is not going to be installed
 amdgpu-lib : Depends: amdgpu-core (= 18.50-725072) but it is not going to be installed
 glamor-amdgpu : Depends: amdgpu-core but it is not going to be installed
 gst-omx-amdgpu : Depends: amdgpu-core but it is not going to be installed
 libdrm-amdgpu-common : Depends: amdgpu-core but it is not going to be installed
 libdrm2-amdgpu : Depends: amdgpu-core but it is not going to be installed
 libdrm2-amdgpu:i386 : Depends: amdgpu-core:i386
 libegl1-amdgpu-mesa : Depends: amdgpu-core but it is not going to be installed
 libegl1-amdgpu-mesa:i386 : Depends: amdgpu-core:i386
 libgbm1-amdgpu : Depends: amdgpu-core but it is not going to be installed
 libgbm1-amdgpu:i386 : Depends: amdgpu-core:i386
 libgl1-amdgpu-mesa-dri : Depends: amdgpu-core but it is not going to be installed
 libgl1-amdgpu-mesa-dri:i386 : Depends: amdgpu-core:i386
 libglapi-amdgpu-mesa : Depends: amdgpu-core but it is not going to be installed
 libglapi-amdgpu-mesa:i386 : Depends: amdgpu-core:i386
 libllvm7.0-amdgpu : Depends: amdgpu-core but it is not going to be installed
 libllvm7.0-amdgpu:i386 : Depends: amdgpu-core:i386
 libwayland-amdgpu-client0 : Depends: amdgpu-core but it is not going to be installed
 libwayland-amdgpu-client0:i386 : Depends: amdgpu-core:i386
 libwayland-amdgpu-egl1 : Depends: amdgpu-core but it is not going to be installed
 libwayland-amdgpu-egl1:i386 : Depends: amdgpu-core:i386
 libwayland-amdgpu-server0 : Depends: amdgpu-core but it is not going to be installed
 libwayland-amdgpu-server0:i386 : Depends: amdgpu-core:i386
 mesa-amdgpu-va-drivers : Depends: amdgpu-core but it is not going to be installed
 mesa-amdgpu-va-drivers:i386 : Depends: amdgpu-core:i386
 mesa-amdgpu-vdpau-drivers : Depends: amdgpu-core but it is not going to be installed
 mesa-amdgpu-vdpau-drivers:i386 : Depends: amdgpu-core:i386
 xserver-xorg-amdgpu-video-amdgpu : Depends: amdgpu-core but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Is it even possible to game on Linux with this card?

Sound like something else is wrong. I have a 290/390 and performance has so far been flawless (currently). Been gaming on them for about 4 years now.

1 Like

If you do a quick search on these forums you can find me ranting about similar stuff, but usually its resolved by use Xorg and forcing power-state to high performance.

That’s good to know. My system is probably internally disfigured from all sorts of random thing’s I’ve done but it’s running some important stuff I’m not keen on having to set up from scratch so I’m hoping to recover this system without a re-install. Usually that would be my first option.

At one point I was using the Padoka PPA but in so having it installed, that broke some system update and I barely managed to recover from that. It’s now removed and I’m back in some new system-breaking driver configuration with regards to apt-get stuff.

As it turns out, I don’t think I can log in with Xorg - only Walyand options log in.

Was this an in-place upgrade from 18.04? And what kind of Ubuntu?

Yes, from command line. Ubuntu 64 Desktop IIRC.

Ubuntu 64?

Well… yeah? not 32-bit - Just the standard Ubuntu Desktop you download from https://www.ubuntu.com/download/desktop

4.18.0-16-generic #17-Ubuntu SMP Fri Feb 8 00:06:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

This was one of the guides I tried:

Like is it vanilla Ubuntu, with Unity as your DM, or Gnome, Budgie, LXDE, KDE, etc?

It was a previous upgrade from Ubuntu GNOME 17.xx (whichever version was before the two merged) and now I have both vanilla Ubuntu and GNOME Wayland & Xorg login options (4 total).

It could be the multiple DE’s causing conflicts. Usually, you only want one DE at a time.

However, in that thread you can see I commented about the powerstates being fixed in >=4.9 kernel version.

How do I change the power states?

One moment, I need to dig them up.

2 Likes

Here ya go

1 Like

I’m getting this:

./fixGPU.sh: line 21: /sys/class/drm/card0/device/power_dpm_force_performance_level: Permission denied
./fixGPU.sh: line 22: /sys/class/drm/card0/device/power_dpm_state: Permission denied

:~$ ls /sys/class/drm/card0/device/
    ari_enabled           class                     d3cold_allowed  driver           enable         i2c-0  i2c-3  index  local_cpulist  msi_bus    power   reset      resource2     revision   subsystem_device  vendor
    boot_vga              config                    device          driver_override  firmware_node  i2c-1  i2c-4  irq    local_cpus     msi_irqs   remove  resource   resource2_wc  rom        subsystem_vendor
    broken_parity_status  consistent_dma_mask_bits  dma_mask_bits   drm              graphics       i2c-2  i2c-5  label  modalias       numa_node  rescan  resource0  resource4     subsystem  uevent

don’t forget to use sudo

Oh wait you don’t have those files

Yeah I ran them manually with sudo - no dice.

Hmmmmmm.

Are my boot parameters correct?

radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1