Desktop Environments

Phosh

Phosh is the default desktop environment. This page is about alternatives…

Sxmo - wayland/sway

Sxmo (x11/dwm) is not available.

Swmo is on Debian testing repo, to install it:

sudo apt install sxmo-utils

and select swmo on the session dropdown of the login screen.

on older system you might still disable phosh:

sudo systemctl disable phosh

sudo apt install sxmo-utils

sudo systemctl enable sxmo

sudo reboot

Or any other method to run this. Note that currently a reboot is needed after installing this package in order to re-run udev rules to create the symlink /dev/input/touchscreen .

Check the user guide for info about the gestures etc. https://man.sr.ht/~anjan/sxmo-docs/USERGUIDE.md and pmOS wiki: https://wiki.postmarketos.org/wiki/Sxmo/Tips_and_Tricks.

Sxmo's home page: https://sxmo.org/.

Debian patches it to use emoji instead of the original nerd fonts. You can download them from https://www.nerdfonts.com/font-downloads, extract them and place them under ~/.fonts, see https://wiki.debian.org/Fonts.

Then you need to revert the patches that changes them in the hooks: https://salsa.debian.org/DebianOnMobile-team/sxmo-utils/-/tree/debian/sid/debian/patches.

GNOME Shell

GNOME Shell is the default desktop environment from GNOME. It uses mutter and Wayland or X11.

To install it on an existing Mobian installation, perform the following:

sudo apt update

sudo apt install gdm3

sudo systemctl disable phosh && sudo systemctl enable gdm3

Then reboot.

The GNOME onscreen keyboard can be summoned by swiping up from the bottom of the screen.

With GDM/GNOME Shell, there is no limitation on your user password, unlike with older version of Phosh.

To switch between Phosh and GNOME Shell, all you have to do is enable/disable the conflicting services by running the following:

To enable GNOME Shell:  sudo systemctl disable phosh && sudo systemctl enable gdm3 && sudo reboot

To enable Phosh:  sudo systemctl disable gdm3 && sudo systemctl enable phosh && sudo reboot

GNOME Shell is better with some tweaks to the top bar, which can be performed by doing the following:

gsettings set org.gnome.desktop.interface scaling-factor 1  (then log out and back in)

sudo apt update

sudo apt install gnome-tweaks

wget https://extensions.gnome.org/extension-data/icon-hiderkalnitsky.org.v24.shell-extension.zip   #(Icon Hider)

wget https://extensions.gnome.org/extension-data/TaskBarc0ldplasma.v5.shell-extension.zip          #(Taskbar 2020)

wget https://extensions.gnome.org/extension-data/improvedoskluebke.io.v4.shell-extension.zip       #(Improved Onscreen Keyboard)

gnome-extensions install --force TaskBarc0ldplasma.v5.shell-extension.zip

gnome-extensions install --force icon-hiderkalnitsky.org.v24.shell-extension.zip

gnome-extensions install --force improvedoskluebke.io.v4.shell-extension.zip

Then log out and back in, and run the Tweaks app (if you cannot see the tabs, i.e. left side menu, in the gnome-tweaks app then you could try to switch to landscape mode). Under Fonts, change the scaling factor to 1.5, and then under Extensions enable both of the extensions, and tap their gear icons to change their settings. For Icon Hider, hide dwellClick, a11y, and keyboard. For Taskbar 2020, tap Panels on the left, then change Top Panel/Panel Size to 48, and Panel Content Size to -10. For Improved Onscreen Keyboard, change Portrait height to 20, Landscape height to 33, and make sure the checkbox for Resize Desktop is checked. You may need to log out and back in for all changes to apply.

You can also show the battery percentage at the right end of the top bar by running Tweaks, tapping Top Bar on the left panel, and enabling Battery Percentage.

Pinetab landscape mode

Put your gnome-shell to landscape mode or put the following file to '~/.config/monitors.xml'. This file example is Pinetab only.

<monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <primary>yes</primary>
      <transform>
        <rotation>right</rotation>
        <flipped>no</flipped>
      </transform>
      <monitor>
        <monitorspec>
          <connector>DSI-1</connector>
          <vendor>unknown</vendor>
          <product>unknown</product>
          <serial>unknown</serial>
        </monitorspec>
        <mode>
          <width>800</width>
          <height>1280</height>
          <rate>58.286083221435547</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>

If you want to have the gdm3 login in landscape too, do as root:

cp ~/.config/monitors.xml /var/lib/gdm3/.config/monitors.xml

reboot
Screenshots

GNOME Shell with default scaling on the Pinephone:

On the Pinetab with font scaling factor 1.20:

Lomiri

Lomiri is the desktop environment from Ubuntu Touch. It was originally Canonical's Unity desktop, but has been forked and maintained by UBports.

Lomiri is available in the main Debian repository. To install Lomiri run the following commands

sudo apt update

sudo apt install Lomiri

Plasma Mobile

Plasma Mobile has been packaged and uploaded to Debian main repo!

Installing Plasma Mobile is now as simple as

sudo apt update

sudo apt install plasma-mobile plasma-mobile-tweaks plasma-settings plasma-phonebook plasma-dialer spacebar angelfish okular-mobile

LXDE

LXDE is a lightweight X desktop. It is very fast on the Pinetab and usefull together with the keyboard / touchpad for the Pinetab. Here a picture with some tweaks (change font size at preferences, change panel hight and icon size).

The mousepointer is working out of the box in landscape mode, the touchpad does not rotate with the screen and need some tweaks. It is possible to install 'xinput' to use a command to rotate the touchscreen to the right position (270 degrees).

sudo apt install xinput # to install (only 1st time)
xinput list             # to verify the device name
# the next does the rotate to 270 degrees and the touchscreen is usable
xinput set-prop "pointer:Goodix Capacitive TouchScreen" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1

If everything is good this transform matrix can be used in a xorg .conf file to make it persistent.

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/40-libinput.conf

Edit the touchscreen part in /etc/X11/xorg.conf.d/40-libinput.conf to let it look like this (or your transform matrix).

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
EndSection

Using LXDE together with 'lightdm' a reboot to Phosh is possible for using the Pinetab without keyboard.

Maybe 'onboard' on LXDE is an option for a keyboardless Pinetab.