I got 3D acceleration but Xorg is slow

Daniel Latorre lock.cda at gmail.com
Fri Sep 8 18:49:00 PDT 2006


I have an ATI Radeon Mobility 9200 M9+ and i got 3D acceleration by 
compiling Mesa and DRM modules.

Anyway Xorg is slow when i drag a transparent window and very slow with 
3D screensavers. I can run XGL but it's really slow and i hasn't direct 
rendering.

Here i post some interesting things about my mac to solve the problem. 
It's an ibook G4 12".

armitage at uBuNTu:/usr/src $ cat /proc/cpuinfo
processor       : 0
cpu             : 7447A, altivec supported
clock           : 599.999000MHz
revision        : 0.2 (pvr 8003 0102)
bogomips        : 36.73
timebase        : 18432000
platform        : PowerMac
machine         : PowerBook6,5
motherboard     : PowerBook6,5 MacRISC3 Power Macintosh
detected as     : 287 (iBook G4)
pmac flags      : 0000001b
L2 cache        : 512K unified
pmac-generation : NewWorld

armitage at uBuNTu:/usr/src $ lspci | grep VGA
0000:00:10.0 VGA compatible controller: ATI Technologies Inc M9+ 5C63 
[Radeon Mobility 9200 (AGP)] (rev 01)

armitage at uBuNTu:/usr/src $ uname -a
Linux uBuNTu 2.6.18-rc6 #2 Tue Sep 5 22:29:06 CEST 2006 ppc GNU/Linux

armitage at uBuNTu:/usr/src $ dpkg -l xserver-xorg
Desitjat=Desconegut(u)/Instal·la(i)/Elimina(r)/Neteja(p)/Atura(h)
| Estat=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Estat,Err: 
majúsc.=dolent)
||/ Nom                       Versió                    Descripció
+++-=========================-=========================-==================================================================
ii  xserver-xorg              7.0.22ubuntu8             the X.Org X server

armitage at uBuNTu:/usr/src $ dpkg -l xserver-xorg-video-ati
Desitjat=Desconegut(u)/Instal·la(i)/Elimina(r)/Neteja(p)/Atura(h)
| Estat=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Estat,Err: 
majúsc.=dolent)
||/ Nom                       Versió                    Descripció
+++-=========================-=========================-==================================================================
ii  xserver-xorg-video-ati    6.6.1-0ubuntu1            X.Org X server 
-- ATI display driver

armitage at uBuNTu:/usr/src/mesa/Mesa $ glxgears -printfps
libGL warning: 3D driver claims to not support visual 0x4b
8301 frames in 5.0 seconds = 1660.039 FPS
8533 frames in 5.0 seconds = 1706.423 FPS
8527 frames in 5.0 seconds = 1705.330 FPS
8550 frames in 5.0 seconds = 1709.844 FPS
8541 frames in 5.0 seconds = 1708.013 FPS
8541 frames in 5.0 seconds = 1708.069 FPS
9065 frames in 5.0 seconds = 1812.875 FPS
9062 frames in 5.0 seconds = 1812.398 FPS
9084 frames in 5.0 seconds = 1816.604 FPS
9062 frames in 5.0 seconds = 1812.378 FPS

armitage at uBuNTu:/usr/src $ DISPLAY=:0 LIBGL_DEBUG=verbose glxinfo
name of display: :0.0
libGL: XF86DRIGetClientDriverName: 4.1.0 r200 (screen 0)
libGL: OpenDriver: trying /usr/src/mesa/Mesa/lib/r200_dri.so
drmOpenByBusid: Searching for BusID pci:0000:00:10.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports pci:0000:00:10.0
libGL warning: 3D driver claims to not support visual 0x4b
libGL error:
Can't open configuration file /etc/drirc: No such file or directory.
libGL error:
Can't open configuration file /home/armitage/.drirc: No such file or 
directory.
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_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
GLX_OML_swap_method,
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe,
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
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_allocate_memory,
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_video_sync,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R200 20060602 AGP 4x PowerPC/Altivec TCL
OpenGL version string: 1.3 Mesa 6.5.1
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_vertex_buffer_object, GL_ARB_vertex_program, 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_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_blend_equation_separate, GL_ATI_texture_env_combine3,
    GL_ATI_texture_mirror_once, GL_ATI_fragment_shader, 
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_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
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
----------------------------------------------------------------------
0x23 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x24 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow
0x25 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x26 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x27 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x28 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow
0x29 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x2a 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x2b 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x2c 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow
0x2d 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x2e 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x2f 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x30 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow
0x31 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x32 16 dc  0 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x4b 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon

