Package Details: mutter-performance 42.1+r7+g6aa70ed9c-1

Git Clone URL: (read-only, click to copy)
Package Base: mutter-performance
Description: A window manager for GNOME | Attempts to improve performances with non-upstreamed merge-requests and frequent stable branch resync
Upstream URL:
Licenses: GPL
Conflicts: mutter
Provides:, mutter
Submitter: Terence
Maintainer: Terence (Saren, FiestaLake)
Last Packager: FiestaLake
Votes: 60
Popularity: 4.64
First Submitted: 2019-07-09 09:35 (UTC)
Last Updated: 2022-05-20 11:27 (UTC)

Required by (17)

Sources (3)

Pinned Comments

FiestaLake commented on 2022-03-22 09:37 (UTC) (edited on 2022-04-29 11:04 (UTC) by FiestaLake)

Please note that debug option is disabled in this package.

If the building process is getting failed on check() like

83/114 mutter:core+mutter/backends/native / native-unit TIMEOUT 180.01s killed by signal 15 SIGTERM,

then you need to either reboot the machine and try it again, or should pass a variable --nocheck to makepkg (which should be passed along with --mflags first if you are using paru).

You can also add options=(!check) in PKGBUILD

FiestaLake commented on 2021-11-29 06:25 (UTC) (edited on 2022-04-07 08:37 (UTC) by FiestaLake)

Should have been fixed in gnome-42 base.

Below is just for users of gnome-41 based packages.

!1441 is not ready for multi-display support (in Wayland) now.

You'd better not use this package or change _merge_requests_to_use= in PKGBUILD not to use !1441.

Workaround for the Wayland Multi-display freezing issue :

-> Add MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0 in ~/.config/environment.d/envvars.conf

Source :

By @JordanViknar

Terence commented on 2020-08-31 16:26 (UTC) (edited on 2020-08-31 16:26 (UTC) by Terence)

@NettoHikari or anyone unable to compile with the following error:

lto1: internal compiler error: bytecode stream: expected tag identifier_node instead of LTO_UNKNOWN

You need to rebuild sysprof and then try again.


Saren commented on 2018-08-30 14:52 (UTC) (edited on 2020-10-06 05:50 (UTC) by Saren)

If you are getting errors like fatal: bad revision '73e8cf32' while building this package, refer to PKGBUILD and see which patches caused this. Then, go to the related URLs, replace the commit hashes. If there are conflicts, comment out the patches.

Please notify me in comment section if this happens.

The optional performance patches are by default enabled.

A package for gnome-shell performance patches:

Latest Comments

FiestaLake commented on 2022-05-22 01:09 (UTC)

@kal I can't confirm intel but I think it does improve performance on X11/Nvidia.

kal commented on 2022-05-21 22:33 (UTC)

Does this patch still work on X11/Intel ? For me, on Wayland - silky smooth but X11 is stuttery :-(

Thanks in advance!

FiestaLake commented on 2022-05-20 11:53 (UTC)

@allexj It depends on performance of your machine.

allexj commented on 2022-05-15 17:17 (UTC)

This package does not help fixing the animation lag (reported here: )

FiestaLake commented on 2022-05-04 07:50 (UTC)

@gandalfmagic Done.

gandalfmagic commented on 2022-05-03 17:33 (UTC) (edited on 2022-05-03 17:34 (UTC) by gandalfmagic)

Hi, this update (42.0+r93+g5e5480e62-1) breaks the mouse cursor on some configurations (mostly nvidia with wayland gbm it seems).

Here is the issue on the bug-tracker:

This MR should solve the problem:

Thank you

FiestaLake commented on 2022-05-03 14:41 (UTC)

@kal I think it's because gnome itself is getting faster than before. It still boosts performance in my low-spec machine.

You can also try gnome-shell-performance to see if this works for you too.

kal commented on 2022-05-03 14:33 (UTC)

First of all thanks so much guys for your work on this package it makes such a difference day-to-day!

Anyway, after upgrading to Gnome 42, mutter-performance appears to build and install fine. However, in use, it seems to make no difference?! Under Gnome 41, silky smooth but with Gnome 42 it's almost as if the patch is not being applied at all - strange.

Do you think I am doing something wrong? Any help would be appreciated.

Thank you.

FiestaLake commented on 2022-04-21 09:25 (UTC)

@laurentrepond Reboot the machine and try building the package again.

Or add --nocheck option when building the package.

laurentrepond commented on 2022-04-21 09:23 (UTC)

Hangs on:

83/114 mutter:core+mutter/backends/native / native-unit                                                        TIMEOUT        180.01s   killed by signal 15 SIGTERM


Starting D-Bus daemons (session & system)...
Starting mocked services...
Running test case...
mutter-Message: 10:05:56.452: Running Mutter Test (using mutter 42.0) as a Wayland display server
mutter-Message: 10:05:56.460: Added device '/dev/dri/renderD128' (i915) using no mode setting.
mutter-Message: 10:05:56.479: Created gbm renderer for '/dev/dri/renderD128'
mutter-Message: 10:05:56.479: Boot VGA GPU /dev/dri/renderD128 selected as primary
mutter-Message: 10:05:56.489: Using Wayland display name 'mutter-test-display'
Window manager warning: Failed to set environment variable WAYLAND_DISPLAY for gnome-session: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist
mutter-Message: 10:05:56.495: Added virtual monitor Meta-0
mutter-Message: 10:05:56.640: Removed virtual monitor Meta-0

frandieguez commented on 2022-04-19 08:50 (UTC)

The package build gets stuck on "[1168/1173] Linking target src/tests/mutter-monitor-unit"

Does anyone has the same issue?

FiestaLake commented on 2022-04-14 13:19 (UTC)

@ewout This also happens in the official package. Maybe you should make a bug report to the package's maintainer.

ewout commented on 2022-04-14 12:29 (UTC)

File "/usr/lib/mutter-10/plugins/" from package "mutter-performance" is missing dependency ""

FiestaLake commented on 2022-03-22 09:37 (UTC) (edited on 2022-04-29 11:04 (UTC) by FiestaLake)

Please note that debug option is disabled in this package.

If the building process is getting failed on check() like

83/114 mutter:core+mutter/backends/native / native-unit TIMEOUT 180.01s killed by signal 15 SIGTERM,

then you need to either reboot the machine and try it again, or should pass a variable --nocheck to makepkg (which should be passed along with --mflags first if you are using paru).

You can also add options=(!check) in PKGBUILD

FiestaLake commented on 2022-03-16 23:05 (UTC)

@abrattic I guess the crash is from backported !1441.

Unfortunately, !1441 is synced to mutter 42 now, so backport to 41 is unlikely trivial.

abrattic commented on 2022-03-16 10:34 (UTC) (edited on 2022-03-16 10:35 (UTC) by abrattic)

@Saren @FiestaLake Could you take a look at the discussion here?

FiestaLake commented on 2022-02-22 05:35 (UTC)

@ewout We follow the original package's dependencies as much as we can. xorg-server-xvfb is in checkdepends and this is also same in the original mutter package.

You'd better report that to mutter package's maintainer first.

ewout commented on 2022-02-22 03:31 (UTC)

Fails to build

Program xvfb-run found: NO

../mutter-performance/ ERROR: Program 'xvfb-run' not found or not executable

Please include xorg-server-xvfb as makedepend.

Saren commented on 2022-02-17 05:54 (UTC) (edited on 2022-02-17 05:56 (UTC) by Saren)

@FiestaLake I have fixed this. The patch command has to be placed below the git reset commands.

FiestaLake commented on 2022-02-17 03:23 (UTC)

I will check a few hours later.

saghm commented on 2022-02-17 02:55 (UTC)

It does not build for me even when starting from a fresh snapshot:

Program catchsegv found: NO

mutter-performance/ ERROR: Program 'catchsegv' not found or not executable

FiestaLake commented on 2022-02-17 00:57 (UTC) (edited on 2022-02-17 01:00 (UTC) by FiestaLake)

@adryd @ewout I did the same way of what the original mutter package did. Doesn't it build now?

ewout commented on 2022-02-16 20:02 (UTC)

Please include MR 2294 to work around catchsegv no longer being packaged by glibc.

adryd commented on 2022-02-16 09:48 (UTC)

You'll need to remove the catchsegv meson dependency, this won't build anymore. mutter-git has a patch already

FiestaLake commented on 2022-02-14 06:00 (UTC)

@JordanViknar I also made !2265 here, which is a diff for the package repo itself:

@Saren can you test this too?

Saren commented on 2022-02-14 05:51 (UTC) (edited on 2022-02-14 05:59 (UTC) by Saren)


I have tested adding !2265 with mr1441.patch unchanged. I am dropped to X11 only.

!1441 seems to be synced to mutter 42 now, backport to 41 is unlikely trivial.

mr2265.patch that builds:

JordanViknar commented on 2022-02-13 11:08 (UTC) (edited on 2022-02-13 11:20 (UTC) by JordanViknar)

I think the !1441 patch included in this package should be updated. According to a comment in,MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0 will no longer be necessary to prevent the Wayland Multi-display freezing issue, thanks to This has been an issue some of us have been encountering in the past before I reposted the workaround here. Problem is that, since this was a workaround, it had to be manually done by the user and technically didn't fix the problem. Plus, I suspect that this workaround had a negative impact on performance, ironically.

FiestaLake commented on 2022-01-12 22:46 (UTC)

@afader Does commit 0cb76e589752 build fine there? i really can't test wayland.

afader commented on 2022-01-12 20:47 (UTC)

Can't build this package with wayland running but it works fine on Xorg with same options. On linux-hardened

(mutter-persistent-virtual-monitor:28293): mutter-ERROR **: 14:54:57.711: Failed to start X Wayland: Failed to open Xauthority file: Permission denied

JordanViknar commented on 2021-12-07 17:32 (UTC) (edited on 2021-12-07 17:34 (UTC) by JordanViknar)

Workaround for the Wayland Multi-display freezing issue :

-> Add MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0 in "~/.config/environment.d/envvars.conf"

Source :

FiestaLake commented on 2021-12-05 11:53 (UTC) (edited on 2021-12-05 11:59 (UTC) by FiestaLake)

@murat.cileli It builds fine here.
Build log here:

murat.cileli commented on 2021-12-05 11:05 (UTC)

Build failed with:

Window manager warning: Failed to set environment variable GNOME_SETUP_DISPLAY for gnome-session: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist
Window manager warning: Failed to set environment variable DISPLAY for gnome-session: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist
Window manager warning: Failed to set environment variable XAUTHORITY for gnome-session: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist
Window manager warning: Failed to set environment variable WAYLAND_DISPLAY for gnome-session: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist
mutter-Message: 14:00:21.767: Removed virtual monitor Meta-0

Summary of Failures:

 93/108 mutter:core+mutter/stacking / restore-size                                                     FAIL            0.95s   exit status 1

Ok:                 107 
Expected Fail:      0   
Fail:               1   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0

JordanViknar commented on 2021-11-30 18:41 (UTC)

I can confirm multi-display works properly on Wayland with !1441 removed.

JordanViknar commented on 2021-11-29 12:25 (UTC)

I'm gonna try to compile the package without !1441. I'll tell you if multi-display support works properly. Thanks for the solution.

FiestaLake commented on 2021-11-29 06:25 (UTC) (edited on 2022-04-07 08:37 (UTC) by FiestaLake)

Should have been fixed in gnome-42 base.

Below is just for users of gnome-41 based packages.

!1441 is not ready for multi-display support (in Wayland) now.

You'd better not use this package or change _merge_requests_to_use= in PKGBUILD not to use !1441.

Workaround for the Wayland Multi-display freezing issue :

-> Add MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0 in ~/.config/environment.d/envvars.conf

Source :

By @JordanViknar

FuelFlo commented on 2021-11-28 18:52 (UTC)

Hey, I'm having the same problem as @JordanViknar,

the second monitor freezes for me, as soon as I open the first window of any program. Happens for me with mutter-performance (also with the changed commit) as well as with mutter-dynamic-buffering, but not with the original mutter package.

FiestaLake commented on 2021-11-28 16:32 (UTC)

@JordanViknar Test mutter-dynamic-buffering aur package and tell me the result.

JordanViknar commented on 2021-11-28 15:22 (UTC)

I was already compiling with makepkg due to issues with this particular package on my usual AUR helpers (pamac and yay) (I can confirm I'm using Arch Linux and not Manjaro despite having Pamac).

The latest version didn't fix the issue, it did "reverse" it though (it was now the primary display getting stuck instead of the non-primary one).

I couldn't try your alternative commit, because the build was failing on the checks following the compilation (I tried yesterday and I already forgot the specific element that was failing, but it was somewhere between the 100th and 110th check, I can try again if that'd help you).

Also, I don't know if that's related, but I'm using the gdm-plymouth and libgdm-plymouth packages.

FiestaLake commented on 2021-11-27 06:34 (UTC) (edited on 2021-11-27 06:35 (UTC) by FiestaLake)

@JordanViknar Please test the latest version and if it doesn't help, change

_commit=561ec4f3e722ea365c535aea4e03b496b20cb8c9 # tags/41.1^25


_commit=8de96d3d7c40e6b5289fd707fdd5e6d604f33e8f # tags/41.1^0

in PKGBUILD and try building & installing it via makepkg -sric

JordanViknar commented on 2021-11-26 07:34 (UTC) (edited on 2021-11-26 07:45 (UTC) by JordanViknar)

I'd like to warn the maintainers (and users) of this package that it has caused me issues when used with a secondary monitor. If you combine both screens, only the primary display will work properly : the other display will just freeze on one of the first few frames, and it will not unfreeze until you change the mode. I was using it alongside gnome-shell-performance, and while uninstalling gnome-shell-performance did not fix the problem, uninstalling this package did solve it. I can only assume then that the problem is caused by one of the patches applied to mutter in this package.

System Info that might be useful :

CPU : Intel Celeron N3450 (4) @ 2.200GHz

GPU : Intel HD Graphics 500

Kernel : 5.15.4-zen1-1-zen

(On a side note, it is quite effective at boosting performance, even more than gnome-shell-performance. If you don't have secondary monitors, feel free to install it.)

gnx commented on 2021-11-20 16:18 (UTC)

This package, together with gnome-shell-performance, drastically improved the GNOME performance for me. No more stuttering animations. Thank you!

FiestaLake commented on 2021-10-27 13:52 (UTC)

Hi, I'm a new co-maintainer of gnome-shell-performance and mutter-performance packages. Please don't hesitate to give us/me advice and bug reports.


kal commented on 2021-10-26 20:28 (UTC) (edited on 2021-10-26 20:28 (UTC) by kal)


Whether you are able to continue maintenance of this package or not can I just say a huge thank you for the work you have put into this! It has been the difference between a show-stoppingly juddery desktop and one that was a joy to work with.

Thank you.

I hope we are able to find a maintainer :o)

Terence commented on 2021-10-17 09:36 (UTC) (edited on 2021-10-17 09:37 (UTC) by Terence)

Hey all,

As you noticed, I'm not able to update this package frequently anymore (lack of time/motivation). If someone wants to help maintain this package I'll gladly add them to the maintainer list.

JockeTF commented on 2021-07-24 11:43 (UTC)

Okay! I've created mutter-dynamic-buffering which includes the working patch for merge request 1441. It's about as close to the original mutter package as I could make it. This is my first AUR package, so feel free to comment with feedback.

SilverMarcs commented on 2021-07-24 07:36 (UTC) (edited on 2021-07-24 07:37 (UTC) by SilverMarcs)

@JockeTF i think that would be very useful to many. I would defo switch to arch from fedora if theres a package in the aur for just 1441. As for the risks, I think someone who's installing this from the AUR already knows what 1441 is and how it doesnt work on wayland

JockeTF commented on 2021-07-23 21:31 (UTC)

I've uploaded a working patch to a comment in the merge request. I'm considering creating an AUR package that bundles and includes only !1441. Would that be useful to anyone?

adryd commented on 2021-07-17 20:56 (UTC)

mr 1441 is not working at the moment and it's only supporting the master branch. I'm sure there's a way to get an older patch set or something.

malcolm commented on 2021-07-08 23:52 (UTC)

how about the mr 1620?

SilverMarcs commented on 2021-07-03 15:29 (UTC)

@kal Thanks I'll try that out

But I am unable to install this in the first place. I get to verifying some packages upto 102. 103-105 simply fail and I get some errors like headless sth. Unfortunately I cannot provide exact logs as I'm not on arch atm but dis there a fix?

kal commented on 2021-07-02 15:17 (UTC) (edited on 2021-07-02 15:18 (UTC) by kal)


If you are using an AUR helper it should give you the option to edit the PKGBUILD at some point during the installation process. If not, pull up the PKGBUILD in your favourite editor.

You want to edit the merge_requests_to_use line to look like this (line 11 at the time of this writing) :

Merge Requests List: ('579' '1441' '1241')

Save the file and continue the installation.

At some point early in the installation process you should see an output line that says :

"Downloading then Merging 1441 ..."

... which should confirm that the merge request is being integrated into your build.

If the line flashes by too quickly, and your are using gnome-terminal (or similar), you can search for '1441' after the process completes.

SilverMarcs commented on 2021-06-15 07:08 (UTC)

How do I install this including the 1441 patch? Got no experience with editing packagebuilds so help is appreciated

Saren commented on 2021-02-06 18:18 (UTC)

BTW I need a way to reference old version of merge request, because it seems mr1309 mr1441 is synced to master instead of gnome 3.38, which makes the code incompatible.

Saren commented on 2021-02-06 17:42 (UTC)

The same problem is still here even I made a package directly from svn (extra/mutter). But if I replaced /usr/lib/mutter-7/ with the one packaged in extra/mutter, the problem went away, even using mutter-performance.

What in the world? So the package maintainer's is built without issue, while I was (we were) missing something?

Saren commented on 2021-02-03 06:14 (UTC) (edited on 2021-02-03 06:18 (UTC) by Saren)

With this package, wayland and in overview mode, after scrolled to other workspaces, the window previews are missing. Does anyone have the same problem?

Even without makepkg patches and gnome extensions, the problem persists, but extra/mutter does not have this problem. I don't know why.


glorious-yellow commented on 2021-01-11 21:31 (UTC)

Can be added? Thanks

ciupenhauer commented on 2020-12-13 16:46 (UTC)

ERROR: can't resolve libraries to shared libraries: sysprof-capture-4 [485/667] Compiling C object src/tests/clutter/conform/binding-pool.p/.._.._clutter-test-utils.c.o ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build().

wonder what this is about?

sabrehvardas commented on 2020-12-11 13:31 (UTC) (edited on 2020-12-11 13:31 (UTC) by sabrehvardas)

I tried adding 1441, but then I get

error: patch failed: clutter/clutter/clutter-frame-clock.c:198
error: clutter/clutter/clutter-frame-clock.c: patch does not apply

Terence commented on 2020-11-06 17:21 (UTC)

Then I'm sorry @AntonioSalvatore but I don't know what's wrong. I found this:

Maybe also try to build mutter from arch repo?

AntonioSalvatore commented on 2020-11-06 17:19 (UTC)

@Terence mmm nope, doesn't work. I tried to build the package in a clean chroot but the result is the same.

Terence commented on 2020-11-06 12:38 (UTC)

Hey @AntonioSalvatore I built the package in a clean chroot with all PR enabled and I couldn't reproduce. I suggest trying with makepkg --cleanbuild.

AntonioSalvatore commented on 2020-11-06 05:02 (UTC)

Hi! i get this error when using yay and pamac:

FAILED: src/tests/clutter/conform/actor-clone.p/.._.._clutter-test-utils.c.o 
cc -Isrc/tests/clutter/conform/actor-clone.p -Isrc/tests/clutter/conform -I../mutter-performance/src/tests/clutter/conform -Iclutter -I../mutter-performance/clutter -Iclutter/clutter -I../mutter-performance/clutter/clutter -Icogl -I../mutter-performance/cogl -Icogl/cogl -I../mutter-performance/cogl/cogl -Isrc -I../mutter-performance/src -I. -I../mutter-performance -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/json-glib-1.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libwacom-1.0 -I/usr/include/graphene-1.0 -I/usr/lib/graphene-1.0/include -I/usr/include/sysprof-4 -I/usr/include/gsettings-desktop-schemas -I/usr/include/gtk-3.0 -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/at-spi-2.0 -I/usr/include/gnome-desktop-3.0 -I/usr/include/gnome-settings-daemon-3.0 -I/usr/include/gudev-1.0 -I/usr/include/startup-notification-1.0 -I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -I/usr/include/gobject-introspection-1.0 -I/usr/include/libdrm -flto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -march=x86-64 -mtune=generic -O3 -fno-plt -fno-semantic-interposition -D_FORTIFY_SOURCE=2 -fPIE -D_REENTRANT -pthread -mfpmath=sse -msse -msse2 '-DG_LOG_DOMAIN="Clutter-Conform"' -DCOGL_DISABLE_DEPRECATION_WARNINGS '-DGETTEXT_PACKAGE="mutter"' -MD -MQ src/tests/clutter/conform/actor-clone.p/.._.._clutter-test-utils.c.o -MF src/tests/clutter/conform/actor-clone.p/.._.._clutter-test-utils.c.o.d -o src/tests/clutter/conform/actor-clone.p/.._.._clutter-test-utils.c.o -c ../mutter-performance/src/tests/clutter-test-utils.c
In file included from ../mutter-performance/src/backends/meta-backend-private.h:46,
                 from ../mutter-performance/src/backends/x11/meta-backend-x11.h:31,
                 from ../mutter-performance/src/backends/x11/nested/meta-backend-x11-nested.h:25,
                 from ../mutter-performance/src/tests/clutter-test-utils.h:36,
                 from ../mutter-performance/src/tests/clutter-test-utils.c:1:
../mutter-performance/src/backends/meta-remote-desktop.h:30:10: fatal error: meta-dbus-remote-desktop.h: No such file or directory
   30 | #include "meta-dbus-remote-desktop.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[277/873] Compiling C object src/tests/clutter/accessibility/cally-atktext-example.p/cally-examples-util.c.o
FAILED: src/tests/clutter/accessibility/cally-atktext-example.p/cally-examples-util.c.o 
cc -Isrc/tests/clutter/accessibility/cally-atktext-example.p -Isrc/tests/clutter/accessibility -I../mutter-performance/src/tests/clutter/accessibility -Iclutter -I../mutter-performance/clutter -Iclutter/clutter -I../mutter-performance/clutter/clutter -Icogl -I../mutter-performance/cogl -Icogl/cogl -I../mutter-performance/cogl/cogl -Isrc -I../mutter-performance/src -I. -I../mutter-performance -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/json-glib-1.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libwacom-1.0 -I/usr/include/graphene-1.0 -I/usr/lib/graphene-1.0/include -I/usr/include/sysprof-4 -I/usr/include/gsettings-desktop-schemas -I/usr/include/gtk-3.0 -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/at-spi-2.0 -I/usr/include/gnome-desktop-3.0 -I/usr/include/gnome-settings-daemon-3.0 -I/usr/include/gudev-1.0 -I/usr/include/startup-notification-1.0 -I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -I/usr/include/gobject-introspection-1.0 -I/usr/include/libdrm -flto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -march=x86-64 -mtune=generic -O3 -fno-plt -fno-semantic-interposition -D_FORTIFY_SOURCE=2 -fPIE -D_REENTRANT -pthread -mfpmath=sse -msse -msse2 '-DPREFIXDIR="/usr/lib"' -DCLUTTER_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS '-DGETTEXT_PACKAGE="mutter"' -MD -MQ src/tests/clutter/accessibility/cally-atktext-example.p/cally-examples-util.c.o -MF src/tests/clutter/accessibility/cally-atktext-example.p/cally-examples-util.c.o.d -o src/tests/clutter/accessibility/cally-atktext-example.p/cally-examples-util.c.o -c ../mutter-performance/src/tests/clutter/accessibility/cally-examples-util.c
In file included from ../mutter-performance/src/backends/meta-backend-private.h:46,
                 from ../mutter-performance/src/backends/x11/meta-backend-x11.h:31,
                 from ../mutter-performance/src/backends/x11/nested/meta-backend-x11-nested.h:25,
                 from ../mutter-performance/src/tests/clutter-test-utils.h:36,
                 from ../mutter-performance/src/tests/clutter/accessibility/cally-examples-util.h:23,
                 from ../mutter-performance/src/tests/clutter/accessibility/cally-examples-util.c:29:
../mutter-performance/src/backends/meta-remote-desktop.h:30:10: fatal error: meta-dbus-remote-desktop.h: No such file or directory
   30 | #include "meta-dbus-remote-desktop.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[278/873] Linking target clutter/clutter/
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
error making: mutter-performance

Terence commented on 2020-10-22 13:16 (UTC)

@memeplex @kode54 Oups yeah, sorry shouldn't have enabled it by default, fixing this right now.

memeplex commented on 2020-10-22 13:15 (UTC)

Thanks @Terence. @kode54 probably !1441 since it doesn't support Wayland yet. Maybe it should be done ootional until Wayland support is implemented.

kode54 commented on 2020-10-22 06:47 (UTC)

Oops, Wayland support has been broken.

Terence commented on 2020-10-20 15:36 (UTC)

@memeplex Thanks for the suggestion, I added !1441 and it's enabled by default.

Saren commented on 2020-10-06 05:50 (UTC) (edited on 2020-10-06 05:50 (UTC) by Saren)

For the 3.38 package update, not only I am too lazy right now for this big work, most of our favorite extensions may be broken too. I am scared to do pacman -Suy also right now. I would hopefully update this package ASAP.

memeplex commented on 2020-09-23 03:28 (UTC)

Is it possible to add the latest attempt by Vanvugt to bring back triple buffering when FPS are running low? This is important for users using HiDPI screens on Intel integrated GPUs, like me, which still suffer from serious stuttering in some animations.

It's a relatively simple patch, after many iterations (v4!)

glorious-yellow commented on 2020-09-14 19:40 (UTC) (edited on 2020-09-14 19:40 (UTC) by glorious-yellow)

Can you please add Thanks.

Terence commented on 2020-09-05 21:39 (UTC)

@glorious-yellow The quick 'n dirty way is to download the PKGBUILD from the repo :

mkdir sysprof && cd sysprof && wget && makepkg -si

Otherwise you can use asp. More info at

glorious-yellow commented on 2020-09-04 21:53 (UTC)

How do I rebuild sysprof?

Terence commented on 2020-08-31 16:26 (UTC) (edited on 2020-08-31 16:26 (UTC) by Terence)

@NettoHikari or anyone unable to compile with the following error:

lto1: internal compiler error: bytecode stream: expected tag identifier_node instead of LTO_UNKNOWN

You need to rebuild sysprof and then try again.


NettoHikari commented on 2020-08-31 16:22 (UTC)

Currently fails at:

[124/1527] Linking target cogl/cogl/

memeplex commented on 2020-08-27 03:17 (UTC)

What about adding !1383?

Terence commented on 2020-07-23 20:08 (UTC)

@tosziro Thanks, it's now included and enabled by default.

tosziro commented on 2020-07-23 14:36 (UTC) (edited on 2020-07-23 14:36 (UTC) by tosziro)

Nice. Could you please add !1369? Its very important for wine app users.

Inotamira commented on 2020-07-19 18:10 (UTC)

To anyone having the issue with the error message

Warning: installing mutter-performance (3.36.4+10+gef3dac706-1) breaks dependency '' required by gnome-shell-performance Add gnome-shell-performance to remove

Don't use pamac to install this package, use yay, I'm unsure about other AUR installers, however, yay installs the package and replaces mutter in place without issue. Obviously restart afterwards, but it works flawlessly after the fact.

deezid commented on 2020-07-19 10:34 (UTC)

Can't install the latest update

Warning: installing mutter-performance (3.36.4+10+gef3dac706-1) breaks dependency '' required by gnome-shell-performance Add gnome-shell-performance to remove

Terence commented on 2020-06-22 17:22 (UTC)

@Snowstorm64 @ciupenhauer !1326 was merged into master and also backported to stable branches so it's now included with the new update I just pushed.

@Vash63 Thanks, last time I checked it wasn't applying cleanly so it might be a bit of a delay until I fix it and add it.

ciupenhauer commented on 2020-06-22 17:17 (UTC)

MR !1324 seems to have been replaced with another fix that was already merged into master

does this mean if we recompile this package right now, we would be getting the fix?

Snowstorm64 commented on 2020-06-22 13:21 (UTC)

And what about this merge request: ?

Vash63 commented on 2020-06-19 13:38 (UTC)

Another potential candidate for this package:

Terence commented on 2020-05-17 15:13 (UTC)

Probably due to sysprof update compilation seems to work fine for me.

glitsj16 commented on 2020-05-15 16:48 (UTC) (edited on 2020-05-15 17:02 (UTC) by glitsj16)

Hi, gcc 10 is causing build-breakage. Upstream is aware of this according to 1246 and 1248, but that's not finished yet apparently. Until that's all sorted out users can build this with Clang instead of gcc.

UPDATE: the latest sysprof update might fix this with gcc 10 according to heftig on IRC.

FuelFlo commented on 2020-05-07 13:19 (UTC)


Seems to be a problem with how pamac handles dependencies. If you try installing it with 'yay' for example, it should work.

shrisha commented on 2020-04-19 04:05 (UTC) (edited on 2020-04-19 06:57 (UTC) by shrisha)

could not satisfy dependencies: removing mutter breaks dependency '' required by gnome-shell

Am I doing something wrong?

I just downloaded latest iso this morning 20.rc2. Installed on new ssd. system specs if required:

OS: Manjaro Linux x86_64 Host: TRX40 AORUS MASTER -CF Kernel: 5.6.5-1-MANJARO Uptime: 1 hour, 31 mins Packages: 1167 (pacman) Shell: bash 5.0.16 Resolution: 3840x2160 DE: GNOME WM: Mutter WM Theme: Adwaita-maia Theme: Adwaita-maia [GTK2/3] Icons: Papirus-Dark-Maia [GTK2/3] Terminal: gnome-terminal CPU: AMD Ryzen Threadripper 3970X (64) @ 3.900GHz GPU: NVIDIA TITAN RTX Memory: 4177MiB / 64258MiB

ciupenhauer commented on 2020-04-17 21:43 (UTC)

installed !798, played a few games, works as intented. at least on intel igpu it looks solid.

Terence commented on 2020-04-17 00:43 (UTC)

@ciupenhauer Thanks for the heads up, it looks like it compiles successfully, I didn't test it so it's not enabled by default. Just add it to the array and tell us how it went :)

