The PineTab 2, released by Pine64 in April 2023, is an open-source Linux device that combines features of both a laptop and a tablet. It has the ability to run Linux and Android containers concurrently.
Here are my setups and tweaks for Pine64 Pinetab 2 (ARM variant, 8GB/128GB). I hope these experiences can be used as a reference for users who want to use Linux tablet as a daily driver.
- OS: Arch Linux ARM by danctnix
- Desktop Envrionment: GNOME (Wayland) and Phosh (Wayland)
Why do I write this ? I had written two reviews of Pinetab 2, including unboxing and my thoughts of daily driving Pinetab for 3 months. However, the system of this tablet will be constantly updated, and I have to keep track of the latest development progress (even if the system software is difficult to be finished in a short period of time). Next, although the performance of RK3566 is terrible, I still daily drive this tablet in school. Therefore, I create this posts to keep track the development status of this tablet, and list all my setups here.
The Operating System#
I use Arch Linux ARM. I had reinstalled the system to get rid of bloated KDE and installed GNOME desktop.
I reinstalled Arch Linux using the barebone image on Github. Firstly I flashed the OS image to sdcard (Mobian or postmarketOS, either will be OK), and booted the OS from sdcard. Then I downloaded the ISO in and dd
the Arch Linux image to the internal eMMC of Pinetab 2.
I like Arch because of the unlimited resources of AUR, also I could receive the updates quicker. If you want stable release distros, you could try Mobian, postmarketOS or Ubuntu touch. Before erasing the internal emmc, you could boot new OS from SD card in the first place.
The Desktop Environment#
In my opinon, there is no single desktop enviornment which could handle desktop mode and tablet mode (touch-only) well in the mean time. So, I installed two desktop environments: GNOME and Phosh.
Install GNOME and Phosh from the official repository of Arch Linux ARM.
sudo pacman -S gnome phosh
Use GDM as display manager so you can swtich DE easily
sudo systemctl enable gdm
For me, GNOME is used for “desktop mode”, for example, browsing the webs, remote developing and writing notes. The on-screen keyboard can be activated in GNOME settings.
Also, I install GJS OSK to get a floating keyboard. It is better than the built-in GNOME keyboard. Now I can type Chinese using this keyboard. Thanks to Github@proton-penguin ’s recommendation.
On the other hand, Phosh is used for “tablet mode”. When treating Pinetab 2 as a tablet, I will disconnect the keyboard case and held it on my hands to read academic papers or e-books. Phosh is more touch-friendly than GNOME.
Tip: After Phosh v0.35.0, you have to long-click the bar at the bottom to activate the squeekboard.
When the keyboard is connected, Phosh will automatically enter Docked Mode. At this time, windows are allowed to overlap, and the position and size of the windows can be adjusted by dragging.
The minimize and maximize buttons of the window would be disabled by Phosh. When you go back to GNOME, use gsettings
to re-enable them.
gsettings set "org.gnome.desktop.wm.preferences" button-layout "appmenu:minimize,maximize,close"
The internal Wifi driver#
I was using a MT7601 wifi dongle before the release of bes2600 driver.
Now, the bes2600 wifi driver is working on Arch Linux ARM. The performace of driver is good. It runs at full speed! After the kernel update in May 2024, the Wifi driver should no longer cause PineTab 2 to freeze and it can enter suspend mode normally.
You can enable auto load wifi modules on boot:
echo bes2600 | sudo tee /etc/modules-load.d/bes2600.conf
Rotating issues#
To get auto screen rotation working, install iio-sensor-proxy:
sudo pacman -S iio-sensor-proxy
sudo systemctl enable --now iio-sensor-proxy
Install Screen roate extension to control the auto rotation of GNOME shell.
iio-sensor-proxy will also enable the feature of power button: Press to enter suspending mode.
Must-have apps#
- Firefox. It is very laggy for no reason on this device so I rarely use it.
- Brave or Chromium. I need to use Chromium browsers, Google Chrome is not available for arm64 platform.
- Flatpak. Easily installing software. Plus there is another advantage: Sometimes the native packages of Chromium browsers crash on Arch Linux due to the graphics drivers bugs, while flatpak versions still work because they bundle their own drivers, so the flatpak application won’t be affected by the system changes.
- Fcitx5 for Chinese Pinyin input method.
- “Drawing” by maoschanz for editing photos on touch screen.
- Okular for reading PDFs. It is blazing fast and feature-riched.
- KOReader. A lightweight PDF reader.
- Joplin Desktop for taking notes. You can also use text-based frontend joplin-cli.
- xournal++ for hand-written notes. Remember to enale touch input in settings. Since Pinetab 2 does not support pressure-sensitive stylus, so you could only use generic stylus. Don’t forget to wear your glove.
- EasyEffects + Auto Gain Presets. Making speakers sounds a little bit better.
- GSConnect. A KDE-Connect-compatible client.
- LocalSend for sharing files.
- Moonlight Game Streaming for remote desktop and gaming.
- Visual Studio Code
- VIM
- Distrobox. Use Docker as backend.
- ytfzf. Watching Youtube videos in the terminal.
Waydroid for running Android APPs#
For Arch Linux ARM, please use the following commands to install Waydroid:
sudo pacman -Syu
sudo pacman -S python-pyclip xclip wl-clipboard mailcap
yay -S waydroid-image-gapps
sudo waydroid init -f
sudo systemctl enable --now waydroid-container
sudo ufw allow 53
sudo ufw allow 67
sudo ufw default allow FORWARD
sudo ufw reload
sudo systemctl restart waydroid-container
For detailed usage of Waydroid, please refer to: Waydroid - Arch Wiki
Install Orientation Faker to manually control the screen orientation of Android. Because if you rotate the GNOME screen, the Waydroid window will be cut in half. Therefore, you should turn off GNOME’s automatic rotation, and then manually rotate the screen oreintation through the app in Waydroid.
If you want to run Android APP in GNOME full screen, please install the Auto hide top bar extension.
Box64 + Wine for running Windows exe#
Most of the Windows programs supported by Wine are of x86 architecture. ARM-based Linux systems must use Box64 to translatie instructions to execute x86 programs.
I haven’t figured out what dependencies Arch Linux ARM needs to run Wine, so I took the approach of running Box86 in a Debian chroot container. For detailed instructions, see Playing x86 Steam games on ARM Linux devices using Box86 + Wine
Things that yet to be completed#
- Bluetooth driver
- Camera driver
Check out PineTab2 wiki for more details.