root at uBuNTu:/etc/X11 # cat xorg.conf
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
#       Option  "BlankTime"  "5"  # Blank the screen after 5 minute (Fake)
        Option  "StandbyTime"  "10"  # Turn off screen after 10 minutes 
(DPMS)
#       Option  "SuspendTime"  "20"  # Full suspend after 20 minutes
        Option  "OffTime"  "15"  # Turn off after half an hour

EndSection

Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        ModulePath   "/usr/X11R6/lib/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
        FontPath     "/usr/share/fonts/Speedo/"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/75dpi/"
        FontPath     "/usr/share/fonts/100dpi/"
EndSection

Section "Module"
        Load  "record"
        Load  "extmod"
        Load  "dbe"
        Load  "dri"
        Load  "glx"
        Load  "xtrap"
        Load  "freetype"
        Load  "type1"
        Load  "speedo"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        #Option     "XkbOptions" "lv3:lwin_switch"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "es"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option  "DPMS"  "true"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                   # [<bool>]
        #Option     "SWcursor"                  # [<bool>]
        #Option     "Dac6Bit"                   # [<bool>]
        #Option     "Dac8Bit"                   # [<bool>]
        #Option     "ForcePCIMode"              # [<bool>]
        #Option     "BusType"                   # [<str>]
        #Option     "CPPIOMode"                 # [<bool>]
        #Option     "CPusecTimeout"             # <i>
        #Option     "AGPFastWrite"              # [<bool>]
        #Option     "AGPSize"                   # <i>
        #Option     "GARTSize"                  # <i>
        #Option     "RingSize"                  # <i>
        #Option     "BufferSize"                # <i>
        #Option     "EnableDepthMoves"          # [<bool>]
        #Option     "EnablePageFlip"            # [<bool>]
        #Option     "NoBackBuffer"              # [<bool>]
        #Option     "DRIReinit"                 # [<bool>]
        #Option     "PanelOff"                  # [<bool>]
        #Option     "DDCMode"                   # [<bool>]
        #Option     "MonitorLayout"             # [<str>]
        #Option     "IgnoreEDID"                # [<bool>]
        #Option     "OverlayOnCRTC2"            # [<bool>]
        #Option     "CloneMode"                 # [<str>]
        #Option     "CloneHSync"                # [<str>]
        #Option     "CloneVRefresh"             # [<str>]
        #Option     "VideoKey"                  # <i>
        #Option     "DisplayPriority"           # [<str>]
        #Option     "PanelSize"                 # [<str>]
        #Option     "ForceMinDotClock"          # <freq>
        Identifier  "Card0"
        Driver      "ati"
        VendorName  "ATI Technologies Inc"
        BoardName   "Radeon 9200 Mobility"
        BusID       "PCI:0:16:0"
        Option      "UseFBDev"
        Option      "AGPMode" "4"
        Option      "EnablePageFlip" "On"
        #ChipID      0x514d
        Option      "CloneMode" "1024x768"
EndSection

Section "DRI"
        Mode 0666
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection


An observation is that glxgears only gets 800 FPS if I use radeon on my 
xorg.conf.

I commented about Xgl that it don't get direct rendering and I think 
that it could be because it works over Xorg and Xorg don't work with 
DRI. Could I solve the problem compiling Xorg with someone parameter?

Thank you very much for your answers.



More information about the xorg mailing list