Speed Up Gnome Shell On Fedora 30 Using This Copr Repository
There's a Copr repository for Fedora 30 that presumably speeds up Gnome Shell and Mutter by adding some patches. The repository also has builds for Fedora 29, and while they are no longer maintained, they should still work.
Gnome already worked fine on my laptop running Fedora 30, so I can't say from personal experience how big of an impact it makes. You can give it a try, and if you don't notice any improvements, or if it makes things worse, you can easily remove it.
These are the patches applied to Mutter and Gnome Shell in this Copr repository for Fedora 30, with links which offer more information for each path:
- Mutter:
- clutter: Deliver events sooner when possible
- Geometric (OpenGL-less) picking
- clutter/stage-cogl: Reschedule update on present
- clutter-actor: Add detail to captured-event signal
- cogl: Enable EGL_IMG_context_priority
- Set SCHED_RR on gnome-shell process
- clutter/stage-cogl: Don't skip over the next frame
- Honour `CLUTTER_ACTOR_NO_LAYOUT` more efficiently
- Lists free cleanups
- Fix background texture corruption when resuming from suspend on Nvidia
- cogl: Remove GLX "threaded swap wait" used on Nvidia
- Gnome Shell:
- Fix and polish the window overlays of the overview
- js/ui: Use captured-event::nonmotion
- Set CAP_SYS_NICE capability on gnome-shell binary to allow using real-time scheduling
For Fedora 29 each patch has a link on the "Gnome with patches" Copr repository page.
Many of these patches have already been merged upstream, and will be available with the Gnome 3.34 release (scheduled for September 11, 2019).
Add the "Gnome with patches" Copr repository on Fedora 30 or 29 (but as a reminder, the Fedora 29 builds are no longer maintained, though they should still work), and upgrade to the patched Gnome Shell and Mutter:
sudo dnf copr enable pp3345/gnome-with-patches
sudo dnf upgrade
If you're using Wayland, you may also want to enable real-time scheduling (which is experimental) to reduce stuttering:
dconf write /org/gnome/mutter/experimental-features '["rt-scheduler"]'
And reboot your computer.
You don't notice any improvements, or something does not work as it should? Rollback the changes and go back to the default Gnome Shell / Mutter packages from the Fedora repositories by using:
sudo dnf copr disable pp3345/gnome-with-patches
sudo dnf downgrade gnome-shell mutter
via u/sabarabalesch on r/Fedora