# radeon built in causes screen to freak out

## Skyer

Hello,

I'm trying to build radeon driver into kernel along with external firmware blobs for my GPU. However, when I attempt to boot the kernel no messages are displayed, instead, there are weird color schemes drawn. I am not sure how to describe this - perhaps the screen freaking out would be a good term. Also, the screen changes - brightness of some parts, color, etc. 

If I leave them built in and disable modesetting (by adding radeon.modeset=0 parameter to kernel), kernel works as expected.

If I take the external firmware blobs out, kernel hangs on "Switching to clocksource tsc", but eventually starts. I can also start X server without any problems.

```

1.761706] Switching to clocksource tsc

[   61.951571] r600_cp: Failed to load firmware "radeon/JUNIPER_pfp.bin"

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

```

My GPU has juniper chipset:

```

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Juniper XT [AMD Radeon HD 6000 Series]

```

I also tried to build radeon as module and then install radeon-ucode using emerge, but when I tried to insert the modules into the kernel I got an error message about the modules being incorrect - I'm sorry that I don't remember the exact error message.

Thanks for any help.

----------

## DONAHUE

```
emerge linux-firmware
```

 IMO best way to get firmware on board

built-in is the way to go

boot cd, mount gentoo partitions, enter chroot, nominally:

```
mount /dev/sda3 /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

mount -t proc none /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

export PS1="(chroot) $PS1"
```

then

```
emerge pciutils  wgetpaste linux-firmware

lspci -k | wgetpaste

wgetpaste /usr/src/linux/.config
```

post urls returned here.

----------

## destroyedlolo

I got exactly the same problem on an HP EliteBook 6930p : if I enable Radeon in my kernel, the display is displaying graphical garbages even if the machine is still running (I can ssh to it).

I didn't installed yet X.

In /var/log/messages, I got :

```
Dec  2 01:20:57 dual kernel: [    0.510788] [drm] radeon: 256M of VRAM memory ready

Dec  2 01:20:57 dual kernel: [    0.510867] [drm] radeon: 512M of GTT memory ready.

Dec  2 01:20:57 dual kernel: [    0.510946] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

Dec  2 01:20:57 dual kernel: [    0.511041] [drm] Driver supports precise vblank timestamp query.

Dec  2 01:20:57 dual kernel: [    0.511168] [drm] radeon: irq initialized.

Dec  2 01:20:57 dual kernel: [    0.511249] [drm] GART: num cpu pages 131072, num gpu pages 131072

Dec  2 01:20:57 dual kernel: [    0.512398] [drm] Loading RV620 Microcode

Dec  2 01:20:57 dual kernel: [    0.553579] ACPI: Deprecated procfs I/F for battery is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared

Dec  2 01:20:57 dual kernel: [    0.553699] ACPI: Battery Slot [BAT0] (battery present)

Dec  2 01:20:57 dual kernel: [    0.553828] ACPI: Deprecated procfs I/F for battery is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared

Dec  2 01:20:57 dual kernel: [    0.553945] ACPI: Battery Slot [BAT1] (battery absent)

Dec  2 01:20:57 dual kernel: [   60.896082] r600_cp: Failed to load firmware "radeon/R600_rlc.bin"

Dec  2 01:20:57 dual kernel: [   60.896164] [drm:r600_startup] *ERROR* Failed to load firmware!

Dec  2 01:20:57 dual kernel: [   60.896245] radeon 0000:01:00.0: disabling GPU acceleration

Dec  2 01:20:57 dual kernel: [   60.897336] radeon 0000:01:00.0: f65c1800 unpin not necessary

Dec  2 01:20:57 dual kernel: [   60.897442] radeon 0000:01:00.0: f65c1600 unpin not necessary

Dec  2 01:20:57 dual kernel: [   60.897523] radeon 0000:01:00.0: f65c1600 unpin not necessary

Dec  2 01:20:57 dual kernel: [   60.897996] [drm] Radeon Display Connectors

Dec  2 01:20:57 dual kernel: [   60.898080] [drm] Connector 0:

Dec  2 01:20:57 dual kernel: [   60.898157] [drm]   LVDS-1

Dec  2 01:20:57 dual kernel: [   60.898234] [drm]   Encoders:

Dec  2 01:20:57 dual kernel: [   60.898311] [drm]     LCD1: INTERNAL_KLDSCP_LVTMA

Dec  2 01:20:57 dual kernel: [   60.898389] [drm] Connector 1:

Dec  2 01:20:57 dual kernel: [   60.898466] [drm]   VGA-1

Dec  2 01:20:57 dual kernel: [   60.898543] [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c

Dec  2 01:20:57 dual kernel: [   60.898653] [drm]   Encoders:

Dec  2 01:20:57 dual kernel: [   60.898730] [drm]     CRT1: INTERNAL_KLDSCP_DAC1

Dec  2 01:20:57 dual kernel: [   60.898808] [drm] Connector 2:

Dec  2 01:20:57 dual kernel: [   60.898885] [drm]   DVI-D-1

Dec  2 01:20:57 dual kernel: [   60.898962] [drm]   HPD1

Dec  2 01:20:57 dual kernel: [   60.899038] [drm]   DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c

Dec  2 01:20:57 dual kernel: [   60.899147] [drm]   Encoders:

Dec  2 01:20:57 dual kernel: [   60.899224] [drm]     DFP1: INTERNAL_UNIPHY

Dec  2 01:20:57 dual kernel: [   60.899334] [drm] radeon: power management initialized

Dec  2 01:20:57 dual kernel: [   61.843272] [drm] fb mappable at 0x80040000

Dec  2 01:20:57 dual kernel: [   61.843351] [drm] vram apper at 0x80000000

Dec  2 01:20:57 dual kernel: [   61.843429] [drm] size 4096000

Dec  2 01:20:57 dual kernel: [   61.843505] [drm] fb depth is 24

Dec  2 01:20:57 dual kernel: [   61.843582] [drm]    pitch is 5120

Dec  2 01:20:57 dual kernel: [   61.843707] fbcon: radeondrmfb (fb0) is primary device

Dec  2 01:20:57 dual kernel: [   62.080022] Console: switching to colour frame buffer device 160x50

Dec  2 01:20:57 dual kernel: [   62.082355] fb0: radeondrmfb frame buffer device

Dec  2 01:20:57 dual kernel: [   62.082382] drm: registered panic notifier

Dec  2 01:20:57 dual kernel: [   62.082407] [drm] Initialized radeon 2.18.0 20080528 for 0000:01:00.0 on minor 0

Dec  2 01:20:57 dual kernel: [   62.083950] brd: module loaded

Dec  2 01:20:57 dual kernel: [   62.084751] loop: module loaded

```

