#Plasma 6 falling back to Software renderer (RTX 4070, NVIDIA 590, vanilla Arch)

61 messages · Page 1 of 1 (latest)

vernal cedar
#

Hello! I started using Arch 2 days ago, and yesterday I started to customize using widgets that come with Plasma. Some are downloaded widgets within "Plasma Widgets" itself. However, I just booted up Arch for the first time this morning, and I've noticed that two of the widgets I added yesterday aren't fully loaded in, and then I saw this little icon on my panel with a yellow "?" that Says "Rendering may be degraded". So I clicked on it, and it opened the "Plasma Renderer" application that gave me a little warning at the top. So I wanted to see what was going on with the two widgets by clicking on the desktop screen and selecting "Enter Edit Mode" to which all that showed was a gray screen. I did use AI to troubleshoot this. I wanted to make that clear, and also abide by the rules of using support. I'll provide screenshots of what I see, along with what I did on ChatGPT. Could anyone give a solution? Thanks!

raw smelt
#

run glxinfo | grep "OpenGL renderer"
and send output

#

and run lsmod | grep nvidia

#

and you should see

#

nvidia
nvidia_drm
nvidia_modeset
nvidia_uvm

#

if not tell me.

#

and run cat /sys/module/nvidia_drm/parameters/modeset
and it should output Y if not tell me

vernal cedar
#

@raw smelt

OpenGL renderer string: NVIDIA GeForce RTX 4070/PCIe/SSE2
[master@master ~]$ lsmod | grep nvidia
nvidia_drm            147456  7
nvidia_modeset       2121728  16 nvidia_drm
drm_ttm_helper         16384  2 nvidia_drm
video                  81920  1 nvidia_modeset
nvidia_uvm           2568192  0
nvidia              16306176  207 nvidia_uvm,nvidia_modeset
[master@master ~]$ cat /sys/module/nvidia_drm/parameters/modeset
cat: /sys/module/nvidia_drm/parameters/modeset: Permission denied
[master@master ~]$ sudo cat /sys/module/nvidia_drm/parameters/modeset
[sudo] password for master: 
Y
raw smelt
#

qdbus org.kde.KWin /KWin supportInformation | grep "Compositing"

vernal cedar
raw smelt
#

echo $QT_QUICK_BACKEND

vernal cedar
raw smelt
#

send all output of QT_LOGGING_RULES="qt.scenegraph.general=true" plasmashell --replace

vernal cedar
#

should I run "killall plasmashell" first?

raw smelt
#

yeah

vernal cedar
#

Currently printing logs....

raw smelt
#

ok

vernal cedar
#
bash: should: command not found
[master@master ~]$ killall plasmashell
[master@master ~]$ QT_LOGGING_RULES="qt.scenegraph.general=true" plasmashell --replace
qt.scenegraph.general: Loading backend software
kf.plasma.quick: Applet preload policy set to 1
qrc:/qt/qml/plasma/applet/org/kde/plasma/brightness/PopupDialog.qml:96: TypeError: Value is null and could not be converted to an object
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted

#

I accidentally pasted our chat at the top lol

#

It stopped here by the way. Should I ctrl+c?

raw smelt
#

ctrl c yeah

vernal cedar
#

Okay. Plasma screen is black now

raw smelt
#

and here next make a backup by : cp ~/.config/plasma-org.kde.plasma.desktop-appletsrc ~/appletsrc.backup

#

but the term and all is still open right?

vernal cedar
#

Yes

raw smelt
#

thats normal since plasma isnt "running" so run cp ~/.config/plasma-org.kde.plasma.desktop-appletsrc ~/appletsrc.backup
for a backup

#

then rm ~/.config/plasma-org.kde.plasma.desktop-appletsrc

#

and reboot or plasmashell --replace

#

if it fixes, add a widget one by one until you find a bad one

vernal cedar
#

Yeah I'm still getting the gray editing screen with this icon at the bottom

#
[master@master ~]$ rm ~/.config/plasma-org.kde.plasma.desktop-appletsrc
[master@master ~]$ plasmashell --replace
kf.plasma.quick: Applet preload policy set to 1
kde.plasmashell: requesting unexisting screen geometry -1
kde.plasmashell: Activity added twice "86d5c877-3a75-4dff-a7dc-b72b64988ce3"
qrc:/qt/qml/plasma/applet/org/kde/plasma/brightness/PopupDialog.qml:96: TypeError: Value is null and could not be converted to an object
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
raw smelt
#

cp ~/.config/plasma-org.kde.plasma.desktop-appletsrc ~/appletsrc.backup
rm ~/.config/plasma-org.kde.plasma.desktop-appletsrc
killall plasmashell
plasmashell &

vernal cedar
#
rm ~/.config/plasma-org.kde.plasma.desktop-appletsrc
killall plasmashell
plasmashell &
plasmashell: no process found
[1] 6358
[master@master ~]$ kf.plasma.quick: Applet preload policy set to 1
kde.plasmashell: requesting unexisting screen geometry -1
kde.plasmashell: Activity added twice "86d5c877-3a75-4dff-a7dc-b72b64988ce3"
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
qrc:/qt/qml/plasma/applet/org/kde/plasma/brightness/PopupDialog.qml:96: TypeError: Value is null and could not be converted to an object
#

Still not working

raw smelt
#

sudo pacman -S plasma-desktop powerdevil --overwrite="*"
and reboot

vernal cedar
#

Still same

raw smelt
#

