Package Details: mutter-781835-workaround 3.26.2+31+gbf91e2b4c-1

Git Clone URL: https://aur.archlinux.org/mutter-781835-workaround.git (read-only)
Package Base: mutter-781835-workaround
Description: A window manager for GNOME. This package reverts a commit which may causes performance problems for nvidia driver users.
Upstream URL: https://git.gnome.org/browse/mutter
Licenses: GPL
Groups: gnome
Conflicts: mutter
Provides: mutter
Submitter: Saren
Maintainer: Saren
Last Packager: Saren
Votes: 8
Popularity: 2.314678
First Submitted: 2017-10-06 15:19
Last Updated: 2017-12-10 09:55

Latest Comments

schroedi commented on 2017-12-08 09:01

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

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

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

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

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

@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

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

butler360 commented on 2017-10-22 17:25

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.

https://bugs.archlinux.org/index.php?do=details&task_id=55915

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

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

@Saren I think it would be better to use https://gist.github.com/DeadMetaler/ec2afaed0e5e1a858e505af1cf5eca04 which respects the fact that it is not a fix but the revert of a previous commit.

All comments