mutter:wip/wayland-bare-metal

Last commit made on 2013-08-28
Get this branch:
git clone -b wip/wayland-bare-metal https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/wayland-bare-metal
Repository:
lp:mutter

Recent commits

7f07b4a... by Giovanni Campagna <email address hidden>

Add keybindings for switching VTs

Once mutter is started from weston-launch on its own VT, there is
no way to change VT again (for example to actually start an application),
because the keyboard is put in raw mode.
So introduce some keybindings mimicking the standard X ones (Ctrl+Alt+Fn)
that switch the VT manually when activated.

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

c9a9c5f... by Giovanni Campagna <email address hidden>

wayland: add TTY and DRM master management

Now that we have a setuid launcher binary, we can make use of
using a private protocol through the socket we're passed at startup.

We also use the new hook in clutter-evdev to ask mutter-launch for
the FDs of the input devices we need, and we emulate the old X
DRM lock with a nested GMainContext without sources.

In the future, mutter-launch will be replaced with the new logind
API currently in development.

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

04aff06... by Giovanni Campagna <email address hidden>

mutter-launch: augment with VT and TTY handling

Set the TTY mode appropriately at startup, and clean it up
when the compositor exits. Also, take control of VT switching,
and make sure that the compositor calls drmDropMaster when switched
away.
In the future, we the kernel implements the mute evdev ioctl,
we'll also make sure that input devices are appropriately released.

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

1cb5284... by Giovanni Campagna <email address hidden>

mutter-launch: use systemd to obtain the TTY

Using the command line or an environment variable is dangerous,
as those can be spoofed to gain access to other sessions.

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

b1e758b... by Giovanni Campagna <email address hidden>

mutter-launch: make sure that the spawned binaries sees the right libraries

Being a setuid binary, our LD_LIBRARY_PATH is cleared by glibc at
startup, but we need the spawned binary to see it, otherwise
jhbuild doesn't work, so hardcode it using the configured libdir.

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

96753bb... by Giovanni Campagna <email address hidden>

mutter-launch: simplify by removing features we don't need

Remove the ability to launch as a different user, which we don't
need because we're spawned by gdm or by the user manually on the
command line.
At the same time, require an active local session, and remove
the ability to run from anywhere by being in the right user group
(which automatically gives you root-like privileges)

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

33b06f9... by Giovanni Campagna <email address hidden>

wayland: import weston-launch setuid launcher

To run mutter as a display server, one needs to acquire and
release the DRM master, which is only possible for root, so
we take advantage of weston-launch, a small setuid helper binary
written for the weston project. We import our own slightly
modified copy of it, because weston-launch only launches weston,
for security reasons.

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

c9830c1... by Jasper St. Pierre

screen: Remove unused variable

9a4783e... by Giovanni Campagna <email address hidden>

Integrate the monitor manager with wayland

Use the right backend when running as a wayland compositor,
export the data to wayland clients, and use it to keep the stage
appropriately sized.

aa15c09... by Giovanni Campagna <email address hidden>

Merge tag 'xrandr_branch_point' into wayland-kms-base

Conflicts:
 src/Makefile.am
 src/core/display.c
 src/core/screen-private.h
 src/core/screen.c