In case you need/want to do development on a Steam Deck, which runs a fork of Arch Linux, named Holo.
Set password for deck
user
The built-in user, named deck
, has no password. (A null password, not a blank/empty one.) Unfortunately, you need to use sudo
for some stuff, and for that you need to set a password. It is only used on the Desktop. Straightforward though
passwd
Add packages
Some tooling needs Python's serial
. xsel
pushes stuff in and out of the clipboard. These are added with the package manager, after initializing the keys and indexes. The core file system is also set as read-only, so that must be disabled temporarily
sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --populate holo
sudo pacman -S python-pyserial
sudo pacman -Fy
pacman -F xsel # what's the package name? The obvious one
sudo pacman -S xsel
sudo steamos-readonly enable
Install IDE
The AppImage version seems a little neater. There's a read-only /opt
in the root directory. To avoid modifying the core file system, the .AppImage
can be copied into a new directory in ~/.local
, which already contains all the Steam stuff, and more.
cd ~/.local
mkdir opt
cd opt
mv ~/Downloads/arduino-ide_2.3.4_Linux_64bit.AppImage .
chmod +x arduino-ide_2.3.4_Linux_64bit.AppImage
./arduino-ide_2.3.4_Linux_64bit.AppImage
Extract app icon
An .AppImage
mounts itself to run, and so its contents can be accessed. (One advantage of installing the ZIP version instead: this step is simpler.) The app icon is used when adding the IDE to the list of Applications for the Application Launcher. First, verify you can find the random directory; with the IDE running, ps
should print something like
$ ps --format command= `pgrep --oldest arduino-ide`
/tmp/.mount_arduinn7DYEg/arduino-ide
The same-name .png
icon is in the same directory (actually a link to a file elsewhere in the .AppImage
) so it can be copied with some light shell trickery
cp $(ps --format command= `pgrep --oldest arduino-ide`).png ~/.local/opt
Now, a new Application can be added, probably in the Development category. Enable "Show Hidden Files" in the file picker if you haven't already, to see the .local
directory when choosing both the Program and icon.
Enable serial port access
The user must have membership in a specific group to access the serial ports. On Debian/Ubuntu, this group is dialout
. With Arch
sudo usermod -a -G uucp deck
The added group does not take effect until the next login. It was not clear if just leaving the Desktop and returning would be enough. A reboot worked.