ciupenhauer commented on 2020-04-17 00:05 (UTC)

fullscreen unredirect (!798) was just merged for 3.38. Any chance the commit can be compiled against current package?

v-tin commented on 2020-03-30 10:34 (UTC) (edited on 2020-03-30 10:35 (UTC) by v-tin)

What can I do to fix this error or is it not compatible with Manjaro with Gnome 3.36?

could not satisfy dependencies: removing mutter breaks dependency '' required by gnome-shell

Terence commented on 2020-03-15 17:29 (UTC)

Package updated with cleanups and synced with master.

arun321 commented on 2020-03-01 17:25 (UTC)

Cannot even pass prepare stage when using --- "_merge_requests_to_use=('!493' '!575' '!579' '!719' '!724' '!762' '!983' '!1000') # Saren's pick"

Saren commented on 2020-02-12 10:30 (UTC) (edited on 2020-02-12 10:33 (UTC) by Saren)

Oops, it seems like I pushed my pick which is not safe for everyone. If you are experiencing crashes or weird stuff because you are using Wayland/multiple monitors/keyboard layouts, use _merge_requests_to_use=('!575' '!983' '!1000') instead.

ciupenhauer commented on 2020-02-11 20:04 (UTC)

@glitsj16 sorry, meant the 3 !7xx MRs, bug doesn't happen with !719 & !762, without !724. All 3 need to be there at same time. Also noticed it only happens when you have external monitor plugged in

glitsj16 commented on 2020-02-11 19:24 (UTC)

@ciupenhauer Usually I'm on Wayland using mesa. I can reproduce the crash there. Never noticed it before because I have 'blank screen' set to 'Never' in the power saving settings. So thanks for mentioning it here. Not sure about the third MR involved you mention in your post, as I read !762 twice :) But I'm willing to experiment if you can throw that out here.

ciupenhauer commented on 2020-02-11 16:19 (UTC)

@glitsj16 are you on X or wayland? I get a crash on wayland when waking up the display from blank screen on Wayland with !719 and !762 and !762. Either !762 alone or the other 2 don't give this bug. Also no issue on X with all 3

glitsj16 commented on 2020-02-07 01:48 (UTC)

