Package Details: mutter-781835-workaround 3.28.3-3

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: 18
Popularity: 2.600392
First Submitted: 2017-10-06 15:19
Last Updated: 2018-07-21 09:25

Pinned Comments

Saren commented on 2018-04-14 05:35

Updated to 3.28.1 and added unmerged performance bits. By default they are commented out, enable with own risk and resolve the merge conflicts yourself.

Latest Comments

Saren commented on 2018-06-03 13:09

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 <https://gitlab.gnome.org/vanvugt/mutter.git> || 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

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.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/70/diffs?commit_id=c432f134ddbda6d40714bdc135ea138b31336852&view=parallel

(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

@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

@Saren Could you please give a quick tl;dr on what you mean by performance bits? Thanks for the package!

Saren commented on 2018-04-14 05:35

Updated to 3.28.1 and added unmerged performance bits. By default they are commented out, enable with own risk and resolve the merge conflicts yourself.

m3thodic commented on 2018-04-04 21:52

Fantastic, thank you!

MartinPL commented on 2018-03-25 19:09

Maybe its good idea to bump commit to atleast 8286557a0555058440536e88393fda445d49d399

Saren commented on 2018-03-25 15:44

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

Maybe temporarily but returned to patch instead git revert.

bushwakko commented on 2018-03-17 11:32

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.

All comments