Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Long story short: I use HD6450 to output signal to an HDTV via HDMI. I'm using the proprietary fglrx drivers and like others before me, I'm getting ugly tearing when I play videos (mplayer, VLC, ...) on the TV.

Yes, the current drivers support 'Tear-free desktop'. That does indeed removes the tear but video playback is jerky. Mplayer is my prefered player, and below the only video related settings in .mplayer/config:

[default]
vo=gl_nosw
ao=alsa:device=default

I also tried various video drivers such as gl, gl2, xv. All playback jerky, namely small stuttering all around.

  • Can the tearing issue be solved by adjusting the modelines? I know very little about tweaking them, but this would be a very good solution.
  • Is there a player or tweak to mplayer to enable co-operation with tear-free desktop functionality?

So, it seems that no gl option whatsoever makes for the tearing from happening. And the official way ('Tear-free desktop') makes the usual vsynced 60 fps video to appear about 59 fps or so, making vital delays here and there.

Maybe there's a way to force this 'tear-free desktop' active without any initial vsyncing?

(If you have anything on fglrx, please share. I'll gladly accept anything that gives me tear-free videos without jerkiness. Preferably fglrx-based because RandR works better there.)

share|improve this question
    
I would use nvidia any day but their drivers don't support RandR extensions (needed to make dynamic, scriptable switchs from two-monitor set to one-monitor-one-tv output) –  progo Mar 5 '12 at 18:42
    
Tearing occurs when there isn't enough bandwidth. –  Ignacio Vazquez-Abrams Mar 5 '12 at 18:44
    
@IgnacioVazquez-Abrams: care to elaborate? Is it a question of 1080@60 being too much for HDMI (shouldn't be!) or what? The video output is vsynced for sure. Setting TV's refresh rate to 50 or 24 doesn't solve the tearing. –  progo Mar 5 '12 at 18:55
    
Actually, tearing occurs when the player updates the frame buffer before the screen has completed scanning. Thus, the part above the tear is the last frame and the part below is the current frame. If the frame buffer is switched when the vertical synchronization (VSync) happens, this tearing does not occur. –  Dan D. Mar 8 '12 at 17:25
    
@DanD. but can this be somehow synchronized, maybe with the modelines I hypothesied? –  progo Mar 8 '12 at 18:05

2 Answers 2

A workaround without loosing VA would be to use the 12.6 AMD proprietary driver or prior. The tearing regression seems to start with 12.8. http://support.amd.com/us/gpudownload/linux/previous/Pages/radeon_linux.aspx Just enable execution permissions, run the script with root privileges and build a package and install it.

share|improve this answer
    
Can't remember really what was the driver version I tried but since it happened in March, it surely must have something prior!? My install log says I've been using 11.11 that time. –  progo Oct 25 '12 at 6:38

Kind of a work-around; nonsolution, I switched to the open radeon. While it's too slow at the moment (desktop performance sucks, even the videos jitter) it doesn't have the tear effect on any display. And the speed is such a more common issue, I can work on that from this.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.