Bug 810161

Summary: Regression: change to 16 bpp by default in virt breaks KDE Plasma desktop
Product: [Fedora] Fedora Reporter: Jaroslav Reznik <jreznik>
Component: xorg-x11-drv-cirrusAssignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: awilliam, john.ellson, kevin, kparal, mkrizek, pschindl, rdieter, robatino, than, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=809052
Whiteboard: RejectedBlocker AcceptedNTH
Fixed In Version: kde-settings-4.8-13.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-19 03:11:37 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On: 821268    
Bug Blocks: 752653, 765957    
Attachments:
Description Flags
Screenshot none

Description Jaroslav Reznik 2012-04-05 05:58:52 EDT
Created attachment 575348 [details]
Screenshot

Description of problem: recent change between 1.3.2-18 and 1.3.2-19 (so between rc2 and rc3) breaks KDE Plasma desktop in virt. environment.


Version-Release number of selected component (if applicable): 1.3.2-19


How reproducible: everytime


Steps to Reproduce:
1. boot Fedora 17 Beta rc3 to KDE desktop
2. run for example System Settings
  
Actual results:
Background has visible glitches, same for default Oxygen style (for example scrollbars)

Expected results:
No breakage, 24 bpp in virt. environment for cirrus as default.

Additional info:
Can't find the reason for the switch to 16 bpp...
Comment 1 Jaroslav Reznik 2012-04-05 07:48:20 EDT
Proposing as F17Beta blocker.

Alpha crit. 17 - working graphical env. - it's quite unusable in this state, Beta crit. 15 - running in virt. environment in previous version of virt. manager.

