Page MenuHomeSolus

Poor desktop performance after recent update, budgie-wm high CPU usage, possibly related to nvidia update?
Closed, InvalidPublic

Description

For the couple years I've been on Solus, I've always had to apply the "Force Full Composition Pipeline" workaround (more info here) to get around a problem with high CPU usage in budgie-wm on my Nvidia system (1440p @ 144hz). As of today, that workaround no longer seems to work. I've tried toggling that option in nvidia-settings thinking maybe it wasn't reading my xorg.conf.d file correctly but no dice.

Screen recording: https://gfycat.com/LargeHappyElectriceel (watch budgie-wm in htop)

Everything has been working fine until I updated yesterday and rebooted this morning. My previous update was 8/9.. no issues between then and my 8/12 update.

I can't be certain an Nvidia update was the cause or even that the problem is the same, but it's all I can come up with. The behavior described seems exactly the same. Desktop performance is just very choppy.

EDIT: Getting bad screen tearing as well. Makes me think even more now that something changed with that pipeline workaround.

Operation #318: upgrade
Date: 2018-08-12 11:32

    * systemd is upgraded from 238-70-1-x86_64 to 239-71-1-x86_64 with delta.
    * libgpg-error is upgraded from 1.31-13-1-x86_64 to 1.32-14-1-x86_64 with delta.
    * db5 is upgraded from 5.3.21-5-1-x86_64 to 5.3.21-6-1-x86_64 with delta.
    * cups is upgraded from 2.2.6-18-1-x86_64 to 2.2.8-19-1-x86_64 with delta.
    * libgtk-3 is upgraded from 3.22.30-78-1-x86_64 to 3.22.30-80-1-x86_64 with delta.
    * libgtk-3-devel is upgraded from 3.22.30-78-1-x86_64 to 3.22.30-80-1-x86_64 with delta.
    * libraw is upgraded from 0.18.10-8-1-x86_64 to 0.18.13-9-1-x86_64 with delta.
    * openimageio is upgraded from 1.8.8-14-1-x86_64 to 1.8.8-15-1-x86_64 with delta.
    * systemd-32bit is upgraded from 238-70-1-x86_64 to 239-71-1-x86_64 with delta.
    * libgtk-2 is upgraded from 2.24.31-22-1-x86_64 to 2.24.31-23-1-x86_64 with delta.
    * discord is upgraded from 0.0.5-7-1-x86_64 to 0.0.5-8-1-x86_64 with delta.
    * libde265 1.0.3-1-1-x86_64 is installed.
    * libheif 1.3.2-1-1-x86_64 is installed.
    * qt5-base is upgraded from 5.11.1-24-1-x86_64 to 5.11.1-25-1-x86_64 with delta.
    * krita is upgraded from 4.1.1-38-1-x86_64 to 4.1.1-40-1-x86_64 with delta.
    * libgpg-error-devel is upgraded from 1.31-13-1-x86_64 to 1.32-14-1-x86_64 with delta.
    * innoextract is upgraded from 1.6-4-1-x86_64 to 1.7-5-1-x86_64.
    * cups-filters is upgraded from 1.20.4-27-1-x86_64 to 1.20.4-28-1-x86_64 with delta.
    * libreoffice-common is upgraded from 6.0.6.2-71-1-x86_64 to 6.0.6.2-72-1-x86_64 with delta.
    * libreoffice-writer is upgraded from 6.0.6.2-71-1-x86_64 to 6.0.6.2-72-1-x86_64 with delta.
    * libreoffice-draw is upgraded from 6.0.6.2-71-1-x86_64 to 6.0.6.2-72-1-x86_64 with delta.
    * nvidia-304-glx-driver-modaliases is upgraded from 304.137-230-1-x86_64 to 304.137-231-1-x86_64 with delta.
    * yakyak is upgraded from 1.5.1-10-1-x86_64 to 1.5.1-11-1-x86_64 with delta.
    * virtualbox-common is upgraded from 5.2.16-65-1-x86_64 to 5.2.16-66-1-x86_64 with delta.
    * virtualbox-current is upgraded from 5.2.16-65-1-x86_64 to 5.2.16-66-1-x86_64.
    * virtualbox-guest-common is upgraded from 5.2.16-65-1-x86_64 to 5.2.16-66-1-x86_64 with delta.
    * libvdpau is upgraded from 1.1.1-8-1-x86_64 to 1.1.1-9-1-x86_64 with delta.
    * libvdpau-32bit is upgraded from 1.1.1-8-1-x86_64 to 1.1.1-9-1-x86_64 with delta.
    * samba is upgraded from 4.7.8-38-1-x86_64 to 4.7.8-39-1-x86_64 with delta.
    * hplip-drivers is upgraded from 3.18.6-26-1-x86_64 to 3.18.7-28-1-x86_64.
    * celt is upgraded from 0.11.3-4-1-x86_64 to 0.11.3-5-1-x86_64 with delta.
    * etcher is upgraded from 1.4.4-6-1-x86_64 to 1.4.4-7-1-x86_64 with delta.
    * libva-vdpau-driver is upgraded from 0.7.4-4-1-x86_64 to 0.7.4-5-1-x86_64 with delta.
    * jack-audio-connection-kit is upgraded from 0.125.0-5-1-x86_64 to 0.125.0-6-1-x86_64 with delta.
    * gnome-control-center is upgraded from 3.28.1-72-1-x86_64 to 3.28.1-73-1-x86_64 with delta.
    * cups-32bit is upgraded from 2.2.6-18-1-x86_64 to 2.2.8-19-1-x86_64.
    * libarchive is upgraded from 3.3.2-19-1-x86_64 to 3.3.2-20-1-x86_64 with delta.
    * libarchive-bin is upgraded from 3.3.2-19-1-x86_64 to 3.3.2-20-1-x86_64 with delta.
    * adapta-gtk-theme is upgraded from 3.94.0.65-167-1-x86_64 to 3.94.0.89-169-1-x86_64 with delta.
    * libgtk-2-32bit is upgraded from 2.24.31-22-1-x86_64 to 2.24.31-23-1-x86_64 with delta.
    * linux-firmware is upgraded from 20180606-30-1-x86_64 to 20180802-31-1-x86_64 with delta.
    * qt5-base-devel is upgraded from 5.11.1-24-1-x86_64 to 5.11.1-25-1-x86_64 with delta.
    * nvidia-glx-driver-common is upgraded from 390.77-254-1-x86_64 to 390.77-255-1-x86_64 with delta.
    * nvidia-glx-driver-32bit is upgraded from 390.77-254-1-x86_64 to 390.77-255-1-x86_64 with delta.
    * cups-pk-helper is upgraded from 0.2.6-4-1-x86_64 to 0.2.6-5-1-x86_64 with delta.
    * libreoffice-impress is upgraded from 6.0.6.2-71-1-x86_64 to 6.0.6.2-72-1-x86_64 with delta.
    * libwebkit-gtk is upgraded from 2.20.3-52-1-x86_64 to 2.20.4-53-1-x86_64 with delta.
    * llvm is upgraded from 6.0.1-58-1-x86_64 to 6.0.1-59-1-x86_64 with delta.
    * imagemagick is upgraded from 7.0.8_8-70-1-x86_64 to 7.0.8_9-72-1-x86_64 with delta.
    * libgtk-3-32bit is upgraded from 3.22.30-78-1-x86_64 to 3.22.30-80-1-x86_64 with delta.
    * libreoffice-calc is upgraded from 6.0.6.2-71-1-x86_64 to 6.0.6.2-72-1-x86_64 with delta.
    * linux-lts is upgraded from 4.9.116-102-1-x86_64 to 4.9.117-103-1-x86_64 with delta.
    * pulseaudio is upgraded from 11.1-29-1-x86_64 to 12.2-30-1-x86_64 with delta.
    * vlc is upgraded from 3.0.3-68-1-x86_64 to 3.0.3-69-1-x86_64 with delta.
    * nvidia-glx-driver-modaliases is upgraded from 390.77-254-1-x86_64 to 390.77-255-1-x86_64 with delta.
    * libgpg-error-32bit is upgraded from 1.31-13-1-x86_64 to 1.32-14-1-x86_64.
    * libva-vdpau-driver-32bit is upgraded from 0.7.4-4-1-x86_64 to 0.7.4-5-1-x86_64 with delta.
    * freerdp is upgraded from 2.0.0_rc2-7-1-x86_64 to 2.0.0_rc2-8-1-x86_64 with delta.
    * gutenprint is upgraded from 5.2.12-3-1-x86_64 to 5.2.12-4-1-x86_64 with delta.
    * linux-current is upgraded from 4.17.11-84-1-x86_64 to 4.17.12-85-1-x86_64 with delta.
    * nvidia-glx-driver-current is upgraded from 390.77-254-1-x86_64 to 390.77-255-1-x86_64.
    * openmw is upgraded from 0.43.0-13-1-x86_64 to 0.44.0-14-1-x86_64 with delta.
    * pycups is upgraded from 1.9.73-5-1-x86_64 to 1.9.73-6-1-x86_64 with delta.
    * ghostscript is upgraded from 9.21-15-1-x86_64 to 9.21-16-1-x86_64 with delta.
    * nano is upgraded from 2.9.8-102-1-x86_64 to 2.9.8-103-1-x86_64 with delta.
    * intel-tbb is upgraded from 2018.2-3-1-x86_64 to 2018.5-4-1-x86_64.
    * intel-tbb-32bit is upgraded from 2018.2-3-1-x86_64 to 2018.5-4-1-x86_64.
    * hplip is upgraded from 3.18.6-26-1-x86_64 to 3.18.7-28-1-x86_64.
    * canon-ufriilt-common is upgraded from 3.80-3-1-x86_64 to 3.80-4-1-x86_64 with delta.
    * gnome-settings-daemon is upgraded from 3.28.1-35-1-x86_64 to 3.28.1-36-1-x86_64 with delta.
    * db5-devel is upgraded from 5.3.21-5-1-x86_64 to 5.3.21-6-1-x86_64 with delta.
    * nvidia-340-glx-driver-modaliases is upgraded from 340.107-194-1-x86_64 to 340.107-195-1-x86_64 with delta.
    * pulseaudio-32bit is upgraded from 11.1-29-1-x86_64 to 12.2-30-1-x86_64 with delta.
    * linux-current-headers is upgraded from 4.17.11-84-1-x86_64 to 4.17.12-85-1-x86_64 with delta.
    * steam is upgraded from 1.0.0.54-54-1-x86_64 to 1.0.0.54-55-1-x86_64 with delta.
    * llvm-32bit is upgraded from 6.0.1-58-1-x86_64 to 6.0.1-59-1-x86_64 with delta.

