# Radeon no direct rendering after kernel upgrade

## emc

Hi,

Recantly I upgrade kernel from 3.10.* to 3.12.* and decide configure preboot splash. So, I followed gentoo wiki Xorg/Configuration and Radeon

My previous kernel in terms og graphics card worked really well even wasn't smartest config (take a look CONFIG_EXTRA_FIRMWARE_DIR was lackinf '/' so no fw was loaded:

```
#

# Generic Driver Options

#

CONFIG_UEVENT_HELPER_PATH="/sbin/udevadm"

CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FW_LOADER=y

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE="radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO_uvd.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

CONFIG_REGMAP=y

CONFIG_REGMAP_I2C=m

CONFIG_DMA_SHARED_BUFFER=y

#

# Graphics support

#

CONFIG_AGP=y

CONFIG_AGP_AMD64=y

CONFIG_VGA_ARB=y

CONFIG_VGA_ARB_MAX_GPUS=16

CONFIG_DRM=m

CONFIG_DRM_KMS_HELPER=m

CONFIG_DRM_TTM=m

#

# I2C encoder or helper chips

#

CONFIG_DRM_RADEON=m

CONFIG_VIDEO_OUTPUT_CONTROL=m

CONFIG_HDMI=y

CONFIG_FB=y

CONFIG_FB_DDC=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_SYS_FILLRECT=m

CONFIG_FB_SYS_COPYAREA=m

CONFIG_FB_SYS_IMAGEBLIT=m

CONFIG_FB_SYS_FOPS=m

CONFIG_FB_BACKLIGHT=y

CONFIG_FB_MODE_HELPERS=y

#

# Frame buffer hardware drivers

#

CONFIG_FB_RADEON=y

CONFIG_FB_RADEON_I2C=y

CONFIG_FB_RADEON_BACKLIGHT=y

CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_LCD_CLASS_DEVICE=m

CONFIG_BACKLIGHT_CLASS_DEVICE=y

#

# Console display driver support

#

CONFIG_VGA_CONSOLE=y

CONFIG_VGACON_SOFT_SCROLLBACK=y

CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

CONFIG_DUMMY_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y

CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y

CONFIG_FB_CON_DECOR=y

CONFIG_FONT_8x8=y

CONFIG_FONT_8x16=y

CONFIG_FONT_ISO_LATIN_1_8x16=y

CONFIG_LOGO=y

CONFIG_LOGO_LINUX_CLUT224=y

CONFIG_LOGO_LARRY_CLUT224=y

CONFIG_LOGO_LARRY_HEAD_CLUT224=y
```

and new one 'better':

```
#

# Generic Driver Options

#

CONFIG_UEVENT_HELPER_PATH="/sbin/udevadm"

CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FW_LOADER=y

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE="radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO_uvd.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

CONFIG_REGMAP=y

CONFIG_REGMAP_I2C=m

CONFIG_DMA_SHARED_BUFFER=y

#

# Graphics support

#

CONFIG_AGP=y

CONFIG_AGP_AMD64=y

CONFIG_VGA_ARB=y

CONFIG_VGA_ARB_MAX_GPUS=16

CONFIG_DRM=y

CONFIG_DRM_KMS_HELPER=y

CONFIG_DRM_TTM=y

#

# I2C encoder or helper chips

#

CONFIG_DRM_RADEON=y

CONFIG_VIDEO_OUTPUT_CONTROL=m

CONFIG_HDMI=y

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_SYS_FILLRECT=m

CONFIG_FB_SYS_COPYAREA=m

CONFIG_FB_SYS_IMAGEBLIT=m

CONFIG_FB_SYS_FOPS=m

CONFIG_FB_MODE_HELPERS=y

#

# Frame buffer hardware drivers

#

CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_LCD_CLASS_DEVICE=m

CONFIG_BACKLIGHT_CLASS_DEVICE=y

#

# Console display driver support

#

CONFIG_VGA_CONSOLE=y

CONFIG_VGACON_SOFT_SCROLLBACK=y

CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

CONFIG_DUMMY_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y

CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y

CONFIG_FB_CON_DECOR=y

CONFIG_LOGO=y

CONFIG_LOGO_LARRY_CLUT224=y

CONFIG_LOGO_LARRY_HEAD_CLUT224=y
```

