First steps with Pinetab

Ubuntu Touch came preinstalled

So I got myself a Pinetab with the keyboard and it came preload with Ubuntu Touch. Not going to write about Pine64, HW of the Pinetab etc. There is enough of that online. As usual I will dive in and write about what I did.
Not really happy with the preinstalled Ubports system, almost completely disappointed:

  • Very slow boot and reaction time.
  • Graphical software installation buggy and for the usage of apt root partition always needs to be re-mounted.
  • Nextcloud integration does not work, known bug. I didn't even get E-Mail setup correctly.

After messing around a day I almost gave up on the Pinetab, thinking this was an experiment that just didn't work. But then decided to try Mobian

Mobian

I downloaded the image and wrote it to the SD card. Put the card in the bootable SD port of the Pinetab and was amazed.
Initial boot from the SD card was really fast and I was able to setup a couple of basic things (E-Mail, contacts and calendar sync …) in a couple of minutes! So I decided to install it directly on the emmc.

Installation

Booted from the SD card, I re-download the latest image. Unpacked it and ran dd to write it to emmc. You will find instructions on the wiki.
After I rebooted without the card inserted that was it, installation finished.

Tweaks

  1. Fix landscape orientation as described on the wiki, otherwise the picture is upside down.

20201025 Not needed any more, the latest update of phosh gives us default landscape when docked. 20201020 Other possibility to fix the issue is to downgrade the phosh with apt install phosh=0.4.4-1. Positive point here is that phosh doesn't crash on suspend.

  1. Say to Gnome Initial Setup, that it is done with echo "yes" >> ./config/gnome-initial-setup-done. Otherwise the window comes up on every boot and you can not finish it, because the windows is too big for Phosh resolution.
  2. I do not like the keyboard layout, so I made my own. Packed with almost everything I need in the basic layout, I do not have to switch a lot. Place this somewhere in e.g. layout.yaml and link .local/share/squeekboard/keyboards/terminal_wide.yaml with it.
---
outlines:
    default: { width: 54, height: 42 }
    action:  { width: 54, height: 42 }
    altline: { width: 81, height: 42 }
    wide: { width: 108, height: 42 }
    spaceline: { width: 216, height: 42 }

views:
    base:
        - "Esc ! q w e r t y u i o p \\ [ ] ↑"
        - "Tab ? a s d f g h j k l - / ( ) ↓"
        - "Alt . Shift_L z x c v b n m & * $ BackSpace ←"
        - "Ctrl @ show_numbers show_actions preferences      space        ~ | # Return →"
    upper:
        - "Esc ! Q W E R T Y U I O P \\ [ ] ↑"
        - "Tab ? A S D F G H J K L - / ( ) ↓"
        - "Alt . Shift_L   Z X C V B N M & * $ BackSpace ←"
        - "Ctrl @ show_numbers show_actions preferences      space        ~ | # Return →"
    numbers:
        - "1 2 3 4 5 6 7 8 9 0"
        - "* # $ / & - _ + ( )"
        - "show_symbols   , \" ' colon ; ! ?  BackSpace"
        - "show_letters preferences         space        period Return"
    symbols:
        - "~ ` | · √ π τ ÷ × ¶"
        - "© ® £ € ¥ ^ ° @ { }"
        - "show_numbers_from_symbols   \\ % < > = [ ]  BackSpace"
        - "show_letters preferences         space        period Return"
    actions:
        - "F1  F2  F3  F4  F5  F6"
        - "F7  F8  F9  F10 F11 F12"
        - "Esc Tab Pause Insert Up Del"
        - "show_letters Menu Break Left Down Right"