Additionnal information : lspci, kernel config and messages

Please note : this machine in its early installation stage (as I'm blocked and investigating this graphical problem, so the kernel is not as optimized as it should be   :Wink:  )

----------

## NeddySeagoon

destroyedlolo,

```
Dec  2 01:20:57 dual kernel: [   60.896082] r600_cp: Failed to load firmware "radeon/R600_rlc.bin" 
```

You need that firmware file too.

----------

## DONAHUE

@destroyedlolo

refer to http://www.gentoo.org/doc/en/xorg-config.xml

 *Quote:*   

> # CONFIG_FIRMWARE_IN_KERNEL is not set
> 
> CONFIG_EXTRA_FIRMWARE=""

  reveals that building the firmware into the kernel is not in the kernel configuration.

boot the cd, mount the gentoo partitions, enter the chroot, nominally: 

```
mount /dev/sda3 /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

mount -t proc none /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

export PS1="(chroot) $PS1"

emerge linux-firmware

cd /usr/src/linux

make menuconfig
```

edit menucnfig to

 *Quote:*   

> Device Drivers  --->
> 
> Generic Driver Options  --->
> 
> (/sbin/hotplug) path to uevent helper                            
> ...

 

Having vesa_fb will interfere with kms

Are you sure you don't want [*] Laptop Hybrid Graphics - GPU switching support  ? As I avoid laptrops and especially hybrid graphicss laptops ... https://forums.gentoo.org/viewtopic-t-833166-start-0.html

----------

## destroyedlolo

Thanks DONAHUE, it's working.

FYI, as my system was still running, I was able to do the change w/o using the liveCD but thru ssh.

Thanks again.

Bye

----------

## Skyer

For those who might experience similar problem - I'm not sure what's the cause, but I found a partial way to solve this.

I've noticed 'the weird stuff on screen' never occurs if I keep my monitor shut down during system boot. Also, it disappears if I reboot the monitor. I don't really know

why this happens, but it seems to work. I've checked my cables twice, and it has never happened to me with different kernels.

----------

