Some notes on Flashing, including flash guides and alternative scatter files for other file-system disk space splits.

The Dualboot image lets you press the external key to boot Debian. If you downloaded the TP firmware prior to 6th March, then the keypress combination for Debian and Recover are swapped. If downloaded after then the silver external button launches Debian. Full info on key combinations Bootloader. The 11th May onwards downloads can be flashed with the kernels swapped to that you can default to linux, sliver button to Android.

The default user is 'gemini' with the password also 'gemini'.

I selected, lxqt - kwin.

Connect to WiFi to update from outside to get keyboard maps

The keyboard mapping is not yet setup correctly so you may want to connect to your local wifi and then ssh into the device to be able to type useful things like / or - as used in apt-get etc. I found that the 'Connman UI Setup' wifi password box had the ok/save button off the bottom of the screen. You can move oversized windows around by holding alt and dragging them. Once connected you can check the details tab for your local ip and ssh in from any other device on the network.

You can also connect over the USB cable:

ssh -Y gemini@10.15.19.82

The "-Y" option allows X11 apps to tunnel to the local desktop over the ssh session. (Useful later.)

Optionally, for a more useful shell switch to bash:

exec bash -l

You will still need to provide a connection to the internet back out of the device, this can be done by USB, but I just connected to wifi with connman. This is where the X11 tunneling over ssh comes into play:

cmst

Set a shell so that the device is usable

The gemini user has no default shell set:

sudo nano /etc/passwd

Add /bin/bash to the end of the line for the gemini user. Logout and login again.

More disk space

The updated image has minimal head room so the first thing to do is to on-line resize your root file system to make use of the space:

Audio

Audio won't work until you create some empty mount points and then reboot (probably leave the rebooting till you've updated the kernel - if it needs updating):

sudo mkdir /nvcfg
sudo mkdir /nvdata

To get the volume control to work you need to attach a mouse and right click on the volume control and select 'Configure "Volume Control"'. You need to keep the device as PulseAudio, but set it to 'Droid sink primary' for the output. Then set the External mixer to 'alsamixer'. (This option won't be available until after you've rebooted)

Locales

Locales are not installed so needs installing:

sudo apt-get install locales
sudo dpkg-reconfigure locales

You'll want to pick your language choice.UTF8 rather than the other options, eg en_GB.UTF-8.

Key maps and shortcuts

After an apt-get update you'll have the keymaps available. We've mapped most of the fn+[picture] to the nearest appropriate action. This is tested and works under lxqt+kwin, it required the lxqt-globalkeys to be changed so that it can handle named keys (such as 'Print' and 'XF86Tools') on modifier function. There is the upstream assumption that if a key is mapped to these names then that is its sole function, before the fix the shortcut key grabber was taking the entire key rather than the level3 modified version (fn+ as per the key map).

If you want to use a desktop environment other than lxqt you need to fix or disable the shortcuts configured in your choice of desktop. Gemian team are focusing on one slice of usable Debian not supporting every option.

Once you've done the updates the sddm (the login screen) has in its top edge a dropdown so you can pick the keyboard layout. This will set the keyboard for the session. Settings from within lxqt may override this, best avoided. You only need to select the keyboard once upon first login then later logins the keyboard will the be default configured by X. This may not appear to be the case until your first keyboard interaction, as there is an upstream bug where the keyboard is unknown until it the first key is pressed.

We are still adding to the list of fn+[picture] buttons configured by default, to get the latest you need to remove your .config/lxqt/globalkeyshortcuts.conf in your home directory and then logout and login again to get it to auto-repopulate with the new combinations. There is definitely something odd in the handling of this file in terms of keeping user customisations. Well tested patches welcome.

rm ~/.config/lxqt/globalkeyshortcuts.conf

Set Brightness

This can now be set from the keyboard shortcuts, you just need to update/dist-upgrade and reset the shortcuts as above.

Adding a new user

If you want to make new users you should first edit some config files to set the default's to ranges that avoid ID's used by android.
/etc/adduser.conf

Then before you login with x11 to your new user you need to copy the kwinrc file from the gemini user. If you don't do this you'll just get a black screen and mouse cursor.

Logout and login (remotely) to the new user then:

cp /home/gemini/.config/kwinrc ~/.config/

Update the kernel

IMPORTANT NOTE: Without updated kernel (2018-03-26-H4 or newer) the sleep on lid close does not work !!!

NOTE[HAZARD WARNING]: If you've used the Gemini Partition Tool to swap your primary boot to linux then its its no longer possible to update your kernel in this way. You'll have to go back to the flashing tool. If your primary boot is Android, you can safely upgrade the kernel from the Gemini itself.

Gemian now includes a branch of xkb with some initial keyboard maps, these need a newer kernel, this can be done on device without going back to the flashing system:

Updating to an experimental kernel

If you want to just try a one off version of a new kernel and you don't know if its going to work or not its best to pop it over the recovery partition, then boot holding the escape key (or whatever your boot loader normally gives you a dead android for)

Note: This is only useful for 'smoke' testing a new kernel, the lk bootloader doesn't init the modem for recovery. Ideally we'd have another boot partition available as per Bootloader for experimenting or another OS. If it fails then you want to boot back to (~ recovery | a known good kernel ~) and check /proc/last_kmsg for any useful info.

So that it will get installed as your session screensaver. As a bonus the external silver button now tells you the time without having to open the device first.

Note: You really do need repowerd and gemian-lock working together for sleep to work at all, also WiFi being on is known to reduce sleep efficiency significantly more than it does on Android. This needs setting for the logged in user and means that sleep only works after you've logged in.