Bug 724161

Summary: radeon [HD 3000] GPU acceleration disabled with KMS due to missing firmware "radeon/R600_rlc.bin"
Product: [openSUSE] openSUSE 12.1 Reporter: Michele Cherici <contezero>
Component: YaST2Assignee: E-mail List <kernel-maintainers>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P3 - Medium CC: contezero, eich, ismail, sndirsch, thardeck, zypp-maintainers
Version: Beta 1   
Target Milestone: ---   
Hardware: x86-64   
OS: SUSE Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Xorg logfile
dmesg

Description Michele Cherici 2011-10-14 10:13:43 UTC
Created attachment 456592 [details]
Xorg logfile

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20100101 Firefox/7.0

3D acceleration is not enabled for radeon HD 3000
From xorg log:

(EE) FATAL: RadeonHD presently does not work with kernel modesetting (KMS).
Please disable KMS in your kernel.

I think it's similar to bug 675147 for opensuse 11.4


Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Ismail Dönmez 2011-10-19 11:11:32 UTC
Did you manually force the radeonhd driver? The default driver is supposed to be "radeon" (no hd) and it supports KMS.
Comment 2 Stefan Dirsch 2011-10-19 12:29:33 UTC
Ismail, the behaviour is fine. radeonhd is tried. If it fails due to KMS active radeon driver is loaded. And this is the issue:

[    18.785] (II) RADEON(1): GPU accel disabled or not working, using shadowfb for KMS
[    18.785] (II) Loading sub module "shadow"
[    18.785] (II) LoadModule: "shadow"
[    18.785] (II) Loading /usr/lib64/xorg/modules/libshadow.so
[    18.786] (II) Module shadow: vendor="X.Org Foundation"
[    18.786] 	compiled for 1.10.4, module version = 1.1.0
[    18.786] 	ABI class: X.Org ANSI C Emulation, version 0.4

Why any GPU acceleration (including 2D operations) are disabled I don't know
though. Could you add the output of 'dmesg'?
Comment 3 Michele Cherici 2011-10-20 08:58:12 UTC
Created attachment 457761 [details]
dmesg
Comment 4 Michele Cherici 2011-10-20 09:00:46 UTC
Look at bug 723902, I've the same error.
Comment 5 Michele Cherici 2011-10-20 09:19:35 UTC
I've tried installing kernel-firmware package (why it's not installed on default install?) but nothing has changed, I've the same error

r600_cp: Failed to load firmware "radeon/R600_rlc.bin"
[drm:r600_startup] *ERROR* Failed to load firmware!
radeon 0000:01:00.0: disabling GPU acceleration
Comment 6 Stefan Dirsch 2011-10-20 10:22:11 UTC
*** Bug 723902 has been marked as a duplicate of this bug. ***
Comment 7 Stefan Dirsch 2011-10-20 10:41:59 UTC
/lib/firmware/radeon/R600_rlc.bin is part of kernel-firmware package. Not sure why it isn't installed by default. Makes no sense to me.

Why it still can't be loaded I don't know.
Comment 8 Egbert Eich 2011-10-20 15:22:11 UTC
Did you install without the rv620 installed?
I did and I ran into the same issue as kernel-firmware was not installed. However after installing i, unloading raden, drm_kms_helper, ttm and drm and doing 'modprobe radeon' everything worked like expected.
Comment 9 Egbert Eich 2011-10-20 16:39:51 UTC
I cannot check if the module gets selected when the card is inserted due to a missing plugin in yast (qt_/ncurses_pkg) and I don't want to run a full installation just to find out.
If you have installed the system with the card inserted there is most likely an issue with the hardware package dependencies.
I've checked:
modinfo -F firmware radeon
lists the required module.
rpm -q --provides kernel-firmware
lists this module as provides of this package.
So this might be a YaST issue.
Comment 10 Michele Cherici 2011-10-20 18:46:35 UTC
The card is integrated into the motherboard (asus M5A78L-M LX)
Comment 11 Egbert Eich 2011-10-20 19:26:03 UTC
Ok, let's turn this over to the YaST team and see what they think.
Comment 12 Egbert Eich 2011-10-20 19:32:50 UTC
Should formulate a question:
A Radeon RV620 card is installed whose DRM driver (radeon.ko) requires microcode from the kernel-firmware package. The package doesn't get installed although it is needed to operate this card.
I've checked all dependencies: 
1. 'modinfo -F firmware radeon' lists this file.
2. This file is listed in 'rpm -q --provides' for the kernel-firmware file
3. the modalias if this device matches the radeon driver.
If we don't install kernel-firmware by default as a dependency on kernel or kernel base it should at least get installed as a dependency on the hardware.
Apparently this does not happen reliably.
Comment 13 Arvin Schnell 2011-10-21 08:10:19 UTC
AFIAS kernel-firmware includes no supplements and zypp needs these to
add packages depending on the hardware.
Comment 14 Tim Hardeck 2011-10-26 09:36:20 UTC
If somebody needs to debug this we have at least two machines with this issue here in Nuremberg.
Comment 15 Egbert Eich 2011-10-26 12:27:00 UTC
(In reply to comment #14)
> If somebody needs to debug this we have at least two machines with this issue
> here in Nuremberg.

As I said above already:

I can reproduce the issue here perfectly. It however goes away as soon as I install the kernel-firmware package.
Arvin explained in comment #13 what is missing.
Comment 16 Ismail Dönmez 2011-10-26 12:30:28 UTC
This is most probably fixed by https://build.opensuse.org/package/rdiff?commit=39&linkrev=base&package=kernel-firmware&project=Kernel%3AHEAD need to be tested again with upcoming RC2.
Comment 17 Tim Hardeck 2011-11-03 14:30:43 UTC
This seems to be fixed in Factory.
Comment 18 Ismail Dönmez 2011-11-03 14:33:27 UTC
Closing as fixed since I think the fix in comment 16 fixed it indeed. Thanks and please reopen if it still doesn't work for you with openSUSE 12.1 RC2.