Bug 370953 - plasma folder view: icon labels corrupted using nvidia binary driver
Summary: plasma folder view: icon labels corrupted using nvidia binary driver
Status: RESOLVED DUPLICATE of bug 364766
Alias: None
Product: plasmashell
Classification: Plasma
Component: Folder (show other bugs)
Version: 5.8.0
Platform: openSUSE Linux
: NOR major
Target Milestone: 1.0
Assignee: Eike Hein
URL:
Keywords:
: 386093 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-10-16 14:13 UTC by Jason A. Donenfeld
Modified: 2018-08-03 15:48 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Symptom (576.34 KB, image/png)
2016-10-16 14:13 UTC, Jason A. Donenfeld
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jason A. Donenfeld 2016-10-16 14:13:05 UTC
When redrawing the folder view on the desktop, all the icon text labels get white and corrupted. This happens when resuming from sleep, for example, or something else that invalidates the buffer (I think). Attached is a screenshot. This happens with nvidia-drivers-370.28.

Reproducible: Always
Comment 1 Jason A. Donenfeld 2016-10-16 14:13:24 UTC
Created attachment 101586 [details]
Symptom
Comment 2 Martin Flöser 2016-10-16 15:13:36 UTC
Please don't randomly assign bugs to me.
Comment 3 Jason A. Donenfeld 2016-10-16 20:19:17 UTC
Apologies.
Comment 4 Eike Hein 2016-10-17 10:07:41 UTC
Don't see how this can be in our code.
Comment 5 Jason A. Donenfeld 2016-10-17 12:18:33 UTC
Alright, I posted it over at the NVIDIA form, then:
https://devtalk.nvidia.com/default/topic/971972/linux/icon-text-label-corruption-with-kde-plasma-5-desktop-folder-view/
Comment 6 Jason A. Donenfeld 2016-10-18 15:24:53 UTC
Looks like you need to use GL_NV_robustness_video_memory_purge. From an NVIDIA developer:

"This is probably the result of a quirk of the way the nvidia driver manages memory for "volatile" data like framebuffer objects. The contents of FBOs are not preserved across VT switches, which includes suspend and resume. Recent drivers support an extension called GL_NV_robustness_video_memory_purge that applications can use to be notified when they need to re-render FBO contents."
Comment 8 Eike Hein 2016-10-18 15:29:03 UTC
The relevant rendering code is in Qt, not KDE.
Comment 9 Jason A. Donenfeld 2016-10-18 15:35:16 UTC
Okay then. Reported to Qt: https://bugreports.qt.io/browse/QTBUG-56610
Comment 10 Christoph Feck 2017-10-23 12:48:20 UTC
*** Bug 386093 has been marked as a duplicate of this bug. ***
Comment 11 Antonio Orefice 2018-05-19 08:13:45 UTC
I used to restart plasmashell, but now i'm using the following to force an update of folderviews and taskmanager (may leave other widgets corrupted if you use them):

#!/bin/bash
  #This is for folderview:
  qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "$(cat ./folderview.re-align.js)"

  #This is for taskmanager:
  qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.toggleDashboard
  qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.toggleDashboard

#--------------

folderview.re-align.js is the following:

 for (i=0;i<activityIds.length;i++) {{
     desktop=desktopById(activityIds[i])
     for (Wid=0;Wid<desktop.widgetIds.length;Wid++) {{
         WidgetID=desktop.widgetIds[Wid]
         MyWidget=desktop.widgetById(WidgetID)
         if ( MyWidget.type == "org.kde.plasma.folder") {      
             old=MyWidget.readConfig("alignment")
             if (old == 0) {
                MyWidget.writeConfig("alignment",1)
                MyWidget.reloadConfig()
                } else {
                MyWidget.writeConfig("alignment",0)
                MyWidget.reloadConfig()
             }
             MyWidget.writeConfig("alignment",old)
             MyWidget.reloadConfig()
         }        
     }}
}}
Comment 12 Txutxifel 2018-07-11 07:54:32 UTC
Same Here in Opensuse Tumbleewed.
System:
Nvidia 390.67
QT 5.11.1
KDE Frameworks 5.47
Plasma 5.13.2
Kernel 4.17.4
Comment 13 Christoph Feck 2018-08-03 15:48:10 UTC

*** This bug has been marked as a duplicate of bug 364766 ***