[PATCH weston] launcher-util: pull in drm only for compositor-drm

Tomeu Vizoso tomeu at tomeuvizoso.net
Tue Oct 1 03:30:17 PDT 2013


With this patch plus the one I just sent about drop_privileges,
weston-launch can be used on the rpi.

Thanks!

Tomeu


On 27 September 2013 19:58, Adrian Negreanu <groleo at gmail.com> wrote:

> From: Adrian Negreanu <adrian.m.negreanu at intel.com>
>
> Add drm_set_master and drm_drop_master
> as wrappers for drm(Set|Drop)Master, when building compositor-drm
> or as empty functions otherwise.
>
> Signed-off-by: Adrian Negreanu <adrian.m.negreanu at intel.com>
> ---
>  src/launcher-util.c |   28 ++++++++++++++++++++++++----
>  1 file changed, 24 insertions(+), 4 deletions(-)
>
> diff --git a/src/launcher-util.c b/src/launcher-util.c
> index a2ad0ec..bdddbb8 100644
> --- a/src/launcher-util.c
> +++ b/src/launcher-util.c
> @@ -40,7 +40,9 @@
>  #include <linux/kd.h>
>  #include <linux/major.h>
>
> +#ifdef BUILD_DRM_COMPOSITOR
>  #include <xf86drm.h>
> +#endif
>
>  #include "compositor.h"
>  #include "launcher-util.h"
> @@ -196,6 +198,26 @@ weston_launcher_data(int fd, uint32_t mask, void
> *data)
>         return 1;
>  }
>
> +#ifdef BUILD_DRM_COMPOSITOR
> +static int
> +drm_drop_master(int drm_fd)
> +{
> +       if (drm_fd != -1)
> +               return drmDropMaster(drm_fd);
> +       return -EBADF;
> +}
> +static int
> +drm_set_master(int drm_fd)
> +{
> +       if (drm_fd != -1)
> +               return drmSetMaster(drm_fd);
> +       return -EBADF;
> +}
> +#else
> +static int drm_drop_master(int drm_fd) {return 0;}
> +static int drm_set_master(int drm_fd) {return 0;}
> +#endif
> +
>  static int
>  vt_handler(int signal_number, void *data)
>  {
> @@ -205,13 +227,11 @@ vt_handler(int signal_number, void *data)
>         if (compositor->session_active) {
>                 compositor->session_active = 0;
>                 wl_signal_emit(&compositor->session_signal, compositor);
> -               if (launcher->drm_fd != -1)
> -                       drmDropMaster(launcher->drm_fd);
> +               drm_drop_master(launcher->drm_fd);
>                 ioctl(launcher->tty, VT_RELDISP, 1);
>         } else {
>                 ioctl(launcher->tty, VT_RELDISP, VT_ACKACQ);
> -               if (launcher->drm_fd != -1)
> -                       drmSetMaster(launcher->drm_fd);
> +               drm_set_master(launcher->drm_fd);
>                 compositor->session_active = 1;
>                 wl_signal_emit(&compositor->session_signal, compositor);
>         }
> --
> 1.7.9.5
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20131001/1ad4d813/attachment.html>


More information about the wayland-devel mailing list