pacman -Qi plasma-desktop
pacman -Qi powerdevil

vernal cedar
raw smelt
#

killall powerdevil
then plasmashell --replace

vernal cedar
#

It's saying

powerdevil: no process found```
raw smelt
#

echo $XDG_SESSION_TYPE

vernal cedar
#

x11

raw smelt
#

QSG_RHI_BACKEND=opengl QT_QUICK_BACKEND=opengl plasmashell --replace

#

and if it still says Loading backend software
tell me

vernal cedar
#
kf.plasma.quick: Applet preload policy set to 1
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::end: Painter not active, aborted
qrc:/qt/qml/plasma/applet/org/kde/plasma/brightness/PopupDialog.qml:96: TypeError: Value is null and could not be converted to an object
raw smelt
#

sudo nano /etc/environment
and put QSG_RHI_BACKEND=opengl
and reboot

#

and if it works good

vernal cedar
#

Still the same

raw smelt
#

rm -rf ~/.cache/qtshadercache*
rm -rf ~/.cache/QtShaderCache*
rm -rf ~/.local/share/QtProject

#

and rm -rf ~/.cache/*

#

reboot

#

then

#

glxinfo | grep "OpenGL renderer"
glxinfo | grep "server glx vendor"

vernal cedar
#
glxinfo | grep "server glx vendor"
OpenGL renderer string: NVIDIA GeForce RTX 4070/PCIe/SSE2
server glx vendor string: NVIDIA Corporation
raw smelt
#

sudo mv /usr/share/plasma/plasmoids/org.kde.plasma.brightness
/usr/share/plasma/plasmoids/org.kde.plasma.brightness.disabled
and then rebo

vernal cedar
#
        /usr/share/plasma/plasmoids/org.kde.plasma.brightness.disabled
[sudo] password for master: 
mv: cannot stat '/usr/share/plasma/plasmoids/org.kde.plasma.brightness': No such file or directory
#

@raw smelt this is what chat recommended. Should I?

#

Here are the list of Plasmoids:

org.kde.desktopcontainment          org.kde.plasma.bluetooth        org.kde.plasma.folder          org.kde.plasma.konsoleprofiles      org.kde.plasma.showdesktop                 org.kde.plasma.systemtray
org.kde.milou                       org.kde.plasma.calculator       org.kde.plasma.fuzzyclock      org.kde.plasma.manage-inputmethod   org.kde.plasma.systemmonitor               org.kde.plasma.taskmanager
org.kde.plasma.activitybar          org.kde.plasma.calendar         org.kde.plasma.grouping        org.kde.plasma.marginsseparator     org.kde.plasma.systemmonitor.cpu           org.kde.plasma.userswitcher
org.kde.plasma.activitypager        org.kde.plasma.cameraindicator  org.kde.plasma.icon            org.kde.plasma.mediaframe           org.kde.plasma.systemmonitor.cpucore       org.kde.plasma.vault
org.kde.plasma.addons.katesessions  org.kde.plasma.clipboard        org.kde.plasma.icontasks       org.kde.plasma.minimizeall          org.kde.plasma.systemmonitor.diskactivity  org.kde.plasma.wacomtablet
org.kde.plasma.analogclock          org.kde.plasma.colorpicker      org.kde.plasma.keyboardlayout  org.kde.plasma.notes                org.kde.plasma.systemmonitor.diskusage     org.kde.plasma.webbrowser
org.kde.plasma_applet_dict          org.kde.plasma.diskquota        org.kde.plasma.kickerdash      org.kde.plasma.pager                org.kde.plasma.systemmonitor.memory
org.kde.plasma.appmenu              org.kde.plasma.fifteenpuzzle    org.kde.plasma.kimpanel        org.kde.plasma.showActivityManager  org.kde.plasma.systemmonitor.net```

What should the correct target name be on Plasma 6?
vernal cedar
#

Okay...so
The directory /usr/share/plasma/plasmoids/org.kde.plasma.brightness does not exist on my system.

I updated the file database with pacman -Fy and searched for "PopupDialog.qml":
sudo pacman -F PopupDialog.qml

There is no brightness-related PopupDialog.qml installed. Only:
usr/share/plasma/plasmoids/org.kde.smb4kqml/contents/ui/PopupDialog.qml

So it looks like the brightness QML is embedded (qrc) rather than a removable plasmoid directory.

#
$ QT_LOGGING_RULES="qt.scenegraph.general=true" plasmashell --replace
qt.scenegraph.general: Loading backend software
kf.plasma.quick: Applet preload policy set to 1
QPainter::begin: Paint device returned engine == 0, type: 2
...
qrc:/qt/qml/plasma/applet/org/kde/plasma/brightness/PopupDialog.qml:96: TypeError: Value is null and could not be converted to an object```
vernal cedar
#

Alright ladies. I found...

The Fix:

​Remove the conflicting library:
sudo pacman -Rdd egl-wayland2
(Note: used -Rdd to skip dependency checks temporarily to break the loop)

​Ensure the official library is installed:
sudo pacman -S egl-wayland

​Clear Plasma's safety fallback:
KDE writes a "software" rule to its config if it crashes. Remove it:
sed -i '/SceneGraphBackend=software/d' ~/.config/kdeglobals

​Force the EGL Vendor path:
Add this to /etc/environment to ensure the loader finds the NVIDIA JSON:
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json

​Reboot.

​After these steps, hardware acceleration was restored, the gray edit screen was fixed, and the "Software Renderer" warning disappeared.