DRM 3D on ATI

Just updated to kernel 2.6.33 and wanted to get DRM 3d hardware acceleration going on my HD2600 ATI card.

I read some forums but they were all old posts of 2009. I have really no clue on how to start.

Only thing ive done is do SaX2 -r -m 0=radeonhd but this doesent give me 3d acceleration as noted below:

OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 7.8

***
*** WARNING: Hardware acceleration is NOT active
***

That is a part of the output of doing glxinfo.

Any help is welcome.

Also read something about Kernel Mode Setting (KMS)

As near as I can determine, the ATI proprietary graphic driver is not there yet for any openSUSE kernel after 2.6.31. Typically an ATI graphic driver for an openSUSE release appears only 3 to 4 months after the openSUSE GM release date.

This means one needs to rely on the open source radeon or radeonhd graphic drivers (until the ATI driver is available), and in my experience the openSource drivers typically do not (yet) support 3D for non-legacy radeon hardware.

Yes, in fact thats what im using, OpenSource radeonhd driver. I updated to 2.6.33 because it had some new KMS support for newer ATI graphic cards, such as Hd2000 and Hd3000 series.

gabriel@dhcppc2:~> glxinfo
name of display: :0.0
IRQ's not enabled, falling back to busy waits: 2 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_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group
client glx vendor string: Mesa Project and 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_INTEL_swap_event
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_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RV630 9588) 20090101  TCL
OpenGL version string: 2.0 Mesa 7.8
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_depth_clamp, GL_ARB_draw_buffers, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_imaging, GL_ARB_multisample, 
    GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, 
    GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow, 
    GL_ARB_shadow_ambient, 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_MESAX_texture_float, GL_ARB_texture_mirrored_repeat,                                                                                                                                                                                 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,                                                                                                                                                                              
    GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra,                                                                                                                                                                                      
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,                                                                                                                                                               
    GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,                                                                                                                                                                        
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,                                                                                                                                                                             
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,                                                                                                                                                                      
    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture,                                                                                                                                                                  
    GL_EXT_draw_range_elements, GL_EXT_fog_coord,                                                                                                                                                                                           
    GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays,                                                                                                                                                              
    GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,                                                                                                                                                                                      
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,                                                                                                                                                                                    
    GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,                                                                                                                                                                  
    GL_EXT_secondary_color, GL_EXT_separate_specular_color,                                                                                                                                                                                 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,                                                                                                                                                                      
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,                                                                                                                                                                                    
    GL_EXT_texture_cube_map, 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_texture_sRGB, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_APPLE_packed_pixels, 
    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_mirror_once, GL_ATI_separate_stencil, 
    GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos, 
    GL_NV_blend_square, GL_NV_depth_clamp, GL_NV_light_max_exponent, 
    GL_NV_packed_depth_stencil, GL_NV_texture_rectangle, 
    GL_NV_texgen_reflection, GL_NV_vertex_program, 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, GL_SUN_multi_draw_arrays
glu version: 1.3
glu extensions:
    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   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
----------------------------------------------------------------------
0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x85 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x86 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x87 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x88 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x89 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x7c 32 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 Ncon

After reading Radeon was more oftenly developed than RadeonHD driver, i switched to Radeon, and it seems i got 3D Acceleration isnt it?

Too late to edit, but where can i find updated Open Source Radeon drivers? I tried looking after xf86-video-ati but had no success, only found the usual RadeonHD drivers.

Is this what you want?
X.Org Wiki - radeon
Also note that it says:
“he reasons for two different drivers are historical, and starting to be a thing of the past as all the new DRM (direct rendering manager), 3D and KMS (kernel mode setting) work is done in a single place. radeonhd driver will be continued to be developed as long as it is useful.”

I did read that site ur saying, but im not sure what version comes with 11.2 so i dont know if im up to date.

I can point you to cutting edge radeon source drivers packaged as rpms, but 1st I want to caution you that when delving into such ‘cutting edge’ areas there is a serious risk you will break your systems’ graphics.

If you read this guide post #1 and post#11 openSUSE Graphic Card Practical Theory Guide for Users - openSUSE Forums in particular in post#11 you will see reference to:

http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.2/

Note if you are going to update I recommend you do it as a package of: Mesa, xorg-x11-driver-input, xorg-x11-driver-video, xorg-x11-driver-video-radeonhd . And please pay CAREFUL attention to what that post#11 says about users who completely mess up the install of those applications.

… and again , a caution: this could mess your your ability to run X on your PC.

You can look inside the rpm to figure out if you are “up to date”.

I would be careful as to a fixation on “up to date” as anything beyond what SuSE-GmbH officially supply is fraught with risks for the non-experienced user.

Thanks oldcpu, i already had updated the libraries from that repository some days ago, everything went well, thankfully :slight_smile:

I didnt know the opensource radeon driver cae inside xorg-x11-driver-video.

I recorded here in this wiki a way to determine what is inside the xorg-x11-driver-video rpm: HCL/All Video Cards - openSUSE

Given the massive wiki edits that are taking place, I do not know how long that will last.

Just to repeat some of the information on that wiki :

If the rpm is installed, one can see what drivers are provided in the rpm by examining the contents of the rpm, by typing (using xorg-x11-driver-video as an example):

rpm -ql xorg-x11-driver-video

for example the presence of intel_drv.la, intel_drv.so and intel.4.gz indicate there is a driver called “intel”. Typing:

man intel

will provide detail on the intel driver
or

man radeon

will provide detail on the radeon driver.

If the rpm is downloaded, but not yet installed, then one can still look at the rpm contents to see what drivers are present. For example, using the rpm xorg-x11-driver-video-unichrome-20091020-1.1.1.x86_64.rpm as an example, one can find the contents of the file (and hence the drivers provided) by typing:

rpm -qp xorg-x11-driver-video-unichrome-20091020-1.1.1.x86_64.rpm -l

from which one can see that the “via” and “unichrome” drivers are provided. After noting “via” and “unichrome” are provided, one can then type:

man unichrome

which will provide detail on the unichrome driver

Of course one can do the same for the radeonhd rpm/driver.

Going a step further, if one opens up the file intel.4.gz and look at the names of the files inside it, I believe one can then determine what version of the intel driver is in use. The same approach should apply to the radeon and and radeonhd drivers.

Wow that was some good informative post. I digged in and found that i had 6.12.192 radeon driver, which is the latest one on the 6.12 branch. Thats great !

Thanks !

Well done! and thanks for sharing the results of that investigation.