libsdl1.2 always uses backingstore which causes tearing in modern X servers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libsdl |
Won't Fix
|
Medium
|
|||
libsdl1.2 (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
Tearing in SDL applications regardless of vsync setting.
[Test Case]
Use eg. XBMC to play any video, or a particular video that more easily shows up the tearing of the images.
[Regression Potential]
This is a regression fix in itself, and restores old behavior.
---
Fedora 21 has a similar patch applied https:/
libsdl1.2 always enables backingstore when it is present in the X server. For modern X servers, backingstore is implemented by redirecting through the composite extension. This causes tearing on SDL applications such as xbmc because the redirected rendering is not guaranteed to be synchronized.
A discussion of the problem by Nvidia is here: https:/
The upstream bug is here: https:/
I have a patch that restores a check for the SDL_VIDEO_
Related branches
- Ubuntu branches: Pending requested
-
Diff: 43 lines (+23/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/sdl-check-for-SDL_VIDEO_X11_BACKINGSTORE.patch (+14/-0)
debian/patches/series (+1/-0)
- Daniel Holbach (community): Approve
-
Diff: 43 lines (+23/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/sdl-check-for-SDL_VIDEO_X11_BACKINGSTORE.patch (+14/-0)
debian/patches/series (+1/-0)
description: | updated |
tags: | added: patch |
Changed in libsdl1.2 (Ubuntu): | |
importance: | Undecided → Medium |
description: | updated |
Changed in libsdl1.2 (Ubuntu Trusty): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in libsdl1.2 (Ubuntu Trusty): | |
status: | Fix Committed → Fix Released |
Changed in libsdl1.2 (Ubuntu Trusty): | |
status: | Fix Released → Fix Committed |
Changed in libsdl: | |
importance: | Unknown → Medium |
status: | Unknown → Won't Fix |
SDL_VIDEO_ X11_BACKINGSTOR E has no effect anymore (since years) , and having BACKINGSTORE enabled everytime may lead to tearing effect with newer Xorg servers if composite extension is enabled.
This comment makes me think that there is no point in leaving it in that state:
#if 0 /* This is an experiment - are the graphics faster now? - nope. */ "SDL_VIDEO_ X11_BACKINGSTOR E") )
if ( SDL_getenv(
#endif