The mainline kernel needs the radeon-drm RLC firmware files

Bug #521737 reported by Leo Milano
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Linux
Invalid
Medium
linux-firmware (Ubuntu)
High
Chase Douglas

Bug Description

Starting with 2.6.33rc7, the mainline Linux kernel starts using KMS on my rig (Radeon HD 4350). However, some needed firmware files are missing, which makes radeon DRM to fail to load. Please see here for more details:

http://bugs.freedesktop.org/show_bug.cgi?id=26558

In short, the missing firmware binaries can be obtained from here:
http://people.freedesktop.org/~agd5f/radeon_ucode/

How to reproduce: use the mainline kernel in Lucid, with a radeon R600 card, and you'll find that 3D hardware acceleration works well up until 2.6.33rc6, and it stops working from rc7 on. The fix is very simple.

ProblemType: Bug
Architecture: amd64
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'ICE1724'/'ICEnsemble ICE1724 at 0xe800, irq 21'
   Mixer name : 'VIA Technologies VIA1617A'
   Components : 'AC97a:56494170'
   Controls : 59
   Simple ctrls : 37
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xfeaec000 irq 28'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100000'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined
   Playback channels: Mono
   Mono: Playback [on]
Card2.Amixer.info:
 Card hw:2 'U0x46d0x8ad'/'USB Device 0x46d:0x8ad at usb-0000:00:13.0-2, full speed'
   Mixer name : 'USB Mixer'
   Components : 'USB046d:08ad'
   Controls : 3
   Simple ctrls : 2
Date: Sun Feb 14 10:32:14 2010
DistroRelease: Ubuntu 9.10
HibernationDevice: RESUME=UUID=943bc554-beeb-4a3b-85f6-133754e3e4be
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: FOXCONN A7GM-S 2.0
NonfreeKernelModules: fglrx
Package: linux-image-2.6.31-19-server 2.6.31-19.56
ProcCmdLine: root=UUID=fff011a2-5131-4ba5-a1ea-f8c18b3a3859 ro acpi_enforce_resources=lax
ProcEnviron:
 LANGUAGE=
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-19.56-server
RelatedPackageVersions:
 linux-backports-modules-2.6.31-19-server N/A
 linux-firmware 1.25
RfKill:

SourcePackage: linux
Uname: Linux 2.6.31-19-server x86_64
WpaSupplicantLog:

XsessionErrors: (polkit-gnome-authentication-agent-1:2534): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
dmi.bios.date: 12/16/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 080014
dmi.board.name: A7GM-S 2.0
dmi.board.vendor: FOXCONN
dmi.board.version: FAB-A
dmi.chassis.type: 3
dmi.chassis.vendor: FOXCONN
dmi.chassis.version: FAB-A
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr080014:bd12/16/2008:svnFOXCONN:pnA7GM-S2.0:pvrFAB-A:rvnFOXCONN:rnA7GM-S2.0:rvrFAB-A:cvnFOXCONN:ct3:cvrFAB-A:
dmi.product.name: A7GM-S 2.0
dmi.product.version: FAB-A
dmi.sys.vendor: FOXCONN

Revision history for this message
In , Leo Milano (lmilano) wrote :

Created an attachment (id=33279)
dmesg, 2.6.33-rc6

Revision history for this message
In , Leo Milano (lmilano) wrote :

Created an attachment (id=33280)
dmesg, 2.6.33-rc7

Revision history for this message
In , Leo Milano (lmilano) wrote :

Created an attachment (id=33281)
xorg log 2.6.33-rc6

Revision history for this message
In , Leo Milano (lmilano) wrote :

Created an attachment (id=33282)
xorg log 2.6.33-rc7

Revision history for this message
In , Leo Milano (lmilano) wrote :

Not the following line in the xorg log when I boot with rc6:
(II) [KMS] drm report modesetting isn't supported.

In contrast, with rc7 I get this:
(II) [KMS] Kernel modesetting enabled.

As indicated in the bug report summary, if I add nomodeset and radeon.modeset=0 as a command line option, 3D performance with rc7 is the same as with rc6 (quite acceptable).

Revision history for this message
In , agd5f (agd5f) wrote :

Performance is slow because acceleration is disabled. You need to install the rlc firmware:

[ 38.055612] r600_cp: Failed to load firmware "radeon/R600_rlc.bin"
[ 38.055661] [drm:r600_startup] *ERROR* Failed to load firmware!

You can get it here:
http://people.freedesktop.org/~agd5f/radeon_ucode/

Put it in /lib/firmware/radeon or where ever your distro stores firmware.

Revision history for this message
In , Leo Milano (lmilano) wrote :

Alex, thank you very much for the pointer. I will test that. Does this mean that this firmware is only needed when using KMS ?

Revision history for this message
In , Leo Milano (lmilano) wrote :

Thank you again, Alex, and sorry for reporting a non-bug.

For the record, and for the benefit of other people: the location for the firmware in Ubuntu is:

/lib/firmware/KERNEL_VERSION/radeon

For example:

