How to get 7900 XTX working?

I finally pulled the plug and got some nice upgrades for my Linux machine. I have, however, had issues getting the 7900 XTX working. What I’ve done so far:

  • Changed kernel to 6.1
  • Installed Mesa 22.3.1 (and additional packages, like vulkan_radeon etc)
  • Installed linux-firmware-git. Also tried manually downloading / copying the latest amdgpu firmware from the repo, just in case (no difference)
  • Rebuilt initramfs
  • Made sure I don’t have any other boot params that might interfere
  • Pulled my hair

The GPU is recognised as a “VGA Compatible Adapter”, so I do get an image / desktop, but it is ofc horribly slow as there is no gpu acceleration.

Can’t say that I’m very good at figuring out these things, so I would appreciate some help of what’s needed. This is the amdgpu-related stuff from dmesg:

[    4.263635] [drm] amdgpu kernel modesetting enabled.
[    4.263703] amdgpu: Ignoring ACPI CRAT on non-APU system
[    4.263706] amdgpu: Virtual CRAT table created for CPU
[    4.263712] amdgpu: Topology: Add CPU node
[    4.263858] amdgpu 0000:03:00.0: vgaarb: deactivate vga console
[    4.263896] amdgpu 0000:03:00.0: enabling device (0006 -> 0007)
[    4.265811] amdgpu 0000:03:00.0: amdgpu: Fetched VBIOS from VFCT
[    4.265812] amdgpu: ATOM BIOS: 113-D7020100-102
[    4.265819] amdgpu 0000:03:00.0: [drm:jpeg_v4_0_early_init [amdgpu]] JPEG decode is enabled in VM mode
[    4.266009] amdgpu 0000:03:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
[    4.266034] amdgpu 0000:03:00.0: amdgpu: MEM ECC is not presented.
[    4.266035] amdgpu 0000:03:00.0: amdgpu: SRAM ECC is not presented.
[    4.266072] amdgpu 0000:03:00.0: amdgpu: VRAM: 24560M 0x0000008000000000 - 0x00000085FEFFFFFF (24560M used)
[    4.266074] amdgpu 0000:03:00.0: amdgpu: GART: 512M 0x0000000000000000 - 0x000000001FFFFFFF
[    4.266112] [drm] amdgpu: 24560M of VRAM memory ready
[    4.266113] [drm] amdgpu: 15911M of GTT memory ready.
[    4.268850] amdgpu 0000:03:00.0: amdgpu: CP RS64 enable
[    4.270073] amdgpu 0000:03:00.0: amdgpu: Will use PSP to load VCN firmware
[    4.552329] amdgpu 0000:03:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    4.552332] amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    4.552360] amdgpu 0000:03:00.0: amdgpu: smu driver if version = 0x00000032, smu fw if version = 0x00000034, smu fw program = 0, smu fw version = 0x004e4700 (78.71.0)
[    4.552363] amdgpu 0000:03:00.0: amdgpu: SMU driver if version not matched
[    4.718330] amdgpu 0000:03:00.0: amdgpu: SMU is initialized successfully!
[    4.746659] snd_hda_intel 0000:03:00.1: bound 0000:03:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    5.018406] amdgpu 0000:03:00.0: [drm:jpeg_v4_0_hw_init [amdgpu]] JPEG decode initialized successfully.
[    5.019769] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    5.019870] amdgpu: sdma_bitmap: fff0
[    5.081058] amdgpu: HMM registered 24560MB device memory
[    5.081423] amdgpu: SRAT table not found
[    5.081423] amdgpu: Virtual CRAT table created for GPU
[    5.081976] amdgpu: Topology: Add dGPU node [0x744c:0x1002]
[    5.081980] kfd kfd: amdgpu: added device 1002:744c
[    5.081991] amdgpu 0000:03:00.0: amdgpu: SE 6, SH per SE 2, CU per SH 8, active_cu_number 96
[    5.082044] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    5.082045] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[    5.082045] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[    5.082046] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[    5.082046] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[    5.082046] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[    5.082047] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[    5.082047] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[    5.082048] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[    5.082048] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[    5.082049] amdgpu 0000:03:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
[    5.082049] amdgpu 0000:03:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 1
[    5.082050] amdgpu 0000:03:00.0: amdgpu: ring vcn_unified_1 uses VM inv eng 1 on hub 1
[    5.082050] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 4 on hub 1
[    5.082051] amdgpu 0000:03:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 14 on hub 0
[    5.088179] amdgpu 0000:03:00.0: amdgpu: Using BACO for runtime pm
[    5.088380] [drm] Initialized amdgpu 3.49.0 20150101 for 0000:03:00.0 on minor 0
[    5.093439] fbcon: amdgpudrmfb (fb0) is primary device
[    5.287724] amdgpu 0000:03:00.0: [drm] fb0: amdgpudrmfb frame buffer device

lspci output:

03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 744c (rev c8)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device ab30
03:00.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 7446
03:00.3 Serial bus controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 7444

lshw output:

                 *-display
                      description: VGA compatible controller
                      product: Advanced Micro Devices, Inc. [AMD/ATI]
                      vendor: Advanced Micro Devices, Inc. [AMD/ATI]
                      physical id: 0
                      bus info: pci@0000:03:00.0
                      logical name: /dev/fb0
                      version: c8
                      width: 64 bits
                      clock: 33MHz
                      capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
                      configuration: depth=32 driver=amdgpu latency=0 mode=3440x1440 visual=truecolor xres=3440 yres=1440
                      resources: iomemory:f00-eff iomemory:f80-f7f irq:186 memory:f000000000-f7ffffffff memory:f800000000-f80fffffff ioport:f000(size=256) memory:ec100000-ec1fffff memory:ec200000-ec21ffff

Hello @devling :wink:

Maybe a dumb question… but your card is connected to:

It seems to be not the first pci slot.

Could it be possible that the connected pcie slot has limited bandwidth and therefore it is slow?

sudo dmidecode --type=slot

To get it working you need mesa compiled against llvm15, see this thread

2 Likes

@fraz0815 I tried compiling mesa-git earlier, but it had a build dependency on llvm14 (and the build passed), so thought that was not the issue. Also read it would work just as well will 22.3+… I didn’t know about changing the dependency, and indeed after recompiling it with latest llvm-git it work like a charm! :smiley:

Thanks a million.

1 Like

You are welcome, I was very happy myself after I stumpled acrsoss the reddit post :slight_smile:
Trying to spread the word, it is clearly missing on most pages. I think it only works OOB with Ubuntu/RHEL and official drivers from amd website.

Yes, found a ton of people that described the firmware / mesa (22.3) update, and even some mentioning the mesa-git, but nowhere did it say you HAVE to compile it with llvm 15+. Asked on a few other sites as well, will post the solution there for others in the same situation :slight_smile:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.