OK, and now I have preboot splash but i.e. mplayer is unable to plat movie in full screen mode, some problem with compiz under XFCE4. What I can see:

```
# grep -E "EE|WW" /var/log/Xorg.0.log

[    52.691] Current Operating System: Linux gopher 3.12.1-geek #1 SMP PREEMPT Sun Nov 24 15:41:32 CET 2013 x86_64

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[    52.822] (WW) The directory "/usr/share/fonts/TTF/" does not exist.

[    52.822] (WW) The directory "/usr/share/fonts/OTF/" does not exist.

[    52.822] (WW) The directory "/usr/share/fonts/Type1/" does not exist.

[    52.864] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".

[    52.865] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".

[    52.875] Initializing built-in extension MIT-SCREEN-SAVER

[    53.076] (WW) Warning, couldn't open module vesa

[    53.076] (EE) Failed to load module "vesa" (module does not exist, 0)

[    53.077] (WW) Warning, couldn't open module modesetting

[    53.077] (EE) Failed to load module "modesetting" (module does not exist, 0)

[    53.078] (WW) Warning, couldn't open module fbdev

[    53.078] (EE) Failed to load module "fbdev" (module does not exist, 0)

[    57.578] (WW) RADEON(0): Direct rendering disabled
```

```
# glxinfo | grep render 

direct rendering: Yes 

OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.1, 128 bits) 

    GL_NV_conditional_render, GL_NV_fog_distance, GL_NV_light_max_expone
```

```
# eselect opengl list 

Available OpenGL implementations: 

  [1]   ati 

  [2]   xorg-x11 *
```

```
# eselect mesa list

64bit i915 (Intel 915, 945)

64bit i965 (Intel 965, G/Q3x, G/Q4x)

64bit r300 (Radeon R300-R500)

  [1]   gallium *

64bit r600 (Radeon R600-R700, Evergreen, Northern Islands)

  [1]   gallium *

64bit sw (Software renderer)

  [1]   classic

  [2]   gallium *

32bit i915 (Intel 915, 945)

  [1]   classic *

  [2]   gallium

32bit i965 (Intel 965, G/Q3x, G/Q4x)

  [1]   classic *

32bit r300 (Radeon R300-R500)

  [1]   gallium *

32bit r600 (Radeon R600-R700, Evergreen, Northern Islands)

  [1]   gallium *

32bit sw (Software renderer)

  [1]   classic

  [2]   gallium *
```

----------

## chithanh

dmesg will probably tell you why direct rendering does not work.

----------

## emc

 *chithanh wrote:*   

> dmesg will probably tell you why direct rendering does not work.

 

I do not see anything special...

http://pastebin.com/8pdxr5HJ

----------

## Jaglover

See Xorg log in /var/log/?

----------

## chithanh

```
[    1.551956] r600_cp: Failed to load firmware "radeon/PALM_pfp.bin"

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

[    1.552106] radeon 0000:00:01.0: disabling GPU acceleration
```

It looks like you don't have the correct firmware for your graphics chipset set in CONFIG_EXTRA_FIRMWARE. You probably need those mentioned under "PALM" in https://wiki.gentoo.org/wiki/Radeon#Firmware

The reason why it worked with previous kernels is possibly that radeon was built as module, so could load firmware from disk after boot.

----------

## szatox

 *Quote:*   

> # eselect opengl list 
> 
> Available OpenGL implementations: 
> 
>   [1]   ati 
> ...

 

If you didn't want to use fglrx, you would probably not install it. this means

emerge -1 ati-drivers

eselect opengl set ati

 should should do the trick.

----------

## emc

 *chithanh wrote:*   

> 
> 
> ```
> [    1.551956] r600_cp: Failed to load firmware "radeon/PALM_pfp.bin"
> 
> ...

 

Just for record, I was busy so I took me a while to compile kernel. I've change CONFIG_EXTRA_FIRMWARE from:

```
radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO_uvd.bin
```

to:

```
radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO_uvd.bin
```

In meantime I upgrade kernel from 12.1-geek to 12.4 geek and change some other config setting for different problem and I got kernel panic.

So, let me compile 12.1 and see what happend.

----------

