
Skriuwen · 28 sep 2020
Myn tablet-OS-ûnderfining ferfine
Surface Go 2 brûke mei 4G/LTE, Debian GNU/Linux en i3wm
Earder dit jier besocht ik myn eigen tablet-bestjoeringssysteem te meitsjen troch Debian GNU/Linux te ynstallearjen op in Microsoft Surface Go-tablet. Ik learde in soad oer wat ik oan tablets wurdearje. Mar ik hie noch altyd leaver myn iPad Pro, benammen om syn ferfine brûkersûnderfining. Dizze kear gie ik oan de slach om myn tablet-software te ferfinen en myn iPad te ferfangen.
Linux op (Surface-)tablets
As do tinkst oer it ynstallearjen fan Linux op in tablet: do bist net allinnich. Myn eardere berjocht oer it ynstallearjen fan Debian GNU/Linux op Surface GO krige in soad oandacht. Blykber sykje in protte fan jim in alternatyf foar de beskoattele bestjoeringssystemen dy’t gewoanlik op tablets ynstallearre binne (lykas iPadOS, Android of Windows 10S).
Microsoft Surface-hardware en Linux
As de skiednis fol sit mei swiete ironie, is it Microsoft dy’t eins moaie hardware makket dy’t goed wurket mei Linux. Har Surface-rige omfettet ferskillende laptops en tablets. De “SurfaceLinux” reddit-side sit fol mei ynteressante brûkersferhalen dy’t it besjen wurdich binne. Minsken dogge dit en do kinst it sels ek dwaan.

Earste besykjen: Surface Go (tsjin iPad Pro)
Nei it ynstallearjen en oanpassen fan Debian GNU/Linux op Surface Go, “Willem OS” neamd, besocht ik it myn haadkompjûter te meitsjen. As do in faak besiker fan myn blog bist, witst do dat ik al jierren iPads en tablets brûk as haadkompjûter. Úteinlik achte ik myn earste ferzje fan “WillemOS” net goed genôch: iPad Pro wie ljochtjierren foarút as it gie om in ferfine brûkersûnderfining.
Fan dit earste besykjen learde ik in soad, it late ta in better begryp fan wat ik sykje yn in tabletûnderfining. Ik sykje ienfâldige, mar alsidige software om op myn tablet te draaien.
Mar “ienfâldich” is eins hiel dreech te berikken. Om dingen echt ienfâldich te meitsjen moatst hardware en software naadleas yntegrearje. Apple docht dit goed, iPad Pro leveret in geweldige brûkersûnderfining om’t:
- trochgean wêr’t do bleaun wiest: it bewarret alles as do it yn in tas dochst, en is (daliks) ree om troch te gean as do it derút helest. Gjin hânmjittich bewarjen of (opnij) starte nedich.
- ynternet oeral: it wikselet automatysk tusken WiFi en 4G/LTE-netwurken, do hoechst neat te dwaan, dit ‘wurket gewoan’
- elke oriïntaasje en posysje: iPad wurket geweldich sûnder eksterne toetseboerd of mûs, sadat do it yn in protte ferskillende situaasjes brûke kinst (it skerm past syn helderheid en wytbalâns ek automatysk oan op dyn omjouwing!)
It docht bliken dat it dreech is om dizze dingen naadleas wurkjend te krijen mei Debian GNU/Linux op Surface. Myn earste tablet-OS fereaske in soad hânmjittige ynteraksje en wie dêrom lestich yn it gebrûk yn fergeliking mei iPad Pro.
Twadde besykjen: Surface Go 2
Microsoft hat dit jier in nije Surface Go-tablet útbrocht, de Surface Go 2. It hat in flugger prosessor (oant 64%!), tinnere rânen om it skerm en in ferbettere skerm. It is in hiel fatsoenlike ferbettering dy’t de Surface Go 2 yn hardware folle mear op ien line bringt mei de 11-inch iPad Pro. Foar myn twadde besykjen om de ultime tabletûnderfining te meitsjen besleat ik it topmodel Surface Go 2 te brûken:
- 10.5” touchscreen (1920x1250, 220PPI), 3:2 byldferhâlding, Corning® Gorilla® Glass 3
- Intel Core m3 prosessor (8e generaasje)
- 8GB RAM
- Wifi 802.11a/b/g/n/ac/ax
- LTE Advanced (Qualcomm® Snapdragon™ X16 LTE Modem)
- Bluetooth 5.0
- Intel UHD Graphics 615
- Maten: 245 mm x 175 mm x 8.3 mm
- 256GB SSD
- 512GB MicroSDXC-kaart
- 1x USB-C en 1x Surface Connect-poort

