lp:~vanvugt/mutter

Owned by Daniel van Vugt
Get this repository:
git clone https://git.launchpad.net/~vanvugt/mutter
Only Daniel van Vugt can upload to this repository. If you are Daniel van Vugt please log in for upload directions.

Branches

Name Last Modified Last Commit
triple-buffering-v4 2021-07-27 07:54:04 UTC
clutter/frame-clock: Switch dynamically between double and triple buffers

Author: Daniel van Vugt
Author Date: 2020-09-11 10:15:55 UTC

clutter/frame-clock: Switch dynamically between double and triple buffers

When in the DISPATCHED_ONE state `calculate_next_update_time_us` can't be
trusted(!). If the system is keeping up then it will generate an update time
that's too soon because the last presentation time is still two frames ago
instead of one. That's why traditional triple buffering causes higher
latency.

But you can't just factor that extra frame of latency into the calculation
because if the system *isn't* keeping up (and is skipping frames) then the
last presentation time may also be *later* than the presentation time we
had hoped for (by a multiple of refresh intervals). So if you throttle on
the last presentation time in that case you're going to be stuck at half
frame rate or worse.

Instead of using `calculate_next_update_time_us` we now calculate the next
update time as precisely one frame interval after the last. This has the
effect of only scaling up to triple buffering when it's required (when the
last presentation is late). Note that we use the last intended update time
and not the last actual dispatch time, to avoid phase drift from event loop
jitter.

We then scale back down to double buffering (for minimal latency) as soon
as presentations come on time again. And we stick to double buffering
until such time as presentations become late.

fix-lp1763892-bionic 2019-04-29 08:22:32 UTC
Remove 60 FPS limitation, thus supporting high frame rates

Author: Daniel van Vugt
Author Date: 2019-03-13 07:43:50 UTC

Remove 60 FPS limitation, thus supporting high frame rates

For Xorg the only fix required was to remove the spurious patch:

  clutter-Smooth-out-master-clock-to-smooth-visuals.patch

which had the effect of imposing a 60 FPS limitation. That patch
never landed upstream.

For Wayland you need both the above fix and the introduction of
hardware vsync support which was upstreamed in mutter 3.32 and is
backported to 3.28 in two commits/patches:

  lp1763892-a-renderer-native-Add-hardware-presentation-timing.patch
  lp1763892-b-renderer-native-Advertise-_FEATURE_SWAP_THROTTLE.patch

https://bugs.launchpad.net/bugs/1763892

add-vsync-3.28 2019-03-12 10:20:41 UTC
renderer-native: Advertise _FEATURE_SWAP_THROTTLE

Author: Daniel van Vugt
Author Date: 2018-07-10 09:46:02 UTC

renderer-native: Advertise _FEATURE_SWAP_THROTTLE

Because it is implemented and always on. By advertising this fact
the master clock is able to sync to the native refresh rate instead
of always using the fallback of 60.00Hz.

https://bugzilla.gnome.org/show_bug.cgi?id=781296

(cherry picked from commit e8c27603dd69d94793aed5e0525562669e8c0bca)

fix-lp1763892-cosmic 2019-02-22 10:25:09 UTC
Remove 60 FPS limitation, thus supporting high frame rates

Author: Daniel van Vugt
Author Date: 2019-02-22 10:21:53 UTC

Remove 60 FPS limitation, thus supporting high frame rates

For Xorg the only fix required was to remove the spurious patch:
  clutter-Smooth-out-master-clock-to-smooth-visuals.patch
which had the effect of imposing a secondary 60 FPS limitation.
That patch never landed upstream.

For Wayland you need both the above fix, and the introduction of
hardware vsync support which was upstreamed in mutter 3.32 and is
backported to 3.30 in the new patch:
  lp1763892-add-hardware-vsync-support.patch

https://bugs.launchpad.net/bugs/1763892

a-new-approach 2018-05-24 09:19:21 UTC
Shrink the diff and tidy.

Author: Daniel van Vugt
Author Date: 2018-05-24 09:00:04 UTC

Shrink the diff and tidy.

debug-offscreen 2018-05-24 09:17:50 UTC
Backport more debug info

Author: Daniel van Vugt
Author Date: 2018-05-24 09:17:50 UTC

Backport more debug info

