mutter:wip/carlosg/drop-caps

Last commit made on 2019-11-13
Get this branch:
git clone -b wip/carlosg/drop-caps https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/carlosg/drop-caps
Repository:
lp:mutter

Recent commits

4d6f99c... by Carlos Garnacho

backend/native: Use high priority contexts for secondary GPUs

Ensure the context requests EGL_CONTEXT_PRIORITY_HIGH_IMG, and
that we use cogl_egl_create_context() to ensure that is honored.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

9e54e40... by Carlos Garnacho

backends: Drop rt-scheduler configuration key

This is no longer an experimental feature. Even if we wanted to,
GSettings spawns threads, which we want to avoid until we drop
capabilities.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

6ec6ea7... by Carlos Garnacho

core: Drop all capabilities on initialization

Add an optional dependency on libcap-ng, if the library is detected
drop all capabilities by default, in order to allow packagers/users
to do "setcap CAP_SYS_NICE=+ep `which gnome-shell`" and let it set
higher sched/egl priorities without preserving the capability forever.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

d8c4d78... by Carlos Garnacho

core: Set up EGL context creation thread before dropping capabilities

We do intend this thread to preserve the necessary capabilities to
create high priority EGL contexts. Set this thread up before we drop
these.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

b7a662b... by Carlos Garnacho

core: Set SCHED_RR by default on Wayland sessions

This still may fail if the executable is missing the right capability.
This can no longer depend on a setting as we want this to happen
before capabilities are dropped (and before other threads are spawned).

The necessary bits (eg. "setcap CAP_SYS_NICE=+ep `which gnome-shell`")
are still left up to users/distributors.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

9d61e6e... by Carlos Garnacho

core: Move unix signal handler later in the process

This does spawn a thread, so better to leave for late(r) initialization.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

231d9e3... by Carlos Garnacho

cogl: Defer EGLContext creation to a separate thread

This is rather pointless and complex at the moment, but will pay
off as we can then spawn this thread early enough that it keeps
capabilities to create high priority contexts.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

8907a29... by Hans de Goede <email address hidden>

cursor-renderer/native: Fix cursor drawing in combination with panel_orientation_transform

Properly take the panel_orientation_transform into account in
update_monitor_crtc_cursor. This fixes us sometimes drawing the cursor
on two monitors at the same time as we did not properly swap the crtc
width/height when a panel_orientation_transform is active.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/927

a5f9862... by Hans de Goede <email address hidden>

output-kms: Fix "panel orientation" kms-prop being ignored on native outputs

Actually store the panel_orientation_transform in the meta_output, so
that it gets honored by the core code.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/927

bcc519e... by Thomas Andersen

clutter: return correct enum type

clutter_event_get_scroll_finish_flags() should return a ClutterScrollFinishFlags
but due to what looks like a bad copy/paste it instead returns a
ClutterScrollSource on asserts.

The definitions of the enums are these:

typedef enum
{
  CLUTTER_SCROLL_SOURCE_UNKNOWN,
  CLUTTER_SCROLL_SOURCE_WHEEL,
  CLUTTER_SCROLL_SOURCE_FINGER,
  CLUTTER_SCROLL_SOURCE_CONTINUOUS
} ClutterScrollSource;

typedef enum
{
  CLUTTER_SCROLL_FINISHED_NONE = 0,
  CLUTTER_SCROLL_FINISHED_HORIZONTAL = 1 << 0,
  CLUTTER_SCROLL_FINISHED_VERTICAL = 1 << 1
} ClutterScrollFinishFlags;

The asserts would only return CLUTTER_SCROLL_SOURCE_UNKNOWN. This
is equal to CLUTTER_SCROLL_FINISHED_NONE which this patch uses
instead. Thus no functional change is intended. This only fixes a
compile warning.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/931