I found the bug that causes regression - #809052.
Comment 2 Martin Krizek 2012-04-05 08:03:18 EDT
Reproduced here. Another screenshot showing more of this: http://mkrizek.fedorapeople.org/kde-purple.png
Comment 3 Adam Williamson 2012-04-05 10:59:13 EDT
I already saw and reported this in the relevant bodhi page and to ajax (and in #fedora-kde), don't recall whether I opened a bug though.

It only affects cirrus/vnc, which is the Old and Ugly, and it's really not show-stopping, it's just glitches. qxl/spice is fine.

The reason for the change to 16bpp is https://bugzilla.redhat.com/show_bug.cgi?id=809052 , and more generally, ajax considers it a much more solid/tested path than 24bpp. apparently, all the other 'fallback' drivers use 16bpp.

the update that causes it is https://admin.fedoraproject.org/updates/xorg-x11-drv-cirrus-1.3.2-19.fc17,mesa-8.0.2-2.fc17 .

we basically have a choice between #809052 or this bug, and #809052 is far more serious.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 4 Rex Dieter 2012-04-05 11:25:00 EDT
I'd tend to agree that the minor corruption is definitely a lesser of two evils.  My gut is unsure whether this is particularly blocker-worthy either, though I'll have to double check the blocker criteria to say for sure.

We do have some hackish workarounds available too, fwiw:
* don't use oxygen widget style
* set env QT_GRAPHICSSYSTEM=native
Comment 5 Jaroslav Reznik 2012-04-05 16:06:13 EDT
For Beta I think it's enough to document it in Common bugs - with the solution to use qxl/spice. For final it's the must as the cirrus/vnc combo is default at least in F16.
Comment 6 Adam Williamson 2012-04-06 00:12:49 EDT
Discussed at 2012-04-05 go/no-go meeting - http://meetbot.fedoraproject.org/fedora-meeting-1/2012-04-05/gono-go_continuation_f17_beta_rc3_part_two_or_three.2012-04-05-15.00.html . We agreed that as the impact of this bug is only cosmetic - all apps affected by it remain usable - and there are 'workarounds' (switching to qxl/spice, or those cited by Rex in comment #4), the bug is rejected as a beta blocker. It is accepted as NTH, however, and we will be doing an RC4 spin as there are other blockers, so if a fix for this is made available quickly, it should land in RC4.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 7 Jaroslav Reznik 2012-04-06 04:10:37 EDT
(In reply to comment #4)
> * set env QT_GRAPHICSSYSTEM=native

Checked, native works well, fixes both Plasma Desktop and Oxygen style issues.
Comment 8 Kevin Kofler 2012-04-06 07:43:13 EDT
Maybe a bug in Qt's raster graphics system then? Has anybody looked yet at the 16 bpp codepath in the place we last fixed 24 bpp in?
Comment 9 Jaroslav Reznik 2012-04-06 09:09:54 EDT
(In reply to comment #8)
> Maybe a bug in Qt's raster graphics system then? Has anybody looked yet at the
> 16 bpp codepath in the place we last fixed 24 bpp in?

Yep, looks like the bug in Qt's raster graphics engine using 16 bpp. The 24 bpp fixes were in qpixmap_x11, so unrelated to raster breakage.

For background issues - ksplash renders directly using X and it's a little bit degraded, but ok, same for native -> raster issue, taking look, I'll file Qt bug.

For Oxygen style - reported upstream (it's still raster engine problem but if we can get workaround in Oxygen).

=> temporary switch to native for rc4?
Comment 10 Kevin Kofler 2012-04-06 16:36:21 EDT
> The 24 bpp fixes were in qpixmap_x11, so unrelated to raster breakage.

The latest 24 bpp fix was for a crash with raster, see bug #749647.


And I don't think switching to native is a good idea.
Comment 11 Jaroslav Reznik 2012-04-09 07:45:36 EDT
(In reply to comment #10)
> > The 24 bpp fixes were in qpixmap_x11, so unrelated to raster breakage.
> 
> The latest 24 bpp fix was for a crash with raster, see bug #749647.

Ah, sorry, this one.

> And I don't think switching to native is a good idea.

It's indeed not a good idea for final but hopefully only temporary solution for beta. I'm trying to find someone upstream to help with 16 bpp path...
Comment 12 Ngo Than 2012-04-10 04:57:28 EDT
(In reply to comment #10)
> > The 24 bpp fixes were in qpixmap_x11, so unrelated to raster breakage.
> 
> The latest 24 bpp fix was for a crash with raster, see bug #749647.
> 
> 
> And I don't think switching to native is a good idea.

we switch to native only by using KVM with Cirrus Logic grahic card. IMO it's the best workaround atm.

Just add following 3 lines in /etc/kde/env/env.sh (kde-settings)

if ( lspci | grep -qi "Cirrus Logic" ) ; then
   export QT_GRAPHICSSYSTEM=native
fi
Comment 13 Jaroslav Reznik 2012-04-10 05:14:53 EDT
(In reply to comment #12)
> (In reply to comment #10)
> > > The 24 bpp fixes were in qpixmap_x11, so unrelated to raster breakage.
> > 
> > The latest 24 bpp fix was for a crash with raster, see bug #749647.
> > 
> > 
> > And I don't think switching to native is a good idea.
> 
> we switch to native only by using KVM with Cirrus Logic grahic card. IMO it's
> the best workaround atm.
> 
> Just add following 3 lines in /etc/kde/env/env.sh (kde-settings)
> 
> if ( lspci | grep -qi "Cirrus Logic" ) ; then
>    export QT_GRAPHICSSYSTEM=native
> fi

Seem reasonable for me.

The background issues is probably caused by Qt raster not supporting dithering. Checking the purple effect.
Comment 14 Kamil Páral 2012-04-12 08:10:56 EDT
Beta is out, moving to F17 Final NTH
Comment 15 Kevin Kofler 2012-04-12 08:20:59 EDT
Proposing as Final Blocker.
Comment 16 Adam Williamson 2012-04-20 17:57:34 EDT
Discussed at 2012-04-02 blocker review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-04-20/fedora-bugzappers.2012-04-20-17.01.log.txt . Everyone felt somewhat conflicted about it and bad about rejecting it, but in the end there was a consensus that the bug just isn't severe enough to constitute a breakage of any criteria: its impact is entirely cosmetic, and it only happens in one particular configuration of one particular virtualization setup (albeit our officially supported one). So, reluctantly, this is rejected as a release blocker. It is accepted as NTH.

Excuse me, I have to go and make my secret base resistant against KoflerCorp ballistic missiles.
Comment 17 Kevin Kofler 2012-04-21 17:07:44 EDT
You keep claiming this is "entirely cosmetic". Have you actually tried using it? Jaroslav Řezník has and he says this severely impact usability.

I see only one reasonable outcome, and that's reverting cirrus to 24 bpp and fixing the issues with that one. Qt upstream does not support 16 bpp at all.
Comment 18 Kevin Kofler 2012-04-21 17:09:51 EDT
(Also because in addition to causing this bug, the change to 16 bpp also significantly degrades color quality and as such is at best a temporary workaround, not something we want to ship in a stable release.)
Comment 19 Adam Williamson 2012-04-23 07:30:55 EDT
Yes, I've tried using it. I don't see any reduction in usability. Various widgets have pink backgrounds; that's the entire extent of the bug so far as I can see. It doesn't render any of them any more difficult to use so far as I could see.

If there are more serious effects, please provide a specific explanation of them. General assertions that such exist, without any details, aren't a lot of use.
Comment 20 Ngo Than 2012-05-08 11:45:45 EDT
i think this workaround is safe

if ( lspci | grep -qi "VGA compatible controller: Cirrus Logic GD 5446" ) ; then
    export QT_GRAPHICSSYSTEM=native
fi
Comment 21 Fedora Update System 2012-05-08 12:23:28 EDT
kde-settings-4.8-8.fc17.1 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/kde-settings-4.8-8.fc17.1
Comment 22 Jaroslav Reznik 2012-05-09 09:09:04 EDT
The update fixes the most visible glitches while using cirrus gfx in 16 bpp. It's still not the optimal one - KDM uses raster engine, so there's no dithering and does not look very well. Also using native engine and 16 bpp with dithering leads to not a good looking user experience. There's still noticiable performance loss using 16 bpp and desktop effects.

I'm not sure I'm happy with the resolution of blocker bug but at least - the desktop is somehow usable. So it should stay documented in CommonBugs to make sure users are using Plasma Workspace with QXL/Spice combo.
Comment 23 Jaroslav Reznik 2012-05-09 10:32:47 EDT
We need the same patch in prefdm script too for KDM.
Comment 24 Kevin Kofler 2012-05-10 03:26:08 EDT
Actually, I think the right place is to do this in the qt package in /etc/profile.d! The issue also affects Qt apps in non-KDE environments.
Comment 25 Fedora Update System 2012-05-10 16:08:24 EDT
kde-settings-4.8-10.fc17,qt-4.8.1-10.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/kde-settings-4.8-10.fc17,qt-4.8.1-10.fc17
Comment 26 Fedora Update System 2012-05-11 17:51:47 EDT
Package kde-settings-4.8-10.fc17, qt-4.8.1-10.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kde-settings-4.8-10.fc17 qt-4.8.1-10.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-7713/kde-settings-4.8-10.fc17,qt-4.8.1-10.fc17
then log in and leave karma (feedback).
Comment 27 Fedora Update System 2012-05-12 12:22:09 EDT
kde-settings-4.8-8.fc17.1 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 28 Kevin Kofler 2012-05-12 13:15:39 EDT
Ugh, why did this get pushed? It's superseded by FEDORA-2012-7713 which also fixes the problem for KDM and for Qt apps outside of KDE Plasma sessions.
Comment 29 Rex Dieter 2012-05-12 15:23:29 EDT
it was queue'd for stable prior to FEDORA-2012-7713 landing
Comment 30 Rex Dieter 2012-05-15 09:09:01 EDT
OK, current hack/workaround isn't going to help kdm, /etc/profile isn't parsed for non-login shells (like prefdm).  On to plan B (or C).
Comment 31 Petr Schindler 2012-05-15 09:37:02 EDT
I can confirm that kdm still has broken graphic.
Comment 32 Jaroslav Reznik 2012-05-17 04:55:49 EDT
Also Plastique style fix only the pink issue but the dithering one is still there.
Comment 33 Kamil Páral 2012-05-18 06:10:36 EDT
I tried clean install of F17 RC1 KDE Live i686. After that I updated to kde-settings-4.8-10.fc17 (qt-4.8.1-10.fc17 was already present on RC1). I don't see any difference between desktop or kdm before and after update. See for yourself:

http://imgur.com/a/YPUp3

(first image is from clean rc1, second image is after applying updates).
Comment 34 Rex Dieter 2012-05-18 07:57:36 EDT
The primary symptom fixed in the latest kde-settings-4.8-13.fc17 update is corrupted/pink scrollbars in kdm, which you don't see in kdm until you click on some menu items (see some of the attached screenshots for examples).

kde-settings-4.8-10.fc17 included a workaround for user sessions only.
Comment 35 Kamil Páral 2012-05-18 08:15:52 EDT
In that case yes, kdm menu items are no longer corrupted.
Comment 36 Fedora Update System 2012-05-19 03:11:37 EDT
kde-settings-4.8-13.fc17, qt-4.8.1-10.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 37 Jaroslav Reznik 2012-05-21 04:49:53 EDT
There's still visible corruption of the background but in KDM it's more visual annoyance than usability - so I think the release notes/common bugs recommending Qxl in virt machine are ok.
Comment 38 John Ellson 2012-06-23 12:11:32 EDT
The workaround from Comment #20, as installed in /etc/profile.d/qt-graphicssystem.sh, is causing problems.

Apparently the default PATH for ssh, when executed from cron on a different host, does not include /usr/sbin, so lspci isn't found and the cron job fails.

A workaround that works-for-me is to use the full path to lspci:

  
    if ( /usr/sbin/lspci | grep -qi "VGA compatible ....
Comment 39 Kevin Kofler 2012-06-23 13:05:38 EDT
The lspci path issue is already filed as bug #827440, it's fixed in
kde-settings-4.8-15.fc17 (update FEDORA-2012-9374), currently in updates-testing.
Comment 40 Red Hat Bugzilla 2013-10-03 20:21:55 EDT
Removing external tracker bug with the id '25198' as it is not valid for this tracker