View previous topic :: View next topic |
Author |
Message |
rexy712 n00b
Joined: 12 Dec 2017 Posts: 6
|
Posted: Tue Dec 12, 2017 9:33 pm Post subject: AMDGPU black screen during boot |
|
|
I just got a new computer built and am working on installing Gentoo on it. The issue I'm currently facing is with my graphics card. It's an RX 580 and I'm trying to use the AMDGPU driver with it. I followed the wiki guide for setting up the kernel and using the firmware. When I try to boot, the screen goes blank after a showing some text which goes by too fast to read. I know that the boot process completes because I can still ssh into the machine.
What seems to be the relevant snippet of dmesg:
Code: |
[ 0.826972] amdgpu 0000:0b:00.0: Direct firmware load for amdgpu/polaris10_k_smc.bin failed with error -2
[ 0.827151] [drm:amdgpu_cgs_get_firmware_info] *ERROR* Failed to request firmware
[ 1.294505] amdgpu: [powerplay] Failed to send Message.
[ 1.634394] tsc: Refined TSC clocksource calibration: 3593.248 MHz
[ 1.634524] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x33cb68e6ea4, max_idle_ns: 440795288133 ns
[ 1.768568] amdgpu: [powerplay] SMU Firmware start failed!
[ 2.241338] amdgpu: [powerplay] Failed to send Message.
[ 2.708461] amdgpu: [powerplay] SMU Firmware start failed!
[ 2.708571] amdgpu: [powerplay] Failed to load SMU ucode.
[ 2.708681] amdgpu: [powerplay] smc start failed
|
The complete dmesg error: https://pastebin.com/6DmKgYx6
And the firmware does exist in /lib/firmware/amdgpu folder:
Code: |
root ~ # ls /lib/firmware/amdgpu/polaris*
/lib/firmware/amdgpu/polaris10_ce_2.bin
/lib/firmware/amdgpu/polaris10_ce.bin
/lib/firmware/amdgpu/polaris10_k_smc.bin
/lib/firmware/amdgpu/polaris10_mc.bin
/lib/firmware/amdgpu/polaris10_me_2.bin
/lib/firmware/amdgpu/polaris10_me.bin
/lib/firmware/amdgpu/polaris10_mec2_2.bin
/lib/firmware/amdgpu/polaris10_mec_2.bin
/lib/firmware/amdgpu/polaris10_mec2.bin
/lib/firmware/amdgpu/polaris10_mec.bin
/lib/firmware/amdgpu/polaris10_pfp_2.bin
/lib/firmware/amdgpu/polaris10_pfp.bin
/lib/firmware/amdgpu/polaris10_rlc.bin
/lib/firmware/amdgpu/polaris10_sdma1.bin
/lib/firmware/amdgpu/polaris10_sdma.bin
/lib/firmware/amdgpu/polaris10_smc.bin
/lib/firmware/amdgpu/polaris10_smc_sk.bin
/lib/firmware/amdgpu/polaris10_uvd.bin
/lib/firmware/amdgpu/polaris10_vce.bin
/lib/firmware/amdgpu/polaris11_ce_2.bin
/lib/firmware/amdgpu/polaris11_ce.bin
/lib/firmware/amdgpu/polaris11_k_smc.bin
/lib/firmware/amdgpu/polaris11_mc.bin
/lib/firmware/amdgpu/polaris11_me_2.bin
/lib/firmware/amdgpu/polaris11_me.bin
/lib/firmware/amdgpu/polaris11_mec2_2.bin
/lib/firmware/amdgpu/polaris11_mec_2.bin
/lib/firmware/amdgpu/polaris11_mec2.bin
/lib/firmware/amdgpu/polaris11_mec.bin
/lib/firmware/amdgpu/polaris11_pfp_2.bin
/lib/firmware/amdgpu/polaris11_pfp.bin
/lib/firmware/amdgpu/polaris11_rlc.bin
/lib/firmware/amdgpu/polaris11_sdma1.bin
/lib/firmware/amdgpu/polaris11_sdma.bin
/lib/firmware/amdgpu/polaris11_smc.bin
/lib/firmware/amdgpu/polaris11_smc_sk.bin
/lib/firmware/amdgpu/polaris11_uvd.bin
/lib/firmware/amdgpu/polaris11_vce.bin
/lib/firmware/amdgpu/polaris12_ce_2.bin
/lib/firmware/amdgpu/polaris12_ce.bin
/lib/firmware/amdgpu/polaris12_mc.bin
/lib/firmware/amdgpu/polaris12_me_2.bin
/lib/firmware/amdgpu/polaris12_me.bin
/lib/firmware/amdgpu/polaris12_mec2_2.bin
/lib/firmware/amdgpu/polaris12_mec_2.bin
/lib/firmware/amdgpu/polaris12_mec2.bin
/lib/firmware/amdgpu/polaris12_mec.bin
/lib/firmware/amdgpu/polaris12_pfp_2.bin
/lib/firmware/amdgpu/polaris12_pfp.bin
/lib/firmware/amdgpu/polaris12_rlc.bin
/lib/firmware/amdgpu/polaris12_sdma1.bin
/lib/firmware/amdgpu/polaris12_sdma.bin
/lib/firmware/amdgpu/polaris12_smc.bin
/lib/firmware/amdgpu/polaris12_uvd.bin
/lib/firmware/amdgpu/polaris12_vce.bin
|
It's failing to load some part of the firmware. I've tried it with the stable linux-firmware-20170314 and the unstable linux-firmware-20171206. Both cause the same error message.
Here's my kernel config. I think everything I should need for AMPGPU to work is in there. https://pastebin.com/YK8jnsJX
I really appreciate anyone who could give me some help. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54793 Location: 56N 3W
|
Posted: Tue Dec 12, 2017 9:43 pm Post subject: |
|
|
rexy712,
Welcome to the Forums.
Code: | [ 0.826972] amdgpu 0000:0b:00.0: Direct firmware load for amdgpu/polaris10_k_smc.bin failed with error -2 |
That's a problem.
The first step is to check that the file /lib/firmware/amdgpu/polaris10_k_smc.bin exists on your system.
The firmware being pulled into the kernel is Code: | CONFIG_EXTRA_FIRMWARE="amdgpu/polaris10_ce.bin amdgpu/polaris10_mc.bin amdgpu/polaris10_me.bin amdgpu/polaris10_mec2.bin amdgpu/polaris10_mec.bin amdgpu/polaris10_pfp.bin amdgpu/polaris10_rlc.bin amdgpu/polaris10_sdma1.bin amdgpu/polaris10_sdma.bin amdgpu/polaris10_smc.bin amdgpu/polaris10_smc_sk.bin amdgpu/polaris10_uvd.bin amdgpu/polaris10_vce.bin amd-ucode/microcode_amd.bin amd-ucode/microcode_amd_fam15h.bin amd-ucode/microcode_amd_fam16h.bin" |
amdgpu/polaris10_k_smc.bin is the name of the required file. You have amdgpu/polaris10_smc.bin, which is a different file that you also need.
Add amdgpu/polaris10_k_smc.bin to that list of firmware files, rebuild and reinstall your kernel. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
rexy712 n00b
Joined: 12 Dec 2017 Posts: 6
|
Posted: Tue Dec 12, 2017 10:00 pm Post subject: |
|
|
Quote: |
amdgpu/polaris10_k_smc.bin is the name of the required file. You have amdgpu/polaris10_smc.bin, which is a different file that you also need.
|
Wow I feel really stupid now. I missed the '_k_' in the dmesg is all
It works fine now that I included that.
I did double check the wiki and it wasn't included on the required list for the RX 580 on there. Probably needs updated. Still my fault for not reading the error message correctly.
Thanks for the help, NeddySeagoon. |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Wed Dec 13, 2017 4:25 am Post subject: |
|
|
The easy way to make sure you haven't missed anything is to let the computer figure out the details for you:
Code: | cd /lib/firmware
echo 'CONFIG_EXTRA_FIRMWARE="' amdgpu/polaris10* '"' |
|
|
Back to top |
|
|
|