nvidia-smi

Mon Aug 13 09:04:48 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.77                 Driver Version: 390.77                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 970     On   | 00000000:01:00.0  On |                  N/A |
| 12%   61C    P0    50W / 170W |    162MiB /  4039MiB |      4%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       587      G   /usr/lib64/xorg-server/Xorg                  129MiB |
+-----------------------------------------------------------------------------+

Event Timeline

Beer created this task.Aug 13 2018, 2:13 PM
Beer updated the task description. (Show Details)Aug 14 2018, 12:49 AM
Beer added a comment.Aug 18 2018, 6:03 PM

Here's a diff comparison of journalctl | grep nvidia from before (left) and after (right) this problem occurred. Not sure if it will be of any help. I can provide any logs requested, just don't know what you guys need.

https://www.diffnow.com/?report=qxyd7

Output of nvidia-bug-report.sh

https://pastebin.com/raw/dU8HsRHS

Beer closed this task as Resolved.Aug 18 2018, 6:19 PM
Beer claimed this task.

Fixed. I uninstalled the nvidia driver then

sudo eopkg it nvidia-glx-driver-current

This resolved the problem. Tested a couple reboots and everything still works. I will reopen if the issue resurfaces

Beer reopened this task as Open.EditedAug 24 2018, 2:27 AM

