# [Solved] No direct rendering for integrated Radeon

## fartgeyser

My harddrive recently crashed, so when I went to get a new one, I decided to install (Gentoo) Linux rather than to mess around with Windows cd-key registration, etc. My goal was to switch completely over to Linux, but just in case I left a spare 40 GB partition for Windows. However, the longer I mess around with this computer, the more thankful I am that I left that partition open. After a dozen kernel recompiles (with genkernel it takes a LONG time), scores of X restarts, several emerges, and tens of hours browsing the internet to try and get direct rendering to work, I'm just about ready to give up. I've followed everything on the Gentoo Wiki regarding the open-source Radeon drivers and nothing under the troubleshooting section has worked. I've read posts on other forums with people saying "I've tried everything, and I finally found the solution! Here it is!" and their solutions never worked. I can't necessarily tell you everything that I've tried, since I haven't been keeping track.

Regarding the proprietary ATI drivers, everytime I set fglrx as the driver in my xorg.conf, when I startx I get a message saying (EE) No devices detected. I read somewhere that the statement I received meant that the device is unsupported. However, I couldn't find a list of what versions of the drivers supported what devices, so I'm hoping that someone here can help me out.

In short, when I use the open-source drivers, I fail to get direct rendering, but when I use the proprietary drivers, X fails to start.