Debian GNU/Linux ynstallearje op Surface Go 2
De Surface Go 2 liket tige op syn foargonger as it giet om it útfieren fan in basisynstallaasje fan dyn favoryt GNU/Linux-distribúsje. Ik folge myn eigen stappen fan de oarspronklike Surface Go-ynstallaasje hjir.

Koartsein moatst de folgjende stappen nimme by it ynstallearjen fan Linux op dyn Surface:
- 1) Fernij Windows 10 en ynstallearje alle firmware-patches en fernijings
- 2) Meitsje in opstartber ynstallaasjemedium mei dyn favoryt GNU/Linux-distribúsje
- 3) (Opsjoneel) slút in bekabele ethernetferbining oan
- 4) Start de Surface op fan de USB-stick
- 5) Ynstallearje it bestjoeringssysteem mei it ynstallaasjeprogramma
- 6) Stim de software fyn ôf en optimalisearje de software-ûnderfining

De ûnderfining ferfine
De lêste stap fan de ynstallaasje is dêr’t do it ferskil meitsje kinst tusken in fantastyske en in minne brûkersûnderfining. Om mysels te “stimulearjen” om dit eksperimint út te sitten, besleat ik myn iPad Pro te ferkeapjen: de brêgen efter my ôfbrekke (want der soe gjin wei werom wêze)!

Op in lyts skerm is apps op folslein skerm útfiere perfekt logysk. Ik wit dat it konvinsjonele PC-konsept fan it behearen fan ferskillende finsters net de bêste brûkersûnderfining jout op in lytse tabletkompjûter. Dêrom besleat ik in tiling window manager te besykjen: i3wm.
Tiling window manager
It prinsipe fan in tiling window manager is ienfâldich: apps nimme safolle romte yn as der beskikber is. Dat betsjut dat as do mar ien app útfierst, dy it hiele skerm folt. Twa apps wurde yn in ferdield skerm útfierd, ensafuorthinne. Do kinst regels definiearje dy’t de opstelling fan apps automatisearje. Mei fluchtoetsen kinst fluch tusken apps wikselje. Do hast miskien wat tiid nedich om út te finen wat it bêste wurket foar dy as do in tiling window manager brûkst, mar úteinlik kin it dy in soad tiid besparje!

Workspaces
In oare krêftige funksje fan i3wm is dat do ferskillende ‘workspaces’ hawwe kinst. It binne in maklike manier om groepen apps te organisearjen dy’t tegearre draaie. Ik brûk ferskillende workspaces foar ferskillende dingen dy’t ik doch. In gewoane oanpak is om de webbrowser op ien workspace te setten, e-mailapps op in oare, en dejingen wêrmei’t do wurkest op in tredde.

It geweldige oan meardere workspaces is dat ien app (bygelyks dyn browser) meardere eksimplaren op ferskillende workspaces draaie kin. Dat makket in soad ferskillende kombinaasjes fan apps mooglik. Dit is echt dêr’t de i3wm-finsterbehearder folle better is as de oanpak fan iPadOS foar multitasking.
De i3wm-finsterbehearder stipet eksterne monitors hiel goed, mei itselde konsept fan in workspace. Do wiist gewoan ien of meardere workspaces oan dy’t op it ekstra of eksterne skerm toand wurde moatte. Dit wurket goed mei it Surface Dock en USB-C-nei-HDMI-aksessoires foar Surface. Stipe foar meardere monitors is echt geweldich.

