Support #980
Updated by Daniel Curtis about 16 hours ago
This is a guide for installing MagicMirror with Debian Bookworm on a Raspberry Pi 2 h2. Prepare the Environment * Make sure everything is up to date: <pre> sudo apt update && sudo apt upgrade </pre> * Install nodejs repo: <pre> curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh sudo bash nodesource_setup.sh </pre> * Install required dependencies: <pre> sudo apt install wayfire seatd xdg-user-dirs git nano openssl ca-certificates wget gnupg libgtk-3-0 libx11-xcb-dev libnss3-dev libxss1 libxtst6 libasound2 libdrm2 libgbm1 fonts-arphic-uming procps arp-scan libatk1.0-0 libraspberrypi-bin libllvm14 libgl1-mesa-dri libglapi-mesa libsensors5 libdrm-radeon1 libelf1 libdrm-amdgpu1 libdrm-nouveau2 libgpiod-dev nodejs </pre> * Edit @cmdline.txt@ : <pre> sudo nano /boot/firmware/cmdline.txt </pre> * Add *wayland=on* to the command line options: <pre> console=serial0,115200 console=tty1 root=PARTUUID=ef31a647-01 rootfstype=ext4 fsck.repair=yes wayland=on rootwait cfg80211.ieee80211_regdom=US </pre> * Create the magicmirror user and add it to the video group: user: <pre> sudo adduser --uid 1001 -ingroup users --shell /bin/bash --comment "magicmirror" mm sudo usermod -aG video mm </pre> * Create a wayfire service file: <pre> sudo nano /etc/systemd/system/wayfire.service </pre> #* And add the following: <pre> [Unit] Description=Wayfire Wayland Compositor After=rc-local.service [Service] User=mm User=root Type=simple ExecStart=/usr/bin/wayfire ExecStart=su - mm -c "/usr/bin/wayfire -c /home/mm/.config/wayfire.ini" Restart=on-failure Environment=XDG_RUNTIME_DIR=/var/run/user/1001 [Install] WantedBy=multi-user.target </pre> * Reload systemd and enable the service at boot: <pre> sudo systemctl daemon-reload sudo systemctl enable wayfire </pre> h2. Install MagicMirror * Switch to the magicmirror user: <pre> sudo su - mm </pre> * Add *XDG_RUNTIME_DIR* to @.bashrc@: <pre> echo "export XDG_RUNTIME_DIR=/run/user/1001" >> ~/.bashrc </pre> * Clone the MagicMirror repository: <pre> git clone https://github.com/MagicMirrorOrg/MagicMirror </pre> * Install the application: applicationy: <pre> cd MagicMirror npm run install-mm </pre> * Create the config file: <pre> cp config/config.js.sample config/config.js </pre> h2. Autostart MagicMirror * Create a launch script: <pre> nano /home/mm/launch-mm.sh </pre> #* And add the following: <pre> #!/bin/bash cd /home/mm/MagicMirror npm run start:wayland </pre> #* Don't forget to make it executable: <pre> chmod +x /home/mm/launch-mm.sh </pre> * Create a wayfire config <pre> nano /home/mm/.config/wayfire.ini </pre> #* And add the following: <pre> [core] plugins = autostart [autostart] boot = /home/mm/launch-mm.sh </pre> h2. Resources * https://docs.magicmirror.builders/getting-started/installation.html * https://github.com/sdetweil/MagicMirror_scripts/blob/master/raspberry.sh * https://gitlab.com/khassel/magicmirror/-/raw/master/build/Dockerfile-debian?ref_type=heads * https://gist.github.com/seffs/2395ca640d6d8d8228a19a9995418211 * https://www.raspberrypi.com/documentation/computers/configuration.html#wayland * https://utdream.org/xdg_runtime_dir-is-invalid-or-not-set-on-raspberry-pi-5/ * https://forums.raspberrypi.com/viewtopic.php?t=376273