leo@grisell:/lib/firmware/2.6.33-020633rc8-generic/radeon$ ls
R100_cp.bin R300_cp.bin R520_cp.bin R600_pfp.bin R700_rlc.bin RS690_cp.bin RS780_pfp.bin RV610_pfp.bin RV620_pfp.bin RV630_pfp.bin RV635_pfp.bin RV670_pfp.bin RV710_pfp.bin RV730_pfp.bin RV770_pfp.bin
R200_cp.bin R420_cp.bin R600_me.bin R600_rlc.bin RS600_cp.bin RS780_me.bin RV610_me.bin RV620_me.bin RV630_me.bin RV635_me.bin RV670_me.bin RV710_me.bin RV730_me.bin RV770_me.bin

Note that the Rxxxx_rlc.bin seem to be only required when using KMS, and are not currently provided with the kernel mainline ppa (all the other ones are). Also: performance seems to be better without KMS these days -- I get about 16 fps in WoP without KMS, and 20 with KMS, please see here:

http://global.phoronix-test-suite.com/index.php?k=profile&u=mendieta-28641-25051-25186

Revision history for this message
In , agd5f (agd5f) wrote :

The RLC firmware is required for the interrupt controller which is only used by KMS, so it's only required for KMS.

Revision history for this message
Leo Milano (lmilano) wrote :

Starting with 2.6.33rc7, the mainline Linux kernel starts using KMS on my rig (Radeon HD 4350). However, some needed firmware files are missing, which makes radeon DRM to fail to load. Please see here for more details:

http://bugs.freedesktop.org/show_bug.cgi?id=26558

In short, the missing firmware binaries can be obtained from here:
http://people.freedesktop.org/~agd5f/radeon_ucode/

How to reproduce: use the mainline kernel in Lucid, with a radeon R600 card, and you'll find that 3D hardware acceleration works well up until 2.6.33rc6, and it stops working from rc7 on. The fix is very simple.

ProblemType: Bug
Architecture: amd64
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'ICE1724'/'ICEnsemble ICE1724 at 0xe800, irq 21'
   Mixer name : 'VIA Technologies VIA1617A'
   Components : 'AC97a:56494170'
   Controls : 59
   Simple ctrls : 37
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xfeaec000 irq 28'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100000'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined
   Playback channels: Mono
   Mono: Playback [on]
Card2.Amixer.info:
 Card hw:2 'U0x46d0x8ad'/'USB Device 0x46d:0x8ad at usb-0000:00:13.0-2, full speed'
   Mixer name : 'USB Mixer'
   Components : 'USB046d:08ad'
   Controls : 3
   Simple ctrls : 2
Date: Sun Feb 14 10:32:14 2010
DistroRelease: Ubuntu 9.10
HibernationDevice: RESUME=UUID=943bc554-beeb-4a3b-85f6-133754e3e4be
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: FOXCONN A7GM-S 2.0
NonfreeKernelModules: fglrx
Package: linux-image-2.6.31-19-server 2.6.31-19.56
ProcCmdLine: root=UUID=fff011a2-5131-4ba5-a1ea-f8c18b3a3859 ro acpi_enforce_resources=lax
ProcEnviron:
 LANGUAGE=
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-19.56-server
RelatedPackageVersions:
 linux-backports-modules-2.6.31-19-server N/A
 linux-firmware 1.25
RfKill:

SourcePackage: linux
Uname: Linux 2.6.31-19-server x86_64
WpaSupplicantLog:

XsessionErrors: (polkit-gnome-authentication-agent-1:2534): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
dmi.bios.date: 12/16/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 080014
dmi.board.name: A7GM-S 2.0
dmi.board.vendor: FOXCONN
dmi.board.version: FAB-A
dmi.chassis.type: 3
dmi.chassis.vendor: FOXCONN
dmi.chassis.version: FAB-A
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr080014:bd12/16/2008:svnFOXCONN:pnA7GM-S2.0:pvrFAB-A:rvnFOXCONN:rnA7GM-S2.0:rvrFAB-A:cvnFOXCONN:ct3:cvrFAB-A:
dmi.product.name: A7GM-S 2.0
dmi.product.version: FAB-A
dmi.sys.vendor: FOXCONN

Revision history for this message
Leo Milano (lmilano) wrote :
Bryce Harrington (bryce)
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: New → Triaged
importance: Undecided → High
Revision history for this message
Andy Whitcroft (apw) wrote :

Pete these may be required for our kernel for Lucid. I think the licence is ok with for linux-firmware, could you have a look and confirm.

Changed in linux (Ubuntu):
assignee: Andy Whitcroft (apw) → Pete Graner (pgraner)
milestone: none → ubuntu-10.04-beta-1
affects: linux (Ubuntu) → linux-firmware (Ubuntu)
Changed in linux-firmware (Ubuntu):
assignee: Pete Graner (pgraner) → Chase Douglas (chasedouglas)
Changed in linux:
status: Unknown → Invalid
Changed in linux-firmware (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.30

---------------
linux-firmware (1.30) lucid; urgency=low

  * rebased against git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git d9076a54d74e371a11e1206b4a26e2e428045b9e
  * Adds radeon firmware
    -LP: #521737
 -- Tim Gardner <email address hidden> Fri, 19 Feb 2010 13:53:12 -0700

Changed in linux-firmware (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Leo Milano (lmilano) wrote :

I can confirm the fix, I just tested it in Lucid. Excellent work , everyone! Cheers!

Changed in linux:
importance: Unknown → Medium
Changed in linux:
importance: Medium → Unknown
Changed in linux:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.