@ciupenhauer Glad to help. I only put those pieces together for !724 a few days ago. Actual credit (and sainthood perks) should go to for finding a way to easily incorporate MR patches (see Getting truly amazing performance here too now. I also use a GS extension from and I rarely see gnome-shell go over 4% CPU usage. Just putting this out here for who wants to give it a try.

ciupenhauer commented on 2020-02-07 01:01 (UTC)

@glitsj16 no way did that just work!! :O It's crazy the performance difference I get in shell on my laptop with powersave governor. You are a Saint mate

glitsj16 commented on 2020-02-07 00:13 (UTC)

@ciupenhauer No clue why !724 hasn't been merged yet. But I did manage to find a way to include it without a manual rebase: (1) don't put !724 in the _merge_requests_to_use array; (2) add '' to the source array and updpkgsums; (3) put this at the bottom of the prepare() function: 'patch -Np1 -i ../724.diff'; (4) additionally you might want to add these at the top of the build() function (cfr. mutter PKGBUILD): CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition -fno-strict-aliasing" LDFLAGS+=" -Wl,-Bsymbolic"

ciupenhauer commented on 2020-02-06 23:34 (UTC)

does anyone know if !724 will get merged before release? I can't manage to build this with it, manual rebase seems tricky. Is there any reason it wasn't merged yet?

FuelFlo commented on 2020-02-03 19:14 (UTC)

@glitj16 thx! I just meant they'll also need to be updated in the package.

glitsj16 commented on 2020-02-03 17:16 (UTC)

@FuelFlo You can use these hashes:

  • for !983: pick_mr '!983' 9b7fe584 'merge'

  • for !1000: pick_mr '!1000' 62d608c2 'merge'

Additionally you can use '_commit=4959ae8bc4670cbd09c683d20fd07ded735e4dab # gnome-3-34'.

FuelFlo commented on 2020-02-03 17:08 (UTC)

Hey, the commit hashes of !983 and !1000 need to be fixed.

Terence commented on 2020-01-30 23:51 (UTC)

Thanks for the info glitsj16 and TheAimfam5. I will update this package and gnome-shell-performance over the weekend.

glitsj16 commented on 2020-01-30 23:30 (UTC)

FYI, !575 just got merged

theaifam5 commented on 2019-12-29 02:47 (UTC) (edited on 2019-12-29 02:51 (UTC) by theaifam5)

Just for info when someone gets same issue....

'!762' throws an error while compiling tests, when all (except '!429') are enabled:

/usr/bin/ld: /tmp/ in function `clutter_actor_continue_paint':
<artificial>:(.text+0x820f): undefined reference to `clutter_stage_get_no_clear_hint'
/usr/bin/ld: /tmp/ in function `clutter_stage_set_property':
<artificial>:(.text+0x7af0): undefined reference to `clutter_stage_set_no_clear_hint'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

'!429' throws an error, when all are enabled:

Merging latest commits for !429...
Found ^ for !429
fatal: bad revision '^..'

'!724' works for me, when all (except '!429' and '!762') are enabled

Terence commented on 2019-12-28 20:09 (UTC)

@glitsj16 @nik9 Yeah, !724 would require a manual rebase I think. Disabling it by default. I also updated !762.

glitsj16 commented on 2019-12-11 00:40 (UTC)

@Terence Getting the same error as @nik9 for !724, and I don't use the test part. It might be related to (recent changes), not entirely sure.

On a similar vain, pick_mr '!762' e9ba9dc2 'merge' produces fatal: bad revision 'e9ba9dc2' I could fix this by changing to: pick_mr '!762' 'renderer-native: Check that frame_info != NULL' from

Terence commented on 2019-12-10 22:29 (UTC)

@nik9 I think this is just the test part? It should work if you use makepkg --nocheck

nik9 commented on 2019-12-10 19:22 (UTC) (edited on 2019-12-10 19:23 (UTC) by nik9)

FAILED: clutter/clutter/ when !724 is enabled

Terence commented on 2019-11-16 23:08 (UTC)

@glitsj16 Forgot to remove it from the array. It was merged and then cherry-picked to gnome-3-34.

glitsj16 commented on 2019-11-16 22:12 (UTC) (edited on 2019-11-16 22:14 (UTC) by glitsj16)

What's up with !909? In the history I see it was added [url=]here[/url], subsequently got [url=]removed[/url] but it is still in the [color=blue]_merge_requests_to_use[/color] array...

I tried reviving !909 in its prior form (pick_mr '!909' b1b7c597^..765c8a3a 'merge') but that throws a [color=crimson]fatal: bad revision 'b1b7c597^..765c8a3a'[/color] message. When using it like [color=steelblue]pick_mr '!909' "x11-display: Don't unset the X11 focused window after setting one"[/color] (mind the double-quote to not break on the single quote inside the title) efe5bed5b is found for !909 and the build happily proceeds. Can someone confirm whether or not !909 should still be referenced in the array?

deezid commented on 2019-11-02 14:51 (UTC)

No issues here with !719 & !762. NVIDIA 440, 1080Ti, Manjaro

Terence commented on 2019-10-30 09:52 (UTC)

@Saren sorry but creating a file in your home like that is awful. What can be done instead as you mentioned is creating an ENV containing the PR the PKGBUILD would check and use.

Saren commented on 2019-10-30 06:01 (UTC)

Well, editing PKGBUILD every update VS creating a file once and forget it, I prefer the latter. Maybe I could make use of environment variables (/etc/environment) next update.

ciupenhauer commented on 2019-10-28 22:19 (UTC)

Ah, yes, very nice with the array!

Terence commented on 2019-10-28 16:28 (UTC)

@TheAifam5 @gedgon @ciupenhaue I added!719 and !762 which fixes one issue of !719. You need to add them to the _merge_requests_to_use array.

Terence commented on 2019-10-27 23:13 (UTC)

Alright tomorrow I'll add !719 as an optional MR.

theaifam5 commented on 2019-10-27 21:48 (UTC)

!719 is missing in PKGBUILD.

Terence commented on 2019-10-27 16:23 (UTC)

@Saren I introduced a new way of choosing what MR you want to use: Just add the proposed ones you want into the _merge_requests_to_use array.

gedgon commented on 2019-10-26 16:54 (UTC)

@ciupenhauer, Dan van Vugt mentioned here 1, that !719 revisit or rewrite is one of the goals for the 3.36. Till then, just try !719 as it is, and check if you are affected by the regressions that it triggers or causes.

ciupenhauer commented on 2019-10-25 14:52 (UTC)

any more news in !719?

gedgon commented on 2019-10-22 14:33 (UTC) (edited on 2019-10-22 14:34 (UTC) by gedgon)

@Terence Personalty, I haven't encountered any crashes caused by !719, these are probably limited to rare certain scenarios, and the performance difference is huge, so it's probably worth adding it on condition, just like !493. Some numbers on polaris @4k w/ GPU clock limited to 300/214/387/625MHz. FPS for an overview animation w/ 5 windows

mutter-3.34.1+27+g85f5db7e7 w/o !719

*** FPS for MetaStage: 31 ***
*** FPS for MetaStage: 36 ***
*** FPS for MetaStage: 31 ***
*** FPS for MetaStage: 31 ***
*** FPS for MetaStage: 35 ***
*** FPS for MetaStage: 31 ***
*** FPS for MetaStage: 31 ***
*** FPS for MetaStage: 34 ***

mutter-3.34.1+27+g85f5db7e7 w/ !719

*** FPS for MetaStage: 60 ***
*** FPS for MetaStage: 60 ***
*** FPS for MetaStage: 61 ***
*** FPS for MetaStage: 60 ***
*** FPS for MetaStage: 61 ***
*** FPS for MetaStage: 60 ***
*** FPS for MetaStage: 61 ***
*** FPS for MetaStage: 61 ***

Terence commented on 2019-10-20 23:06 (UTC)

@glitsj16 the updated version should contain the fix.

@gedgon Thanks, it seems like it was causing different problems that aren't all addressed at the time so I'm not applying it.

glitsj16 commented on 2019-10-09 03:00 (UTC) (edited on 2019-10-09 03:03 (UTC) by glitsj16)

[FYI] Latest version broke GNOME's Night Light functionality. On a daily/nightly basis I actually use, but when that broke, I tried the native Night Light, which was broken too. See for my bug report. When I build mutter-performance from latest git master and revert the relevant MR, both work again.

gedgon commented on 2019-10-06 07:06 (UTC)

JFYI, !719 was reverted from master

Saren commented on 2019-09-20 06:22 (UTC) (edited on 2019-09-21 06:54 (UTC) by Saren)

Overview not closing bug fixed ( fixed as of gnome-shell-performance 3.34.0+148+g506b75fc7-1

Shell crash ( caused by dash-to-dock is also fixed from mutter-performance 3.34.0+30+gb5775e3d8-1

Most of your favorite extensions should be compatible or have update (in their repos). The only extension not working for me is "Panel OSD".

kode54 commented on 2019-09-17 21:42 (UTC)

@Terence Most of the pull requests included in this package have already been merged into 3.34. Of course, you don't have to update the script for that until 3.34 is in the stable repositories.

Terence commented on 2019-09-17 17:54 (UTC)

@Saren Thanks but yeah I don't get why this was flagged out-of-date when it's still in the arch testing repo...

Saren commented on 2019-09-16 03:58 (UTC) (edited on 2019-09-16 04:02 (UTC) by Saren)

Current PKGBUILD so far @Terence

Stopped by

Run-time dependency sysprof-capture-3 found: NO (tried pkgconfig and cmake) ERROR: Dependency "sysprof-capture-3" not found, tried pkgconfig and cmake

Just wait bumped to 3.34 first

Terence commented on 2019-09-01 13:43 (UTC)

@TheAifam5 I figured out what caused the problem, please update and try again. @sotirizzz Thanks, it's now disabled by default.

Terence commented on 2019-08-28 10:49 (UTC)

@TheAifam5 experienced the same on my Nvidia system, amdgpu seemed fine but I guess I'll have to test on both each time before pushing changes... I'll figure out what exactly causes that and disable IT when I'm back home today.

theaifam5 commented on 2019-08-28 10:24 (UTC)

Last changes are destructive for me. On 3x4k monitors connected like: [monitor1] - [monitor2] - [laptop3], the third's background is split to half and after a while everything freezes. At the start, the window with small header are unable to move, but with the windows with big header are movable. Also the windows can't be resized for some reason. Trying do the following things, slowly freezes the whole system, except the window's content. The mutter package from Arch is working correctly. I tried to find any logs but there is none or I couldn't find any.

sotirizzz commented on 2019-08-26 14:53 (UTC)

"Implement clipboard manager" causes crashes in wayland session for me when trying to drag a folder/file in nautilus or a tab in firefox (with wayland as backend)

glorious-yellow commented on 2019-08-24 14:30 (UTC) (edited on 2019-08-24 14:32 (UTC) by glorious-yellow)

"Geometric (OpenGL-less) picking" hashes updated

New hashes are 836b420a^..b10f82d3

Saren commented on 2019-08-23 16:51 (UTC)

@Terence haha it's just a quick & dirty & selfish hack to save me from editing PKGBUILD each time.

You may write a prompt for that if you want, but that would break somebody's automated process too.

Terence commented on 2019-08-23 13:33 (UTC)

@Saren I don't really like that you have to create a file in your home dir to enable !579, either we create a prompt, or set a var in the PKGBUILD or use an env var.

SolarAquarion commented on 2019-08-20 19:29 (UTC)

I think you need to add " # required to build gala git cherry-pick -n bd7704f9e17e9554ad663386ef4fce1e16a56f08 # !640"

Terence commented on 2019-08-20 13:11 (UTC)

Thanks for your update @Saren, I completed it by adding !700 and !724, enjoy!

chrisjbillington commented on 2019-08-19 21:32 (UTC)

!719 hash needs updating to f57ce725

!711 hashes need updating to 8eed0ea1^..ba4bf16a

chrisjbillington commented on 2019-08-16 23:48 (UTC) (edited on 2019-08-16 23:48 (UTC) by chrisjbillington)

deezid the MR needs rebasing. If you understand the code enough to rebase yourself, feel free, otherwise wait a bit and I'm sure Daniel van Vugt will do it soon enough.

deezid commented on 2019-08-16 23:45 (UTC)

@glorious-yellow: sounds interesting but seems to create conflicts and doesn't build here?

glorious-yellow commented on 2019-08-16 14:41 (UTC)

A new MR has appeared!

Terence commented on 2019-08-15 22:14 (UTC) (edited on 2019-08-15 22:14 (UTC) by Terence)

@Saren you can go ahead and update the hashes, I don't have access to a PC until Tuesday.

TomaszGasior commented on 2019-08-15 18:10 (UTC)

@Saren, I have fatal: bad revision '1b0cc2dd^..da16c479' while trying to build your package.

Terence commented on 2019-08-06 12:09 (UTC)

@peteralm Thank you very much, updated.

peteralm commented on 2019-08-06 08:14 (UTC)

For !651 to work correctly we also need to add !119, please see the discussion in !651 for more details.

Shinto commented on 2019-08-04 19:47 (UTC)

@Terence Yes, reverting !651 helped. I have been running without !651 the whole day now without experiencing the described issue.

Terence commented on 2019-08-04 13:59 (UTC)

@Shinto Try reverting the last commit and see if it helps.

Shinto commented on 2019-08-04 03:40 (UTC)

I'm experiencing massive delays (feels like 10fps) since one of the recent commits for all mouse and keyboard inputs. Only a re-login fixes it. I cannot reproduce it reliably, but it occurred multiple times now in the past 5 hours.

Terence commented on 2019-08-03 16:31 (UTC)

Thanks @gedgon, really appreciate it, added!

gedgon commented on 2019-08-03 10:07 (UTC)

Another performance related MR from Mr. Daniel van Vugt for testing:

  # Title: clutter/stage-cogl: Factor in pending_swaps to next_presentation_time
  # URL:
  # Type: 1
  # Status: 2
  # Comment:
   git cherry-pick -n 5e950092

chrisjbillington commented on 2019-08-02 18:32 (UTC)

The issue reported by @truongan here:

is resolved for me by commenting out !711.

Terence commented on 2019-08-02 16:06 (UTC)

@glorious-yellow I already added it 4 hours ago ;)

glorious-yellow commented on 2019-08-02 16:04 (UTC)

A new MR has appeared:

Terence commented on 2019-08-02 12:21 (UTC)

@gedgon Thank you very much for the report and the fix, updated.

deezid commented on 2019-08-01 23:35 (UTC)

@gedgon same here using NVIDIA and Chrome. Looks like the animation in the Solitaire application on Windows 95 lol

gedgon commented on 2019-08-01 23:12 (UTC) (edited on 2019-08-02 10:37 (UTC) by gedgon)

Looks like the updated !698 (2812338b^..f501fdcc) clipping doesn't play nice with Chromium windows, at least on Polaris. Can someone confirm?

Edit: !707 fixes the above

#Title: window-actor: Fix rectangle coordinates in culling
#Type: 3
#Status: 4
#Comment: Fix for !698
git cherry-pick -n aae9f3a3

alex4401 commented on 2019-07-31 19:26 (UTC)

New commit hashes for MR698

Terence commented on 2019-07-28 13:19 (UTC) (edited on 2019-07-28 14:23 (UTC) by Terence)

@kode54: Ok, just keep me updated if you find any bugs later ;)

@glorious-yellow: Wayland? Ok I'll test it and if all seems good I'll push it.

glorious-yellow commented on 2019-07-28 13:17 (UTC)

@Terence Currently, if I copy some text from an application, it disappears from the clipboard if I close it. 320 should be able to persist the clipboard.

kode54 commented on 2019-07-28 02:53 (UTC)

@Terence I'm not sure how much it matters now, since that RX 480 has died on me anyway. A simple reboot into Windows, and its 3840x2160@60 HDMI output was cutting in and out and glitching constantly, so I just pulled the card and dropped back to my previous card, a GTX 960. Both are Asus Strix cards, heh.

Terence commented on 2019-07-27 23:36 (UTC) (edited on 2019-07-27 23:36 (UTC) by Terence)

@kode54 it was coming from a new commit I added to this package, I spotted it a day ago and removed it. Please make sure you have the latest version and tell me if you still experience it.

@glorious-yellow What would you need it for?

glorious-yellow commented on 2019-07-27 18:17 (UTC)


be appropriate to include in this package?

kode54 commented on 2019-07-26 03:58 (UTC)

I can't tell if it's a bug with this project or with gnome-shell-performance, but with the current versions as of about two days ago, on my RX 480, the "Favorites" app launcher had a bug where the icons would vanish completely when moused over. Switching to the complete app list and back again would sort of fix it.

glorious-yellow commented on 2019-07-25 22:15 (UTC)

New commit hashes for 189 are 9499bc21 and ce0e5db7

ameeno commented on 2019-07-18 10:52 (UTC)

I had to replace

# Title: Geometric (OpenGL-less) picking # URL: # Type: 1 # Status: 2 # Comment: git cherry-pick -n 76462a2f

to git cherry-pick -n 73fe41a5

for this to build.

Saren commented on 2019-07-12 05:51 (UTC)

@Terence I see, just learned about it!

Terence commented on 2019-07-09 14:18 (UTC) (edited on 2019-07-09 14:22 (UTC) by Terence)

@Saren on package actions on the right you can use the submit request and choose merge. Then, the Trusted Users get notified and it's submitted on the AUR mailing list. They have just one button to click on the web interface I guess.

chrisjbillington commented on 2019-07-09 13:12 (UTC)

@alex4401 I see the same problem. I commented out the various cherry-picks a few at a time and determined that !575 seems to be the issue. Reported upstream here:

Saren commented on 2019-07-09 13:04 (UTC)

Great. How did it work?

alex4401 commented on 2019-07-09 11:42 (UTC)

Minimized windows (by window control buttons) are now returning to their normal state improperly. For me, they visually open mostly in the second half of the screen (or with 3/4 of the window below Dash to Panel taskbar) but technically they're are back at their original position as I am able to interact with the affected windows by clicking where anywhere where they should be. Alt+tabing to another application and alt+tabbing back to the affected application restores it to the correct state.

Also, Coverflow alt-tab extension (most notably, Timeline setting) is not compatible with the latest updates - while the main functionality works as expected, the wallpaper isn't redrawn when going through the window list (and the remains of windows scrolled by appear until the alt-tab is finished).

alex4401 commented on 2019-07-09 11:34 (UTC) (edited on 2019-07-09 11:42 (UTC) by alex4401)

fatal: bad revision '3ca3194f^..1be20af0' - MR600 has had its range changed to b60aa2c4^..4b639866

Saren commented on 2019-07-09 09:55 (UTC)

@Terence I am okay with the package rename. Can we get an AUR admin to help us with this matter?

Also in the PKGBUILD of mutter-performance I think it's good to use add mutter-781835-workaround to provides and conflicts, or replaces.

Terence commented on 2019-07-09 09:45 (UTC)

@alex4401 Glad it works now :)

