Bug 29098

Summary: xf86-video-ati with KMS flickering on OpenGL applications and video playback
Product: DRI Reporter: Shlomi Steinberg <ssteinberg>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium    
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.conf
none
2.6.35-r5 config none

Description Shlomi Steinberg 2010-07-16 01:45:41 UTC
git xf86-video-ati, Mesa and libdrm. Xorg server 1.8.1.902. Kenerl 2.6.35 with KMS enabled and Radeon-ucode formware.

glxinfo reports:
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
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_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
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 version: 1.4
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_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
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RV670 9505) 20090101  TCL DRI2
OpenGL version string: 2.0 Mesa 7.9-devel
OpenGL shading language version string: 1.10
....

OpenGL applications (for example etracer) run at 60fps (vsync limit) however there is heavy flickering, or just artefacts on 2D blended elements. Menus for example are only partially visible. Text during game flickers, etc.. Compiz is worse. And even glxgears causes mild flickering.
Booting with nomodeset fixs this issue, however performance is very low. ~20 fps on etracer.
I tried stable releases of libdrm, Mesa and xf86-video-ati. No difference.
Comment 1 Shlomi Steinberg 2010-07-16 02:51:20 UTC
Created attachment 37117 [details]
xorg.conf
Comment 2 Shlomi Steinberg 2010-07-16 02:52:04 UTC
Created attachment 37118 [details]
2.6.35-r5 config
Comment 3 Andy Furniss 2010-07-16 05:56:23 UTC
(In reply to comment #0)

> OpenGL applications (for example etracer) run at 60fps (vsync limit) however
> there is heavy flickering, or just artefacts on 2D blended elements. Menus for
> example are only partially visible. Text during game flickers, etc.. Compiz is
> worse. And even glxgears causes mild flickering.

Looks like a dup of https://bugs.freedesktop.org/show_bug.cgi?id=28341

If you agree you could change the status of this bug to dup.

If you pull today's git mesa master you should be able to workaround by running the apps with the env var vblank_mode=0 set, so try -

vblank_mode=0 etracer

It doesn't work for me from ~/.drirc for some reason.

You should still get a different sort of vsync, but only when full screen.
Comment 4 Shlomi Steinberg 2010-07-16 06:12:15 UTC
vblank_mode=0 changed nothing. Nor does it disable vsync in windowed glxgears.
Comment 5 Andy Furniss 2010-07-16 06:30:21 UTC
(In reply to comment #4)
> vblank_mode=0 changed nothing. Nor does it disable vsync in windowed glxgears.

Hmm, Works for my rv670.

Did you make distclean, git pull, and build today's mesa master? I guess for glx* you probably need to restart X after as well.
Comment 6 Shlomi Steinberg 2010-07-16 08:16:32 UTC
Yep, now works perfectly with vblank_mode=0.
Thank you.

drirc is being ignored for me as well though. Kinda annoying.

*** This bug has been marked as a duplicate of bug 28341 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.