Ien ding dat do besykje moatst is fusuma te brûken om trijefinger-gebearten op de trackpad mooglik te meitsjen. As do ea op in MacBook wurke hast, witst do dat de multi touch-trackpads nuttige gebearten mooglik meitsje om tusken buroblêden (of workspaces yn i3wm) te wikseljen. It wurket echt goed!
Opslach
Foar it behearen fan myn foto’s mei Shotwell woe ik serieuze opslach op myn tablet. Hoewol ik it topmodel Surface Go 2 mei de 256GB SSD haw, brûkte ik de MicroSD-kaartsleuf om myn opslachkapasiteit mei noch 512GB út te wreidzjen. De MicroSD-kaart is stadiger as de yntegreare SSD, mar foar bestannen dy’t do net elke dei/oere/minút lêst is it fluch genôch.

Myn Debian GNU/Linux-ynstallaasje hie gjin muoite om de MicroSD-kaart te werkennen. Ik haw de hiele MicroSD-kaart mei fersifering beskerme om te foarkommen dat myn foto’s útlekke as ik myn kaart ea ferlieze soe. Do moatst hjir (altyd) oer neitinke, nim passende maatregels om dyn gegevens te beskermjen en der in backup fan te meitsjen!
Konnektiviteit WiFi/4G/LTE
Nei it ynstallearjen fan de ‘non-free’ draadleaze firmware yn Debian wurket de WiFi goed op Surface Go 2. De LTE/4G wurkjend krije wie in stik dreger! Om ien of oare reden begûn de WWAN-ferbining net, ek al hie ik in wurkjende SIM-kaart yn de Surface Go dien. Om in mysterieuze reden begûn de modem net goed, 4G/LTE wurke net!

Ien fan de geweldige dingen fan iPad is dat it de ferbiningslogika fan iPhone dielt. It beheart automatysk ferskillende draadleaze netwurken en mobile breedbânferbiningen. Ik woe dat dit op myn Linux-tablet ek wurke!
Doe’t ik socht nei in oanwizing om 4G/LTE wurkjend te krijen, seach ik nei rapporten oer Surface Pro. De Surface Go 2 is technysk hiel gelyk oan de gruttere Pro. Ik tocht dat ik fan de muoite fan oaren mei mobyl breedbân op de Surface Pro leare koe. Nei in protte oeren sykjen en ferskillende dingen besykjen fûn ik dizze oplossing om 4G op Surface wurkjend te krijen:

Do kinst de Network Manager (en Modem Manager) brûke om ferbiningsbehear ûnder Linux te automatisearjen. Standert hâldt it WiFi-ferbiningen fan foarkar boppe mobyl breedbân. Do kinst it automatysk ferbine litte oer 4G/LTE as der gjin WiFi beskikber is. Dit wurket no hiel goed yn kombinaasje mei de Surface Go 2-hardware!

Suspend/Hibernate/Resume
In oar ding dêr’t gjin iPad-brûker ea oan tinkt, is hoe geweldich Apple dingen goed hat as it giet om suspend en resume. As do in iPad hast, kin er in protte dagen yn standby-modus stean, en dochs is er altyd hiel fluch ree om troch te gean wêr’t do bleaun wiest as do him wer oppakst.
Om myn Surface mei GNU/Linux itselde te litten dwaan hie ik in manier nedich om fluch te suspendearjen en wer op te starten. Yn de Linux- en PC-wrâld binne der yn prinsipe fjouwer enerzjymodi:
- oan: apps rinne. Systeem is folslein oan, ferbrûkt in soad stroom
- suspend (nei RAM): app-steaten wurde bewarre yn RAM-ûnthâld. Systeem stiet noch oan, mar elk ûnderdiel is safolle mooglik tebek skeakele, ferbrûkt noch altyd stroom (+/- 10% batterijferlies per oere yn myn gefal mei Surface Go 2)
- suspend (nei skiif) / hibernate: app-steaten wurde op skiif bewarre. Systeem is út en ferbrûkt gjin stroom
- út: apps binne ticht. Systeem is út, gjin stroom wurdt ferbrûkt
Om “daliks troch te gean wêr’t do bleaun wiest” moatst do app-steaten bewarje. It rapste (en hast daliks) wer opstarten is mooglik as de app-steat opslein wurdt yn RAM-ûnthâld. It probleem mei RAM-ûnthâld is dat it stroom nedich hat om syn wearde te behâlden. As de stroom ferlern giet, geane app-steaten ferlern.
It alternatyf is suspendearje nei skiif (of hibernate), dêr’t de steat opslein wurdt op it permaninte opslachapparaat yn de kompjûter. Dat lit de kompjûter folslein útgean. It probleem mei suspendearje nei skiif is dat wer opstarten stadiger is en fereasket dat do fersiferingswachtwurden opnij ynfiere moatst foar folsleine skiiffersifering.
It goede nijs is dat moderne GNU/Linux mei systemd komt, dy’t dy kinne konfigurearje lit hoe’t de kompjûter omgiet mei suspend en resume. Do kinst dyn tablet ynstelle om earst nei RAM te suspendearjen (wat daliks wer opstarten mooglik makket) en dan, nei in perioade, nei skiif te suspendearjen.

