Announcement

Collapse
No announcement yet.

RS480/RS690 OSS Compiz Achieved

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • RS480/RS690 OSS Compiz Achieved

    Phoronix: RS480/RS690 OSS Compiz Achieved

    For those of you using an RS480 or RS690 IGP with the open-source xf86-video-ati, there is great news coming out of the Airlie camp. Compiz is now working for the RS480 and RS690! David Airlie has found a bug in the Mesa R300 DRI driver and has committed a patch (containing just three new lines of code and one line removal) correcting this issue...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    That sounds interesting for onboard VGA. Is this the only patch needed? I do not have got a testboard, but there seem to be lots of laptops with ATI onboard.

    Comment


    • #3
      Packages for ubuntu can be found in my ppa.
      Last edited by Mithrandir; 20 May 2008, 04:44 PM.

      Comment


      • #4
        wow, compiz + exa + textured video works very well now on rs480, pcie 5795. now i'll test out also video playback (since it was one issue of compiz for some time).
        so as for the moment rs480 still has problems with opengl but for the rest xf86-video-ati is quite good.

        one thing: does radeon still not support glx_ext_texture from pixmap?! it seems that glxinfo finds it:

        Code:
        name of display: :0.0
        display: :0  screen: 0
        direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
        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_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_OML_swap_method, GLX_SGI_swap_control, GLX_SGIS_multisample,
            GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group,
            GLX_EXT_texture_from_pixmap
        OpenGL vendor string: DRI R300 Project
        OpenGL renderer string: Mesa DRI R300 20060815 NO-TCL
        OpenGL version string: 1.3 Mesa 7.1
        OpenGL extensions:
            GL_ARB_depth_texture, GL_ARB_fragment_program, 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_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_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
            GL_EXT_clip_volume_hint, GL_EXT_copy_texture, GL_EXT_draw_range_elements,
            GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_polygon_offset,
            GL_EXT_rescale_normal, GL_EXT_secondary_color,
            GL_EXT_separate_specular_color, GL_EXT_stencil_two_side,
            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_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_ATIX_texture_env_combine3,
            GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
            GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_NV_blend_square,
            GL_NV_light_max_exponent, GL_NV_texgen_reflection,
            GL_NV_texture_rectangle, GL_NV_vertex_program, 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_SGIX_depth_texture,
            GL_SUN_multi_draw_arrays
        
           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
        0x55 32 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
        but still compiz doesn't find it. i needed to pass the indirect rendering to force it to work. am i missing something or the driver still doesn't support this extension?!
        Last edited by givemesugarr; 05 May 2008, 05:15 PM.

        Comment


        • #5
          It supports it only in indirect rendering, hence why you find it only when indirect rendering.

          DRI2 is needed to solve this.

          Comment


          • #6
            Originally posted by airlied View Post
            It supports it only in indirect rendering, hence why you find it only when indirect rendering.

            DRI2 is needed to solve this.
            so until radeon goes with dri2 there isn't any option other than going with indirect rendering?!

            ps. update: video playback also seems quite smooth: 1280x720 mkv video seem to work well also with compiz enabled.
            glxgears and other opengl apps don't work (don't display and just blow the screen) but they didn't worked well even without this update.
            anyway, david, i really want to tank you for this bugfix. i think that a lot of people were waiting for this to work and maybe now there will be much more people switching to radeon from fglrx.
            you're really doing a great job together with alex deucher and the other developers.
            thanks again.

            Comment


            • #7
              I'd like to test this on my x200m (pci 5975), but aren't having much luck yet. I've enabled the testing ppa listed earlier (using ubuntu 8.04), and installed the mesa updates from it. Then I added Option "AccelMethod" "exa" to xorg.conf.

              That all seems to work, but the desktop is very slow to redraw. When I try and start compiz, I get the error
              "/usr/bin/compiz.real (core) - Fatal: No GLXFBConfig for default depth, this isn't going to work.
              /usr/bin/compiz.real (core) - Error: Failed to manage screen: 0
              /usr/bin/compiz.real (core) - Fatal: No manageable screens found on display :0.0"

              Any advise on what I'm doing wrong?

              Comment


              • #8
                Here's my glxinfo output:
                Code:
                name of display: :0.0
                display: :0  screen: 0
                direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
                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_copy_sub_buffer, 
                    GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, 
                    GLX_SGIX_fbconfig, GLX_EXT_texture_from_pixmap
                OpenGL vendor string: Mesa project: www.mesa3d.org
                OpenGL renderer string: Mesa GLX Indirect
                OpenGL version string: 1.4 (2.1 Mesa 7.0.3-rc2)
                OpenGL extensions:
                    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program, 
                    GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, 
                    GL_ARB_occlusion_query, GL_ARB_point_parameters, GL_ARB_point_sprite, 
                    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_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, 
                    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, 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_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
                    GL_EXT_clip_volume_hint, GL_EXT_copy_texture, GL_EXT_draw_range_elements, 
                    GL_EXT_fog_coord, GL_EXT_framebuffer_object, GL_EXT_multi_draw_arrays, 
                    GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_point_parameters, 
                    GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
                    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, 
                    GL_EXT_shared_texture_palette, 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_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_draw_buffers, GL_ATI_texture_env_combine3, 
                    GL_ATI_texture_mirror_once, GL_ATIX_texture_env_combine3, 
                    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
                    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_NV_blend_square, 
                    GL_NV_fragment_program, GL_NV_light_max_exponent, GL_NV_point_sprite, 
                    GL_NV_texgen_reflection, GL_NV_texture_rectangle, GL_NV_vertex_program, 
                    GL_NV_vertex_program1_1, 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_SGIX_depth_texture, 
                    GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays
                
                   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 24  0 r  y  .  8  8  8  0  0 16  0  0  0  0  0  0 0 None
                0x24 24 tc  0 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None
                0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None
                0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None
                0x27 24 dc  0 24  0 r  y  .  8  8  8  0  0 16  0  0  0  0  0  0 0 None
                0x28 24 dc  0 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None
                0x29 24 dc  0 32  0 r  y  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None
                0x2a 24 dc  0 32  0 r  .  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None
                0x4e 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon

                Comment


                • #9
                  If I understand well, all I need is to get Mesa from svn, right? And il will work even with a svn ati driver from one month ago and standard Xorg 7.4 DRM?
                  Or do I need to get latest SVN for Mesa, DRM and ati-driver?

                  Comment


                  • #10
                    Originally posted by rvdboom View Post
                    If I understand well, all I need is to get Mesa from svn, right? And il will work even with a svn ati driver from one month ago and standard Xorg 7.4 DRM?
                    Or do I need to get latest SVN for Mesa, DRM and ati-driver?
                    1. for mesa, org, ati-drivers you need git.
                    2. i would advice you to use the following packages:

                    a. mesa from git (git://anongit.freedesktop.org/mesa/mesa)
                    b. dri2proto
                    c. libdrm from git (git://anongit.freedesktop.org/git/mesa/drm)
                    d. drm rework from alex deucher's private branch
                    (git://people.freedesktop.org/~agd5f/drm)
                    e. xf86-video-ati from git (git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati)

                    these packages would provide you with the last most capable copy of working radeon drivers for x200m. since from the last releases there have been quite some improvements i'd advice you to use these packages.
                    3. there are some optional packages that you could install also:

                    a. xorg protos (the versions in your repos should be ok)
                    b. cairo and glitz from git
                    c. mesa glcore branch; be aware that this branch requires as mandatory xorg-server branch from git, which requires the new libX11 from git also.


                    if you have about one day to spend on this then you could try them out. be aware just that these packages could break a little the system: i don't know how well hardy heron works with git packages. i'm using gentoo and for me installing these packages was very simple. you'd have to install git then clone the various packages repos, run configure on them and then build them. you could also see if there's an option on building .deb packages to be able to install them with apt so that you could remove them if needed.

                    Comment

                    Working...
                    X