buttons:
    Shift_L:
        action:
            locking:
                lock_view: "upper"
                unlock_view: "base"
        outline: "altline"
        icon: "key-shift"
    BackSpace:
        outline: "altline"
        icon: "edit-clear-symbolic"
        action: erase
    preferences:
        action: "show_prefs"
        outline: "action"
        icon: "keyboard-mode-symbolic"
    show_numbers:
        action:
            set_view: "numbers"
        outline: "wide"
        label: "123"
    show_numbers_from_symbols:
        action:
            set_view: "numbers"
        outline: "altline"
        label: "123"
    show_letters:
        action:
            set_view: "base"
        outline: "wide"
        label: "ABC"
    show_symbols:
        action:
            set_view: "symbols"
        outline: "altline"
        label: "τ=\\"
    show_actions:
        action:
            set_view: "actions"
        outline: "altline"
        label: ">_"
    period:
        outline: "altline"
        text: "."
    space:
        outline: "spaceline"
        text: " "
    Return:
        outline: "wide"
        icon: "key-enter"
        keysym: "Return"
    colon:
        text: ":"
    F1:
        outline: "action"
        keysym: "F1"
    F2:
        outline: "action"
        keysym: "F2"
    F3:
        outline: "action"
        keysym: "F3"
    F4:
        outline: "action"
        keysym: "F4"
    F5:
        outline: "action"
        keysym: "F5"
    F6:
        outline: "action"
        keysym: "F6"
    F7:
        outline: "action"
        keysym: "F7"
    F8:
        outline: "action"
        keysym: "F8"
    F9:
        outline: "action"
        keysym: "F9"
    F10:
        outline: "action"
        keysym: "F10"
    F11:
        outline: "action"
        keysym: "F11"
    F12:
        outline: "action"
        keysym: "F12"
    Esc:
        outline: "action"
        keysym: "Escape"
    Tab:
        outline: "action"
        keysym: "Tab"
    Del:
        outline: "action"
        keysym: "Delete"
    Insert:
        outline: "action"
        keysym: "Insert"
    Menu:
        outline: "action"
        keysym: "Menu"
    Pause:
        outline: "action"
        keysym: "Pause"
    Menu:
        outline: "action"
        keysym: "Menu"
    Break:
        outline: "action"
        keysym: "Break"
    Home:
        outline: "action"
        keysym: "Home"
    End:
        outline: "action"
        keysym: "End"
    PgUp:
        outline: "action"
        keysym: "Page_Up"
    PgDn:
        outline: "action"
        keysym: "Page_Down"
    "↑":
        outline: "action"
        keysym: "Up"
    "↓":
        outline: "action"
        keysym: "Down"
    "←":
        outline: "action"
        keysym: "Left"
    "→":
        outline: "action"
        keysym: "Right"
    Up:
        label: "↑"
        outline: "action"
        keysym: "Up"
    Left:
        label: "←"
        outline: "action"
        keysym: "Left"
    Down:
        label: "↓"
        outline: "action"
        keysym: "Down"
    Right:
        label: "→"
        outline: "action"
        keysym: "Right"
    Ctrl:
        modifier: "Control"
        outline: "action"
        label: "Ctrl"
    Alt:
        modifier: "Alt"
        outline: "action"
        label: "Alt"
  1. Install Emacs and ispell using apt. I need my editor :).
  2. Install Nextcloud Desktop client also using apt, it doesn't look nice but it works. I also installed KeePassXC to access my passwords.
  3. Setup E-Mail and Online Accounts, so that the contacts and calendar get synced with my Nextcloud.

Bugs that nerve the most

  1. Landscape has to be fixed in Phosh and can not be made persistent.
  2. On screen keyboard gets activated although mechanical keyboard is attached.
  3. Phosh crashes a lot.

So that was it …

I am using the Pinetab with this setup for the last couple of days and although there are a lot of rough edges (HW not fully supported, crashes, system is slow-ish …), it is usable as a light ultrabook (I wrote this post on it). But when I take a look at all the activity on the #mobian Matrix channel, the rough edges are definitely going to be sorted out.
So stay tuned and let's see what happens.

Happy hacking!!

License: CC BY-SA 4.0 Discuss on Mastodon