Bug 50850 - Horizontal scrolling causes graphics artifacts
Summary: Horizontal scrolling causes graphics artifacts
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: Other Linux (All)
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-07 10:31 UTC by Matthias Bläsing
Modified: 2019-11-19 07:34 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Screenshot of the problem (11.41 KB, image/png)
2012-06-07 10:31 UTC, Matthias Bläsing
no flags Details
wrong_xorg.conf (89 bytes, text/plain)
2012-06-07 10:32 UTC, Matthias Bläsing
no flags Details
wrong_Xorg.0.log (75.18 KB, text/plain)
2012-06-07 10:32 UTC, Matthias Bläsing
no flags Details
Screenshot in working configuration (18.78 KB, image/png)
2012-06-07 10:33 UTC, Matthias Bläsing
no flags Details
ok_xorg.conf (88 bytes, text/plain)
2012-06-07 10:34 UTC, Matthias Bläsing
no flags Details
ok_Xorg.0.log (74.56 KB, text/x-log)
2012-06-07 10:34 UTC, Matthias Bläsing
no flags Details
Executable JAR file of sample file (2.12 KB, application/octet-stream)
2012-06-07 10:37 UTC, Matthias Bläsing
no flags Details
Sources for sample programm (10.63 KB, application/octet-stream)
2012-06-07 10:38 UTC, Matthias Bläsing
no flags Details

Description Matthias Bläsing 2012-06-07 10:31:42 UTC
Created attachment 62741 [details]
Screenshot of the problem

Using netbeans I stumbled over the problem, that for example the exception reporter shows distorted images, when scrolling to the right. Scrolling left redraw the image correctly. I build a minimal example programm, that exhibits the problem (will be attached in source and compiled as TestApp.tgz and TestApp.jar). 

Scrolling a few time right and left lead to the attached wrong.png.

I'll attach xorg.conf and Xorg.0.log as attachments with wrong_ prefix.

I tested with disabled acceleration (Option "NoAccel" "true") and there now text distortion is visible (see the ok_ prefixed attachements for mor info).

This is ubuntu 12.04 running with the xorg-edgers repository.

The xserver-xorg-video-radeon package version is: 6.14.99+git20120605.4603285a-0ubuntu0sarvatt~precise

Kernel version:
Linux prometheus 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Comment 1 Matthias Bläsing 2012-06-07 10:32:28 UTC
Created attachment 62742 [details]
wrong_xorg.conf
Comment 2 Matthias Bläsing 2012-06-07 10:32:56 UTC
Created attachment 62743 [details]
wrong_Xorg.0.log
Comment 3 Matthias Bläsing 2012-06-07 10:33:28 UTC
Created attachment 62744 [details]
Screenshot in working configuration
Comment 4 Matthias Bläsing 2012-06-07 10:34:26 UTC
Created attachment 62745 [details]
ok_xorg.conf
Comment 5 Matthias Bläsing 2012-06-07 10:34:48 UTC
Created attachment 62746 [details]
ok_Xorg.0.log
Comment 6 Matthias Bläsing 2012-06-07 10:37:45 UTC
Created attachment 62747 [details]
Executable JAR file of sample file
Comment 7 Matthias Bläsing 2012-06-07 10:38:21 UTC
Created attachment 62749 [details]
Sources for sample programm
Comment 8 Matthias Bläsing 2013-01-07 00:31:07 UTC
I had another idea today - I checked the xrender pipeline against whatever is used by default in openjdk on X11.

This:

java -Dsun.java2d.xrender=false -jar TestApp.jar

shows the artifacts, while this:

java -Dsun.java2d.xrender=True -jar TestApp.jar 

works as I would expect it to.
Comment 9 OmegaPhil 2013-01-07 14:10:23 UTC
Thankyou for reporting this and posting a workaround (which I will test after work). I have been experiencing this with freeplane, freemind and jedit and posted a Debian bug associated with freeplane over half a year ago, which has been ignored: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669712

I have £40 I can Paypal as a bounty for fixing this bug (workaround is nice, but I want to support fixing of libre software).
Comment 10 OmegaPhil 2013-01-07 20:48:04 UTC
This works for freeplane - thanks again Matthias :)
Comment 11 Felix Natter 2013-06-16 15:00:53 UTC
hi,

First of all many thanks for the workaround.

As the Debian freeplane package maintainer I am wondering whether
I should always include "-Dsun.java2d.xrender=True" in /usr/bin/freeplane?

This page:
  http://docs.oracle.com/javase/7/docs/technotes/guides/2d/flags.html#xrender
says "Older X11 configurations may not be able to support XRender.".
=> I think XRender is quite old (2000?), so it is safe to use it in Debian testing?

Do you happen to know whether there are other problems with sun.java2d.xrender=True?

Thanks and Best Regards,
Felix
Comment 12 OmegaPhil 2013-06-16 16:15:33 UTC
I have now been using this for ~0.5y in Debian Testing (including across the recent old -> new testing), and while it is very slow compared to the normal setup, it works - no corruption.

Naturally this fixes corruption in other Java programs I was using too - other than the slowness, I haven't noticed any new issues.

I have no experience with Java implementation or rendering stuff.
Comment 13 Matthias Bläsing 2013-06-17 17:09:22 UTC
(In reply to comment #11)
> 
> As the Debian freeplane package maintainer I am wondering whether
> I should always include "-Dsun.java2d.xrender=True" in /usr/bin/freeplane?
> 

Short story: You should not.

Long story is in this ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1101348

The xrender pipeline itself causes graphics artifacts in jdk7 without the patch provided in that launchpad entry (I think (not sure though) that Clemens Eiserer commented, that the patch is already in openjdk8).
Comment 14 Martin Peres 2019-11-19 07:34:11 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/31.


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.