PineTab2 Notes: Getting Things Working
Things Iâve had to do on my PineTab2 to get various features working and/or usable.
Charging
It wonât charge from zero while off. I have to I plug it in, then turn it on, then let it charge.
Automatic Screen Rotation (Overall and Plasma)
I had to install the package to detect the rotation sensors:
sudo pacman -S iio-sensor-proxy
And uncheck the âtablet mode onlyâ box in KDE Plasma settings.
Note that if you switch to another login manager, youâll need to use a different method to rotate the screen. (See SDDM below).
Performance: LXQt
KDE Plasma is really nice! Itâs also really slow on this hardware. I switched to LXQt to speed things up.
sudo pacman -S lxqt
LXQt Network Manager
To be able to connect and disconnect to networks under LXQt, I installed nm-tray from AUR. TODO: add notes on building AUR packages.
XOrg and LXQt: Rotate Touchscreen Inputs
The touchscreen input doesnât automatically rotate along with the display under all desktop environments. Plasma seems to detect it just fine, but LXQt needs help.
I got the touchscreen rotated in LXQt (on X11), based on cgbarrosâ posts on fixing it in Sway. I just had to locate the X11 way of doing it and figure out which package xinput and xrandr were in!
This installs xinput:
sudo pacman -Sy xorg-xinput
Now put this in a file, say rotate-touchscreen.sh
and make it executable. It can be in your own directory if youâre the only user, since itâs going to be run under your login.
#!/bin/sh
xinput map-to-output 'pointer:Goodix Capacitive TouchScreen' DSI-1
Go to LXQt Settings>Session Settings>Autostart and add a new entry to the global list called âRotate Touchscreenâ pointing to the script.
Check the box for âWait for system tray.â
Alternate Login: SDDM Screen Rotation
I eventually uninstalled Plasma entirely, which left me with SDDM as the main login managerâŚbut without KDE Settings to manage rotation, I had to do it manually. Fortunately the tools are installed now, after adding them for LXQt.
Edit /usr/share/sddm/scripts/Xsetup
to include:
xrandr --output DSI-1 --rotate right --auto
xinput map-to-output "pointer:Goodix Capacitive TouchScreen" "DSI-1"
The first line (based on this post by knwt) rotates the login screen to match the keyboard. The second is the same one that rotates the touchscreen inputs to match the display.
WiFi Network
At the time the PineTab2 shipped, the network driver for the built-in WiFi chip was not complete. I used a USB WiFi dongle for a few months.
Steps to get it working:
Update the system using a network adapater:
sudo pacman -Syu
Reboot to the new kernel.
Test the network access:
sudo modprobe bes2600
Enable it on boot:
sudo -i
echo bes2600 | sudo tee /etc/modules-load.d/bes2600.conf
exit
Bluetooth
Same chip as the WiFi. According to the same post, enabling Bluetooth support:
sudo pacman -S bluez-deprecated-tools
sudo -i
echo ifname:bt cmd:BT_ON > /dev/bes2600
rfkill unblock bluetooth
hciattach -s 1500000 /dev/ttyS1 any 1500000 flow nosleep
hciconfig hci0 up
exit
sudo systemctl enable bluetooth
again, via moobythegoldensock, cross-posted on Reddit
I havenât been able to get Bluetooth to work, though. Running the hciattach
command always results in this error:
Canât get port settings: Input/output error
Canât initialize device: Input/output error
Iâm not the only one running into this issue, and thereâs some followup by cringeops in the same thread, but itâs not clear yet why it works for some people and not others, even using the same distribution.
Suspend/Resume Hanging
I was having issues under LXQt where the screen would turn off for inactivity and then not turn back on until I rebooted. This may be fixed.
Simpler Lock Screen on LXQt
After I completely uninstalled KDE Plasma, I needed something to handle screen locking for LXQt. Based on wxlâs answer I ended up installing xautolock to handle the signals, and xtrlock to handle the actual lock screen.
sudo pacman -Syu xautolock xtrlock
And then I added an autostart item in the LXQt settings containing the following command:
xautolock -locker "xtrlock -b"
Note that xtrlock does not echo keyboard input! You unlock it by just typing your password on a mostly blank screen with a lock icon for a mouse cursor and hitting ENTER.
AUR Packages Without ARM Support
Upstream Arch Linux is all about x86_64. The Danctnix project is a port to aarch64. Packages in the Arch User Repository (AUR) donât always support building for ARMâŚbut the upstream projects often do. At the time I installed nm-tray, I had to change the arch=
line in the PKGBUILD file to read:
arch=('x86_64' 'aarch64')
After I reported to the package owner that it works, they updated the config so itâll be simpler next time.
This wonât always work! Not every upstream package will support ARM64 and some that do will require different configuration options. And then there are binary-only packages.
Though I did manage to install Vivaldi! Before there was a Flatpak available, there was only the AUR package that downloads the official x86_64 RPM, extracts the contents and repackages it for Arch. And Vivaldi does provide an RPM for ARM64 as well. So I used the same trick with the PKGBUILD file, swaping in aarch64 for the architecture and then changing the download URL to point to the other RPM.
Web Browsing
Firefox and Vivaldi work well on the Pinetab2, but slowly. I tried several lighter web browsers and settled on Falkon (from KDE/Plasma) as a good balance between fast enough to use and capable enough to be useful. (Web/Epiphany would be comparable under GNOME or a GTK-based environment.)
Of course, Dillo is even faster, and now that the project is up and running again, itâs great for reading web pagesâŚbut doesnât support JavaScript, so it canât run web apps.
A few warnings with Falkon:
- I had to find and set a preference to allow bookmarklets to open windows.
- It doesnât directly connect to KeePassXC, but it does work with KeePassXCâs auto-type.
- Some web apps that work in Firefox or Chromium donât work quite right in Falkon.
- As with any alternative web browser, some web apps think they wonât work right and refuse to run.
File Management and Cloud Syncing
Nextcloud clients and GUI integration run on ARM and are available through Arch, so they can be installed natively.
sudo pacman -Sy nextcloud-client
To log in automatically every time, it does require a keyring manager like kwallet or gnome-keyring to already be running. Thatâs fine under Plasma or GNOME, but I had to add /usr/lib/pam_kwallet_init to my autostart config to get it to stay logged in under LXQt. (Note: After the Plasma 6 upgrade, I was unable to get this to work again, and eventually removed Plasma entirely. Itâs now working correctly with gnome-keyring.)
Nextcloud can also be accessed via WebDAV.
Syncthing is also available on ARM and through pacman, though I havenât tried it.
Dropbox doesnât support sync on ARM Linux at all.
Web access to both Nextcloud and Dropbox are really slow on this hardware when run on something like Firefox. And both complain about ânon-supportedâ browsers like Falkon and Angelfish (which are a lot faster!)
At some point Iâll give Rclone a try. Itâs not a sync service, but it can upload and download to a lot of different storage providers, including Dropbox, OneDrive, Google Drive, and so on, and it has both ARM support and an official Arch package.
USB Ports
The port closest to the power button is for data, but doesnât provide a lot of power. So some devices work fine, but others wonât turn on. (Unfortunately this includes all my USB-C hubs) The other port is only for charging. Itâs not clear whether this is a hardware limitation or software.