@deezid That's weird, maybe try to provide more info and/or find what MR produces it.

@chrisjbillington Your issue was reported and is being tracked here:

@Saren I've created and I am also writing a forum post where all the discussions unrelated to packaging will go. Can I have your review of the package and approval? I'll then proceed to ask to move this one to the other.

alex4401 commented on 2019-07-08 20:37 (UTC)

Thank you, @Terence. As far as I am able to tell, it does work flawlessly now.

deezid commented on 2019-07-08 18:38 (UTC) (edited on 2019-07-08 18:48 (UTC) by deezid)

@Terence: noticing some weird stuff too. Some applications won't open anymore or open as black windows.

More Info: Nautilus opens as a black window. The applications not starting issue was caused by a Bzip2 update.

deezid commented on 2019-07-08 18:11 (UTC)

@chrisjbillington: seems to be Wayland related. No issues here @Terence: huge boost in activities - especially with mouse interaction. Very smooth now

chrisjbillington commented on 2019-07-08 17:16 (UTC) (edited on 2019-07-08 20:13 (UTC) by chrisjbillington)

After updating from the version from yesterday (3.32.2+32+g947da2c5d-2) to today (3.32.2+40+gccab0f470-1), I now get a segfault upon showing the activities overview.

Culprit seems to be an interaction between !677 and !493, see comment threads of those two MRs for discussion.

Edit: Yes, as mentioned by @deezid, the segfault is only on Wayland

Edit: Commenting out the !493 cherry pick resolves the issue for me.

Terence commented on 2019-07-08 15:21 (UTC)

@alex4401 Thanks for the report, please try the new version which includes a potential fix for your issue.

alex4401 commented on 2019-07-07 19:07 (UTC)

I have encountered an issue with Android Studio and I am able to reproduce it on every build since the first July update. The issue causes a complete freeze of Mutter with GNOME Shell jumping to 100% use of CPU. I am able to reproduce the freeze by opening any Android Studio project, waiting for Gradle to sync, then opening build types editor and clicking on any action (create a new type, delete an existing type, et cetera).

The issue doesn't occur on a build without MR189 and MR666.

chrisjbillington commented on 2019-07-06 20:44 (UTC)

git cherry-pick -n 87b86262^..eabb1842

Throws an error and needs updating to:

git cherry-pick -n 3ca3194f^..1be20af0

Terence commented on 2019-07-05 00:37 (UTC)

@ismet this should have nothing to do with this package, I can run it just fine. Check your journal for more info and start it with gdb to see get the stacktrace. Feel free to contact me on IRC if you need help because we try to keep these comments strictly package related.

ismet commented on 2019-07-04 21:37 (UTC)

alacritty (terminal emulator) doesn't run anymore after installing this package.

I'm getting "segmentation fault (core dumped)" errors.

Terence commented on 2019-07-04 15:41 (UTC)

Glad it's working well, this should be due to my recent update to gnome-shell-performance after close inspection of the master branch history :)

deezid commented on 2019-07-04 15:34 (UTC)

@Saren, same here. Got used to it. Feels even smoother than my Windows installation. I really hope !602 will be merged for Gnome 3.34

Saren commented on 2019-07-04 15:30 (UTC)

Yo, just going to say that I get 60fps at almost all time now with nvidia card.

glorious-yellow commented on 2019-07-02 17:36 (UTC) (edited on 2019-07-02 17:36 (UTC) by glorious-yellow)


If you go to, you can see that the new commit hash is 76462a2f.

Replace 00b4dace with 76462a2f in PKGBUILD and it should work.

ismet commented on 2019-07-02 17:31 (UTC)

I'm getting "fatal: bad revision '00b4dace'" error while building the package. I referred to PKGBUILD and went to related URL ( But, I didn't understand what to do next. How can I replace the commit hashes as @Saren mentioned?

Vash63 commented on 2019-07-01 12:01 (UTC)

Another new MR that looks promising, supposed to fix the regressions that !168 had

Terence commented on 2019-06-20 13:48 (UTC)

@alex4401 @deezid Thanks, updated.

deezid commented on 2019-06-20 13:02 (UTC)

@Terence: !602 has been updated to df38ad3c !168 has been updated to 657cb4b5

alex4401 commented on 2019-06-20 11:54 (UTC)

"cogl: Remove GLX "threaded swap wait" used on Nvidia [performance]" (MR602) breaks the build (bad revision 'f12eddc1')

Terence commented on 2019-06-17 16:57 (UTC)

Weird mwohah, please report your findings in the issue.

mwohah commented on 2019-06-17 16:16 (UTC)

FYI, I was looking into reporting the broken keybindings issue, but I noticed that it may not be due to 579, after all. I seem to only get this issue sporadically. I got it once with 579 disabled, but it seems to happen more often with 579 enabled.

It seems to be fixable by refreshing GNOME shell (Alt+F2 and "r").

Terence commented on 2019-06-13 12:05 (UTC)

@deezid Thanks for the report, I knew about !568, I was waiting for my issue to be resolved to merge it but now it looks good :)

deezid commented on 2019-06-13 11:52 (UTC) (edited on 2019-06-13 11:53 (UTC) by deezid)

!602 commit has been updated to: f12eddc1 Also add !568 which will lower CPU usage while dragging windows. Testing atm and seems to do the job.

deezid commented on 2019-06-12 22:34 (UTC)

!189 updated commit to e702cbc7 Everything works just fine

kode54 commented on 2019-06-11 04:18 (UTC)

s/bfdf54fa/eddfdfcd/ s/fd2a7562/dfb1ef0c/

Both pull requests were just rebased 18 hours ago.

btd1337 commented on 2019-06-11 02:13 (UTC) (edited on 2019-06-11 02:21 (UTC) by btd1337)

fatal: bad revision 'bfdf54fa'

fatal: bad revision 'fd2a7562'

emji commented on 2019-06-10 20:06 (UTC)

My installation through octopi first failed with a fatal: bad revision 'bfdf54fa'. After commenting this one it was a fatal: bad revision '73e8cf32' which had to be commented as well. I used octopi on Manjaro for installation which crashed after it had finished the installation. I think it still did well, at least shows as being installed.

Terence commented on 2019-06-09 02:00 (UTC)

@mwohah I'd need you to do the report yourself: as you are the one who can add details. Don't forget to mention this is a regression caused by !579. Thanks in advance.

@glorious-yellow Thanks, updated.

glorious-yellow commented on 2019-06-07 23:09 (UTC) has been merged

Terence commented on 2019-06-07 16:02 (UTC)

@mwohah Thank you very much for your investigation, I'm reporting the problem upstream.

Terence commented on 2019-06-07 16:00 (UTC) (edited on 2019-06-07 16:01 (UTC) by Terence)

@Saren I think we need to open a forum post for this package and gnome-shell-performance so we can keep discussion here to a minimum as it's not really designed for discussions like that.

Terence commented on 2019-06-07 15:59 (UTC)

@gaougalos this is an acknowledged issue when using mesa-git that has nothing to do with this package:

Use regular mesa and try again.

gaougalos commented on 2019-06-07 13:08 (UTC) (edited on 2019-06-07 13:09 (UTC) by gaougalos)

Dependency glesv2 found: NO (tried pkgconfig and cmake) ERROR: Dependency "glesv2" not found, tried pkgconfig and cmake

mwohah commented on 2019-06-05 20:27 (UTC) (edited on 2019-06-05 20:27 (UTC) by mwohah)

@Terence Thanks, I should have done that before commenting.

In case anyone is wondering, it looks like it's this one:

# backends: Do not reload keymap on new keyboard notifications
git cherry-pick -n b01edc22

After rebuilding with this one commented, my custom keyboard shortcuts once again seem to work.

I should add the correction to my previous comment that in fact none of my custom keyboard shortcuts were working, not just those using <Super>. Only the default ones worked.

Terence commented on 2019-06-05 00:23 (UTC)

@Saren what we need to do is to create the new repo and ask to delete the old one while preserving the comments and votes.

Terence commented on 2019-06-05 00:22 (UTC)

@mwohah Check if it's the same with regular mutter/gnome-shell. If it's the same, try to searchfor similar open issues on GitLab and otherwise open a new one. If regular mutter/gnome-shell works, try to disable the MRs the package add until you find the one that is responsible of the issue and report it as a new discussion on the MR page (use binary search).

@ciupenhauer Try to to the same.

ciupenhauer commented on 2019-06-04 14:09 (UTC)

I reverted. Resume from sleep is very sketchy since updating to last version, fails 1 out of 5

mwohah commented on 2019-06-03 19:12 (UTC)

I'm experiencing an issue where custom keyboard shortcuts bound to the <Super> modifier (e.g. <Super> + T) via the GNOME keyboard shortcuts panel no longer work. Default shortcuts, such as <Super> + Left shown there, still work, however.

Anyone else having this problem or know of an already open issue related to this? It worked fine in 3.32.2-1 from the official repositories.

deezid commented on 2019-06-01 11:41 (UTC) (edited on 2019-06-01 11:48 (UTC) by deezid)

Also the desktop stays responsive while 100% CPU load (e.g. handbrake encoding video)

KDE Kwin 5.16 (beta) now really feels left behind in terms of responsiveness and lag.

deezid commented on 2019-05-31 17:29 (UTC)

NICE, no more slowdowns with 4K video playing in Chrome...

Saren commented on 2019-05-31 15:35 (UTC)

Or we can always change the package description, just leave the package name as is, to avoid hassles.

If you think it's better to make a new package (name), we can purposefully fail the build and require users to install the replacement package.

What do you think?

Saren commented on 2019-05-31 15:32 (UTC)

@Terence I understand. We just need a way to rename package without losing all the users and stuff...

Terence commented on 2019-05-31 14:32 (UTC)

Our lord and savior vanvugt just published that should fix the last stuttering problems. It is taking the role of what the revert patch was doing and thus confirming that it's safe to use it thanks to his other MRs.

@Saren We should really consider renaming the package to something like mutter-performance to align it to gnome-shell-performance as what it was primarily made for is now fixed.

Terence commented on 2019-05-31 14:26 (UTC)

@kode54 I fixed it, thanks.

kode54 commented on 2019-05-30 01:58 (UTC)

Mutter !579 was merged 5 days ago, so the cherry-pick on 8ba1e42c is no longer applicable, and needs to be removed from the prepare process for the build to succeed.

Terence commented on 2019-05-22 22:17 (UTC)

@deezid ok I'll keep the patch for now but you might want to check if your issue as been reported ans if not create new one.

deezid commented on 2019-05-22 22:14 (UTC)

@Terence: Still need the nvidia revert patch to have smooth zoom animations when using the mouse in shell. Compiled two different versions and without the patch the zoom animation is always laggy...

archenoah commented on 2019-05-21 09:48 (UTC)

had to uncomment: git cherry-pick -n b3192d6b

Terence commented on 2019-05-16 13:28 (UTC)

@glorious-yellow: I don't want to enable it by default for Nvidia users.

glorious-yellow commented on 2019-05-14 19:56 (UTC)

I think we can do: pacman -Q nvidia && _revert=1

Terence commented on 2019-05-13 20:01 (UTC)

@DeadMetaler This sounds like a gnome-shell performance problem. Please check if this is the same as Otherwise, consider opening a new issue about it.

In the end I'd really like to get rid of the 781835-workaround because reverting it means anything making use of will hang/never be called.

Terence commented on 2019-05-13 15:23 (UTC)

@deezid @Tio I fixed it.

Tio commented on 2019-05-13 11:32 (UTC)

Thanks! So I had to comment a bunch of MR and then I get

fatal: bad revision '^..dae2c1d42'
==> ERROR: A failure occurred in prepare().

deezid commented on 2019-05-13 10:20 (UTC)

@Tio: It's the 5 lines after " #Add experimental key for RT scheduling"

Tio commented on 2019-05-13 09:55 (UTC)

@deezid I cannot find it in pkgbuild...

# Maintainer: Jan Alexander Steffens (heftig) <>
# Maintainer: Ionut Biru <>
# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>

# Patched package maintainer: Saren Arterius <>
# Patch origin:

# Set these variables to ANYTHING that is not null to enable them

### Revert offending commit, recommanded to leave disable if not using NVIDIA

pkgdesc="A window manager for GNOME. This package reverts a commit which may causes performance problems for nvidia driver users. Some performance patches also included."
depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas libcanberra
         startup-notification zenity libsm gnome-desktop upower libxkbcommon-x11
         gnome-settings-daemon libgudev libinput pipewire xorg-server-xwayland gnome-shell)
makedepends=(gobject-introspection git egl-wayland meson xorg-server)
_commit=0a3cddeecff8d2c095108fde6c8fd4a3cdc63fe0 # tags/3.32.1^9

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/-/+/g'

