💾 Archived View for jsreed5.org › misc › gemini-setup.gmi captured on 2022-04-28 at 17:43:15. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-04)

➡️ Next capture (2023-12-28)

-=-=-=-=-=-=-

Gemini PDA Setup

---

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.

Base Setup

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".

Storage

Check the amount of free space in /:

$ df -h

If it needs to be changed, use

$ sudo resize2fs -p /dev/[partition containing /]

User Setup

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

$ 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

Update

Connect to the Internet using connman.

Update and install programs:

# apt update

Troubleshooting

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

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

Change Programs

Remove unwanted and unused packages:

# apt remove gka-calendar-qt gka-contacts-qt gka-data-e ofono
# apt autoremove

Switch to Network Manager

# 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.

Configuration

Time Zone and Locale

# dpkg-reconfigure tzdata
# dpkg-reconfigure locales

Disable screen lock:

# 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"

Switch to relative mouse input:

$ 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.

Suppress HiDPI

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.

Fix volume control

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".

Send sound only to headphones

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)".

Pair a Bluetooth Mouse

$ 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.

Install and Configure Programs

Interact with Markdown formatting in Vim:

# 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.

Install and set up Syncthing:

# 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.

Install Keepass:

$ 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.

Install Lagrange

# 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.

Other useful programs

Troubleshooting

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.

---

Up One Level

Home

[Last updated: 2021-10-28]