pp3345/gnome-with-patches

Project ID: 21448

Description

This repo contains gnome-shell and mutter builds based on the official Fedora ones with some additional patches (mainly to improve performance). See GitHub for package sources. Please report any issues you encounter via GitHub or via the discussion form at the end of this page.

Currently, the following patches are added in:

Fedora 31

mutter:

  • !526 "Implement scaled/transformed hardware cursors" @b99f08c6
  • !575 "Honour CLUTTER_ACTOR_NO_LAYOUT more efficiently" @1e3acd0e
  • !692 "clutter-stage-cogl: Use regions" @30783949 (manually rebased)
  • !724 "Sync timelines to hardware vsync" @e335d349
  • !798 "Wayland surface fullscreen unredirect" @7377cf85 (manually rebased)
  • !850 "Make default focus window on each workspace appear focused" @f5252158 (manually rebased)
  • !867 "Use regions for Cogl clipping and culling" @e746d880 (manually rebased)
  • !888 "Handle empty invalidations" @2e9faaf6
  • !889 "clutter/cogl: Fix clipped redraw off scaled views" @9678fd53 (manually rebased)
  • !898 "clutter/cogl: Fix invalidation on non-primary monitors with no buffer age" @6bfa61a3
  • !906 "Fix buffer age checks on multiple monitors" @d47324e8
  • !918 "surface-actor-wayland: Do not send frame callbacks if the actor is obscured" @5e87d67e (manually rebased)
  • Enable real-time scheduling by default
  • Rebase to gnome-3-34@1b75d78c

gnome-shell:

  • !605 "Gestures overhaul" @b4bd41c0 (rebase taken from exalm/gnome-shell-gestures)
  • Rebase to gnome-3-34@7e8884a6

Xwayland:

  • !282 "xwayland/glamour-gbm: Handle DRM_FORMAT_MOD_INVALID gracefully" @edf96443
  • !316 "Add multiple buffering to xwl_window" @cd999f08 (manually rebased)
  • !355 "xwayland: Do flush GPU work in xwl_present_flush" @162e1204
  • !356 "xwayland: Use frame callbacks for Present vblank events" @c7de6c22

Fedora 30

mutter:

Note: These builds contain support for experimental real-time scheduling to reduce stuttering. To enable this feature run dconf write /org/gnome/mutter/experimental-features '["rt-scheduler"]' and reboot your machine. This only works for Wayland sessions.

  • !119 "renderer-native: Reference count front buffers" @fecc57dd
  • !168 "clutter: Deliver events sooner when possible" @ae8fc614
  • !189 "Geometric (OpenGL-less) picking" @bfdf54fa
  • !281 "clutter/stage-cogl: Reschedule update on present" @4faeb127
  • !283 "clutter-actor: Add detail to captured-event signal" @a20a0d7a
  • !363 "Consolidate all frame throttling into clutter-stage-cogl" @1dbf25af
  • !454 "cogl: Enable EGL_IMG_context_priority" @49675a41
  • !460 "Set SCHED_RR on gnome-shell process" @b2f6d46f
  • !520 "clutter/stage-cogl: Don't skip over the next frame" @45244852
  • !568 "compositor: Don't emit size-changed when only position changes" @00d8337d
  • !575 "Honour CLUTTER_ACTOR_NO_LAYOUT more efficiently" @1e3acd0e (manually rebased)
  • !576 "Lists free cleanups" @f7ecf3b6
  • !600 "Fix background texture corruption when resuming from suspend on Nvidia" @8b5060fe
  • !602 "cogl: Remove GLX "threaded swap wait" used on Nvidia" @df38ad3c (manually rebased)
  • !677 "clutter: Defer actor allocations till shown" @0eab73dc
  • !693 "clutter: Force an allocation on clone source if necessary" @08a3cbfc
  • !698 "Make MetaCullable implementations more thorough wrt painted areas" @f501fdcc
  • !707 "window-actor: Fix rectangle coordinates in culling" @aae9f3a3
  • !724 "Sync timelines to hardware vsync" @230c1293 (manually rebased)
  • Rebase to gnome-3-32 @b7f15881

gnome-shell:

  • !136 "Fix and polish the window overlays of the overview" @39c8c9ac
  • !276 "js/ui: Use captured-event::nonmotion" @297a18f2 (manually rebased)
  • Rebase to gnome-3-32 @1c6abf37
  • Set CAP_SYS_NICE capability on gnome-shell binary to allow using real-time scheduling

Known issues:

  • Moving windows is slow and causes extreme CPU consumption when using the NVIDIA binary driver in combination with a display with a high refresh rate (e.g., 144 Hz)

Fedora 29

Note: These builds are no longer maintained, but should still work properly.

mutter:

gnome-shell:

gnome-shell-extensions:

  • Includes 3.31.2 to fix issues with certain extensions that broke after removing Shell.GenericContainer

Installation Instructions

Fedora 29/30/31 Workstation Edition

dnf copr enable pp3345/gnome-with-patches

dnf upgrade

Reboot.

Rollback

dnf copr disable pp3345/gnome-with-patches

dnf downgrade gnome-shell mutter

Reboot.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Fedora 29 x86_64 (0)* Fedora 29 (117 downloads)
Fedora 30 x86_64 (0)* Fedora 30 (1634 downloads)
Fedora 31 x86_64 (0)* Fedora 31 (280 downloads)

* Total number of packages downloaded in the last seven days.