Reopening. The issue came back, but I found the cause.. kinda.

After updating Solus on the 12th, the next time I rebooted, my desktop ran very poorly. I've confirmed that the force full composition pipeline workaround completely stopped working after that update.

  • I uninstalled my nvidia drivers from doflicky
  • Rebooted
  • Reinstalled nvidia-glx-driver-current from command line
  • Rebooted, everything worked perfectly again. Full 144hz, smooth as butter.
  • Tried to open steam, but it would no longer work. I received the following error:
STEAM_RUNTIME is disabled by the user
Installing breakpad exception handler for appid(steam)/version(1535014307)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
  • After some searching, I found that it's because I was missing the 32-bit nvidia driver. Lots of people posted about this problem in various places on various distros, but none of the solutions worked except for a post I stumbled across by Ikey here: https://github.com/solus-project/linux-steam-integration/issues/44
  • Installed nvidia-glx-driver-32bit from the software center.. Steam started working again immediately (no reboot needed)
  • Rebooted later on in the day
  • Back to extremely high cpu usage on budgie-wm and choppy desktop
  • Uninstall nvidia-glx-driver-32bit, reboot
  • Back to buttery smooth desktop but Steam will not launch

Something in the Aug 12 update seems to have changed with the 32 bit driver

K4rlos added a subscriber: K4rlos.Sep 1 2018, 8:33 AM

