Comment 0 for bug 1953249

Revision history for this message
Ivo Cavalcante (ivo-cavalcante) wrote :

Release: up-to-date Focal LTS (20.04.3)
Package-version: linux-firmware 1.187.20

With the latest kernel upgrade (5.4 --> 5.11, if I recall correctly), my laptop's discrete graphics stopped working. Looking at the logs, I found these messages:

-- snippet --
kernel: [ 1.492908] [drm] amdgpu: dpm initialized
kernel: [ 1.492932] [drm] AMDGPU Display Connectors
kernel: [ 1.492951] amdgpu 0000:01:00.0: Direct firmware load for amdgpu/verde_uvd.bin failed with error -2
kernel: [ 1.492954] amdgpu 0000:01:00.0: amdgpu: amdgpu_uvd: Can't load firmware "amdgpu/verde_uvd.bin"
kernel: [ 1.492957] [drm:amdgpu_device_ip_init [amdgpu]] *ERROR* sw_init of IP block <uvd_v3_1> failed -2
kernel: [ 1.493196] amdgpu 0000:01:00.0: amdgpu: amdgpu_device_ip_init failed
kernel: [ 1.493198] amdgpu 0000:01:00.0: amdgpu: Fatal error during GPU init
kernel: [ 1.493200] amdgpu 0000:01:00.0: amdgpu: amdgpu: finishing device.
-- snippet --

In fact, file '/lib/firmware/amdgpu/verde_uvd.bin' was missing. Running '$ dpkg -L linux-firmware | sort' gives this:

-- snippet --
/lib/firmware/amdgpu/vegam_uvd.bin
/lib/firmware/amdgpu/vegam_vce.bin
/lib/firmware/amdgpu/verde_ce.bin
/lib/firmware/amdgpu/verde_k_smc.bin
/lib/firmware/amdgpu/verde_mc.bin
/lib/firmware/amdgpu/verde_me.bin
/lib/firmware/amdgpu/verde_pfp.bin
/lib/firmware/amdgpu/verde_rlc.bin
/lib/firmware/amdgpu/verde_smc.bin
/lib/firmware/amdgpu/yellow_carp_asd.bin
/lib/firmware/amdgpu/yellow_carp_ce.bin
-- snippet --

Copying the file from upstream (https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/amdgpu/verde_uvd.bin) didn't work on my system, probably because I use UEFI and the module wasn't signed (error below):

-- snippet --
kernel: [ 502.174932] amdgpu 0000:01:00.0: amdgpu: amdgpu_uvd: Can't validate firmware "amdgpu/verde_uvd.bin"
kernel: [ 502.174992] [drm:amdgpu_device_ip_init [amdgpu]] *ERROR* sw_init of IP block <uvd_v3_1> failed -22
kernel: [ 502.175285] amdgpu 0000:01:00.0: amdgpu: amdgpu_device_ip_init failed
kernel: [ 502.175289] amdgpu 0000:01:00.0: amdgpu: Fatal error during GPU init
kernel: [ 502.175293] amdgpu 0000:01:00.0: amdgpu: amdgpu: finishing device.
-- snippet --

I can confirm that reverting kernel driver to 'radeonsi' makes the device usable again, but at the expense of Vulkan APIs (not supported by this driver).

Could you, please, fix this?