prepare() {
  cd $pkgname

  ## Unmerged performance bits
  # Commented multiline comment start, remove the # below to disable the patches
  # : '

  git remote add vanvugt || true
  git fetch vanvugt

  # Geometric (GPU-less) picking
  git cherry-pick -n d774fb22

  # Consolidate all frame throttling into clutter-stage-cogl [performance]
  h_first=$(git log --oneline --all | grep "clutter/stage-cogl: Don't skip over the next frame" | tail -n 1 | awk '{print $1}') # Sorry guys
  h_last=$(git log --oneline --all | grep 'clutter/master-clock: Remove fallback throttles' | tail -n 1 | awk '{print $1}') # Sorry guys
  echo "Found $h_first^$h_last for MR363"
  git cherry-pick -n $h_first^..$h_last

  # clutter-stage-cogl: Reduce output latency and reduce missed frames too [performance]
  # first commit replaced by !363
  hash=$(git log --oneline --all | grep 'clutter/stage-cogl: Reschedule update on present' | head -n 1 | awk '{print $1}') # Sorry guys
  echo "Found $hash for MR281"
  git cherry-pick -n $hash -Xtheirs

  # clutter: Deliver events sooner when possible
  # still has issues with 1000Hz mice
  # git cherry-pick -n ae8fc614

  # Resource scale computation optimizations
  git cherry-pick -n 3aa449af^..1017ce44

  # Add experimental key for RT scheduling
  h_first=$(git log --oneline --all | grep 'core: Drop all capabilities before running the main loop' | tail -n 1 | awk '{print $1}') # Sorry guys
  h_last=$(git log --oneline --all | grep 'backends/native: Add rt-scheduler experimental key to set RT scheduling' | tail -n 1 | awk '{print $1}') # Sorry guys
  echo "Found $h_first^$h_last for MR460"
  git cherry-pick -n $h_first^..$h_last -Xtheirs

  # cogl: Enable EGL_IMG_context_priority
  git cherry-pick -n 3f29b478^..7df86fb2

  # WIP: renderer-native: Accept frames without ever blocking
  # does not compile yet
  # git cherry-pick -n 35ec0eaf^..202530c9

  # '
  # Commented multiline comment end, remove the # above if disabling the patches

  # Revert offending commit
  if [ -n "$_revert" ]; then
    patch -Np1 -i ../revert.patch

  patch -Np1 -i ../0001-wayland-output-Report-unscaled-size-even-in-logical-.patch

build() {
  arch-meson $pkgname build \
    -D egl_device=true \
    -D wayland_eglstream=true \
    -D installed_tests=false
  ninja -C build

: ' not working atm
check() (
  mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
  glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/build/data}"

  dbus-run-session xvfb-run -s '+iglx -noreset' meson test -C build

package() {
  DESTDIR="$pkgdir" meson install -C build

deezid commented on 2019-05-12 16:23 (UTC)

@Tio, just disable MR460 in the pkgbuild.

Tio commented on 2019-05-12 08:46 (UTC)

Found e08ac43fe^58afa2050 for MR363
Found 05896d940 for MR281
Found ^dae2c1d42 for MR460
fatal: bad revision '^..dae2c1d42'
==> ERROR: A failure occurred in prepare().

DeadMetaler commented on 2019-05-09 00:18 (UTC) (edited on 2019-05-09 00:18 (UTC) by DeadMetaler)

I need revert.patch. Overview animations still lagging without it.

Saren commented on 2019-05-08 12:14 (UTC) (edited on 2019-05-08 12:14 (UTC) by Saren)

@Terence revert.patch is no longer needed, even for the rhythm game.

Terence commented on 2019-05-07 15:08 (UTC)

@Saren I would like to know if you still need the revert.patch.

kode54 commented on 2019-05-07 03:30 (UTC)

I didn't need a clean chroot, I just needed to remove and re-clone the entire source directory.

Terence commented on 2019-05-06 06:51 (UTC)

@kode54 I asked someone else to build it and he also doesn't have this issue. Maybe try to build it in a clean chroot.

kode54 commented on 2019-05-06 06:42 (UTC)

I guess this counts for the one project I can't rely on to build correctly if I don't rm -rf and re-clone it with every release.

Terence commented on 2019-05-06 05:45 (UTC)

@kode54 I don't get that with a fresh git clone and using makepkg.

kode54 commented on 2019-05-06 05:32 (UTC) (edited on 2019-05-06 05:34 (UTC) by kode54)

I get this output on a fresh run in an old directory:

And this diff from Git afterward:

Terence commented on 2019-05-06 04:58 (UTC)

@kode54 Can you show me where it is and what it should be please?

kode54 commented on 2019-05-06 04:44 (UTC)

You keep updating this package with one digit lopped off the revision hash, so makepkg regenerates the version, and resets the revision number to 1.

Terence commented on 2019-05-04 20:31 (UTC) (edited on 2019-05-04 20:31 (UTC) by Terence)

@glorious-yellow if you are on Xorg, this patch can't have any impact, but please report any findings ;).

glorious-yellow commented on 2019-05-04 20:10 (UTC) (edited on 2019-05-04 20:11 (UTC) by glorious-yellow)

460 causes framedrops for me too, especially when many windows are open.

Edit: It may not be 460, but something has been causing framedrops for me recently. I will investigate further.

Terence commented on 2019-05-04 18:13 (UTC)

@deezid @ciupenhauer I don't see how !460 would cause framdrops.

ciupenhauer commented on 2019-05-04 12:10 (UTC)

confirm better performance without 460

deezid commented on 2019-05-04 11:50 (UTC)

@Terence, disabled !460 and the framedrops I mentioned earlier are gone. Maybe it's updated pkgbuild though? Not sure

Saren commented on 2019-05-04 05:25 (UTC)

@Terence if it does not hurt us in anyway, keep it.

Terence commented on 2019-05-03 21:14 (UTC)

@Saren I figured out !460 is Wayland-only and its purpose is to keep the shell snappy while cpu-hungry tasks are running. Should we still keep it?

Terence commented on 2019-05-03 16:30 (UTC)

@Saren yeah didn't think it all through with the branch change... I reverted it for gnome-shell as well and fixed conflicts.

deezid commented on 2019-05-03 16:06 (UTC) (edited on 2019-05-03 16:08 (UTC) by deezid)

Overall what I noticed is that there's basically no lag anymore but some frame drops here and there, especially in apps like Chrome while scrolling. 4K60p and even 8K in YouTube is fine though.

deezid commented on 2019-05-03 16:04 (UTC)

Latest build works fine here.

Terence commented on 2019-04-30 21:43 (UTC)

@Tio There is no error shown in your log and please report back without using an aur helper.

Tio commented on 2019-04-30 21:35 (UTC)


Synchronizing package databases...
Starting full system upgrade...
Cloning mutter-781835-workaround build files...
Checking mutter-781835-workaround dependencies...
Building mutter-781835-workaround...
==> Making package: mutter-781835-workaround 3.32.1+3+g9a795d3d0-1 (mar 30 abr 2019 23:34:44 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning mutter-781835-workaround git repo...
Cloning into bare repository '/tmp/pamac-build/mutter-781835-workaround/mutter-781835-workaround'...

Saren commented on 2019-04-30 12:21 (UTC)

@terence I saw you switched the git from a commit to a branch, this will hurt... I am getting conflicts that is unable to build for now, making a rel=2 soon.

kode54 commented on 2019-04-11 06:42 (UTC)

Replace revision f5a1ec1c with 34fae0f5. This is only going to keep hurting more and more, as all of @vanvugt's PRs keep getting rebased constantly instead of getting accepted.

kerframil commented on 2019-04-05 12:01 (UTC)

Currently, f5a1ec1c is reported as a bad revision. Also, the rt-scheduler option doesn't appear to have any effect. As shown below, neither the main process nor any of its threads are using the RR scheduling class.

$ ps -C gnome-shell -Lo pid,cls,comm,command
  816  TS gnome-shell     /usr/bin/gnome-shell
  816  TS gmain           /usr/bin/gnome-shell
  816  TS gdbus           /usr/bin/gnome-shell
  816  TS dconf worker    /usr/bin/gnome-shell
  816 IDL gnome-s:disk$0  /usr/bin/gnome-shell
  816  TS JS Helper       /usr/bin/gnome-shell
  816  TS JS Helper       /usr/bin/gnome-shell
  816  TS JS Helper       /usr/bin/gnome-shell
  816  TS JS Helper       /usr/bin/gnome-shell
 7364  TS gnome-shell     /usr/bin/gnome-shell
 7364  TS gmain           /usr/bin/gnome-shell
 7364  TS gdbus           /usr/bin/gnome-shell
 7364  TS dconf worker    /usr/bin/gnome-shell
 7364 IDL gnome-s:disk$0  /usr/bin/gnome-shell
 7364  TS JS Helper       /usr/bin/gnome-shell
 7364  TS JS Helper       /usr/bin/gnome-shell
 7364  TS JS Helper       /usr/bin/gnome-shell
 7364  TS JS Helper       /usr/bin/gnome-shell

flomax commented on 2019-04-04 03:29 (UTC)

@Terence Cheers, and I now see where I went wrong too.

Terence commented on 2019-04-04 02:38 (UTC)

@flomax Thanks for reporting, it should be fixed.

flomax commented on 2019-04-03 23:07 (UTC) (edited on 2019-04-03 23:08 (UTC) by flomax)

Getting fatal: bad revision '14a27e87^..a40d7927'

Replacing a40d7927 with 6474593e or 966e062d did not fix, but build completes once whole line is commented out.

Terence commented on 2019-03-31 01:19 (UTC)

@Saren oups my bad! Updated so it doesn't apply by default.

Saren commented on 2019-03-30 14:09 (UTC)

@Terence Did you mean without _revert=0? _revert=0 still applies the patch I guess.

Terence commented on 2019-03-30 11:03 (UTC)

Thanks @ciupenhauer and @deezid for the heads-up, updated. @Saren this should render the commit revert useless. Can you try again with _revert=0 and report back?

deezid commented on 2019-03-28 20:08 (UTC)

@clupenhauer. That's what I thought. Skip the first !281 commit.

  # clutter-stage-cogl: Reduce output latency and reduce missed frames too [performance]
  # first commit replaced by !363
  git cherry-pick -n 186f16f8

  # Consolidate all frame throttling into clutter-stage-cogl [performance]
  git cherry-pick -n 577084a4^..c71e6523

ciupenhauer commented on 2019-03-28 20:05 (UTC)

According to Daniel van Vugt: "Also note the second commit of provides a fix for this bug too. It replaces the first commit of"

Does that mean we can safely switch off patch 281 and use only 363?

v-tin commented on 2019-03-25 06:18 (UTC)

@Saren, Aha, thank you for the info.

Saren commented on 2019-03-24 18:23 (UTC)

@ValentinRO It is 3.32 that broke the extensions. The patches we added change low-level things that is very very unlikely related to shell extensions. Many of your extensions should have update for 3.32, if not look into github or even issues, most of the time you can change some files to get your extensions working again.

v-tin commented on 2019-03-24 09:50 (UTC)

@Terence, this time I managed to install both mutter-workaround & shell-performance with clean os install (without touching settings in nvidia app).

See install log, you will see that I have manually updated the gsettings-desktop-schemas too:

Unfortunately, this broke some gnome extensions, I'm not sure if it is related to shell-performance.

This are the list which broke the extensions:

Furthermore, I got also update notification on the extension (which it won't update even if it says so):

If this is related to shell-performance and to avoid headache, I will try this time only with mutter-workaround, with cherry-pick disabled # clutter-actor: Add detail to captured-event signal [performance]

Saren commented on 2019-03-24 07:04 (UTC)

@Terence We could detect whether gnome-shell-performance is installed and apply patches or not, just like what gnome-shell-performance is currently detecting mutter-781835-workaround to decide applying MR276 or not.

However it would be a catch 22 as they will be detecting each other...

Terence commented on 2019-03-23 21:52 (UTC) (edited on 2019-03-23 21:52 (UTC) by Terence)

@Saren ValentinRO pointed out an important issue we need to think about...

@ValentinRO yeah.

v-tin commented on 2019-03-23 20:52 (UTC) (edited on 2019-03-23 21:25 (UTC) by v-tin)

@Terence, Well, I was planning to install it too, only wasn't sure if it was included in mutter-workaround or not, it brought me to confusion when I read:

The optional performance patches are by default enabled.
The patch indicated by is the one Ubuntu 18.04 currently using.
A package for gnome-shell performance patches:

I guess you get more benefit with gnome-shell-performance installed than without?

Terence commented on 2019-03-23 19:55 (UTC)

@ValentinRO I'm trying to figure out what is the best approach but in the meantime, if you do not want to install gnome-shell-performance, you need to disable the cherry-pick below # clutter-actor: Add detail to captured-event signal [performance]

v-tin commented on 2019-03-23 17:41 (UTC)

@Terence, no without it, should I install it after mutter-workaround before reboot?

Terence commented on 2019-03-23 17:13 (UTC)

@ValentinRO do you use gnome-shell-performance package as well?

v-tin commented on 2019-03-23 17:08 (UTC) (edited on 2019-03-23 17:09 (UTC) by v-tin)

I have deleted my comment by accident.

Here is my install log. After reboot, I get a blank screen with a keyring unlock screen. After that, it's still blank with a cross cursor.

With ctrl-alt-f3, I managed to put back the default mutter. Any idea what it could be?

Terence commented on 2019-03-23 16:08 (UTC)

@emaxoda @tannisroot I pushed a fix for the version problem, please try again.

Saren commented on 2019-03-23 11:40 (UTC) (edited on 2019-03-23 11:40 (UTC) by Saren)

@DeadMetaler I explicitly enabled manually it with sudo chrt -f -R --pid 99 <PID> and I think it should be the same.

deezid commented on 2019-03-23 11:11 (UTC) (edited on 2019-03-23 11:20 (UTC) by deezid)

Can't install the latest version. Fails with a selinuxenabled error (I don't have any selinux-related packages installed here, maybe that's why).

EDIT: Fixed by installing selinux-python and selinux-python2

  File "/usr/lib/python3.7/site-packages/mesonbuild/", line 159, in restore_selinux_contexts
  File "/usr/lib/python3.7/", line 342, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python3.7/", line 323, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.7/", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
NotADirectoryError: [Errno 20] Not a directory: 'selinuxenabled'

DeadMetaler commented on 2019-03-23 09:48 (UTC)

«I didn't observe changes in shell smoothness compared to 3.30, although realtime scheduling is inplace.»

Check realtime with chrt -p (PID of gnome-shell)

Is it working?

Saren commented on 2019-03-23 09:11 (UTC) (edited on 2019-03-23 09:12 (UTC) by Saren)

Many of your favorite extensions should work now, although some of them requires you to install from git or manually change some code. Also I used Unite instead of No Title Bar for now. The only extension that no longer works is "Trash" for now.

I didn't observe changes in shell smoothness compared to 3.30, although realtime scheduling is inplace.

tannisroot commented on 2019-03-22 03:16 (UTC)

I have the same issue emaxoda. It seems like it's trying to use source from Daniel Van Vugt instead of main repo.

emaxoda commented on 2019-03-20 02:18 (UTC) (edited on 2019-03-20 02:19 (UTC) by emaxoda)

when i install this package it doesnt has the same build number as the one on the page (3.32.0+40+g943a6279e-1) and it will keep asking for it to be updated on pamac and yay. am i doing something wrong?

glorious-yellow commented on 2019-03-19 01:51 (UTC)

@rodneyck, run pacman -S gsettings-desktop-schemas and then answer yes when asked to remove conflicting packages.

glorious-yellow commented on 2019-03-19 00:20 (UTC)

With 3.32, activities overview animation is 100% smooth.

DeadMetaler commented on 2019-03-16 18:38 (UTC) (edited on 2019-03-16 19:51 (UTC) by DeadMetaler)

How to check that realtime is working?

Entered sudo setcap CAP_SYS_NICE=+ep /usr/bin/gnome-shell gsettings set org.gnome.mutter experimental-features "['rt-scheduler']"

Rebooted. chrt -p PID (gnome-shell) and see:

pid 591's current scheduling policy: SCHED_OTHER pid 591's current scheduling priority: 0


Terence commented on 2019-03-16 18:21 (UTC) (edited on 2019-03-16 18:22 (UTC) by Terence)

@Saren use gnome-shell-extension-dash-to-dock-git from aur.

Saren commented on 2019-03-16 17:03 (UTC) (edited on 2019-03-16 17:05 (UTC) by Saren)

As always, many of your favorite extension will stop working on 3.32, this includes Arc Menu, Dash to dock, Trash, No Title Bar and Volume Mixer for me. Also the shell is incredibly laggy caused by some working but problematic extensions. It is smooth with all extensions off, but who on earth uses gnome without extensions?

I recommend to stay out of gnome 3.32 for now, this includes other gnome-related packages in official repo, which means you might want to update vulnerable packages only instead of pacman -Suy.

Terence commented on 2019-03-16 15:59 (UTC)

With the new patches, to get realtime scheduling for gnome-shell, do the following:

sudo setcap CAP_SYS_NICE=+ep /usr/bin/gnome-shell 
gsettings set org.gnome.mutter experimental-features "['rt-scheduler']"

Terence commented on 2019-03-16 14:28 (UTC)

@rodneyck make sure your pacman mirrors are up-to-date and perform a system upgrade then try again.

rodneyck commented on 2019-03-16 05:58 (UTC)

On Gnome 3.30.2 and getting errors with the new upgrade...

Dependency pangocairo found: YES 1.42.3 Dependency gsettings-desktop-schemas found: NO found '3.28.1' but need: '>= 3.31.0' Found CMake: /usr/bin/cmake (3.13.4) Dependency gsettings-desktop-schemas found: NO (tried cmake) ERROR: Invalid version of dependency, need 'gsettings-desktop-schemas' ['>= 3.31.0'] found '3.28.1'.

A full log can be found at /var/tmp/pamac-build-rodney/mutter-781835-workaround/src/build/meson-logs/meson-log.txt ==> ERROR: A failure occurred in build(). Aborting...

deezid commented on 2019-03-15 23:58 (UTC)

@glorious-yellow: no !281? seriously? What where they thinking? lol

glorious-yellow commented on 2019-03-15 23:50 (UTC) (edited on 2019-03-15 23:53 (UTC) by glorious-yellow)

These performance patches were not included in 3.32:

Consolidate all frame throttling into clutter-stage-cogl [performance]

clutter-actor: Add detail to captured-event signal [performance]

clutter-stage-cogl: Reduce output latency and reduce missed frames too [performance]

cogl-winsys-glx: Fix frame notification race/leak [performance]

clutter: Deliver events sooner when possible

WIP: renderer-native: Accept frames without ever blocking

renderer-native: Reference count front buffers.

Terence commented on 2019-03-15 21:29 (UTC)

Both this package and gnome-shell-performance updated to 3.32 as the packages hit the [extra] repository (surprisingly early!). No performance patches applied for now.

Terence commented on 2019-03-15 11:51 (UTC)

@Saren: Ah right I forgot about that. Maybe let's wait for 3.32 to land (it's in the [gnome-unstable] repo right now and keep it and you tell me if you still have troubles?

Saren commented on 2019-03-15 07:39 (UTC) (edited on 2019-03-15 07:42 (UTC) by Saren)

@Terence The revert patch could be default off if you find it is OK to remove it. It's because without the revert patch I get stutters playing rhythm games.

By the way 3.32 is released and some packages are landed in official repo. Brace for impact, it's very likely gnome will break if different version of shell/mutter/js installed.

deezid commented on 2019-03-05 17:47 (UTC)

@Terence, I would suggest to wait till 3.32 arrives into the repos and update the gnome-shell-performance package at the same time to make the update as seamless as possible.

On my machine the nvidia revert patch isn't necessary anymore. I don't notice any difference with or without it.

These patches sound interesting. I still deal with some stuttering when the CPU runs at 100%.

Terence commented on 2019-03-05 10:15 (UTC) (edited on 2019-03-05 10:16 (UTC) by Terence)

Hello fellow archers, I wanted to collect some feedback ahead of the next GNOME 3.32 release (due on 13 of March).

Here are some thoughts/questions :

  • When GNOME 3.32 is released, should we wait for it to land in the official Arch repo or update this package along with gnome-shell-performance right away?

  • We'll need to check whether or not the revert patch still makes a difference, with the hope it doesn't anymore.

  • We might want to rename this package to "mutter-performance" or maybe even "mutter-fixes" as this package as well as gnome-shell-performance could be used to address regressions or add new features compatible with the current version.

And here are some interesting performance patches I found that could be added when 3.32 is released :

Thanks for the feedback you provided so far, keep doing it!

notuxius commented on 2019-03-02 08:21 (UTC)

Currently i'm getting "fatal: bad revision '9ed3a7d1'"

deezid commented on 2019-02-27 22:36 (UTC)

@glorious-yellow Didn't notice any difference.

glorious-yellow commented on 2019-02-26 21:24 (UTC)

I found that adding export CFLAGS="-march=native -Ofast -pipe" before ./configure results in a more performant binary.

(though, it could just be placebo; try it for yourself before confirming anything)

deezid commented on 2019-02-26 11:16 (UTC) (edited on 2019-02-26 11:41 (UTC) by deezid)

Great news! With all the patches applied (even 168) but the nvidia revert, the lag in the shell zooming in by clicking on the overview is gone! Also when my CPU is at 100% (encoding with handbrake e.g.) it still stays relatively smooth. :)

deezid commented on 2019-02-26 11:12 (UTC)

@veridiam thanks. Worked for me. Also added latest 168 (8d915e0d). Hoping it doesn't break high polling mouses.

veridiam commented on 2019-02-26 06:34 (UTC) (edited on 2019-02-26 06:35 (UTC) by veridiam)

current working hashes section:

  # clutter: Deliver events sooner when possible
  # Disabled as may cause stutter when using mouse with high polling rate
  # git cherry-pick cd280c30

  # clutter: Fix offscreen-effect painting of clones
  git cherry-pick 9a466f28

  # Geometric (GPU-less) picking
  git apply -3 ../347.patch
  git add -A && git commit -m "347"

  # clutter-actor: Add detail to captured-event signal [performance]
  git cherry-pick 86413948

  # clutter-stage-cogl: Reduce output latency and reduce missed frames too [performance]
  git cherry-pick 9a1458b6^..5793e255

  # Consolidate all frame throttling into clutter-stage-cogl [performance]
  git cherry-pick b36e73d9^..4fcf4142 -Xtheirs

  # clutter: Avoid redundant margin changes
  git cherry-pick e0fd7a6d

  # cursor-renderer-native: Floor the cursor position instead of rounding
  git cherry-pick 8d514095

  # Avoid some parent actor relayouts/redraws
  git cherry-pick 9a843857^..ffaec917

  # Unassorted performance fixes
  git cherry-pick a7df4594..1d73533f

deezid commented on 2019-02-25 17:50 (UTC)

@Terence: 363 has been updated as well (so did 168). 363 can't be applied I think?

deezid commented on 2019-02-25 10:30 (UTC) (edited on 2019-02-25 12:38 (UTC) by deezid)

@Terence: 281 and 283 got updated again. Cherry-picking 283 complains about empty commit though...? Also is the revert still necessary? Don't notice any difference anymore if applied or not, which is good I think.

Terence commented on 2019-02-21 13:15 (UTC)

@deezid Thanks, updated.

deezid commented on 2019-02-20 23:08 (UTC)

@Terence 281 patches were updated

Terence commented on 2019-01-31 10:35 (UTC)

@deezid ok it seems windows dragging is somehow back to smoothness for me too (maybe because of 117?). Sure please do, thanks.

deezid commented on 2019-01-31 10:31 (UTC)

@Terence, dragging windows is fine with the patch (and all the others - skipping 168), even while playing 8K60p H265 or VP9 footage in mpv or vlc, or 8K30p in Chrome (no real hardware acceleration). I contacted him via mail, maybe I can put you in via CC?

Terence commented on 2019-01-31 10:24 (UTC)

@deezid this revert is actually not from me, I just try to gather up all those performance goodies ;) Is vanvugt on IRC/Matrix ? Have you tried dragging windows with video playing?

deezid commented on 2019-01-31 10:18 (UTC) (edited on 2019-01-31 10:21 (UTC) by deezid)

@Terence, we have to reach out to Daniel van Vugt I guess since your revert.patch actually helps a lot keeping framerates and lag adequate while there's high CPU load.

deezid commented on 2019-01-31 10:16 (UTC)

@Calindan2013, these work smoothly here (meta left, right, up) strange. But then I only have a 60Hz screen. Only frame drops I notice are zooming in by clicking on the workspace switcher on the right, but according to van Vugt, this still has to be fixed and isn't necessary a Mutter but JS and Shell problem.

deezid commented on 2019-01-31 10:11 (UTC)

@Terence, without the revert.patch everything slows down when playing 4K videos in YouTube. It's not as bad as without 117 applied though. The version you have right now seems to everything right (for me at least lol)

calindan2013 commented on 2019-01-31 10:10 (UTC)

deezid: working in overview has random frame drops and slow downs, minimize/maximize/restore to screen etc.

deezid commented on 2019-01-31 10:07 (UTC)

@Terence, thanks for the explanation, compiling without the patch atm.

Terence commented on 2019-01-31 10:04 (UTC)

@deezid no problem and yes it is enabled by default. If you inspect the PKGBUILD at line 12 you can see there is a variable you can either enable or disable which controls if the patch is applied or not.

Terence commented on 2019-01-31 10:01 (UTC)

@calindan2013 Thanks for your insightful comment. I suggest you to simply stop trying it as you stated before 'the packages is useless.'

deezid commented on 2019-01-31 10:00 (UTC) (edited on 2019-01-31 10:01 (UTC) by deezid)

@Terence is revert.patch applied atm in latest PKGBUILD? Don't have any programming skills, sorry.

@calindan2013 what does slow mean? Dragging windows, scrolling in windows, or just the workplace switcher on the right while zooming in? Also more 30Hz slow (like stock 3.30 mutter) or "only" 60Hz (like the max on my 4K 27" anyway)

calindan2013 commented on 2019-01-31 09:57 (UTC)

still slow

deezid commented on 2019-01-31 09:55 (UTC)

@Terence, after applying the 3.30 117 patch, everything stays smooth without 168 applied. So problem is solved I guess? :)

Terence commented on 2019-01-31 09:52 (UTC)

@deezid do you feel the difference without the revert patch applied?

Terence commented on 2019-01-31 09:51 (UTC)

@DeadMetaler thanks, updated. @deezid Do you have a 1000Hz mouse? Also, try to drag the window around while playing a video with and without 168 and tell me how it feels, thanks.

deezid commented on 2019-01-31 09:46 (UTC)

@DeadMetaler, haha, just had the same idea!

deezid commented on 2019-01-31 09:45 (UTC)

Seems like with 168 applied in my "smoothness test" (playing YouTube in 4K in one windows, scrolling in another), everything stays smoother. Without 168 it becomes quite messy after a few seconds.

Another question, wondering if 117 applies at all? There are lots of messages before compiling about not being able to apply it? Why not use the 3.30 branch version of the patch instead? 9a466f28

DeadMetaler commented on 2019-01-31 09:42 (UTC)

error: could not apply 8655bc5d8... clutter: Fix offscreen-effect painting of clones

Use this 3.30 based branch

Terence commented on 2019-01-31 08:32 (UTC)

@deezid how does this new version compare to the previous ones?

Terence commented on 2019-01-31 07:59 (UTC)

I disabled 168 again because even with the patch supposed to fix it, moving windows around with 500Hz/1000hz mouse is horrible.

Terence commented on 2019-01-31 07:40 (UTC)

@deezid thanks for your feedback. I updated it again with some new performance patches as well as 168 enabled by default as 365 should fix the problem it accentuated. Would you mind giving your feedback about the need to revert the commit to vanvugt?

deezid commented on 2019-01-30 20:47 (UTC)

@Terence with enabled revert patch and enabled 168 (commit cd280c30) it runs fantastic here.

Terence commented on 2019-01-30 15:03 (UTC)

@glorious-yellow Thanks for the report, it's updated. I guess we could do that but I wanted to let people try how it felt without the revert as ultimately all those performance patches are trying to fix what this commit made worse...

glorious-yellow commented on 2019-01-30 14:58 (UTC) (edited on 2019-01-30 14:58 (UTC) by glorious-yellow)

I believe we can conditionally apply revert.patch based on the graphics card.

pacman -Q nvidia && patch -Np1 -i ../revert.patch || true may work.

glorious-yellow commented on 2019-01-30 14:55 (UTC)

Commit hash for changed again

deezid commented on 2019-01-30 13:53 (UTC)

@Terence, thanks. Will try!

Terence commented on 2019-01-30 13:44 (UTC)

@deezid it will not change anything, just a hash of a commit that changed due to a rebase probably ;) What you can do however is try the updated gnome-shell-performance with a patch that should improve the extension system (faster loading time for example).

deezid commented on 2019-01-30 13:40 (UTC)

Ugh, should I update or not? It has been running so well over the past few days. :D

calindan2013 commented on 2019-01-29 10:17 (UTC) (edited on 2019-01-29 10:18 (UTC) by calindan2013)

sad to conclude this didnt resolve my issue, everything still laggy af. performance simply degrades fast after reboot.

deezid commented on 2019-01-28 18:34 (UTC)

@calindan2013 just tried latest kwin and it's indeed slower on my NVIDIA hardware. Even the overview animation as well as dragging windows isn't as smooth. Scrolling in Chrome is quite ok but can't keep up either. But 4K 60P playback in Chrome isn't smooth at all while with patched Mutter it's perfect - even 8K playback works flawlessly up to 30p.

Btw. using kwin my systemmonitor shows some CPU spikes while scrolling, with mutter there are basically none. 2D acceleration works fine with NVIDIA - if supported, when using my internal HD620 GPU everything feels slower in comparison.

calindan2013 commented on 2019-01-28 18:17 (UTC)

deezid never had any performance or animation or smoothness problem at all on KDE on any distro. as for app perfmance,last I checked 3D app and game benchmarks on Phoronix it was as good as on any of the other DEs. I don't know if that scrolling fix is possible on NVIDIA.

deezid commented on 2019-01-28 15:40 (UTC) (edited on 2019-01-28 16:01 (UTC) by deezid)

@Calindan2013 using these mutter patches (and evdev for mouse input) scrolling actually feels smoother in Chrome/Linux than it does in Chrome on Windows 10 (system-monitor indicates it's GPU accelerated). In KDE it's terrible though, regardless of the driver - even though every animation is smooth.

It doesn't really matter that much when app performance suffers and I can't even resize a window without constant repaintings - have to figure out if it's a QT or kwin problem though.

Still need to test this version of mutter using my Intel HD620.

deezid commented on 2019-01-28 15:38 (UTC) (edited on 2019-01-28 15:41 (UTC) by deezid)

@calindan2013 priority should be app performance I think which in KDE just sucks at the moment with both NVIDIA (1080ti) and Intel (HD620) drivers. At least on Intel there's no tearing. It's almost impossible to edit in Resolve using Kwin, it's not possible to watch 4K content in a browser either. Scrolling is also as slow as with stock mutter. Really hoping they can find a way out of it.

The only lag in Gnome I can still notice is by using the workspace switcher for zooming in by mouse and if I lower my CPU frequencies. Max/Min into Dash rather feels like a hack in Gnome as I don't think Gnome developers want that feature at all. lol

calindan2013 commented on 2019-01-28 15:32 (UTC) (edited on 2019-01-28 15:39 (UTC) by calindan2013)

Sorry, I understand your point but I am a casual desktop user interested in just seeing smooth performance in 90% of situations, like animations and moving windows around. While it is faster now, frames are being dropped and lag is still visible in overview/minimize/maximize etc.

Scrolling in the browser is a lagfest as it is in all browsers , with or without any videos playing. This is because there is no GPU acceleration on NVIDIA in Linux. Only Windows has a smooth browsing experience.

KDE has no such visible lag in any of the basic desktop and window animations. Thanks for your work though, much appreciated. Hope the GNOME and NVIDIA guys will be able to make this DE work properly, it's 2019 already and making a GTX 1080 and Ryzen CPU perform like a 32MB video and Pentium 3 is no fun for anyone wanting a reliable and enjoyable desktop experience.

My admiration and respect for attempting to fix what the big guys cant or dont want.

deezid commented on 2019-01-28 13:12 (UTC)

@calindan2013 try watching 4K60p on YouTube using this optimized version of mutter and compare to KDE. Try the same with resizing windows and scrolling in a browser. Video editing in KDE (using Resolve) is a lagfest as well.

calindan2013 commented on 2019-01-28 11:07 (UTC) (edited on 2019-01-28 11:08 (UTC) by calindan2013)

Reporting back. Definitely not as bad as before, but there are still ocassional frame drops here and there in the overview when switching windows. So slight visual lag. I think this is a consequence of the fact that there is still performance degradation over time in the GNOME code, even with all those patches applied.

calindan2013 commented on 2019-01-28 10:32 (UTC)

One more issue would be the displacement of the virtual desktop column in the Overview each time i use the hot corner to access it. As soon as i move the mouse around the column goes back in place.

calindan2013 commented on 2019-01-28 10:31 (UTC)

GTX 1080 / Ryzen 5 2600X / 1440p 144Hz - confirmed as working now. Animations and the whole experience seems much faster than before, so this is good. No more lag anywhere so far. It's great but definitely not faster than KDE like some other guy said below me.

Saren commented on 2019-01-28 02:29 (UTC)

Ahh, I missed the party. I am trying both packages now. If I did not say anything afterwards, it means the packages are really awesome.

deezid commented on 2019-01-27 21:51 (UTC) (edited on 2019-01-27 22:40 (UTC) by deezid)

@glorious-yellow Right now using a NVIDIA 1080 Ti. But honestly using Gnome (Mutter) stock it feels more like using an integrated Intel GPU from the early 2000's in power saving mode lol.

With this build it actually feels like having a 1080 Ti. :) Really can't wait for Gnome 3.32 with these patches (hopefully) being released.

Never had such a smooth desktop experience on Linux using another desktop environment (Budgie, XFCE, Cinnamon, KDE (which is the worst, tearing everywhere, or lots of lag with forced pipeline composition)).

glorious-yellow commented on 2019-01-27 21:49 (UTC)

@deezid Just curious: What graphics card are you using right now?

deezid commented on 2019-01-27 21:47 (UTC) (edited on 2019-01-27 21:49 (UTC) by deezid)

@Terence will do tomorrow. Right now working in Davinci Resolve Studio which works even better than before now. Thanks so much (and of course to Daniel van Vugt as well). I have to say it even feels more responsive than Windows 10 now, even in high CPU loads (created by resolve building new thumbnails e.g.) everything still feels like butter.

Terence commented on 2019-01-27 21:40 (UTC)

@deezid Sure, please do that, thanks. I'm currently testing without the revert patch.

deezid commented on 2019-01-27 21:34 (UTC)

@Terence going to test this build on my Intel GPU as well and see if there are any drawbacks using revert patch in this build. If not I'm going to tell Daniel van Vugt about my experiences with this build on both platforms.

deezid commented on 2019-01-27 21:11 (UTC) (edited on 2019-01-27 21:14 (UTC) by deezid)

@Terence Thanks a lot. Just noticed that zooming into the desktop using the workspaces bar and a mouse it is running butterly smooth for like 4 times zooming in, after that it starts stuttering (seems limited to 30FPS again).

But let's continue over there. Will reboot my system now and see if it helps.

Terence commented on 2019-01-27 21:05 (UTC)

@deezid gnome-shell-performance updated! I couldn't figure out what was causing conflicts so I just brutally downloaded the full patched file and replaced it :P

deezid commented on 2019-01-27 20:58 (UTC)

@Terence, please do. Just realized that activities even stay smooth (with just some slight lag) when I'm rendering 4k videos at 100% CPU usage. Great!

Terence commented on 2019-01-27 20:50 (UTC)

@deezid really happy to know it's working well for you :D I need to push a new version of gnome-shell-performance though because one of the patches introduces a bug with the workspace switcher.

deezid commented on 2019-01-27 20:47 (UTC)

@Terence DAMN!!! This build is freaking fantastic! Kinda mind-blowing how smooth it now is. KDE feels sluggish in comparison - even XFCE does.

Gotta build Gnome-shell-performance now and see if it can speed up activities even more.

Terence commented on 2019-01-27 19:36 (UTC) (edited on 2019-01-27 20:48 (UTC) by Terence)

@Saren I pushed a new version, what do you think?

calindan2013 commented on 2019-01-27 14:50 (UTC)

this does not build, the packages is useless.

deezid commented on 2019-01-23 18:11 (UTC)

@Saren, thanks. Fixed it. Did you try it?

@clupenhauer, well that's unexpected. Really have to render something in Davinci Resolve, compile something and use Photoshop at the same time to make it stutter. But that's the 1080Ti probably...

There's a patch applied (281) which is supposed to fix energy saving problems on mobile GPUs. But then there's the difficult driver situation usind Bumblebee/Prime/Optimus-setups as well. Really have no clue what's going on.

Saren commented on 2019-01-23 13:15 (UTC) (edited on 2019-01-23 13:23 (UTC) by Saren)

@Terence I have tried ditching the old revert patch in favor of the new patch, it introduces stutters when I play rhythm games using wine...

Deleting this package maybe unnecessary because it will confuse people when this package is not found in AUR when people update the system.

Also, regardless to delete this package or not, I think it's good idea to still include the old revert patch, just let people edit PKGBUILD to choose which to use.


@deezid I see your v7b PKGBUILD. I would like to steal it from you if is doing good. :)

BTW the v7b the v7 is identical.

ciupenhauer commented on 2019-01-22 18:03 (UTC)

@deezid Xorg

deezid commented on 2019-01-21 12:47 (UTC)

@clupenhauer do you use Xorg or Wayland?

ciupenhauer commented on 2019-01-19 20:33 (UTC)

@deezid I tried it but for whatever reason those patches don't work well on my mobile card in any formula. maybe it's because of the adaptive power mode? using the cpu a bit like firing up chrome with 10 tabs or rebuilding mutter makes gnome completely unusable

I'm reverting to traditional pkgbuild for now. Thanks for all the work!

deezid commented on 2019-01-19 20:11 (UTC) (edited on 2019-01-19 20:18 (UTC) by deezid)

@Terence Added the latest version of the #168 patch and #216 patch to my PKGBUILD and it fixes some performance issues in other windows while 60p videos or animations are running even with the revert patch disabled. Activities zooming in and out still isn't as smooth though. Link:

@ciupenhauer Added a new version V6b with these other patches and the revert patch still applied - way faster - almost acceptable now - if you want to try it out.

ciupenhauer commented on 2019-01-19 19:15 (UTC)

@Terence removing this package is a bad idea, for my 970m mobile gpu the performance of the other pkgbuild was overall worse in places it matters most, this package might still be needed. U can leave it unmaintained if you wish but please don't remove it just yet

deezid commented on 2019-01-19 18:30 (UTC)

@Terence that would be great. Another question, why not using the official 3.30 for the 117 commit

Terence commented on 2019-01-19 17:26 (UTC)

@Saren maybe we should at some point ditch the revert patch, create a new package simply called mutter-performance and ask for deletion of this one.

Terence commented on 2019-01-19 17:20 (UTC)

@rkmax should be fixed, please try again.

rkmax commented on 2019-01-19 17:11 (UTC) (edited on 2019-01-19 17:17 (UTC) by rkmax)

When try to install mutter-781835-workaround-3.30.2+7-6, got

[makepkg e416d493d] 347 17 files changed, 385 insertions(+), 763 deletions(-) delete mode 100644 clutter/tests/conform/texture.c fatal: bad revision '90507303'

After replace it like the comment explain, it works again

deezid commented on 2019-01-17 23:35 (UTC)

Updated to latest version:

@clupenhauer: On my 1080Ti dragging windows feels horrible with the revert patch applied. Runs at 30Hz and there's lots of input lag if no other animation or video is running at 60Hz. Speed inside apps is about the same, YouTube as well (running 8K videos here without any issues) and the overview is actually smoother.

Saren commented on 2019-01-17 12:39 (UTC)

@deezid I am trying your PKGBUILD right now, it seems to be much smooth than this package for my GTX1080 with nvidia.

ciupenhauer commented on 2019-01-16 22:12 (UTC)

installed deezid's pkgbuild with mixed results: better scrolling inside browsers, smoother window drag, smoother open/close animations. Worse overview animations , still slow or slower overview with youtube video playing, worse overall feeling. So not quite there yet.

ciupenhauer commented on 2019-01-16 17:09 (UTC)

thanks @deezid trying your build now

deezid commented on 2019-01-16 16:41 (UTC) (edited on 2019-01-16 19:07 (UTC) by deezid)

Please take a look here

Altered to the PKGBUILD to make it work with latest patches inside the 3.30 branch. Also removed the "NVIDIA-fix" which just caused harm and replaced it by patch 281 by Daniel van Vugt.

V4 fixed the last remaining issues.

The difference honestly is quite insane, doesn't really feel like Gnome anymore - in a good way.

deezid commented on 2019-01-16 02:26 (UTC)

Final fix found, thanks to Daniel van Vugt (281.patch)

The revert.patch has to be deleted since it causes more harm than it actually helps.

The 281.patch by Daniel van Vugt fixed the last piece of lag entirely.

deezid commented on 2019-01-15 21:13 (UTC)

Just noticed that with the revert patch the performance maybe still way better than before thanks to the other patches but it's not quite the same inside programs.

With the revert patch applied performance inside programs is amazing but dragging windows stutters at 30fps unless a video or animation is running at 60fps.

I wonder what exactly causes this behavior

deezid commented on 2019-01-15 13:57 (UTC) (edited on 2019-01-15 18:37 (UTC) by deezid)

Was able to install this patched version after updating the commit numbers in the pkgfile.

What I noticed is that apps like Chrome or Davinci Resolve are now insanely smooth but mutter or at least dragging windows itself is now terribly slow. I think it is locked to 30fps. The cursor itself is running at 60fps all the time. Animations aren't affected either - in fact they are smoother than ever, just dragging windows around while no 60p video or animation is running.

Interestingly enough if there's a video with 60fps playing behind and the foreground window is being dragged around, everything is smooth until I stop playback. If the video only has up to 30fps dragging windows is locked at 30fps again. Moving video players like MPC or VLC is also smooth while playing lower framerate video files.

Will take a look at the individual applied patches and hopefully figure out which one is causing it.

EDIT: The 60p video can even be running on another activity. Will maybe use this as a workaround lol - just kidding. Also noticed that even 8K60p runs perfectly smooth inside Chrome now while before even 4K60p wasn't possible - amazing!

Fixed it by uncommenting the actual NVIDIA fix. Am using the official 415.25 driver here using a 1080TI

beano commented on 2019-01-09 11:40 (UTC) (edited on 2019-01-09 11:41 (UTC) by beano)

build fails with fatal: bad revision for commits 8234efc0 and d2fbb9ff. commenting them out as stated by Saren enables you to build the package.

m110s commented on 2018-12-24 17:51 (UTC)

@Terence Works now without reverting merge.tool. Thanks a lot mate!

Terence commented on 2018-12-24 15:58 (UTC) (edited on 2018-12-24 15:59 (UTC) by Terence)

@m110s updated once more, please report if it works. My instruction with mergetool was a mistake because not everyone has this merge tool... You can revert it with git config --global --unset merge.tool although it shoudn't have much of an impact at this point.

m110s commented on 2018-12-24 11:53 (UTC) (edited on 2018-12-24 11:55 (UTC) by m110s)

New error:

error: could not apply 81952da6f... clutter: Fix offscreen-effect painting of clones
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

Normal merge conflict for 'clutter/clutter/clutter-paint-volume.c':
  {local}: modified file
  {remote}: modified file
The merge tool p4merge is not available as 'p4merge'

earlier I followed you instruction:

git config --global merge.tool p4merge

Terence commented on 2018-12-24 10:06 (UTC)

@m110s updated, please try again.

m110s commented on 2018-12-23 22:09 (UTC) (edited on 2018-12-23 22:10 (UTC) by m110s)

Just tried to build and got: fatal: bad revision '5c123a76'

Pumpi commented on 2018-12-20 15:52 (UTC)

@Terence thanks for fast response. Creating an account on github and running the commands you wrote has helped! But i couldn't resolve my issues on Surface Pro 3 with stutters on animations.

Terence commented on 2018-12-18 16:44 (UTC)

@tannisroot @glorious-yellow thanks for the feedback, updated.

glorious-yellow commented on 2018-12-18 03:17 (UTC)

@Saren as a workaround for the workaround, add git config "" and git config "Your Name" (without --global) into prepare()

tannisroot commented on 2018-12-17 22:28 (UTC)

Apparently, "Deliver events sooner" still does not work properly for some people. I suggest disabling it back for now.

Terence commented on 2018-12-17 16:21 (UTC) (edited on 2018-12-24 15:51 (UTC) by Terence)

If the build fails with *** Please tell me who you are. do the following:

$ git config --global "" 
$ git config --global "Your Name"

This is due to a (hopefully) temporary workaround to automatically apply commits conflicting with 3.30 branch.

Terence commented on 2018-12-17 16:15 (UTC)

Sorry @Pumpi I read your message too quickly, it's indeed what @Saren told you to do, I hope you've been able to make it work...

tannisroot commented on 2018-12-17 15:06 (UTC) Deliver events sooner seems to work fine now with latest NVidia drivers. Not sure if Nvidia fixed it at some point or Daniel improved the fix.

kode54 commented on 2018-12-17 00:01 (UTC)

@Pumpi For future reference, always prepend LANG=C before commands where you are going to copy and paste or otherwise log the output for posting.

m3thodic commented on 2018-12-15 21:13 (UTC)

Sorry if anyone was having an issue with that diff I posted to gist. When I grabbed it using wget the patch command wouldn't apply it correctly and errors out. Here is a direct link:

Saren commented on 2018-12-15 18:12 (UTC) (edited on 2018-12-15 18:12 (UTC) by Saren)

@Pumpi run $ git config --global "" and $ git config --global "Your Name", because you have not set a email and name for git and it does not allow you to git commit but it's required in prepare() of this package.

I should not really do the git commit thing and I need to find a way to workaround that.

Pumpi commented on 2018-12-15 17:28 (UTC)

@Terence do you mean the var/tmp/pamac-build-user order? i deleted the files there and tried again. I get the same error

Terence commented on 2018-12-15 16:27 (UTC)

@Pumpi delete the source directory and try again.

Pumpi commented on 2018-12-15 15:31 (UTC)

I am getting this error and am not able to successfully install. Sorry, my system is in German....

error: Konnte 5c123a76a... (clutter: Fix offscreen-effect painting of clones) nicht anwenden Hinweis: nach Auflösung der Konflikte markieren Sie die korrigierten Pfade Hinweis: mit 'git add <Pfade>' oder 'git rm <Pfade>' und tragen Sie das Ergebnis mit Hinweis: 'git commit' ein

This message is displayed because 'merge.tool' is not configured. See 'git mergetool --tool-help' or 'git help config' for more details. 'git mergetool' will now attempt to use one of the following tools: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse diffmerge ecmerge p4merge araxis bc codecompare emerge vimdiff Merging: clutter/tests/conform/

Deleted merge conflict for 'clutter/tests/conform/': {local}: deleted {remote}: modified file Use (m)odified or (d)eleted file, or (a)bort? *** Bitte geben Sie an, wer Sie sind.

Führen Sie

git config --global "" git config --global "Your Name"

aus, um das als Ihre standardmäßige Identität zu setzen. Lassen Sie die Option "--global" weg, um die Identität nur für dieses Repository zu setzen. fatal: Konnte die E-Mail-Adresse nicht automatisch erkennen ('dawid@dawid-pc.(none)' erhalten) ==> FEHLER: Ein Fehler geschah in prepare(). Breche ab...

Saren commented on 2018-12-12 17:44 (UTC)

Update: full power regained

tannisroot commented on 2018-12-07 09:48 (UTC)

also GPU-less picking and clutter patches compatible with 3.30:

tannisroot commented on 2018-12-03 22:21 (UTC) (edited on 2018-12-07 09:48 (UTC) by tannisroot)

You can use this to resolve conflict with "Sync to the hardware refresh rate, not just 60.00Hz [performance]":

A.J commented on 2018-11-30 14:32 (UTC)

still there is error :

fatal: bad revision '68af9783'

it can build with it commented out .

danitetus commented on 2018-11-27 16:52 (UTC) (edited on 2018-11-27 16:52 (UTC) by danitetus)

Build error

fatal: bad revision '68af9783'

m3thodic commented on 2018-11-26 09:14 (UTC) (edited on 2018-11-26 09:16 (UTC) by m3thodic)

Running the latest stock mutter from extra with only the following diffs from with (from what I can tell so far), decent results.

I backported the PR to patch cleanly with 3.30.2-1 which you can grab here for testing:

  # Put the following line in prepare() right above NOCONFIGURE=1 ./
  patch -Np1 -F3 -i ../Sync-to-the-hardware-refresh-rate.patch

glorious-yellow commented on 2018-11-25 20:39 (UTC)

Also got "clutter: Fix offscreen-effect painting of clones" working, by downloading the patch file, removing the changes for, and applying the patch with git apply

glorious-yellow commented on 2018-11-22 19:45 (UTC) (edited on 2018-11-25 20:39 (UTC) by glorious-yellow)

Got "Geometric (GPU-less) picking" to work with git cherry-pick 0feecfe8 -X ours

Saren commented on 2018-11-19 05:01 (UTC)

@Terence ehh, nay.

Terence commented on 2018-11-18 12:53 (UTC)

@Saren an other way around would be to fork the mutter repo and apply the conflicting commits there. Yea or nay ?

Saren commented on 2018-11-17 11:14 (UTC)

@Terence it seems that patches would be better than git cherry-picking now...

Terence commented on 2018-11-16 17:02 (UTC)

@Saren it was working fine but vanvugt rebased all its PR from master, which now can't be applied as-is because of the meson support.. If you are fine with it, I'll do a patch approach for the commits concerned.

Saren commented on 2018-11-16 14:51 (UTC)

It's on fire, fixing...

Terence commented on 2018-11-15 14:55 (UTC)

@Saren I'm working on the new version :)

caioalonso commented on 2018-11-09 13:59 (UTC) (edited on 2018-11-09 13:59 (UTC) by caioalonso)

fatal: bad revision 'd29a1c4a'

Commenting out lines 64 and 65 fixed it.

Saren commented on 2018-11-06 13:56 (UTC)

@jeckhack oops nice catch! Fixing in next package. I hope it does not cause issues...

jeckhack commented on 2018-11-05 01:17 (UTC)

I think you apply 216 twice in PKGBUILD. First time in cherry pick, then in git apply -3

Saren commented on 2018-11-03 09:16 (UTC)

@glorious-yellow just added that, thanks.

glorious-yellow commented on 2018-11-02 20:40 (UTC)

Found a very important patch:

This completely fixes the slowdown over time issue

wscsprint3r commented on 2018-10-24 17:03 (UTC)

This is a true game changer!

tannisroot commented on 2018-10-19 20:25 (UTC)

Ok. What about removing !168 then? It introduces very heavy stutter when dragging windows if you have a mouse with 1000hz polling rate.

glorious-yellow commented on 2018-10-18 21:02 (UTC)

@tannisroot According to the comments, MR 265 introduces some bugs. We should wait until it's stabilized before adding it.

tannisroot commented on 2018-10-18 18:11 (UTC)

This one should be very useful too:

glorious-yellow commented on 2018-10-17 20:40 (UTC)

@Saren You should make a meta package that installs both mutter-781835-workaround and gnome-shell-performance

tannisroot commented on 2018-10-17 18:51 (UTC)

I suggest to add this patch too:

jc-aur commented on 2018-10-15 08:02 (UTC)

@tannisroot sorry, just got back home. Yes, I have a Logitech G502, if I recall right it has 1000Hz polling rate, why? Just for curiosity sake, I disconnected it, used the mouse pad from the laptop and suddenly the experience was a lot better, why is so?

tannisroot commented on 2018-10-14 21:24 (UTC)

@jc-aur do you happen to have a mouse with 1000hz polling rate?

jc-aur commented on 2018-10-14 21:08 (UTC) (edited on 2018-10-14 21:09 (UTC) by jc-aur)

@Vash63 @glorious-yellow I'm experiencing the same performance as @tannisroot, everything works buttery-smooth but moving windows around, especially when moving a window between monitors. I'm running a Nvidia GTX 980M with the latest driver, running on Xorg

glorious-yellow commented on 2018-10-14 19:32 (UTC)

@Vash63 Interesting, for me only maximize/minimize animations are laggy

Vash63 commented on 2018-10-14 19:25 (UTC)

Follow up to @tannisroot's comment, was debugging this with him in discord while we were testing this patch set. It seems to be commit 0feecfe8 causing the problems - after I commented that out the performance problems went away.

Specifically, the performance seemed to get very very bad if two large windows were on top of each other while you moved them. Single digit framerates.

Otherwise, this package is awesome and once I disabled that patch it's noticeably smoother than stock mutter.

tannisroot commented on 2018-10-14 18:25 (UTC) (edited on 2018-10-14 18:25 (UTC) by tannisroot)

I've tried this and everything is buttery smooth, except for moving windows around. When I move them it is very, very laggy. Any idea why? I have GTX 1070 and use 396.54.09 driver.

v-tin commented on 2018-10-14 14:09 (UTC)

@Saren After you did disabled the patch, it worked now. I mean, you really do see the difference in smoothness, responses.. nice work, much appreciated. :D

Saren commented on 2018-10-14 06:48 (UTC) (edited on 2018-10-14 06:48 (UTC) by Saren)

@jc-aur Done, thanks for suggesting that.

@glorious-yellow I will see what I can do at next package update.

max.bra commented on 2018-10-13 14:48 (UTC) (edited on 2018-10-13 14:50 (UTC) by max.bra)

Hi Saren, thanks for your work. Side note: glorious-yellow is right.

I've just installed this patched mutter and i'm impressed. i can see animation that i've never seen!! (nvidia blob here) I was not aware that option buttons had a transition animation...

a curiosity: i've noticed a new little gap in shell theme (all themes, standard included) in the right upper corner. a screenshot:

Is this for me only?

edit: wording

glorious-yellow commented on 2018-10-13 14:06 (UTC) (edited on 2018-10-13 14:06 (UTC) by glorious-yellow)

For "Geometric (GPU-less) picking", you can replace git cherry-pick with git merge vanvugt/geometric-picking; this will work even if the commit hashes have changed.

jc-aur commented on 2018-10-13 13:50 (UTC)

@Saren I'd rather prefer you pin the comment explaining about the bad revision issue, so everyone can see it and know how to fix it. I do appreciate the fast updates on mutter.

Saren commented on 2018-10-13 06:08 (UTC)

@ValentinRO See my comment below. I am considering disabling that patch until the commit hashes are stable.

v-tin commented on 2018-10-12 14:54 (UTC) (edited on 2018-10-12 14:54 (UTC) by v-tin)

Unfortunately I got a fatal error: fatal: bad revision 'ac031043'.

Is there any info needed to find a solution for this?

Saren commented on 2018-10-11 02:58 (UTC)

@Snuggle the commit "Geometric (GPU-less) picking" hashes are ever changing recently due the git rebases. If the package is not updated, edit PKGBUILD, replaced that 2 commit hashes to what you found in

Snuggle commented on 2018-10-11 01:06 (UTC) (edited on 2018-10-11 01:07 (UTC) by Snuggle)

I'm getting: fatal: bad revision '73e8cf32'

jc-aur commented on 2018-10-06 16:26 (UTC)

@bobekmark that's weird, I installed it last night and after a reset, it kept working as expected for hours until I turned off my laptop, are you sure is related to this mutter package? Anyway, why don't you rollback to a previous version, don't you handle AUR packages on your own? If you don't and your tool doesn't allow you to do that, it's not AUR fault :)

