AMD hardware support in Manjaro

amd
amdgpu
manjaro
graphics
radeon

#41

amd-staging-git from AUR is working out of the box for me.
But when monitor goes to sleep, the system freeze when it wakes up.
So i dont use this kernel :frowning:

 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     ludo@kressh
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     OS: Manjaro 17.0.2 Gellivara
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Kernel: x86_64 Linux 4.12.0-2-amd-staging-git
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Uptime: 6m
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ            β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Packages: 1044
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Shell: bash 4.4.12
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Resolution: 2560x1440
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     DE: Xfce4
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     WM: Xfwm4
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     WM Theme: Vertex-Maia
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     GTK Theme: Vertex-Maia [GTK2]
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Icon Theme: Vertex-Maia
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Font: Cantarell 10
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     CPU: AMD Ryzen 7 1700X Eight-Core @ 16x 3.7GHz [49.0Β°C]
                                  GPU: Gallium 0.4 on AMD FIJI (DRM 3.18.0 / 4.12.0-2-amd-staging-git, LLVM 4.0.1)
                                  RAM: 715MiB / 16062MiB

But i dont understand. What this Kernel is supposed to improve ? Can we have freesync with this kernel ?
I dont have a control panel or things like that…


#42

This kernel has the DC code which provides hdmi audio for polaris and all the display capabilities for vega. Freesync is broken right now AMD is working on a vendor neutral driver instead of opening their proprietary (I read this on phoronix but i can’t find the link now). With fiji you don’t need it.


#43

Thanks for the answer.
That was fun testing anyway because the elder scrolls servers were offline for a patch.

By the way, elder scrolls online 64bits runs very well with wine on amd hardware.

I can do mass pvp and 12 men trials in good conditions :slight_smile:

Try it !


#44

for AMDGPU in general. Its not implemented for all supported generations (GCN1.0 and newer) :sweat_smile:

there’s also this ToDo list

https://lists.freedesktop.org/archives/amd-gfx/2017-August/012054.html


#45

https://cgit.freedesktop.org/~agd5f/linux/tree/drivers/gpu/drm/amd/display/TODO?h=amd-staging-drm-next


#46

I believe that amdgpu (the actual display code will be substituted by DC) provides hdmi audio for at least for GCN 1.2 (pulseaudio reports that my 380x have it). With polaris there is no audio because of hdmi 2.0. For not maintain to code paths they implement this feature only on DC.

I try hdmi audio and doesn’t work :grimacing:. so i supose that hdmi hardware capabilities are expose but not actual working drivers…


#47

new laptop mhwd-amdgpu is installed

Graphics:  Card-1: Intel HD Graphics 520
           Card-2: Advanced Micro Devices [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430]
           Display Server: x11 (X.Org 1.19.3) driver: intel Resolution: 1366x768@60.02hz
           OpenGL: renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2) version: 4.5 Mesa 17.1.7

is amdgpu supported? what do i need to install



#48

as always, install mhwd-addon-amdgfx-hwe and look if *amdgpu-experimental(-prime) shows up.


#49

@Tids So now there’s only one?

video-amdgpu-experimental for desktops (what happened to experimental+?)

and

video-hybrid-intel-amdgpu-experimental-prime for laptops?

I did forget to install it then, since the last reinstall I’ve been using the normal one. So the real deal is the one named *-experimental* :yum: I hope it doesn’t break switching… :sweat_smile:

For me, after installing the package: mhwd-addon-amdgfx-hwe, still can only see:

$ mhwd
> 0000:01:00.0 (0300:1002:67df) Display controller ATI Technologies Inc:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
          video-amdgpu            2017.03.24                true            PCI
            video-vesa            2017.03.12                true            PCI

Unless I list them all with -la, I can see 5 profiles:

----------------------------------------------------------------------------------------------
        NAME                                       VERSION          FREEDRIVER           TYPE
----------------------------------------------------------------------------------------------
video-amdgpu                                    2017.03.24                true            PCI
video-amdgpu-experimental                       2017.06.17                true            PCI
video-hybrid-radeon-amdgpu-prime                2017.05.29                true            PCI
video-hybrid-intel-amdgpu-prime                 2017.05.29                true            PCI
video-hybrid-intel-amdgpu-experimental-prime    2017.06.17                true            PCI

So, is video-amdgpu upstream? If so then is video-amdgpu-experimental the one you’ve been working on and the one merged/implemented into mhwd by philm? Sorry it’s still a bit confusing for me.


#50

All the + ones where merged upstream except for the amdgpu experimental stuff. Because it’s just too dangerous to ship it by default.

They are all made by me based on the β€œold” scripts. So there should not be a difference when you switch over.

BTW if you’re using Linux 4.13, don’t use amdgpu experimental. It’s kind of broken for many cards.


#51

a little list about the situation. We now have a few Polaris12 users who can not install Manjaro or get bad graphics performance. If you can not even install Manjaro, use Architect and make sure you install Linux4.12 or newer.
With bad performance, install linux4.12 or newer via mhwd.

Table is moved ->


Amdgpu / RX550 / boot screen unreadable
Sapphire rx 550
Failed to start Live-System on Ryzen/RX550
Update running Manjaro 17.x with a Sapphire RX550
#52

if Manjaro could add a linux-amd-staging kernel to its official repo’s, Vega would be no problem ^^


#53

Lol so if I buy vega now I couldn’t use Manjaro? :weary:


#54

as if you could buy a vega now


#55

Pfff right, I wonder how many more months till it’s price is normalize and till linux supports it…


#56

it is hard for linux to support it when no devs have access to it
HBM shortages should be slowing down thought


#57

I though AMD already pushed or at least opened the PR…


#58

You can, but you need to add an extra repository for the kernel. (the mesa-git repository from arch is the one that offers the linux-amd-staging kernelpackage )

AMD opensourced the complete display code that is needed for Vega some years ago and continues to work on it. It has not yet been accepted upstream. That’s why distributions would need to integrate that display code into their own kernels - it is not yet in the official linux kernel but it is openly available.
Mesa already supports Vega.


#59

It seems it’s not easy enough for distro maintainers to do that… Unless it was to just put the code inside the kernel folder and compile :sweat_smile:

On the other hand I understand why Linux devs won’t merge the display code… It’s a lot and it’s optional for a Linux distro to work… But something must be done… Like merge only the necessary code/modules for the gpu to work and all the optional stuff as an optional package outside the kernel… It mustn’t be that hard unless the display code is just a bunch of hardcoded stuff (more reason not to merge it…).


#60

It would be fairly easy - but it will also get obsolete as soon as the display code is accepted upstream and it might cause issues due to it being work in progress and it did not go through pre-release preparations like the RC’s that every kernel goes through.

that’s not really an option. The whole display code is huge, and removing parts of it might lead to unforeseen consequences. It is easier to use it completely.