Bug 76127 - [sna] pixelated shadows in oxygen-gtk theme
Summary: [sna] pixelated shadows in oxygen-gtk theme
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.7 (2012.06)
Hardware: Other All
: lowest minor
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
Depends on:
Reported: 2014-03-13 17:02 UTC by Alexander Mezin
Modified: 2014-03-14 18:39 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

Example. Look at the shadow of "Window" menu (69.05 KB, image/png)
2014-03-13 17:02 UTC, Alexander Mezin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Mezin 2014-03-13 17:02:45 UTC
Created attachment 95729 [details]
Example. Look at the shadow of "Window" menu

Shadows drawn by oxygen-gtk theme engine look pixelated. Example is attached.
On UXA backend shadows are smooth.

Tried both 2.99.910 and git master.

Xorg server 1.15.0
Comment 1 Chris Wilson 2014-03-13 18:07:19 UTC
I think this will be an issue with the precision of the accumulation buffer as ana tries to do this in hardware. A full-debug will confirm my suspicions.
Comment 2 Chris Wilson 2014-03-14 13:37:11 UTC
Details, details, details. If you force me use KDE, you should at least tell me how to configure it to reproduce your effect.
Comment 3 Alexander Mezin 2014-03-14 13:59:30 UTC
If you need details, tell me please, what details do you need.

You don't need KDE to reproduce it, I think.

You could install gtk2-engines-oxygen on debian or oxygen-gtk2 on fedora or package with almost same name on almost any distro, set "oxygen" theme for gtk, and look at shadows of popup menus or tooltips.

At least, I am sure this problem is present on debian sid (if I rebuild the driver with SNA enabled) and current arch linux.

No special configuration is needed. Only oxygen-gtk and SNA.
Comment 4 Chris Wilson 2014-03-14 14:39:31 UTC
Looked at the source code for oxygen-gtk and they are not using convolutions but gradients. The result is just the precision of your GPU to compute an alpha gradient.
Comment 5 Ruslan Kabatsayev 2014-03-14 18:39:16 UTC
To reproduce it, additionally to oxygen-gtk+gtk app, you'd need any of the following, because the shadows are drawn by window manager, and oxygen shadows are only supported by oxygen-enabled WM:

1. kwin with KDE oxygen theme (KDE window manager)
2. patched (as per [1]) XFWM4 (XFCE window manager) with oxygen theme from [1]
3. oxygen-gtk-deco, obtainable from building oxygen-gtk2 from source, passing -DBUILD_DECO_TEST=1 to cmake to build a test app for window decoration rendering, then starting oxygen-gtk-deco and trying to resize the solid window (the one without hole) to get inactive shadow.

I didn't test though since I don't have latest intel driver.

[1]: http://xfce-look.org/content/show.php/XFWM+KDE4.8+Oxygen+theme?content=123744

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.