Package Details: mutter-performance 1:47.4-1

Git Clone URL: https://aur.archlinux.org/mutter-performance.git (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: https://gitlab.gnome.org/GNOME/mutter
Licenses: GPL-2.0-or-later
Groups: gnome
Conflicts: mutter
Provides: libmutter-15.so, mutter
Submitter: Terence
Maintainer: Terence (Saren, saltyming)
Last Packager: saltyming
Votes: 78
Popularity: 0.067488
First Submitted: 2019-07-09 09:35 (UTC)
Last Updated: 2025-01-15 11:01 (UTC)

Dependencies (66)

Required by (16)

Sources (4)

Pinned Comments

saltyming commented on 2022-03-22 09:37 (UTC) (edited on 2024-10-22 08:27 (UTC) by saltyming)

If you have a problem during any system update with mutter-performance & gnome-shell-performance, please install mutter & gnome-shell packages from the main repository and do full upgrade first, then build the performance packages later.

If you are using [gnome-unstable] and [extra-testing] repositories, use mutter-performance-unstable


The default patch list includes "Dynamic triple buffering(!1441)", "text-input-v1(!3751)".

Latest Dynamic triple buffering patch has several included MRs from the main development branch to achieve maximum performance.


To enable a specific MR in the Merge Requests List, add an line "_merge_requests_to_use+=('<MR number>')" at the end of PKGBUILD. (Because if you edit the line directly you can be able to end up with merge conflict upon updates.)

You can see some patches' git history here: https://git.saltyming.net/sungmg/mutter-performance-source/

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: https://aur.archlinux.org/packages/gnome-shell-performance/

Latest Comments

« First ‹ Previous 1 .. 58 59 60 61 62 63 64 Next › Last »

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/scannermain.py", line 547, in scanner_main shlibs = create_binary(transformer, options, args) File "/usr/lib/gobject-introspection/giscanner/scannermain.py", line 424, in create_binary shlibs = resolve_shlibs(options, binary, options.libraries) File "/usr/lib/gobject-introspection/giscanner/shlibs.py", line 146, in resolve_shlibs _resolve_non_libtool(options, binary, non_libtool)) File "/usr/lib/gobject-introspection/giscanner/shlibs.py", 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: https://pastebin.com/G56LS35M

EDIT: I found the solution here: https://bugs.archlinux.org/task/51578

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: https://bugzilla.redhat.com/show_bug.cgi?id=1517749

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: https://developer.gnome.org/clutter/stable/running-clutter.html

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. ( https://github.com/PipeWire/pipewire/issues/43 ) https://raw.githubusercontent.com/PipeWire/pipewire/0.1.6/spa/include/spa/pod-parser.h 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: https://bugzilla.gnome.org/show_bug.cgi?id=789186