💾 Archived View for jsreed5.org › misc › gemini-setup.gmi captured on 2024-07-08 at 23:51:59. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-12-28)
-=-=-=-=-=-=-
---
I own a Gemini PDA, made by Planet Computers in 2018. I found that with proper setup, the build of Debian released for the system made a surprisingly-usable daily driver, and I used it as my primary mobile PC for almost a year. This document was assembled from my own notes on how to configure the PDA to my liking.
All instances of square brackets are places where other information should be substituted in, unless otherwise noted.
I had a lot of difficulty being able to reflash the device. Apparently in 2021, both Windows 7 and Windows 10 support for the necessary driver is broken. I was able to flash the device using a live CD of Ubuntu 20.04.
Log in as the default user. Password is "gemini".
Check the amount of free space in /:
$ df -h
If it needs to be changed, use
$ sudo resize2fs -p /dev/[partition containing /]
Since I'm usually the only one using my machines, I like to remove sudo and force myself to actually switch to root before doing any superuser tasks.
Create a new user (without sudo access) with
$ sudo adduser [username]
Activate root account:
$ sudo passwd root
Log out of the default user and into the non-root user.
Delete default user:
$ su - # deluser gemini # rm -rf /home/gemini
Remove sudo:
# apt remove sudo
Connect to the Internet using connman.
Update and install programs:
# apt update
As of April 2023, the Debian 9 repos have been archived. You'll need to update from the archived repository:
# nano /etc/apt/sources.list.d/multistrap-debian.list
Replace everything in the file with the following:
deb [arch=arm64] http://archive.debian.org/debian stretch main contrib non-free
deb-src http://archive.debian.org/debian stretch main contrib non-free
You may need to install apt-transport-https right away.
# apt install apt-transport-https
If the Gemian repository gives a "no_pubkey" error, run the following.
# wget -O /root/archive-key.asc http://gemian.thinkglobally.org/archive-key.asc # apt-key add /root/archive-key.asc # rm -f /root/archive-key.asc
If you can't or don't want to do this, you can force updates from insecure repos by running:
# apt -o Acquire::AllowInsecureRepositories=true update
The Gemian repository is online as of 2023-11-21 but its certificate has expired. If the repository gives a "server certificate verification failed" error when updating, include the following option when using apt:
# apt -o Acquire::http::gemian.thinkglobally.org::Verify-Peer=false
LibreOffice tends to throw errors when updating. Fix these with:
# cd /var/cache/apt/archives/ # dpkg -i --force-overwrite libreoffice* # apt install -f
If LibreOffice still has problems, use:
# dpkg-divert --list # dpkg-divert --remove /usr/lib/libreoffice/share/basic/dialog.xlc # dpkg-divert --remove /usr/lib/libreoffice/share/basic/script.xlc
Now upgrade:
# apt upgrade
Remove unwanted and unused packages:
# apt remove gka-calendar-qt gka-contacts-qt gka-data-e ofono # apt autoremove
# apt install network-manager network-manager-gnome plasma-nm resolvconf # systemctl stop connman # systemctl disable connman # systemctl enable NetworkManager # systemctl start NetworkManager
Add localhost.localdomain to /etc/hosts to resolve any errors.
Reboot and connect to the Internet.
# dpkg-reconfigure tzdata # dpkg-reconfigure locales
# nano /etc/X11/xorg.conf
Replace everything in the "ServerFlags" section with the following:
Option "OffTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "BlankTime" "0"
$ sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf
Replace everything in the "libinput touchscreen catchall" section with the following:
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "mtrack"
Option "ScrollDistance" "40"
Option "FingerLow" "1"
Option "FingerHigh" "2"
Option "Sensitivity" "1.8"
Option "BottomEdge" "0"
Option "SwipeDistance" "100"
Option "ScaleDistance" "40"
Option "ButtonMoveEmulate" "false"
Option "ClickTime" "25"
Option "MaxTapMove" "55"
Option "EdgeBottomSize" "0"
Install depenencies:
# apt install build-essential debhelper git libmtdev-dev pkg-config xserver-xorg-dev xutils-dev
Install p2rkw's mtrack driver:
# git clone https://github.com/p2rkw/xf86-input-mtrack # cd xf86-input-mtrack # ./configure --prefix=/usr # dpkg-buildpackage -uc -us # cd .. # dpkg -i xserver-xorg-input-mtrack_0.5.0_arm64.deb # systemctl restart sddm
Reboot.
These settings will cause the cursor to auto-select items in PCManFM file manager after a short delay. I like this feature, so I've never bothered to learn how to change it.
Navigate to Menu -> Preferences -> LXQt Settings -> Session Settings -> Environment (Advanced). Set the following flags:
GDK_SCALE=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_SCALE_FACTOR=1
QT_SCREEN_SCALE_FACTOR=1
Navigate to Menu -> Preferences -> LXQt Settings -> Appearance -> Font.
Point size: 8
Resolution: 96
Open the terminal and navigate to File -> Preferences.
Font: DejaVu Sans Mono 8 pt
# nano /etc/chromium.d/default-flags
Append the following:
# Disable HiDPI
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --force-device-scale-factor=1.5"
Set other fonts to 8 as desired.
Right-click volume control and click "Configure "Volume control"".
Leave pulseaudio selected but change the dropdown to "Droid sink primary".
Change the external mixer to "alsamixer".
Plug in a pair of headphones.
# apt install pavucontrol
Navigate to Menu -> Sound & Video -> PulseAudio Volume Control and select Output Devices. Under Droid Sink Primary, set Port to "Output to wired headset (plugged in)".
$ blutoothctl
Enter the following commands:
> power on > agent on > pair [MAC address of mouse]
If you don't know the MAC address, run:
> scan on
Be sure to stop scanning afterward with:
> scan off
---
Find a nice wallpaper somewhere. I use Wallhaven or Google Earth.
The screen resolution is 2160 x 1080.
# apt install vim $ mkdir ~/.vim $ cd ~/.vim $ wget https://github.com/plasticboy/vim-markdown/archive/master.tar.gz $ tar --strip=1 -zxf master.tar.gz $ vim README.md
Starting hint: press zR to open all folds.
# apt install curl # curl -s https://syncthing.net/release-key.txt | apt-key add - # echo "deb https://apt.syncthing.net/ syncthing stable" | tee /etc/apt/sources.list.d/syncthing.list # apt update # apt install syncthing
Start Syncthing as a user service:
$ systemctl --user enable syncthing.service $ systemctl --user start syncthing.service
Sync any desired folders. I try to avoid paths with spaces.
$ sudo apt install keepass2
To install the TOTP plugin:
# cd /usr/lib/keepass2/Plugins # wget https://bitbucket.org/devinmartin/keeotp/downloads/KeeOtp-1.3.9.zip # unzip KeeOtp-1.3.9.zip # rm -f KeeOtp-1.3.9.zip LICENSE.txt README.txt
Ignore any incompatibility warnings, the plugin will work.
# apt install flatpak # flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Reboot.
$ flatpak install flathub fi.skyjake.Lagrange
Reboot again.
If libreoffice-core breaks all updates, run
$ sudo dpkg --remove --force-depends --force-remove-reinstreq libreoffice-core $ sudo apt autoremove $ sudo apt --fix-broken install
You should be able to update as usual.
---
[Last updated: 2023-11-21]