Files
odroid-stamper/custom/kodi/areascout/gbm/fixups/S65-setup-kodi
2024-04-08 16:27:33 +09:00

70 lines
2.9 KiB
Bash
Executable File

#!/bin/sh
# Kodi permissions
echo "I: set default groups for Kodi"
usermod -aG sudo,adm,audio,operator,input,video,tty,staff,games,users,plugdev,netdev,disk @@DEFAULT_USER@@
# Kodi Default Settings
# Adjust Refreshrate -> 'Always'
xmlstarlet edit --inplace \
--update "settings/section/category/group/setting[@id='videoplayer.adjustrefreshrate']/default" \
--value 1 \
/usr/share/kodi/system/settings/settings.xml
# Allow using DRM Prime Decoder to use H/W decoder
xmlstarlet edit --inplace \
--update "settings/section/category/group/setting[@id='videoplayer.useprimedecoder']/default" \
--value true \
--update "settings/section/category/group/setting[@id='videoplayer.useprimedecoderforhw']/default" \
--value true \
--update "settings/section/category/group/setting[@id='videoplayer.useprimerenderer']/default" \
--value 0 \
/usr/share/kodi/system/settings/linux.xml
# Add color prompt to both Root and User
sed -i '1iforce_color_prompt=yes' /root/.bashrc
sed -i '1iforce_color_prompt=yes' /home/@@DEFAULT_USER@@/.bashrc
# Create local user service to autostart Kodi
mkdir -p /home/@@DEFAULT_USER@@/.local/share/systemd/user
cat <<EOM > /home/@@DEFAULT_USER@@/.local/share/systemd/user/kodi.service
[Unit]
Description=Kodi for ODROID
StartLimitIntervalSec=0
[Service]
Type=simple
KillMode=process
Restart=no
@@ENVIRONMENT_HOME@@
ExecStart=/bin/bash -c 'sleep 4;/usr/bin/pulseaudio --start -D;/usr/bin/kodi --audio-backend=alsa;exit 0'
[Install]
WantedBy=default.target
EOM
sed -i "s|@@ENVIRONMENT_HOME@@|Environment=\"HOME=/home/@@DEFAULT_USER@@\"|g" /home/@@DEFAULT_USER@@/.local/share/systemd/user/kodi.service
chown -R @@DEFAULT_USER@@:@@DEFAULT_USER@@ /home/@@DEFAULT_USER@@/.local
chmod 644 /home/@@DEFAULT_USER@@/.local/share/systemd/user/kodi.service
# Enable service
mkdir -p /home/@@DEFAULT_USER@@/.config/systemd/user/default.target.wants
ln -s /home/@@DEFAULT_USER@@/.local/share/systemd/user/kodi.service /home/@@DEFAULT_USER@@/.config/systemd/user/default.target.wants/kodi.service
chown -R @@DEFAULT_USER@@:@@DEFAULT_USER@@ /home/@@DEFAULT_USER@@/.config
# Enable lingering for user who starts Kodi (user-manager will start automatically)
sed -i "s|#KillExcludeUsers=root|KillExcludeUsers=@@DEFAULT_USER@@|g" /etc/systemd/logind.conf
mkdir -p /var/lib/systemd/linger
touch /var/lib/systemd/linger/@@DEFAULT_USER@@
chmod 0644 /var/lib/systemd/linger/@@DEFAULT_USER@@
# Set environment variables for user, needed e.g to restart Kodi service if user exits to shell
echo 'export XDG_RUNTIME_DIR="/run/user/$UID"' >> /home/@@DEFAULT_USER@@/.bashrc
echo 'export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"' >> /home/@@DEFAULT_USER@@/.bashrc
# Set default Pulseaudio output sink for Kodi
sed -i 's|#set-default-sink output|set-default-sink 0|g' /etc/pulse/default.pa
# Do not exit Pulseaudio client if unused
sed -i 's/; exit-idle-time = 20/exit-idle-time = -1/g' /etc/pulse/daemon.conf