R9 390x has garbage performance on Linux - please help

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

Oh perhaps it’s because it’s card1 - there’s an iGPU as well:

:~$ ls /sys/class/drm/
card0/          card0-HDMI-A-1/ card0-HDMI-A-3/ card1/          card1-DP-3/     card1-DVI-D-1/  renderD128/     ttm/
card0-DP-1/     card0-HDMI-A-2/ card0-VGA-1/    card1-DP-2/     card1-DP-4/     card1-HDMI-A-4/ renderD129/     version

Update: yup that did the trick… going to test now

1 Like

It’s set to high but I’m getting 2fps on Unigine Valley even so.

I’ve got the Radeon Profile utility running as well and the temps are 60c idle doing nothing so this doesn’t really seem like a win even if it worked.

Is the AMDGPU driver in use by the 390? Blacklisting radeon via blacklist.conf never worked for me on Ubuntu. What’s the output of lspci -k?

These were the boot parameters I used from the arch wiki:
radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dpm=1 amdgpu.dc=1

Well, this is certainly interesting…

:~$ lspci -k
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
        Subsystem: ASUSTeK Computer Inc. 4th Gen Core Processor DRAM Controller
        Kernel driver in use: hsw_uncore
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
        Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
        Subsystem: ASUSTeK Computer Inc. Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
        Kernel driver in use: i915
        Kernel modules: i915
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
        Subsystem: ASUSTeK Computer Inc. Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family USB xHCI Controller
        Kernel driver in use: xhci_hcd
00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family ME Interface
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
        Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I218-V
        Kernel driver in use: e1000e
        Kernel modules: e1000e
00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family USB EHCI Controller
        Kernel driver in use: ehci-pci
00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family HD Audio Controller
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0)
        Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 (rev d0)
        Kernel driver in use: pcieport
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family USB EHCI Controller
        Kernel driver in use: ehci-pci
00:1f.0 ISA bridge: Intel Corporation Z97 Chipset LPC Controller
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family Z97 LPC Controller
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich
00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode]
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family SATA Controller [AHCI Mode]
        Kernel driver in use: ahci
        Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller
        Subsystem: ASUSTeK Computer Inc. 9 Series Chipset Family SMBus Controller
        Kernel modules: i2c_i801
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] (rev 80)
        Subsystem: ASUSTeK Computer Inc. Radeon R9 390X
        Kernel driver in use: amdgpu
        Kernel modules: radeon, amdgpu
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
        Subsystem: ASUSTeK Computer Inc. Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
02:00.0 SATA controller: Kingston Technology Company, Inc. Device 0010 (rev 10)
        Subsystem: Kingston Technology Company, Inc. Device 0100
        Kernel driver in use: ahci
        Kernel modules: ahci
03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
        Subsystem: ASUSTeK Computer Inc. BCM4352 802.11ac Wireless Network Adapter
        Kernel modules: bcma
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] (rev 80)
        Subsystem: ASUSTeK Computer Inc. Radeon R9 390X
        Kernel driver in use: amdgpu
        Kernel modules: radeon, amdgpu
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
        Subsystem: ASUSTeK Computer Inc. Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

I’m not sure with si vs cik is all about but i have those parameters and more. Maybe more isn’t good?

Some other info:

:~$ ls /usr/share/X11/xorg.conf.d/
00-amdgpu.conf  10-amdgpu.conf  10-quirks.conf  10-radeon.conf  40-libinput.conf
:/usr/share/X11/xorg.conf.d$ cat 00-amdgpu.conf
Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
EndSection

Section "Files"
        ModulePath "/opt/amdgpu-pro/lib/xorg/modules"
        ModulePath "/opt/amdgpu/lib/xorg/modules"
        ModulePath "/usr/lib/xorg/modules"
EndSection
:/usr/share/X11/xorg.conf.d$ cat 10-amdgpu.conf
Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
        Option "AccelMethod" "glamor"
        Option "DRI" "3"
EndSection
:/usr/share/X11/xorg.conf.d$ cat 10-radeon.conf
Section "OutputClass"
        Identifier "Radeon"
        MatchDriver "radeon"
        Driver "radeon"
EndSection

Hmmm, well amdgpu driver is in use.

Based on the arch wiki SI is for southern island cards and CIK is for sea island cards. I believe the 390 was a sea island card. Maybe just try the CIK parameters as a test.

1 Like

Alright I may have figured it out… I disabled the intel iGPU in the bios and forced only the PCIE and poof, I’m getting 60fps in Rocket League & 30-50fps at 2k in Valley.

It’s as if it was rendering the games with the iGPU regardless of which monitor the game was on. Anyone have any idea what was going on there?

Going to run a Rise of the Tomb Raider bench when it’s downloaded.

Update: … Rise of the Tomb Raider just loads a black options window - can’t play…

Apparently my Vulkan setup is borked:

vulkaninfo

Vulkan Instance Version: 1.1.82

ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
WARNING: radv is not a conformant vulkan implementation, testing use only.
WARNING: radv is not a conformant vulkan implementation, testing use only.

Instance Extensions:
====================
Instance Extensions     count = 17
        VK_EXT_acquire_xlib_display         : extension revision  1
        VK_EXT_debug_report                 : extension revision  8
        VK_EXT_debug_utils                  : extension revision  1
        VK_EXT_direct_mode_display          : extension revision  1
        VK_EXT_display_surface_counter      : extension revision  1
        VK_KHR_device_group_creation        : extension revision  1
        VK_KHR_display                      : extension revision 23
        VK_KHR_external_fence_capabilities  : extension revision  1
        VK_KHR_external_memory_capabilities : extension revision  1
        VK_KHR_external_semaphore_capabilities: extension revision  1
        VK_KHR_get_display_properties2      : extension revision  1
        VK_KHR_get_physical_device_properties2: extension revision  1
        VK_KHR_get_surface_capabilities2    : extension revision  1
        VK_KHR_surface                      : extension revision 25
        VK_KHR_wayland_surface              : extension revision  6
        VK_KHR_xcb_surface                  : extension revision  6
        VK_KHR_xlib_surface                 : extension revision  6
Layers: count = 5
=======
:

Does the radeon item in Kernel modules: radeon, amdgpu mean anything bad?

That just means which modules are installed on the kernel and are compatible with the device.

You probably need to install both i686 and amd64 versions of vulkan and deps. I’m not familiar packages and multilib on Ubuntu based distros though, so I can’t really help you too much there.

1 Like