hack 2018-05-23 05:35:16 UTC
Fix uninitialized matrix multiply

Author: Daniel van Vugt
Author Date: 2018-05-23 05:35:16 UTC

Fix uninitialized matrix multiply

synaptics-3.26 2018-02-26 10:28:47 UTC
Add palm detection

Author: Daniel van Vugt
Author Date: 2018-02-26 10:28:47 UTC

Add palm detection

crtc-holds-reference 2018-02-22 10:02:31 UTC
Invoke flip_closure on dropped frames.

Author: Daniel van Vugt
Author Date: 2018-02-22 10:02:31 UTC

Invoke flip_closure on dropped frames.

But only because meta-renderer-native.c is broken.

refcount-frontbuffers 2018-02-22 08:21:17 UTC
Move things around to avoid conflicts

Author: Daniel van Vugt
Author Date: 2018-02-22 08:21:17 UTC

Move things around to avoid conflicts

... conflicts in child branches

fix-clutter-master-clock-smoothness 2018-02-16 09:57:24 UTC
A bit nicer

Author: Daniel van Vugt
Author Date: 2018-02-16 08:33:38 UTC

A bit nicer

multimonflip 2018-01-29 11:00:37 UTC
Some fixing and some bad ideas?

Author: Daniel van Vugt
Author Date: 2018-01-29 11:00:37 UTC

Some fixing and some bad ideas?

fix-790309 2018-01-05 09:47:41 UTC
wayland: Ensure wl_shell_surfaces are set reactive

Author: Daniel van Vugt
Author Date: 2018-01-05 09:47:41 UTC

wayland: Ensure wl_shell_surfaces are set reactive

Wayland clients using the wl_shell interface were never receiving mouse
input. It meant they also couldn't be raised with a click.

This was because the call to meta_wayland_surface_set_window for wl_shell
surfaces did nothing while surface->window == window already. As such, it
never called clutter_actor_set_reactive() and the wl_shell window remained
a non-reactive actor.

Just make sure surface->window isn't already set before calling
meta_wayland_surface_set_window so it can actually do what it's meant to.

https://bugzilla.gnome.org/show_bug.cgi?id=790309

fix-645433-v6 2017-10-27 07:58:19 UTC
eglnative: Use gnome-settings-daemon font settings

Author: Daniel van Vugt
Author Date: 2017-10-27 07:58:19 UTC

eglnative: Use gnome-settings-daemon font settings

While the X11 backend gets its font settings from XSettings, the native
backend did not use any user font preferences till now. So all shell fonts
were rendered with grayscale un-hinted, which some people describe as
"blurry text in Wayland sessions".

Although it's somewhat confusing using the "xsettings" schema on eglnative,
this is consistent with what GTK does already for its Wayland backend. It
is also documented here:

https://wiki.gnome.org/Initiatives/Wayland/GTK%2B#XSettings
https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon#xsettings

No more blurry shell text in Wayland sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=645433

fix-645433-3.26 2017-10-27 07:50:57 UTC
Improve docs

Author: Daniel van Vugt
Author Date: 2017-10-27 07:50:57 UTC

Improve docs

fix-645433-v5 2017-10-26 09:29:35 UTC
eglnative: Use gnome-settings-daemon font settings

Author: Daniel van Vugt
Author Date: 2017-10-26 09:29:35 UTC

eglnative: Use gnome-settings-daemon font settings

While the X11 backend gets its font settings from XSettings, the native
backend did not use any user font preferences till now. So all shell fonts
were rendered with grayscale un-hinted, which some people describe as
"blurry text in Wayland sessions".

Although it's somewhat confusing using the "xsettings" schema on eglnative,
this is consistent with what GTK does already for its Wayland backend. It
is also documented here:

https://wiki.gnome.org/Initiatives/Wayland/GTK%2B#XSettings
https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon#xsettings

No more blurry shell text in Wayland sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=645433

fix-645433-v4 2017-10-25 10:01:10 UTC
eglnative: Use gnome-settings-daemon font settings

Author: Daniel van Vugt
Author Date: 2017-10-25 10:01:10 UTC

eglnative: Use gnome-settings-daemon font settings

While the X11 backend gets its font settings from XSettings, the native
backend did not use any font settings at all till now. So all shell fonts
were rendered with grayscale un-hinted, which some people describe as
"blurry text in wayland sessions".

