π₯§ Ubuntu 20.04 Server 2 Desktop on RPi4
Ubuntu 20.04 via RPi4 w/Official 7in LCD
And WM8860 GPIO soundcard addon (speakers)
Sign-in
username:
ubuntupassword:
ubuntupasswd- current password:
ubuntu
- current password:
sudo dpkg-reconfigure -plow unattended-upgradesManual updating from here on out–frees up system resources
nano /etc/netplan/50-cloud-init.yamlwifis: wlan0: option: true access-points: "WiFi SSID": password: "wifipassword"netplan applyreboot
sudo apt install openssh-server wireless-tools net-toolsrebootsudo apt update && sudo apt upgradesudo apt install libraspberrypi-binsudo apt install aptitude neofetch tmuxinator ranger sxiv yank xsel calcurse vim powerline ubuntu-desktopsudo apt install vim-gtk3 mplayer mpv w3m-img wavemon guake barrier pi-bluetooth dosbox
sudo apt install kubuntu-desktop lm-sensors
Gnome Display Mangager has surprisingly good touchpad support
sudo apt install gnome-tweaks gnome-shell-extensions chrome-gnome-shell dconf-editor lm-sensors
sudo useradd -d /home/user -m usersudo passwd userchsh -s /bin/bash usersudo apt install dkms git build-essential bc automakesudo apt install libgles2-mesa libgles2-mesa-dev xorg-devsudo groupadd sound,power (necessary? idk)sudo usermod -aG sudo,input,video,sound,power usersudo hostnamectl set-hostname supercoolrpi4hostnamesudo visudo++ user ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/refoot, /sbin/shutdownlogin to user
mkdir .sourcesmkdir .sources/installedsudo apt remove cloud-initcloud-init is unnecessary for a desktop environment
sudov /boot/firmware/cmdline.txt- Add after rootwait:
quiet splash plymouth.ignore-serial-consoles
- Add after rootwait:
Comment out changes to
/etc/netplan/50-cloud-init.yaml2023: I don’t have my RPi4 anymore–not sure what this means
reboot
sudov /boot/firmware/usercfg.txt++ # User added ++ dtoverlay=vc4-fkms-v3d ++ max_framebuffers=2 ++ gpu_mem=128 ++ hdmi_enable_4kp60=1reboot
Ethernet cable time
sudov /etc/modprobe.d/raspi-blacklist.confblacklist brcmfmac blacklist brcmutilBlacklist builtin drivers to make way for rtl8812au drivers
cd .sources/installedgit clone https://github.com/aircrack-ng/rtl8812ausudo apt install dkmssudo make ARCH=arm64 dkms_installreboot
check with wavemon first:
wavemonsudo iwconfig wlan0 freq 5.7G
git clone https://github.com/respeaker/seeed-voicecardcd .sources/installedcd seeed-voicecardsudo ./ubuntu-prerequisite.shsudo ./install.shreboot
apti gdebiwget http://ftp.us.debian.org/debian/pool/main/i/icu/libicu67_67.1-6_arm64.debwget http://ftp.us.debian.org/debian/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.0.6-4_arm64.debwget http://ftp.us.debian.org/debian/pool/main/libj/libjsoncpp/libjsoncpp24_1.9.4-4_arm64.debwget http://ftp.us.debian.org/debian/pool/main/r/re2/libre2-9_20210201+dfsg-1_arm64.debwget http://ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebpmux3_0.6.1-2.1_arm64.debwget http://ftp.us.debian.org/debian/pool/main/c/chromium/chromium-common_90.0.4430.212-1_arm64.debwget http://ftp.us.debian.org/debian/pool/main/c/chromium/chromium_90.0.4430.212-1_arm64.debAnd install (right click .deb in Files, and install with gdebi) via the order listed
Open Chromium, copy this to URL bar, and enable each option
chrome://flags/#ignore-gpu-blocklistchrome://flags/#enable-accelerated-video-decodechrome://flags/#enable-gpu-rasterization
If unconfigured
sudo sensors-detectsensors
Hackery to keep dpms enabled (screen turns off completely while inactive)
Create a script in a convienient place
#!/bin/bash while true do xset dpms sleep 30 donesudoc convenientscript.shsudo chmod +x script.sh
Find the ‘Startup Applications’ app, and autoload the script
- Grab the left side of the window and stretch the window until the other tabs are revealed (not ideal, but works).
SuperorWIN+LMB(left mouse button) to drag the window
- Security tab in settings
- Tried Docker via https://hub.docker.com/r/bshibley/steamlink-rpi, but there was an ARCH mismatch (arm64? Nay)
Running DBGL after compiling from source and the amd64 version spawns the same error..
(Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
Here’s one that appears to work
[Desktop Entry] Name=DOSBox Game launcher Comment=A graphical frontend for DOSBox Exec=/home/USER/.local/share/dbgl/dbgl Icon=/home/USER/.local/share/dbgl/dbgl.png Terminal=false Type=Application Categories=Game; StartupNotify=true
sudo apt install default-jre libusb-1.0-0-dev libusb-1.0-0 cabextractgit clone https://github.com/medusalix/xow.gitcd xowmake BUILD=RELEASEsudo make installrebootThe following to update or uninstall xow
sudo systemctl stop xowsudo systemctl disable xowsudo make uninstallrepeat git clone etc.
Active cooling? The SmartPi case is nice, but an additional fan is nicer.
Monitoring
watch -n 1 vcgencmd measure_clock arm
sudov /boot/firmware/config.txtTop of the file
++ over_voltage=6 ++ arm_freq=2147 ++ gpu_freq=750reboot