Terence commented on 2018-10-06 13:01 (UTC) (edited on 2018-10-06 13:02 (UTC) by Terence)

@bobekmark: you might want to edit the PKGBUILD and comment some commits to figure out what produces this issue and then report it to its related.

bobekmark commented on 2018-10-06 12:53 (UTC)

@Terence Hmmm, interenting, now it's install itself, but when I reboot my pc, it has only black screen with an X. (CTRL+ALT+F2 , than install "stock" mutter is can solve the problem, but I can't boot my PC with This AUR :\ )

Terence commented on 2018-10-05 22:14 (UTC)

@bobekmark Thanks for the report, I updated the commits, please try again.

bobekmark commented on 2018-10-04 19:26 (UTC)

I encounter "fatal: bad revision '23435a40'" :\

Terence commented on 2018-10-02 15:19 (UTC)

@Saren Thanks!

Saren commented on 2018-10-02 15:17 (UTC)

@Terence added, check it out~

Terence commented on 2018-10-02 15:17 (UTC)

@Saren no problem! Yes indeed, I check almost everyday gitlab for new interesting commits to include and test them ^^. If you don't see any problem, I'd do the same for gnome-shell-performance.

Saren commented on 2018-10-02 15:08 (UTC)

@terence thanks for notifying! Would you be interested becoming a co-maintainer?