Although it's somewhat confusing using the "xsettings" schema on eglnative,
this is consistent with what GTK does already for its Wayland backend. It
is also documented here:

https://wiki.gnome.org/Initiatives/Wayland/GTK%2B#XSettings
https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon#xsettings

No more blurry shell text in Wayland sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=645433

fix-789086-v5 2017-10-25 07:42:49 UTC
Allow Xwayland to leave core dumps

Author: Daniel van Vugt
Author Date: 2017-10-25 07:42:49 UTC

Allow Xwayland to leave core dumps

For historical Xorg-reasons, Xwayland would disable its own core dumps by
default. This is a problem because Xwayland crashing is the biggest cause of
gnome-shell crashes [1][2], and we still have no idea why due to there being
no dumps from Xwayland. So enable core dumping from Xwayland.

https://bugzilla.gnome.org/show_bug.cgi?id=789086

[1] https://bugs.launchpad.net/bugs/1505409
[2] https://bugs.launchpad.net/bugs/1556601

fix-789086-3.26 2017-10-25 07:41:11 UTC
Report more errors

Author: Daniel van Vugt
Author Date: 2017-10-25 07:41:11 UTC

Report more errors

fix-789086-v4 2017-10-24 09:04:53 UTC
Allow Xwayland to leave core dumps

Author: Daniel van Vugt
Author Date: 2017-10-24 09:04:53 UTC

Allow Xwayland to leave core dumps

For historical Xorg-reasons, Xwayland would disable its own core dumps by
default. This is a problem because Xwayland crashing is causing most of
the gnome-shell crashes [1][2], and we still have no idea why due to there
being no dumps from Xwayland. So enable core dumping from Xwayland.

https://bugzilla.gnome.org/show_bug.cgi?id=789086

[1] https://bugs.launchpad.net/bugs/1505409
[2] https://bugs.launchpad.net/bugs/1556601

fix-789086-v2 2017-10-17 11:46:23 UTC
Allow Xwayland to leave core dumps on real crashes

Author: Daniel van Vugt
Author Date: 2017-10-17 11:46:23 UTC

Allow Xwayland to leave core dumps on real crashes

For historical Xorg-reasons, Xwayland would disable its own core dumps by
default. This is a problem because Xwayland crashing is causing most of
the gnome-shell crashes [1], and we still have no idea why due to there
being no dumps from Xwayland. So enable core dumping from Xwayland.

https://bugzilla.gnome.org/show_bug.cgi?id=789086

[1] https://errors.ubuntu.com/?package=gnome-shell&period=year

fix-645433-v3 2017-10-10 07:20:40 UTC
eglnative: Use gnome-settings-daemon font settings

Author: Daniel van Vugt
Author Date: 2017-10-10 07:20:40 UTC

eglnative: Use gnome-settings-daemon font settings

While the X11 backend gets its font settings from XSettings, the native
backend did not use the font settings at all till now. So all shell fonts
were rendered with grayscale un-hinted, which some people describe as
"blurry text in wayland sessions".

Although it's somewhat confusing using the "xsettings" schema on eglnative,
this is consistent with what GTK does already for its Wayland backend. It
is also briefly mentioned here:

https://wiki.gnome.org/Initiatives/Wayland/GTK%2B#XSettings
https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon#xsettings

No more blurry shell text in Wayland sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=645433

fix-645433-v2 2017-10-10 04:21:37 UTC
eglnative: Use gnome-settings-daemon font settings

Author: Daniel van Vugt
Author Date: 2017-10-10 04:21:37 UTC

eglnative: Use gnome-settings-daemon font settings

While the X11 backend gets its font settings from XSettings, the native
backend did not use the font settings at all till now. So all shell fonts
were rendered with a grayscale un-hinted, which many people describe as
"blurry text in wayland sessions".

Although it's somewhat confusing using "xsettings" gsettings on eglnative,
this is consistent with what GTK does already for its Wayland backend. It
is also briefly mentioned here:

https://wiki.gnome.org/Initiatives/Wayland/GTK%2B#XSettings
https://wiki.gnome.org/Initiatives/Wayland/gnome-settings-daemon#xsettings

No more blurry shell text in Wayland sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=645433

123 of 23 results
This repository contains Public information 
Everyone can see this information.

Subscribers