--- - name: install packages apt: name: - alsa-utils - intel-gpu-tools - vainfo - va-driver-all - firmware-linux - ffmpeg - mpv - libdrm-tests state: present - name: install non-free vaapi drivers when: "'non-free' in (apt_repo_components | default([])) " apt: name: - i965-va-driver-shaders - intel-media-va-driver-non-free state: present - name: create player user user: name: player home: /var/lib/player create_home: no shell: /bin/sh system: yes groups: - video - render - audio state: present - name: create empty user dir for player file: path: /var/lib/player state: directory owner: player group: player - name: install .profile copy: content: | if [ -z "$DISPLAY" ]; then case $(tty) in /dev/tty1) setterm --clear=all --cursor off args="" for sysfs_f in /sys/class/drm/card*; do if [ -e "$sysfs_f/status" ] && [ $(cat "$sysfs_f/status") = "connected" ]; then connector=$(basename $sysfs_f | sed -E 's/card[0-9]+-//') args="$args -s $connector:{{ mpv_headless_video_mode | replace('@', '-') }}" fi done exec /usr/bin/modetest -F smpte $args #sleep inf ;; esac fi dest: /var/lib/player/.profile owner: player group: player - name: install play script copy: content: "{{ mpv_headless_play_script }}" dest: /var/lib/player/play owner: player group: player mode: 0755 - name: create override direcotry for getty@tty1 service unit file: path: /etc/systemd/system/getty@tty1.service.d state: directory - name: generate override for getty@tty1 service unit copy: content: | [Service] ExecStart= ExecStart=-/sbin/agetty --autologin player --noclear %I $TERM RestartSec=2 StartLimitInterval=5 StartLimitBurst=3 dest: /etc/systemd/system/getty@tty1.service.d/autologin.conf - name: make sure getty@tty1 service unit is enabled and started systemd: daemon_reload: yes name: getty@tty1.service state: started enabled: yes - name: prepare storage volume for /srv/media when: mpv_headless_media_storage is defined vars: storage_volume: "{{ mpv_headless_media_storage | combine({'dest': '/srv/media'}) }}" include_role: name: "storage/{{ mpv_headless_media_storage.type }}/volume"