jc-aur commented on 2018-10-02 14:23 (UTC)

@terence ah, totally missed it, thanks!

Terence commented on 2018-10-02 14:20 (UTC)

@jc-aur: if you read my previous comment, you will know why ;)

jc-aur commented on 2018-10-02 14:19 (UTC)

I tried this today for gnome 3.30 but didn't work. It throws the message "fatal: bad revision 'cc3f4e4e'" as soon as it starts the prepare() method. Any ideas on what is going on?

Terence commented on 2018-10-02 10:28 (UTC) (edited on 2018-10-02 14:20 (UTC) by Terence)

@Saren: "clutter: Fix offscreen-effect painting of clones" got rebased, you need to update the commit checksum from cc3f4e4e to 3552fd1e

Saren commented on 2018-09-30 03:27 (UTC)

@parascent I still don't know why the commit is not reverted. Do the GNOME developers really hate us?

parascent commented on 2018-09-29 09:33 (UTC)

I am infuriated. Gnome was stuttering and slow without this. Now gnome 3.30 is so fast & buttery smooth.

alexst commented on 2018-09-19 21:35 (UTC)

The commit against which this package is currently based (34f5be72) has a nasty shell crash bug when using a Wacom pen:

The fix for this is in mutter a3d9f987.

Saren commented on 2018-09-18 03:10 (UTC)