The problem still exist in nvidia beta driver

Beer added a comment.Sep 25 2018, 6:45 PM

So I ended up leaving Solus last week because of this, and figured I'd come back to explain why because the reason is broader in scope than just this one issue.

There may be an underlying bug related to Budgie, I'll give you that. But if my system works one day, and it breaks the next day after an update I have little control over, that makes it a Solus issue as much as it may be a Budgie issue. Even more so when multiple people are experiencing it, as is the case here.

It's incredibly discouraging when I go to the effort to submit a detailed bug report with reproduction steps, screen recordings, logs, and even indicate that the issue occurred due to a recent update... and then I barely get half a sentence worth of a response and my issue is closed. All the while, my system remains half-functional and I'm expected to submit a new report somewhere else and hope that a fix might arrive. Which could take weeks, months, or may never even come. If there's a regression somewhere that made it into an update and it's breaking peoples' systems, whatever was updated should be rolled back until it's fixed upstream.

I know you all have a lot going on right now with the server changes, domain changes, Ikey's departure, etc. I really do. But in the future please consider that the updates you guys release to our systems are just as important as the upstream projects they pull code from. Passing the issue off to another project and closing the ticket isn't always the correct answer. My decision to drop Solus was less about this specific ticket, and more about it being a recurring theme.

This is not an angry message, please do not take it as such. I really appreciate the effort you guys put into this project. I've donated hundreds of dollars to the project and I've genuinely enjoyed my last couple years on Solus. Thanks for all you do, I'll probably be back someday.

In T6780#129946, @Beer wrote:

So I ended up leaving Solus last week because of this, and figured I'd come back to explain why because the reason is broader in scope than just this one issue.
There may be an underlying bug related to Budgie, I'll give you that. But if my system works one day, and it breaks the next day after an update I have little control over, that makes it a Solus issue as much as it may be a Budgie issue. Even more so when multiple people are experiencing it, as is the case here.
It's incredibly discouraging when I go to the effort to submit a detailed bug report with reproduction steps, screen recordings, logs, and even indicate that the issue occurred due to a recent update... and then I barely get half a sentence worth of a response and my issue is closed. All the while, my system remains half-functional and I'm expected to submit a new report somewhere else and hope that a fix might arrive. Which could take weeks, months, or may never even come. If there's a regression somewhere that made it into an update and it's breaking peoples' systems, whatever was updated should be rolled back until it's fixed upstream.

Except this is a Budgie issue and should have been reported upstream in the first place. I appreciate all the time you put into reporting it and you could just as easily copy-pasta to the Github tracker to report it. We do our best to keep Budgie issues separate of Solus because they are rarely specific to Solus. In this case the issue is libmutter and sometimes it is fine and other times it isn't. That isn't a Solus-specific issue and has been reported by other distros.

I know you all have a lot going on right now with the server changes, domain changes, Ikey's departure, etc. I really do. But in the future please consider that the updates you guys release to our systems are just as important as the upstream projects they pull code from. Passing the issue off to another project and closing the ticket isn't always the correct answer. My decision to drop Solus was less about this specific ticket, and more about it being a recurring theme.

Ikey hasn't left the project. That has been misrepresented in several places, even though we have addressed that on the Solus Blog.

We aren't passing it off to another project: we are the main contributors and originators of Budgie. What we are asking is that you file Budgie-specific issues on Github so that our tracker isn't suddenly a dumping ground for non-Solus issues. Just because an update over here is breaking it, doesn't mean the root problem is a Solus issue.

This is not an angry message, please do not take it as such. I really appreciate the effort you guys put into this project. I've donated hundreds of dollars to the project and I've genuinely enjoyed my last couple years on Solus. Thanks for all you do, I'll probably be back someday.

Sorry to see you leave over what honestly seems to be a misunderstanding. If I can clarify further, I will be happy to. Honestly all we want is for Budgie issues to be reported to the Github tracker. That's the best place for them as it lets users from other distros help us identify non-Solus issues.