I'm not sure what logs, etc., you need to help diagnose the problem, so I guess I'll post on request. BTW, I have an AMD AthlonXP M processor and a Radeon IGP320 integrated chip (it's a laptop).Last edited by fartgeyser on Mon Jul 02, 2007 11:47 pm; edited 1 time in total

----------

## sonicbhoc

For the record, your problem probably isn't with Linux, but the fact that you just happened to be unlucky enough to be stuck with a video card from a vendor that probably couldn't write a coherent cross-platform "hello world!" program.

Stay away from ATI. Avoid it like the plague; even Intel cards work better in Linux than those things   :Evil or Very Mad: 

Now then, if we're going to get that card to work, we'll need the xorg logs (found in /var/log/Xorg.0.log) from the open source driver (try this one first) and the proprietary one.

To get the logs, change to the open source driver, start X and logout. Then, copy and paste the log somewhere (it might not fit completely on the board, so try putting it on pastebin.com or something) and give us a link to it.

----------

## fartgeyser

Yeah, well, unfortunately I can't do anything about the ATI chip in there, since it's integrated. My video card burned out on my Linux desktop, and I replaced that with an nVidia, after reading about its phenominal support on Linux. I got direct rendering working fine on it, and it runs Call of Duty better than this Windows laptop did.

To start, here's my Xorg.0.log from the radeon boot.

Now here it is from the fglrx boot.

Thanks for your interest in helping me!

----------

## Ehnvis

There is absolutely nothing wrong with ATI and linux, you just need to know what to do and it usually takes a bit longer to setup than Nvidia.

You problem is that the IGP 320M isnt supported by the fglrx drivers and you need to use the ATI Radeon DRI drivers from the kernel. Can you paste your xorg.conf here so we can have a look?

----------

## fartgeyser

I just remembered this: a few months ago I tried something called Kororaa, which is basically a live cd that shows off aiglx, xgl, compiz, and Gentoo, among other things. For those of you who are unfamiliar with these (probably not many), they let you view your desktops as part of a rotatable cube, with other interface effects. Something about this live cd must've configured itself right, because the interface was definitely too smooth to be CPU rendered. However, I do not have the cd with me to test it out at the moment.

Anyway, this was generated by xorgconfig, but I removed the comments for ease of reading.

```
Section "Module"

    Load        "dbe"

    SubSection  "extmod"

      Option    "omit xfree86-dga"

    EndSubSection

    Load        "freetype"

    Load       "glx"

    Load       "dri"

EndSection

Section "Files"

    FontPath   "/usr/share/fonts/misc/"

    FontPath   "/usr/share/fonts/Type1/"

    FontPath   "/usr/share/fonts/100dpi/"

    FontPath   "/usr/share/fonts/75dpi/"

EndSection

Section "ServerFlags"

EndSection

Section "InputDevice"

    Identifier  "Keyboard1"

    Driver      "kbd"

    Option "AutoRepeat" "500 30"

    Option "XkbRules"   "xorg"

    Option "XkbModel"   "pc104"

    Option "XkbLayout"  "us"

EndSection

Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"    "Auto"

    Option "Device"      "/dev/input/mice"

    Option "ZAxisMapping"   "4 5 6 7"

EndSection

Section "Monitor"

    Identifier  "LCD"

    HorizSync   31.5 - 48.5

    VertRefresh 60

EndSection

Section "Device"

    Identifier  "Standard VGA"

    VendorName  "Unknown"

    BoardName   "Unknown"

    Driver     "vga"

EndSection

Section "Device"

    Identifier  "Ati IGP 320"

    Driver      "radeon"

    VideoRam    65536

EndSection

Section "Screen"

    Identifier  "Screen 1"

    Device      "Ati IGP 320"

    Monitor     "LCD"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

EndSection

Section "ServerLayout"

    Identifier  "Simple Layout"

    Screen "Screen 1"

    InputDevice "Mouse1" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

Section "DRI"

   Mode 0666

EndSection
```

----------

## Ehnvis

Hmm, did have another look on the log from the radeon driver and it looks like something is wrong with drm. Do you have x11-libs/libdrm installed? And does VIDEO_CARDS in /etc/make.conf contain radeon?

----------

## fartgeyser

I do not have libdrm installed, however I have drm installed as a module in the kernel. Also, there is no VIDEO_CARDS in my make.conf.

----------

## Ehnvis

Add VIDEO_CARDS="radeon" to /etc/make.conf and at the same time add INPUT_DEVICES="evdev mouse keyboard" when you still have it opened. Then do an emerge xorg-server and this should pull in all needed stuff.

----------

## fartgeyser

 *Ehnvis wrote:*   

> Add VIDEO_CARDS="radeon" to /etc/make.conf and at the same time add INPUT_DEVICES="evdev mouse keyboard" when you still have it opened. Then do an emerge xorg-server and this should pull in all needed stuff.

 

I'm doing it right now, but what is the INPUT_DEVICES part for?

----------

## Ehnvis

Its to make sure you have all needed drivers for mouse and keyboard and if you look at the guides for setting up X.org it clearly tells you to add those variables to make.conf.

----------

## fartgeyser

Ok, I just finished emerging xorg-server with those flags in my make.conf. Still no direct rendering, however glxgears is smooth for about 2 seconds, but then goes extremely choppy. Oddly enough, the FPS reading remains at about 300, when it looks like about 3-4. Should I try to re-emerge my entire system?

----------

## mimosinnet

I have open source ati drivers working (Radeon 9200). These are my settings so you can check if they are similar to yours.

```
# eselect opengl show

xorg-x11
```

```
# glxinfo

name of display: :0.0

libGL warning: 3D driver claims to not support visual 0x4b

display: :0  screen: 0

direct rendering: Yes
```

```
cat /etc/make.conf

VIDEO_CARDS="radeon"
```

```
# grep DRM /usr/src/linux/.config

CONFIG_DRM=m

# CONFIG_DRM_TDFX is not set

# CONFIG_DRM_R128 is not set

CONFIG_DRM_RADEON=m

# CONFIG_DRM_MGA is not set

# CONFIG_DRM_SIS is not set

# CONFIG_DRM_VIA is not set

# CONFIG_DRM_SAVAGE is not set
```

```
# lsmod

Module                  Size  Used by

radeon                111136  3

drm                    72788  4 radeon

sis_agp                 8324  1

agpgart                29872  2 drm,sis_agp
```

Also, some information from dri.freedesktop.org in case it is relevant for configuring the card:

 *Quote:*   

> IGP
> 
> The Radeon IGP chipsets do not have discrete video ram. They share system ram much like the Intel i8xx chips, and VIA/S3 ProSavage/Twister chips. There is support for 2D and 3D acceleration for the IGP chipsets in DRI and Mesa CVS. 

 

----------

## fartgeyser

I set my opengl with eselect to xorg-x11, still no luck. My make.conf matches yours as far as VIDEO_CARDS goes, my kernel config matches yours, but glxinfo still shows no direct rendering. The only thing different were my lsmod results. Radeon was not loaded, drm was not loaded, ati_agp was loaded instead of sis_agp (since my chipset is different than yours) and my agpgart entry reports fglrx,ati_agp.

----------

## mimosinnet

 *fartgeyser wrote:*   

> I set my opengl with eselect to xorg-x11, still no luck. My make.conf matches yours as far as VIDEO_CARDS goes, my kernel config matches yours, but glxinfo still shows no direct rendering. The only thing different were my lsmod results. Radeon was not loaded, drm was not loaded, ati_agp was loaded instead of sis_agp (since my chipset is different than yours) and my agpgart entry reports fglrx,ati_agp.

 

If you are using the open source drivers, you should not have the fglrx module loaded. It seems that there is a mixture of open source and close source configuration. If I understand correctly from your posts, you are using the open source drivers. 

First, check your kernel configuration:

```
# grep -C 10 RADEON /usr/src/linux/.config

# CONFIG_AGP_AMD64 is not set

# CONFIG_AGP_INTEL is not set

# CONFIG_AGP_NVIDIA is not set

CONFIG_AGP_SIS=m 

# CONFIG_AGP_SWORKS is not set

# CONFIG_AGP_VIA is not set

# CONFIG_AGP_EFFICEON is not set

CONFIG_DRM=m

# CONFIG_DRM_TDFX is not set

# CONFIG_DRM_R128 is not set

CONFIG_DRM_RADEON=m
```

Recompile the kernel (make && make modules_install), and re-emerge x11-xorg, x11-drm. After this, post the results of lsmod.

Cheers!

----------

## fartgeyser

```
CONFIG_DRM=m

CONFIG_DRM_RADEON=m

CONFIG_AGP_ATI=m
```

If I have drm installed as a module, why would I need x11-drm? Even the Gentoo Wiki says regarding open source ATI setup: Emerge the module separately (NOT recommended unless using 2.4.x kernel).

UPDATE: Ok, I got direct rendering. I think it was a combination of the VIDEO_CARDS flag, plus I re-added agpgart and radeon to /etc/modules.autoload.d/kernel-2.6. I had done it before, but it didn't work probably because of the VIDEO_CARDS flag not being set, so I took them out. However, as kind of a last-ditch kind of a thing, I re-added them, and now it works!!!!

UPDATE2: I just tried GTA2 via wine, but it locked up, so I killed GTA2 and wineserver, then the X server, and when I went back into it, I didn't have direct rendering. However, I rebooted, and now I have direct rendering again. Must be some fluke I guess. Another thing, I only get 200 fps on glxgears, which seems WAY slow, seeing as how this same computer could handle Counter Strike: Source on Windows. Any ideas how to speed it up?

----------

## fartgeyser

Here's the dump from glxinfo. Does this look normal to you?

```
name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 

    GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group

client glx vendor string: SGI

client glx version string: 1.4

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 

    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 

    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 

    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap

GLX version: 1.2

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group

OpenGL vendor string: Tungsten Graphics, Inc.

OpenGL renderer string: Mesa DRI Radeon 20061018 AGP 4x x86/MMX+/3DNow!+/SSE NO-TCL

OpenGL version string: 1.3 Mesa 6.5.2

OpenGL extensions:

    GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, 

    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 

    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 

    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 

    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 

    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_window_pos, 

    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_logic_op, 

    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, 

    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, 

    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_histogram, 

    GL_EXT_packed_pixels, GL_EXT_polygon_offset, GL_EXT_rescale_normal, 

    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 

    GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 

    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 

    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 

    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 

    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 

    GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, 

    GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, 

    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 

    GL_MESA_ycbcr_texture, GL_MESA_window_pos, GL_NV_blend_square, 

    GL_NV_light_max_exponent, GL_NV_texture_rectangle, 

    GL_NV_texgen_reflection, GL_OES_read_format, GL_SGI_color_matrix, 

    GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 

    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x24 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x26 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x27 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x29 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2c 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x2e 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x2f 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x31 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
```

----------

## mimosinnet

You have now direct rendering. Could you please add [SOLVED] to the heading of the thread?

Cheers!

----------

