From patchwork Wed Sep 11 04:29:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 173565 Delivered-To: patch@linaro.org Received: by 2002:a05:6e02:ce:0:0:0:0 with SMTP id r14csp243612ilq; Tue, 10 Sep 2019 21:29:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqzbPzN4z5K1DJ2P7O5T/mugZsu6YXvd7FgoMpvX6aRHDjg5BI6Q8s0VPjTwhRsOAR32u41W X-Received: by 2002:a62:3586:: with SMTP id c128mr1269258pfa.105.1568176158035; Tue, 10 Sep 2019 21:29:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568176158; cv=none; d=google.com; s=arc-20160816; b=bE0xh0owTK0TW24ydoXj2vtOYfAncozv+dkHp4+airp0XD6N26q8PNvnebq06wGsRn k+DLEJKh0E/XtAQlHUjRttEHfyh/W7i/ufY9VBHynxNe/qiUb7IGOE/Qgjdcp9FRv3tv Yjxe4ZCugEEfJ2Jz2kGWiawm1y+gGrMUiKYZ0T+x472pylyJt2dUT+zwuEs1uI5l9fRp TeRPbxU8rWqapw/qi7Rcn70FEOad7Cejz/vDEggZQ30zTxvcjfID7GZfG6JwCVL2Mhtf wIniC5CjS87L27pUi/I68zcq1pQq1xC5G4luT5TT1wZYQPYgVjDPr1v6+bg4vTuWwf2n ZzaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :cc:mime-version:message-id:date:to:from:dkim-signature:delivered-to; bh=K4cP5/sRxotdYWn9gnP3sYs6L+ke8+lRe2MNF6twqVM=; b=C9UQyvjEn+/Y8ag+PTc3o7QqTVghtfZOzc2AaXb63uD++RxldA+6En6CGOKi3fGjH8 qrCD8KMSnKhlHAPHefC5NCY2t5YAdqf2PLfT9bYlEyMJ50Ht0sDw6dm1bdMnhPgkJSb3 OHSVjYr5F+lGsHymv3cEHLusgGOTjR79MmYtXM/4BICLWrp8kI0kYEk4NpX1/kkstGqK LNoVJwmJU/ZuLPXlHOk5ZZmXcaELlK2Y7oHOBd2iGHFbYr9Uua+7m8wFVKyM77DPSEh+ qQRloawV/4Ef0nf7vC2DFSjUtqKH1xGGneXml2Hfq+65+l0x8CKM168MGQnTrG7lkUqR D4Mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=cZoew79O; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id z9si17166231plo.66.2019.09.10.21.29.17; Tue, 10 Sep 2019 21:29:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=cZoew79O; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from ec2-34-214-78-129.us-west-2.compute.amazonaws.com (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id 9FB857F323; Wed, 11 Sep 2019 04:29:13 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by mail.openembedded.org (Postfix) with ESMTP id 153BF7E6EF for ; Wed, 11 Sep 2019 04:29:11 +0000 (UTC) Received: by mail-pg1-f172.google.com with SMTP id u72so10828374pgb.10 for ; Tue, 10 Sep 2019 21:29:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=zQMTIeMWssrSvCvY3Hxxb6XYZdc1jjvo6ToIRR/Ep+A=; b=cZoew79OFvtXHkadu26agP5FKASy3bUgrgwCcJRCBYqeTxcg+o5JZ6XQ7muPfl4zV8 Dj2rEWwxgOScDFbGHxI4vWWxxFDH3nUdAJv12hSiV43fVNXkDnmiNX5bw+gvvH4mb9su ioSH+k7Vctycqso9MZCsIQdKLhxlFc8AHEXs7UW9Y0JVuOof4fPvUaMhzv2jeHtP4/Qy TFhW+L6TE8OyYIIh5m2t1Zq3mrFE0BLj1j/EJlh570BNlfwTmkZoAmv8+1FAni2+jTbZ Vg9v8AnCHTXD/OVLpldNkZKzqYlKN624uWOLj6u1kCjyVPl7lwMN8xpIBEuZTrjYajmR /ciQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=zQMTIeMWssrSvCvY3Hxxb6XYZdc1jjvo6ToIRR/Ep+A=; b=WXRbPLdEKQ6HfMosIK1zT1/xiAOxNNWvJY6wn/xpoDrTyPh6+U2TP+mfqY9dTz2h0u qsradYW+SyDQhYqyLxTDSzbuerD2y0euRi8WjU+UWHKve1L+0yMClmwi3id3T9ONXLUk FsGL0YxZOwzkQByWQlYLt9tyJ6HF2TK3wuLX55WzpI/MFhgb01p22a56X5EII3j7BXHF kQ2Ef+jEteSQfoFkZFeQnTMnD+oOi2lXSNOYaj/HBrFzPsUaeHNGehgVwVC/2G4M3B93 mYcmJna3qHikRpyNoAyQKWMXn5IZ9nzJSoqhjeOQIMfCfSARnp8wjh54tmdiM3vKEXke 4m2A== X-Gm-Message-State: APjAAAVEWr8j1Rw3BwcFkMvcQrvniG6TPcvNO1rkFZnwUJilmBy9HA0Z OEWsmZd3FQm14MU6Z1D5tBdPF/TlAac= X-Received: by 2002:a17:90a:b78c:: with SMTP id m12mr3273060pjr.143.1568176152214; Tue, 10 Sep 2019 21:29:12 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net (c-73-71-176-3.hsd1.ca.comcast.net. [73.71.176.3]) by smtp.gmail.com with ESMTPSA id bb7sm1169148pjb.2.2019.09.10.21.29.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Sep 2019 21:29:11 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Date: Tue, 10 Sep 2019 21:29:03 -0700 Message-Id: <20190911042903.3047253-1-raj.khem@gmail.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Cc: Otavio Salvador Subject: [OE-core] [PATCH V3] weston-init: Add possibility to run weston as non-root user X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org These changes are from meta-96boards primarily Launch the session via a udev rule based on what kind of display device is available Signed-off-by: Khem Raj Cc: Otavio Salvador --- v2: Drop duplicate isntall rule and use systemd_system_unitdir v3: Use systemd_system_unitdir in FILES section too meta/recipes-graphics/wayland/weston-init.bb | 24 +++++- .../wayland/weston-init/71-weston-drm.rules | 2 + .../wayland/weston-init/weston.ini | 74 +++++++++++++++++++ .../wayland/weston-init/weston.service | 13 ---- .../wayland/weston-init/weston@.service | 37 ++++++++++ 5 files changed, 133 insertions(+), 17 deletions(-) create mode 100644 meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules create mode 100644 meta/recipes-graphics/wayland/weston-init/weston.ini delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.service create mode 100644 meta/recipes-graphics/wayland/weston-init/weston@.service -- 2.23.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 22ba5f3fb3..2c1cd1046c 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb @@ -3,15 +3,25 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" SRC_URI = "file://init \ - file://weston.service \ + file://weston.ini \ + file://weston@.service \ + file://71-weston-drm.rules \ file://weston-start" S = "${WORKDIR}" do_install() { install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston - install -Dm0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service - + install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini + + # Install Weston systemd service and accompanying udev rule + install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service + sed -i -e s:/etc:${sysconfdir}:g \ + -e s:/usr/bin:${bindir}:g \ + -e s:/var:${localstatedir}:g \ + ${D}${systemd_unitdir}/system/weston@.service + install -D -p -m0644 ${WORKDIR}/71-weston-drm.rules \ + ${D}${sysconfdir}/udev/rules.d/71-weston-drm.rules # Install weston-start script install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start @@ -28,4 +38,10 @@ RDEPENDS_${PN} = "weston kbd" INITSCRIPT_NAME = "weston" INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." -SYSTEMD_SERVICE_${PN} = "weston.service" +FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service" + +CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini" + +SYSTEMD_SERVICE_${PN} = "weston@%i.service" +SYSTEMD_AUTO_ENABLE = "disable" + diff --git a/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules b/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules new file mode 100644 index 0000000000..1a1b8bbda4 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules @@ -0,0 +1,2 @@ +ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service" +ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service" diff --git a/meta/recipes-graphics/wayland/weston-init/weston.ini b/meta/recipes-graphics/wayland/weston-init/weston.ini new file mode 100644 index 0000000000..1eecf48bc1 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston-init/weston.ini @@ -0,0 +1,74 @@ +# configuration file for Weston + +#[core] +#modules=xwayland.so,cms-colord.so +#shell=desktop-shell.so +#gbm-format=xrgb2101010 + +#[shell] +#background-image=/usr/share/backgrounds/gnome/Aqua.jpg +#background-color=0xff002244 +#background-type=tile +#clock-format=minutes +#panel-color=0x90ff0000 +#locking=true +#animation=zoom +#startup-animation=fade +#binding-modifier=ctrl +#num-workspaces=6 +#cursor-theme=whiteglass +#cursor-size=24 + +#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png +#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg +#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg +#animation=fade + +#[launcher] +#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png +#path=/usr/bin/gnome-terminal + +#[launcher] +#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png +#path=/usr/bin/weston-terminal + +#[launcher] +#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png +#path=/usr/bin/google-chrome + +#[launcher] +#icon=/usr/share/icons/gnome/24x24/apps/arts.png +#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower + +#[input-method] +#path=/usr/lib/weston/weston-keyboard + +#[output] +#name=LVDS1 +#mode=1680x1050 +#transform=90 +#icc_profile=/usr/share/color/icc/colord/Bluish.icc + +#[output] +#name=VGA1 +#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync +#transform=flipped + +#[output] +#name=X1 +#mode=1024x768 +#transform=flipped-90 + +#[libinput] +#enable_tap=true + +#[touchpad] +#constant_accel_factor = 50 +#min_accel_factor = 0.16 +#max_accel_factor = 1.0 + +#[screen-share] +#command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize + +#[xwayland] +#path=/usr/bin/Xwayland diff --git a/meta/recipes-graphics/wayland/weston-init/weston.service b/meta/recipes-graphics/wayland/weston-init/weston.service deleted file mode 100644 index 18f72626e0..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/weston.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Weston Wayland Compositor -RequiresMountsFor=/run - -[Service] -User=root -PAMName=login -EnvironmentFile=-/etc/default/weston -ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS - -[Install] -WantedBy=multi-user.target - diff --git a/meta/recipes-graphics/wayland/weston-init/weston@.service b/meta/recipes-graphics/wayland/weston-init/weston@.service new file mode 100644 index 0000000000..9ecf2ab069 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston-init/weston@.service @@ -0,0 +1,37 @@ +[Unit] +Description=Weston Wayland Compositor (on tty7) +RequiresMountsFor=/run +Conflicts=getty@tty7.service plymouth-quit.service +After=systemd-user-sessions.service getty@tty7.service plymouth-quit-wait.service + +[Service] +User=%i +PermissionsStartOnly=true + +# Log us in via PAM so we get our XDG & co. environment and +# are treated as logged in so we can use the tty: +PAMName=login + +# Grab tty7 +UtmpIdentifier=tty7 +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# stderr to journal so our logging doesn't get thrown into /dev/null +StandardOutput=tty +StandardInput=tty +StandardError=journal + +EnvironmentFile=-/etc/default/weston + +# Weston does not successfully change VT, nor does systemd place us on +# the VT it just activated for us. Switch manually: +ExecStartPre=/usr/bin/chvt 7 +ExecStart=/usr/bin/weston --log=${XDG_RUNTIME_DIR}/weston.log $OPTARGS + +IgnoreSIGPIPE=no + +#[Install] +#Alias=multi-user.target.wants/weston.service