On Sunday, 18 February 2024 09:17:13 GMT Paul Sopka wrote:
> Thank you for your reply.
>
> >> Hello everybody,
> >>
> >> I installed an AMD Radeon RX 7900 XTX today, switching from Nvidia. But
> >> once I enable FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y to have a tty once
> >> the driver is up, the following happens:
> >>
> >> 1) My Wayland compositor (Hyprland) takes very long to start.
> >>
> >> 2) reading from sysfs (e.g. running "cat
> >> /sys/class/drm/card0/device/gpu_busy_percent") does not work and causes
> >> a hang.
> >>
> >> Once I disable FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=n, I have no issues
> >> with the starting speed of the compositors at all and the mentioned
> >> command works. But this leads to a black tty.
> >
> > You'd normally need this enabled to get a fb display on the console, but I
> > don't know if this would be provided by proprietary drivers instead for
> > your card - see below.
>
> I made a mistake here, sorry. The issue causing setting is
> DRM_FBDEV_EMULATION=y, which on itself works with the open source
> driver, but causes issues as soon as I start Hyprland.
I have an older AMD card here, using amdgpu only. If I disable
DRM_FBDEV_EMULATION I lose my framebuffer and end up with a black screen.
When the sddm display manager starts I have a GUI again to login to Plasma
with. This is to be expected in my case, because I rely on the KMS driver
(KMS FB helpers) to provide a framebuffer device. Unless an AMD proprietary
driver is available via amdgpu-pro to substitute for the KMS FB emulation,
then you won't get a framebuffer device to render your tty console.
> > It could be both. I don't think there's any Linux firmware released yet
> > for this card - but I don't follow the latest & greatest so I could be
> > wrong. You'd need the AMD amdgpu-pro on top of the amdgpu driver, to
> > bring in the proprietary OpenGL, OpenCL, Vulkan and AMF components:
> >
> >
https://wiki.gentoo.org/wiki/AMDGPU-PRO
> >
> > This is what's in portage today:
[snip ...]
> The firmare seems good, since it is loaded just fine, "dmesg | grep
> amdgpu | grep firmware" returns:
> [ 16.905914] Loading firmware: amdgpu/psp_13_0_0_sos.bin
> [ 16.905916] Loading firmware: amdgpu/psp_13_0_0_ta.bin
> [ 16.905917] Loading firmware: amdgpu/smu_13_0_0.bin
> [ 16.905917] Loading firmware: amdgpu/dcn_3_2_0_dmcub.bin
> [ 16.905918] Loading firmware: amdgpu/gc_11_0_0_pfp.bin
> [ 16.905919] Loading firmware: amdgpu/gc_11_0_0_me.bin
> [ 16.905919] Loading firmware: amdgpu/gc_11_0_0_rlc.bin
> [ 16.905920] Loading firmware: amdgpu/gc_11_0_0_mec.bin
> [ 16.905921] Loading firmware: amdgpu/gc_11_0_0_imu.bin
> [ 16.905922] Loading firmware: amdgpu/sdma_6_0_0.bin
> [ 16.905923] Loading firmware: amdgpu/vcn_4_0_0.bin
> [ 16.906095] Loading firmware: amdgpu/gc_11_0_0_mes_2.bin
> [ 16.906096] Loading firmware: amdgpu/gc_11_0_0_mes1.bin
> [ 16.906496] amdgpu 0000:03:00.0: amdgpu: Will use PSP to load VCN
> firmware
These are for the amdgpu driver. I expect the amdgpu-pro proprietary driver
contains additional firmware.
> Also the mesa libraries work just fine,
Mesa is the open source implementation of OpenGL, Vulkan, et al. graphics API
specifications. If you are using proprietary AMD drivers then I understand
all the graphics API instructions will go through these proprietary drivers,
instead of being translated by Mesa.
> if I disable
> DRM_FBDEV_EMULATION=n, I just get a black tty, but Hyprland starts and I
> can play games with the expected performance.
I am not sure how the fbdev emulation in the kernel works with the amdgpu-pro
when combined with Hyprland. Have you tried a different compositor to see how
it compares. If your problem is caused by some Hyprland bug, you'd soon know.