Package updated for 3.30 and tested. I have reverted to 3.28 because most extensions I am using wont work anyways.

glorious-yellow commented on 2018-09-17 19:57 (UTC)

GNOME 3.30 is in the main repo, this package should be updated

Saren commented on 2018-09-04 05:41 (UTC)

@glorious-yellow @Terence I removed 13870745 and updated the package. Thanks for notifying.

glorious-yellow commented on 2018-09-02 23:53 (UTC)

It appears only some animations are slow. The window maximize/resize animations are very laggy, but the panel and the notifications tray animate smoothly.

glorious-yellow commented on 2018-09-01 14:53 (UTC)

The shell still gradually gets slower, after about a day of usage.

Terence commented on 2018-09-01 12:57 (UTC) (edited on 2018-09-04 11:35 (UTC) by Terence)

@glorious-yellow @Saren commit 13870745 is closed because it will be replaced by an other one. Please remove it.

glorious-yellow commented on 2018-08-31 19:29 (UTC)

I've narrowed it down. The reduced performance is caused by commit 13870745.

glorious-yellow commented on 2018-08-31 14:12 (UTC) (edited on 2018-08-31 14:21 (UTC) by glorious-yellow)

Without the patches, it slows down to 20-ish fps after 1-2 days of uptime, but the first day it's very smooth

glorious-yellow commented on 2018-08-31 13:54 (UTC)

I find that the optional performance patches reduce performance, on nvidia hardware while using a 144hz monitor.

Saren commented on 2018-08-30 14:52 (UTC) (edited on 2020-10-06 05:50 (UTC) by Saren)

If you are getting errors like fatal: bad revision '73e8cf32' while building this package, refer to PKGBUILD and see which patches caused this. Then, go to the related URLs, replace the commit hashes. If there are conflicts, comment out the patches.

Please notify me in comment section if this happens.

The optional performance patches are by default enabled.

A package for gnome-shell performance patches:

Saren commented on 2018-08-10 03:03 (UTC)

@Leeo97one The reason for this, I have broke gnome twice for updating gnome-shell but not mutter. I could remove that dependency but please expect breakage when there is gnome-shell upgrade.

Leeo97one commented on 2018-08-08 21:54 (UTC) (edited on 2018-08-08 22:00 (UTC) by Leeo97one)

Is there a good reason to put gnome-shell=3.28.3 in the dependencies? It's not present in the original PKGBUILD. For exemple, this currently prevent me to update the gnome-shell package.

Saren commented on 2018-06-03 13:09 (UTC) (edited on 2018-06-03 13:10 (UTC) by Saren)

FYI, to use the specific commit from a different branch, in this case, add the following lines after cd $_pkgname inside prepare()

git remote add vanvugt <> || true
git fetch vanvugt
git cherry-pick c432f134

remove the < > from the .git url, it is auto added and I don't know why

jeckhack commented on 2018-05-31 21:37 (UTC) (edited on 2018-05-31 22:04 (UTC) by jeckhack)

I think you've noticed that revert.patch causes some weird timing issues, i.e. window maximize animation stutter, moving mouse pointer causes stutter in opengl etc. Try this patch. Coupled with revert.patch, it completely fixes all all performance problems for me.

(I think Debian uses it already, and Bionic too)

P.S. Beware, it causes high cpu load when moving mouse pointer around the screen, when coupled with revert.patch. At least it fixes jerkyness.

Saren commented on 2018-05-22 08:00 (UTC) (edited on 2018-05-22 08:01 (UTC) by Saren)

@m3thodic there were some code changes to mutter which are under review / not upstreamed. The code changes aim to improve performance, reduce memory use and reduce stutters. However, they are not proven to work and they are made for gnome 3.26.x/3.28.1, which may not be compatible with 3.28.2. TLDR ignore them

m3thodic commented on 2018-05-21 17:27 (UTC)

@Saren Could you please give a quick tl;dr on what you mean by performance bits? Thanks for the package!

m3thodic commented on 2018-04-04 21:52 (UTC)

Fantastic, thank you!

MartinPL commented on 2018-03-25 19:09 (UTC)

Maybe its good idea to bump commit to atleast 8286557a0555058440536e88393fda445d49d399

Saren commented on 2018-03-25 15:44 (UTC)

Updated to 3.28. revert.patch is back and I updated the code surrounding to the patch. Luckily it works. Also added dependency for 'gnome-shell>=3.28' 'gnome-shell<3.29' to prevent future GNOME breakage like I had.

DeadMetaler commented on 2018-03-19 21:40 (UTC)

Maybe temporarily but returned to patch instead git revert.

bushwakko commented on 2018-03-17 11:32 (UTC)

I got gnome 3.28.0 from "testing" now, but no update to this package. I tried modifying the PKGBUILD to make it build from 3.28 commit, but the revert didn't apply cleanly:

error: could not revert 383ba566b... Call cogl_xlib_renderer_set_threaded_swap_wait_enabled()

With diff:

++<<<<<<< HEAD + / XInitThreads() is needed to use the "threaded swap wait" functionality + * in Cogl - see meta_renderer_x11_create_cogl_renderer(). We call it here + * to hopefully call it before any other use of XLib. + / + XInitThreads(); ++======= + clutter_x11_request_reset_on_video_memory_purge (); ++>>>>>>> parent of 383ba566b... Call cogl_xlib_renderer_set_threaded_swap_wait_enabled()

It seems there has been new changes to the patch we want reverted, however my performance using the official mutter is crap again so it doesn't seem to fix it. There might be a resolution to the conflict that ends up with a correct state, but I haven't looked hard enough at the code to say yet.

And even if it was possible, I'm not sure how to resolve this in PKGBUILD yet, or how to make it use my locally created patch either.

Instead, I'll just post my progress here. ;)

Ideally this would be solved properly, either in mutter, gnome-shell or the nvidia driver, whichever is the culprit.

Leeo97one commented on 2018-01-22 15:52 (UTC) (edited on 2018-01-22 16:24 (UTC) by Leeo97one)

I can not compile:

Traceback (most recent call last): File "/usr/bin/g-ir-scanner", line 66, in <module> sys.exit(scanner_main(sys.argv)) File "/usr/lib/gobject-introspection/giscanner/", line 547, in scanner_main shlibs = create_binary(transformer, options, args) File "/usr/lib/gobject-introspection/giscanner/", line 424, in create_binary shlibs = resolve_shlibs(options, binary, options.libraries) File "/usr/lib/gobject-introspection/giscanner/", line 146, in resolve_shlibs _resolve_non_libtool(options, binary, non_libtool)) File "/usr/lib/gobject-introspection/giscanner/", line 119, in _resolve_non_libtool line = line.decode('ascii') UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 36: ordinal not in range(128)</module>

Full logs:

EDIT: I found the solution here:

And thank you so much for this package by the way ^_^

schroedi commented on 2017-12-08 09:01 (UTC)

This patch fixes the pipewire 0.1.7 problem without downgrading:

jeckhack commented on 2017-12-06 00:30 (UTC)

BTW if you have window max\unmax animation stutter after applying the workaround in question, add CLUTTER_DRIVER=gl3 to /etc/environment

For reference, see:

jeckhack commented on 2017-12-02 10:16 (UTC) (edited on 2017-12-02 11:24 (UTC) by jeckhack)

From what I see, arch bumped pipewire package to 0.1.7 a few days ago and it has different file structure, i.e. /usr/include/spa/pod-parser.h is now /usr/include/spa/pod/parser.h, and other files needed to build mutter are missing too. It's just becoming a nightmare : ( ######### OK This is funny. To build mutter you have to downgrade pipewire to 0.1.6 But this isn't the end. You also have to manually create missing pod-parser.h, which is missing due to a bug in 0.1.6 as well. ( ) Copy this to /usr/include/spa/pod-parser.h after pipewire downgrade. Now mutter builds.

douglas-s commented on 2017-11-27 00:50 (UTC)

atal error: spa/pod-parser.h:"File or directory not found" #include <spa/pod-parser.h> ^~~~~~~~~~~~~~~~~~ compilation terminated. make[4]: *** [Makefile:2411: backends/meta-screen-cast.lo] Error 1 make[4]: Leaving directory '/tmp/yaourt-tmp-gits/aur-mutter-781835-workaround/src/mutter/src' make[3]: *** [Makefile:2588: all-recursive] Error 1 make[3]: Leaving directory '/tmp/yaourt-tmp-gits/aur-mutter-781835-workaround/src/mutter/src' make[2]: *** [Makefile:1508: all] Error 2 make[2]: Leaving directory '/tmp/yaourt-tmp-gits/aur-mutter-781835-workaround/src/mutter/src' make[1]: *** [Makefile:484: all-recursive] Error 1 make[1]: Leaving directory '/tmp/yaourt-tmp-gits/aur-mutter-781835-workaround/src/mutter' make: *** [Makefile:414: all] Error 2 Can't find the package that contais the pod-parser.h file

fabrixx commented on 2017-11-01 08:07 (UTC) (edited on 2017-11-01 09:51 (UTC) by fabrixx)

When installing with yaourt i've this error: ModuleNotFoundError: No module named 'codegen' make[2]: *** [Makefile:2970: meta-dbus-idle-monitor.c] Error 1 make[2]: uscita dalla directory "/tmp/pamac-build-fabrizio/mutter-781835-workaround/src/mutter/src" make[1]: *** [Makefile:484: all-recursive] Error 1 make[1]: uscita dalla directory "/tmp/pamac-build-fabrizio/mutter-781835-workaround/src/mutter" make: *** [Makefile:414: all] Error 2 ==> ERRORE: Si è verificato un errore in build(). EDIT: worked with export PYTHONPATH="/usr/share/glib-2.0" like commented previously but several GNOME packages were uninstalled and my system not start. Fixed reinstalling Gnome missing files and old mutter

Saren commented on 2017-10-24 18:23 (UTC)

@jeckhack Prismatik (monitor backlight control program which captures screen constantly) still makes gnome-shell lag without reverting the mutter commit.

jeckhack commented on 2017-10-24 01:31 (UTC)

In fact, I had time to investigate my problem a bit further, and I think that problem isn't in opengl, but in Nvidia PowerMizer and mutter affecting programs' performance when nvidia card drops frequencies on idle. So, when you run benchmark, nvidia raises its frequencies to max and you don't notice any difference. But if you run some not-so-demanding game or app (i.e. terraria) You will notice that when nvidia drops frequencies, game starts to lag. The same happens with chromium. This behavior is fixed by reverting the commit from 781835 bugreport. You can minimize this behavio without reverting commit by enabling triplebuffer in nvidia. I created a bugreport on gnome:

butler360 commented on 2017-10-22 17:25 (UTC)

In case anyone else runs into this bug, I had to add 'export PYTHONPATH="/usr/share/glib-2.0"' to the PKGBUILD to get this to build. That said, I did Unigine Valley benchmark before and after installing this and it make basically zero difference. I got a score of 1312 before and 1314 after. Is there a better way to benchmark this? I'm on a GTX 970.

jeckhack commented on 2017-10-16 12:26 (UTC) (edited on 2017-10-16 13:00 (UTC) by jeckhack)

Hi! Just take PKGBUILD from ABS, then add: git revert -n 383ba566bd7c2a76d0856015a66e47caedef06b6 to prepare() No need for a patch. P.S. This revert is a real lifesaver. Without it my OpenGL performance is plain awful on gtx960(!). Even Chromium scrolling at 30 fps.

Terence commented on 2017-10-16 00:40 (UTC) (edited on 2017-10-16 00:41 (UTC) by Terence)

@Saren I think it would be better to use which respects the fact that it is not a fix but the revert of a previous commit.

Saren commented on 2017-10-13 18:14 (UTC)

Updated mutter to 3.26.1+7+g41f7a5fdf-1 to match upstream PKGBUILD. It is now much more stable with nvidia prop driver.

ciupenhauer commented on 2017-10-06 17:08 (UTC)

anyone got any ideas why the 3.26 update brought extra issues with dragging? it just hangs and frame drops when doing overview or dragging. This patch fixes the general slowness but now there's another issue I didnt have with 3.24

m110s commented on 2017-10-06 16:52 (UTC)

Thanks mate! No lag, but cpu spikes are still there when moving window. All in all much better experience with nvidia blob driver.

ciupenhauer commented on 2017-10-06 16:50 (UTC)

Thank you s.o. f.u.c.k.i.n. much! this is the second time new gnome version comes out and completely tanks my performance. this is just out of my brains how something like this is possible

Saren commented on 2017-10-06 15:21 (UTC)

This package applies the patch from to workaround as to improve gnome-shell/mutter performance in some cases. (Prismatik + nvidia driver?)