# [carte graphique] "Failed to load firmware" (Résolu)

## she0gorath

Bonsoir à tous.

Voilà mon problème : J'ai une carte graphique ATI et j'ai installé une gentoo. Le problème qui se pose se visualise d'abord par un léger freeze au démarrage, puis par une impossibilité de mettre en place une accélération graphique digne de ce nom.

Quelques infos sur le matos :

```
sudo lspci

00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge

00:02.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (ext gfx port 0)

00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2)

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [IDE mode]

00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller

00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller

00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller

00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller

00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller

00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller

00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3c)

00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)

00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge

00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller

00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control

00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control

01:00.0 VGA compatible controller: ATI Technologies Inc Device 68f9

01:00.1 Audio device: ATI Technologies Inc Device aa68

02:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)

```

L'erreur au lancement du noyau :

```
[    0.521069] radeon 0000:01:00.0: irq 40 for MSI/MSI-X

[    0.521074] radeon 0000:01:00.0: radeon: using MSI.

[    0.521228] [drm] radeon: irq initialized.

[    0.521359] [drm] GART: num cpu pages 131072, num gpu pages 131072

[    0.522684] [drm] Loading CEDAR Microcode

[   60.896287] r600_cp: Failed to load firmware "radeon/CEDAR_pfp.bin"

[   60.896421] [drm:evergreen_startup] *ERROR* Failed to load firmware!

[   60.896553] radeon 0000:01:00.0: disabling GPU acceleration

[   60.897710] radeon 0000:01:00.0: ffff88007e8f6200 unpin not necessary

[   60.897841] radeon 0000:01:00.0: ffff88007e8f6200 unpin not necessary

[   60.897982] failed to evaluate ATIF got AE_BAD_PARAMETER

[   60.899284] [drm] Radeon Display Connectors

[   60.899416] [drm] Connector 0:

```

(je ne sais pas si c'est n'cessaire de mettre le reste...)

Un petit glxgears pour voir si l'accélération graphique marche :

```
ego@Sort ~ $ glxgears

37 frames in 5.2 seconds =  7.184 FPS

34 frames in 5.1 seconds =  6.667 FPS

```

==> Visiblement ça ne marche pas... J'ai des erreurs aussi quand j'essaye de lancer des logiciels qui demandent une accélération graphique, à savoir compiz et des jeux (pour l'instant minecraft sous java)

Bon, voilà...

Je suppose qu'il y a quelque-chose à activer dans le kernel (ou à désactiver), mais mes recherches google restent infructueuses pour l'instant...

Si vous avez des pistes, je serais ravis de les essayer  :Smile: 

----------

## Trevoke

Deux choses:

1) S'il-te-plait, formatte ton titre correctement

2) Tu as quoi donc-t-y comme carte Radeon? Une vieille? Une nouvelle?

Si tu as une nouvelle carte Radeon (3 ans ou moins, je dirai), desactive DRI dans le noyau et installe ati-drivers - et reessaye.

----------

## El_Goretto

 *she0gorath wrote:*   

> 
> 
> L'erreur au lancement du noyau :
> 
> ```
> ...

 

Je ne sais pas quelle carte tu as ni si elle est supportée, mais si tu souhaites passer par le driver opensource (si c'est compatible, c'est le plus simple et le plus pérenne), alors il te faut 3 choses:

1- activer le mode KMS pour radeon dans le noyau (impératif pour avoir un max de feature)

2- installer radeon-firmware (à ce propos, j'ai fait le fénéant et mis le driver kernel radeon en module pour éviter les problèmes de chargement du firmware sans initrd)

3- positionner radeon dasn video_cards dans make.conf, ce qui devrait installer le bon driver X

Attention, si evergreen est bien ce que je pense, il est possible que ta carte soit à la limite des cartes supportées par radeon. Cf la feature matrix. Dans ce cas, +1 trevoke, passe par fglrx le driver binaire officiel AMD.

Ensuite, c'est glxinfo (direct rendering: no/yes) qui te dira si l'accélération fonctionne, pas glxgears.

----------

## she0gorath

D'accord merci pour vos réponses, et désolé pour le titre, j'ai pas posté ici depuis un bon moment  :Smile: 

La carte est une carte toute récente. Je crains donc pour sa compatibilité... (ATI Radeon HD 5450)

J'essaie tout ça et je reviens pour donner des résultats.

Hum... L'accélération graphique fonctionne sans le support de la carte :/ 

```

ego@Sort ~ $ glxinfo | grep rendering

direct rendering: Yes

```

Le KMS était déjà activé

video_cards est bien sur radeon dans /etc/make.conf

En fait j'ai suivi le wiki, cette page : http://en.gentoo-wiki.com/wiki/Radeon

l'ebuild radeon-firmware n'existe pas dans mon portage. Cependant x11-drivers/radeon-ucode n'est pas installé, ce qui peut être la source du problème.

Donc quand j'emerge radeon-ucode, j'ai ces instructions :

```
 * Your kernel has radeon DRM built-in but not the IRQ microcode.

 * For kernel modesetting to work, please set in kernel config

 * CONFIG_FIRMWARE_IN_KERNEL=y

 * CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

 * CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/R600_rlc.bin radeon/R700_rlc.bin radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin radeon/SUMO_rlc.bin"

 * You may skip microcode files for which no hardware is installed.

 * More information at http://wiki.x.org/wiki/radeonBuildHowTo

```

C'est très bien, mais je ne suis pas sensé éditer le .config (ça se casserait au prochain make menuconfig...) Donc est-ce que vous savez où on trouve la configuration de ces variables dans le menuconfig ?

----------

## geekounet

Solution simple comme dit par El_Goretto : compiler le driver radeon en module plutôt qu'en dur dans le kernel, pas besoin de manip pour intégrer le firmware dans le kernel comme ça.  :Wink: 

----------

## she0gorath

Fait ! (passer le firmware en module)

Et ça marche a priori.

Merci à tous !

>résolu

----------

## Trevoke

En passant, il ressemble a quoi ton xorg.conf?

----------

