Updates From Unstable
Please note that the below mentioned commands should only be run if you are willing to test packages from the unstable repository. These changes are a WIP, may be reverted, and may result in unexpected instability. That being said, our best way of finding out if the fixes actually...well fix things, is for people to test before we opt to sync (or not). Please report if it improves, degrades, or doesn't change your performance.
Some testing alongside @Scotty-Trees reports that the branding package updates should be the primary factor for performance fixes under GNOME. I'd like to thank him for working with me on identifying and testing the fixes.
This issue may also affect some individuals not getting to the login screen if they're using GDM.
Regardless of the command use, please reboot after you install the respective packages.
Budgie
If you are using Budgie, you are likely going to need to install specific branding sub-packages, so please do not immediately run the below mentioned command:
sudo eopkg install https://packages.getsol.us/unstable/m/mutter/mutter-3.32.1-48-1-x86_64.eopkg
Branding
You should run eopkg li | grep 'budgie-desktop-branding'
to get a list of Budgie desktop branding packages you have installed. Please append (add to the end) of the above command (which specifies to install mutter), the following eopkg links depending on what you have installed. You may need to specify multiple:
If you are using Budgie with GDM (you'd know because you'd also have GNOME Shell installed), see the GNOME section too.
GNOME
If you are using GNOME Shell (or co-installed with Budgie, in which case just append the eopkgs listed below, eliminating duplicates), run the following command after adding the branding packages (listed in the branding section below)
sudo eopkg install https://packages.getsol.us/unstable/m/mutter/mutter-3.32.1-48-1-x86_64.eopkg https://packages.getsol.us/unstable/g/gdm/gdm-3.32.0-45-1-x86_64.eopkg https://packages.getsol.us/unstable/g/gnome-shell/gnome-shell-3.32.1-42-1-x86_64.eopkg
Branding
You should run eopkg li | grep 'gnome-desktop-branding'
to get a list of GNOME desktop branding packages you have installed. Please append (add to the end) of the above command, the following eopkg links depending on what you have installed. You may need to specify multiple:
Changes
- Budgie Desktop Branding: We're now exporting
__GL_MaxFramesAllowed=1
in a new dedicated profile.d file. See this commit and reference bug report here.
- GDM: Test GDM load failures by disabling Wayland support (this has always been deemed experimental, we need to disable it here because it breaks X11 fallback) and swapping to VT1 (despite it being a CLI VT, it's what GDM defaults to for some reason). I was able to reproduce in my local testing the issue with it loading GDM but not switching to VT7 to actually show it. Reference Commit
- GNOME Desktop Branding: We're now exporting
__GL_MaxFramesAllowed=1
in a new dedicated profile.d file. See this commit
- GNOME Shell: Add various St patches to reduce style-changed calls. These patches are currently in the master branch of GNOME Shell as opposed to gnome-3-32 and should reduce style-changed calls by several hundred (estimated from 700 to 110) as reported in this merge request. This commit also includes follow-up patches to that MR which should alleviate some of the concerns around patch reverting. Reference Commit.
- Mutter: Backported various patches that are in the gnome-3-32 branch but not yet in a point release. Reference Commit
- compositor: Destroy window actors list on destruction
- When the compositor is destroyed we should cleanup the list of window actors we created and destroy them.
- Destroying the window actors instead, ensures we avoid any further call to X11 related functions and that we release the actors XServer resources.
- compositor: Disconnect from stage signals on destruction
- From this point there's not any need for the compositor to listen to signals so we can disconnect from the stage ones we are connected to.
- backends: Fallback to builtin panel for devices where all heuristics fail
Note
For those on the stable repo that do not wish to test these, do note that once these are synced, you just need to upgrade. You will not need to manually install any eopkgs.
Tagging Affected Users
@Scotty-Trees @Nibb31 @nodq @scramble45 @triengage @ReillyBrogan @beerminer