PineTab 2是2023年4月由Pine64推出的開源Linux平板,兼具筆電功能,能夠同時在一個裝置執行Linux系統與Android系統容器。
此處是我針對Pine64 PineTab 2 (ARM版,8G/128G) 所做的一些調校設定,希望這些經驗可以給想使用Linux平板裝置的用戶作為參考。
- 系統:Arch Linux ARM
- 核心: 6.6.13-danctnix
- 桌面環境: GNOME (Wayland) 和 Phosh (Wayland)
為什麼我要寫這篇呢?自上市以來我已經寫過一篇 開箱,還有 三個月的使用心得。但是這款平板的系統會一直更新,我得追蹤最新開發進度(即使短時間內系統軟體很難完善)。再來,雖然RK3566效能很爛,我還是有在研究所使用這款平板。所以這篇文章的目的就是即時追蹤PineTab 2的開發進度,並把我的調校過程集中放在這裡。
作業系統選擇#
使用Arch Linux ARM。 使用Github原廠映像檔重灌了一次,擺脫KDE臃腫套件,轉而使用GNOME。
選Arch主要還是因為AUR的豐富資源,以及能更快收到更新。想要穩定發表的Linux發行版的,可以試試Mobian、postmarketOS、Ubuntu touch等系統。此外,你可以把系統dd到SD卡,在真正安裝系統前先從SD開機試試新系統。
桌面環境選擇#
個人認為沒有一個桌面環境能同時處理好「筆電模式」與「平板模式」。如果要在同一個畫面兩個模式切換來切換去,那肯定不明智的了。
應當以工作階段劃分,所以我裝了二個桌面環境。
從Arch Linux官方套件庫安裝GNOME與Phosh:
sudo pacman -S gnome phosh
使用GDM當顯示管理器,方便切換桌面環境:
sudo systemctl enabl gdm
GNOME負責電腦桌面模式,也就是平板接上鍵盤的時候。Phosh一個APP一個畫面不符合傳統電腦多工模式,況且Phosh不相容GNOME的擴充套件,此時便是GNOME上場的時候。此模式下用於寫筆記、上網、遠端開發。內建的螢幕小鍵盤可在GNOME系統設定啟用。
感謝踏可司企鵝 (Github@proton-penguin) 推薦,安裝 GJS OSK懸浮鍵盤,即可配合Fcitx5輸入中文。
Phosh負責純觸控模式下的操作,也就是把平板拿在手上看電子書或paper的時候。Phosh動畫明顯比較順暢,且手勢針對觸控裝置優化過,秉持一個APP一個視窗的理念,全域鍵盤。從PinePhone、Juno Tablet、Librem 11等裝置採用Phosh當桌面已證明了這點。
小提示:Phosh 0.35.0以後的版本,要長按畫面底部的藥丸條才能喚醒鍵盤。
在連接鍵盤的時候,Phosh會自動進入Docked Mode,這個時候允許視窗重疊,視窗位置和大小可以拖動調整。
Phosh會把GNOME的程式視窗放大縮小鍵弄不見,這個可以用gsettings調整回來。
gsettings set "org.gnome.desktop.wm.preferences" button-layout "appmenu:minimize,maximize,close"
內部Wifi驅動#
在bes2600驅動發表之前,我都是外接MT7601網路卡上網的。
目前bes2600的Wifi驅動在Arch Linux能部份運作。只需要在/etc/pacman.conf
啟用danctnix的testing repo再更新就能啟用驅動。
每次重開機登入畫面,都要執行此指令手動載入驅動
sudo modprobe bes2600
該驅動狀況良好,網路可以跑滿速,但是它有暫停模式的bug。
旋轉螢幕和暫停模式的問題#
安裝iio-sensor-proxy套件,螢幕就會自動旋轉
sudo pacman -S iio-sensor-proxy
sudo systemctl enable --now iio-sensor-proxy
另外裝 Screen roate擴充功能,手動控制GNOME shell的螢幕旋轉。
iio-sensor-proxy亦能讓電源鍵正常運作,按一下便會進入暫停模式(suspend)。
目前,如果載入bes2600驅動,系統會無法進入暫停模式,並且整個卡死需要重開。
我的解法如下。
在GNOME系統設定關閉5分鐘後自動進入暫停模式的選項。
接著,編輯/etc/systemd/logind.conf
,將關上平板鍵盤的行為從suspend
改成lock
或ignore
然後重開機。
HandleLidSwitch=ignore
如果要關閉螢幕,點選GNOME shell左上角的鎖定按鈕,這樣螢幕就會鎖定並黑掉。切勿使用電源鍵開關螢幕,否則平板仍然會進入暫停模式然後卡死。
GNOME的電源鍵動作可以用以下指令修改:
gsettings set org.gnome.settings-daemon.plugins.power button-power "suspend"
不過能使用的選項就只有"suspend", “poweroff, “hibernate”, “ask before powering off”。因此我也沒什麼能改的,它就是沒有關閉螢幕的選項。
我試過在進入暫停模式前移除bes2600模組,你猜怎麼著,當我解鎖後重新載入模組會遇到segment fault。
常用APP#
- Firefox
- Brave或Chromium。我需要Chromium系的瀏覽器,Google Chrome並未提供ARM64版。
- Flatpak。方便安裝軟體。Flatpak還有一個優勢:有時候Arch原生套件的Chromium瀏覽器會因為圖形驅動崩掉,而Flatpak版仍能運作,因為應用程式把驅動跟自己包在一起,所以不會因為系統更新而受到影響。
- Fcitx5,使用中文拼音輸入。
- Okular,閱讀PDF之用。速度很快,功能也很多。
- Joplin Desktop,寫筆記。純文字版joplin-cli也不錯用。
- xournal++,手寫筆記,記得在軟體設定開啟觸控輸入。PineTab 2不支援筆壓的觸控筆,所以只能用傳統電容式觸控筆,別忘了帶手套防誤觸。
- Freeplane,畫心智圖。
- EasyEffects + Auto Gain Presets,讓平板喇叭好聽一點。
- Valent,相容KDE Connect的傳檔軟體。
- LocalSend,比較穩定的檔案傳輸方案。
- Moonlight Game Streaming,遠端桌面與遊戲。
- Visual Studio Code
- VIM
- Distrobox,使用Docker做後端。
- ytfzf:終端機看Youtube影片。
Waydroid執行Android APP#
Arch Linux ARM請使用以下指令安裝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
Waydroid詳細用法參照: Waydroid教學:在Arch Linux電腦跑Android APP
安裝 Orientation Faker手動控制Android的螢幕方向。因為如果你旋轉GNOME的螢幕,Waydroid視窗就會被切半。所以最好的操作方法是關閉GNOME的自動旋轉,再手動於Waydroid的軟體旋轉螢幕方向。
如果想在GNOME全螢幕跑Android APP,請安裝 Auto hide top bar擴充套件。
Box64 + Wine執行Windows exe#
Wine大部分支援的Windows程式還是x86架構的,ARM架構的Linux系統必須借助Box64翻譯指令才能執行x86架構的程式。
我尚未理出Arch Linux ARM跑Wine需要哪些依賴套件,所以我採取在Debian chroot容器內跑Box86的作法。詳細操作見 用Box86在ARM Linux裝置玩x86架構的Linux遊戲
還有未完成的部分#
- 藍芽驅動
- 相機驅動
- Wifi驅動的暫停模式bug
更多資訊可以在 PineTab2 wiki查看。