summaryrefslogtreecommitdiffstats
path: root/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service
blob: 4ee14de2747f51819d8551615c050146e63c9764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# This is a system unit for launching AGL compositor with auto-login as the
# user configured here.
#
# AGL compositor and Weston must be built with systemd support, and your
# weston.ini must load the plugin systemd-notify.so.
#
# Attention:
# If you will add new tty dependency setting, you need to update 
# agl-compositor-guest.conf.
[Unit]
Description=AGL compositor
Documentation=man:weston(1) man:weston.ini(5)
Documentation=http://wayland.freedesktop.org/

# Make sure we are started after logins are permitted.
Requires=systemd-user-sessions.service
After=systemd-user-sessions.service

# D-Bus is necessary for contacting logind. Logind is required.
Wants=dbus.socket
After=dbus.socket

# Ensure the socket is present
Requires=agl-compositor.socket

# Since we are part of the graphical session, make sure we are started before
# it is complete.
Before=graphical.target

# Prevent starting on systems without virtual consoles, Weston requires one
# for now.
ConditionPathExists=/dev/tty0

[Service]
# Requires systemd-notify.so Weston plugin.
Type=notify
EnvironmentFile=-/etc/default/agl-compositor
ExecStart=/usr/bin/agl-compositor --modules=systemd-notify.so

# Watchdog setup
TimeoutStartSec=60
WatchdogSec=20

# The user to run as.
User=agl-driver
Group=agl-driver

# Make sure the working directory is the users home directory
WorkingDirectory=/home/agl-driver

# Set up a full user session for the user
PAMName=agl-compositor-autologin

# A virtual terminal is needed.
TTYPath=/dev/tty7
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes

# Fail to start if not controlling the tty.
StandardInput=tty-fail
StandardOutput=journal
StandardError=journal

# Log this user with utmp, letting it show up with commands 'w' and 'who'.
UtmpIdentifier=tty7
UtmpMode=user

[Install]
# Note: If you only want weston to start on-demand, remove this line with a
# service drop file
WantedBy=graphical.target