January 22nd 2018

linux, pinebook

Hacking and stripping Armbian for Pinebook (Ubuntu 16.04 based)


Get Rid of Login Manager, Back to Startx

systemctl disable graphical.target didn't cut it.
Armbian uses nodm, which has its own sysvinit service, but it can be disabled with: systemctl disable nodm. This brings me to a familiar console login after a reboot.

startx is possible, ~/.xinitrc is parsed. so far so good.
But now mpv cannot play video, only audio. Hmm. Compare output of env for X started via nodm, and via startx: VDPAU_DRIVER needs to be =sunxi (exported in ~/.xinitrc).

Ditch XFCE, back to openbox - What is xfce4-power-manager doing?

It is quite useful on a laptop. Except for one thing: It does not suspend on lid close. It is something I want automated. After a long search I installed mate-power-manager instead. Its footprint is equally small, and for some reason it recognizes the lid switch better. Next problem: it suspends alright, but doesn't lock. Short of installing mate-screensaver, I created a systemd service:

/etc/systemd/system/slock@.service

[Unit]
Description=User suspend actions
After=sleep.target
# notice here Ater= instead of Before=

[Service]
User=%I
Type=forking
Environment=DISPLAY=:0
ExecStart=/usr/bin/slock
#ExecStartPost=/bin/sleep 1 # not sure this is needed

[Install]
WantedBy=sleep.target

and enabled it with systemctl enable slock@ondoho.

Problems remain: it does not want to go to 'sleep' after some time of inactivity, just blanks the screen. Hmm.

Screen Brightness

There is no Fn-keys to increase or decrease screen brightness. mate-power-manager can control it, but only by going into the preferences dialog. Not very convenient. My efforts to create a custom script, bound to a hotkey, have failed because key repeat triggers the script hundreds of times...

Make Use of Dotfiles from Other Machine

As outlined here.
Caveat: I do not know (yet) how to incorporate changes made on the cloned repository, back into the source repository.
For now, I think I will rewrite some scripts to make use of the HOSTNAME environment variable: pinebook vs arch.

Make Boot Process Verbose, No Splash Image

edit /boot/armbianEnv.txt:

#console=both
console=ttyS0,115200

PS: this breaks something else, I had to undo it again.