Op in gewoane wurkdei stean ik (hiel) betiid op om thús oan myn dreechste projekten te wurkjen. Dan fyts ik nei myn wurk en wurkje dêr troch. Ik haw myn reistiid mjitten en fûn dat as myn tablet minstens twa oeren oan bliuwt, ik daliks fierder wurkje kin. As ik binnen twa oeren net fierder wurkje op myn tablet, bewarret er batterijkrêft troch nei skiif te suspendearjen. Sa haw ik de bêste ûnderfining foar myn bepaalde situaasje.

Unifoarm uterlik
Oars as de strak kontrolearre iPad wurdt software op GNU/Linux makke mei in protte ferskillende oanpakken foar brûkersynterfaceûntwerp. Der is gjin ding as de User Interface Guidelines dy’t Apple foar iOS en iPadOS foarskriuwt. Dit is in probleem, want it soarget derfoar dat software ynkonsistint útsjocht en oanfielt.
In konsekwint uterlik en gefoel is wichtich om in wriuwingsleaze omjouwing en brûkersûnderfining mooglik te meitsjen. Dêrom haw ik in protte lytse oanpassingen makke oan kleur, lettertypen, ikoanen en arkbalken om myn apps allegear gelyk te litten útsjen en oanfiele. Hoewol it net perfekt harmonieus is, fielt it net mear oan as wurkje ik mei “Frankenstein OS”.
Ik haw in foarkar foar in tsjuster tema, om’t it makliker is foar myn eagen, mar do moatst sels beslute. Brûk ark as lxappearance om oanpassingen foar meardere apps te meitsjen. Mar do silst wierskynlik ek oanpassingen op yndividuele app-basis meitsje moatte. Ik brûk it adwaita-dark-tema en (monochrome) HighContrast-ikoanen, mei it Open Sans Light-lettertype.


Gebrûk as deistich wurkapparaat
In prachtich systeem bouwe is ien ding, mar it echt as deistich wurkapparaat brûke is wat oars! De Surface Go is myn deistige wurkapparaat en de ôfrûne wiken haw ik eksperimintearre mei ferskillende dingen en ynstellings. Hjir binne wat hichtepunten.











Konklúzje
Myn eigen tablet-OS bouwe is in echte útdaging. Myn earste besykjen wie net goed genôch om myn iPad te ferfangen. Dit twadde besykjen is lykwols oars. De tiid en muoite dy’t ik yn it ferfinen fan de brûkersûnderfining ynvestearre haw, resultearret yn in folle better systeem. Ik brûk it no deistich as myn haadkompjûter.
Hoewol ik it wurk dat Apple oan iPad dien hat altyd wurdearre haw, bliuwt it beheind troch syn beskoattele software. Benammen no, nou’t Apple derfoar kiest om syn AppStore-kontrôle noch fierder oan te skerpen. De iennige manier om de takomst te kontrolearjen is it sels te meitsjen: ik leau dat de tiid ryp is om skipper op myn eigen skip te wurden!
Update jannewaris 2021
Nei moannen yntinsyf gebrûk haw ik myn eigen tablet-OS ferlitten