Bug 81283 - Icons are misrendered when rgb font hinting is activated [NV18]
Summary: Icons are misrendered when rgb font hinting is activated [NV18]
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-13 08:15 UTC by Clemens Eisserer
Modified: 2014-08-11 19:53 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xorg.log (22.70 KB, text/plain)
2014-07-13 08:15 UTC, Clemens Eisserer
no flags Details
screenshot of icons rendered white (95.06 KB, image/png)
2014-07-13 08:16 UTC, Clemens Eisserer
no flags Details

Description Clemens Eisserer 2014-07-13 08:15:20 UTC
Created attachment 102687 [details]
xorg.log

When selecting RGB subpixel font antialising on my mothers laptop (Geforce 488Go / NV18) icons are suddenly misrendered (see screenshot)

Tried several options such as NoUploadTo/DowloadFromScreen, MigrationHeuristics smart/greedy, agpmode=0 - however only disabling render acceleration completely did help.

The notebook is running Fedora-20 + latest updates (linux-3.15.4), the issue happends with nouveau 1.0.9 as well as nouveau git from 20140713.

- Clemens

PS: It is incredible how well nouveau performs for 2D operations these days, thanks for working on improving this area over the past years.
Comment 1 Clemens Eisserer 2014-07-13 08:16:12 UTC
Created attachment 102688 [details]
screenshot of icons rendered white
Comment 2 Ilia Mirkin 2014-07-13 13:17:38 UTC
There have been a few reports of things not being drawn on NV1x, but no one ever narrowed it down to anything, and I could never reproduce.

I wonder if some sort of alpha setting isn't actually supported and so things are being drawn with alpha=0 or something. If you're a developer, can you debug this a bit? Take a look at src/nv10_exa.c (in the ddx)... the function that determines if something will be accelerated is NV10EXACheckComposite. Start by just returning FALSE unconditionally there and make sure the problem is 'fixed'. (If it isn't, the issue is something else.)

Assuming it's fine, try printing the requests that are making it through and try to identify the ones that aren't being handled properly (by selectively returning false for some of them).
Comment 3 Clemens Eisserer 2014-07-13 15:54:06 UTC
>  If you're a developer, can you debug this a bit?
Unfourtunately I am not a driver developer, however I can play a bit arround and see how things change.

> There have been a few reports of things not being drawn on NV1x,
Interesting you mention missing things, because when I go with grayscale antialising I can see missing text on the desktop icons. I didn't mention it, because I guess it is really hard to reproduce.

> I wonder if some sort of alpha setting isn't actually supported 
> and so things are being drawn with alpha=0 or something.
However, shouldn't this just affect the glyphs rendered? The blending mode of the icons doesn't change, so it seems some state is garbled after the glyphs were rendered, leading to those misrendered icons.
Comment 4 Ilia Mirkin 2014-08-10 06:27:49 UTC
I just sent a bunch of patches to the list... two of the patches are no-ops, but these two actually change functionality:

http://lists.freedesktop.org/archives/nouveau/2014-August/018270.html
http://lists.freedesktop.org/archives/nouveau/2014-August/018271.html

please see if applying these fixes the issue for you.
Comment 5 Clemens Eisserer 2014-08-10 18:08:50 UTC
The two patches fix both issues - the icon corruption when RGB font hinting is activated, as well as somtimes missing text with greyscale antialiasing :)

This makes my old laptop a fully functional email/browsing machine again - thanks!
Comment 6 Ilia Mirkin 2014-08-11 19:53:43 UTC
Awesome! These patches should be in xf86-video-nouveau git now. A release is going to be forthcoming once a couple of issues are ironed out.


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.