Forleden stod min gamle arbejds-laptop med linux-distributionen Ubuntu af. Det vil sige, den var begyndt rasle fra kabinettet. Måske bare en ledning på en blæser, men alligevel - disken i den var også gammel, og den slags dør som bekendt før eller siden.
Disclaimer: Nedenstående kan ødelægge din pc og smadre dine data. Alt er på eget ansvar.
Den nye maskine er en Lenovo Carbon X1 5. gen. Det skulle ikke være noget problem at putte Linux på sådan en enhed, hvis man altså ikke skal bruge fingeraftrykslæseren.
I første omgang installerede jeg Ubuntu 16.04 LTS. LTS-delen vil sige, der er langtids-support på i forhold til blandt andet sikkerhedsopdateringer, så selve styresystemet ikke skal opdateres lige med det samme. Det synes jeg er væsentligt på en arbejdsmaskine.
Installationen gik øjensynligt problemfrit. Det vil også sige, at UEFI- og secureboot fungerede uden videre.
På mit arbejds-setup er jeg vant til at køre med tre skærme. Det vil sige skærmen på min laptop og så to eksterne monitorer.
De to eksterne skærme, jeg indtil nu har anvendt, er med både en DVI- og en VGA-indgang. Altså ældre interfaces. Den nye dock til Lenovo-maskinen kommer med to Display Port-interfaces og et VGA-interface. VGA ønsker jeg i udgangspunktet ikke at køre, og it-afdelingen lå ikke lige inde med DP til DVI-kabler.
Resultatet blev en udskiftning af DVI-monitorerne med en blandet landhandel af ledige DP-monitorer.
Så vidt, så godt.
Skærmproblemer
Under boot var der billede på alle skærme. Men efter at være logget ind i styresystemet gik den midterste skærm - en Lenovo ThinkVision 27” - ud. Mystisk.
Efter lidt googlen fandt jeg frem til, at multi-monitor-problemer kunne relatere sig til bios på Lenovo-laptoppen. Jeg søgte efter, om der skulle være en nyere version af bios tilgængelig, det var der. Tilmed fra november i år.
Softwaren kommer i form af en exe-fil og en iso-fil.
Da jeg fik den nye Lenovo-maskine var en af mine første handlinger at rydde harddisken og dermed også den Windows-installation, der muligvis har ligget på. Så exe-filen var ikke umiddelbart en mulighed.
På Lenovos support-side så det dog heldigvis ud til, at iso-filen var lige til at lægge på en usb-nøgle, så der kunne bootes ind i bios-opdatering via den. Det skulle vise sig at være vanskeligere end som så.
Når en image-fil skal 'brændes' på en usb i Ubuntu, så kan det gøres med kommandoen dd i terminalen. Vi leger, at usb-nøglen sidder på /dev/sdb, og at den downloadede fil hedder lenovo-bios.iso - udskift [brugernavn] med dit brugernavn:
sudo dd if=/home/[brugernavn]/Downloads/lenovo-bios.iso of=/dev/sdb
Og vupti, en boot-klar usb-nøgle.
Eller det var i hvert fald min forventning. Et hurtigt kig på usb-nøglen i styresystemet viste dog godt nok ikke noget indhold. Mærkeligt.
Mit håb var, at der måske lå en slags 'hemmelig' Lenovo-partition på den, som maskinen kunne finde i forbindelse med boot.
Genstart, boot fra usb ... intet
Genstart, slå secureboot fra, boot fra usb ... igen intet
Et hav af forsøg og flere forskellige usb-nøgler senere nåede jeg frem til, at der skulle andre bits på nøglen.
El Torito
Løsningen viste sig at være geteltorito. Programmet hiver et El Torito-bootimage ud af en iso-fil. Og i den forbindelse, så tak til blandt andet denne guide:
Har man ikke geteltorito, kan det installeres med:
sudo apt install genisoimage
cd ind i mappen, hvor den downloadede Lenovo-iso-fil ligger og kør følgende:
sudo geteltorito -o lenovo-bios.img lenovo-bios.iso
Og så ind med den nye image-fil på usb-nøglen.
Forudsat den ligger i Downloads-mappen under brugerens home-mappe, og at usb-nøglen stadig sidder som /dev/sdb:
sudo dd if=/home/[brugernavn]/Downloads/lenovo-bios.img of=/dev/sdb
Genstart. Tryk enter og F12. Boot fra usb.
Endeligt dukkede en bios-opdaterings-menu op.
Jeg opdaterede bios, det tog noget tid, og laptoppen skulle sidde i stikkontakt i mens.
Tadaaa: Ny bios installeret.
Nu kører de tre monitorer nok, var min tanke.
Det gjorde de ikke.
Samme problem igen. Billede på alle skærme under boot og indlogning, hvorefter midterste skærm dør.
(Med til historien hører, at jeg i forsøget på at få alle skærme til at fungere løbende har rodet rundt med diverse config-filer og grafiske indstillinger. Uden held, men med masser af crashes.)
Nå. Her tænkte jeg, at 16.04 alligevel er en halvgammel Ubuntu. Måske er der sket noget nyt på driver-fronten, der gør, at alle skærme virker, hvis jeg opdaterer til 17.10.
Et eller andet sted heromkring gik det også op for mig, at min computer kørte via wifi-forbindelsen i stedet for via det ethernetkabel, der faktisk sad i docking-stationen. Det var også mystisk.
I stedet for at følge skærm-problematikken til dørs, tog jeg her en afstikker i et forsøg på at opklare, hvorfor i alverden der ikke var hul igennem til ethernet-kablet.
Forklaringen viste sig at være en manglende driver, der først har fundet vej til Linux-kernen fra version 4.13.
4.13 (og 4.14) kan installeres i Ubuntu 16.04 via Ubuntu mainline PPA.
Jeg installerede 4.14 under 16.04 og så fungerede ethernet-porten. Men det gjorde den midterste skærm stadig ikke.
17.10
Nå, men for at se, om det nu alligevel skulle hjælpe på monitor-problematikken installerede jeg Ubuntu 17.10 på maskinen. Stadig ingen fungerende midter-skærm.
Det vil sige, at lidt fungerede den - både nu, under 17.10, og tidligere under 16.04.
Som tidligere fortalt, så fungerede skærmen jo faktisk under boot. Og det var også muligt at få et billede på den, når alle skærme kørte i mirror-mode. Altså hvor det samme skærmbillede går igen på tværs af monitorerne.
Men så snart jeg skiftede til extended-tilstand, hvor desktoppen bliver forlænget udover alle skærme, så døde midter-skæmen.
Og så alligevel ikke helt. Under forløbet fandt jeg ud af, at hvis jeg skruede ned for opløsningen på midter-skærmen til lige under det maksimale niveau, så kunne den faktisk godt vise et billede. Næsthøjeste opløsning var dog ikke rigtigt noget, jeg havde lyst til at køre med.
Billedkvaliteten var desuden dårlig ved denne opløsning.
Og hvis jeg deaktiverede den anden eksterne monitor, så kunne midter-skærmen faktisk køre i højeste opløsning sammen med laptop-skærmen.
Flere pixels
Det fik mig til at tænke i nogle andre baner. Den nye midterskærms maks-opløsning er på 2560x1440, hvilket ligger et stykke over den tidligere skærms maks-opløsning.
Jeg fik en mistanke om, at alle skærme i fuld opløsning simpelthen var for mange pixels til X1'erens indlejrede grafikchip: Intel HD Graphics 620. Og dermed var problemet måske slet ikke Ubuntu-relateret.
Her er det relevant lige at indskyde, at det efterhånden ahabske forløb blev suppleret af forskellige kommentarer fra kollegaer.
Nogle af dem lød noget i retning af:
»Det du lige har fortalt mig, det er forklaringen på, hvorfor Linux ikke er klar til desktoppen.«
Og så var der en, der på vej gennem det åbne kontorlandskab råbte noget a la:
»Hvis du slutter den til Windows, så kører det bare.«
Næste trin var derfor også forbundet med en vis spænding:
Hvad med Windows?
For at bekræfte mistanken om, at grafikchippen måske slet ikke kunne trække de mange skærme og pixels sluttede jeg 2560x1440-skærmen til en kollegas Lenovo Carbon X1-maskine med Windows.
Han kører normalt også med tre skærme. Og minsandten: Heller ikke her kunne alle skærme længere køre ved fuld opløsning, når 2560x1440 skærmen blev sluttet til.
Skærm-konfigurationssoftwaren i Windows var dog en kende mere brugervenlig, da det slet ikke var muligt at vælge de opløsninger, der under Ubuntu fik skærme og styresystem til at stå af.
Hvorvidt det faktisk teknisk er muligt at få tre skærme til at køre på førnævnte grafikchip med 2x1920x1080 og 1x2560x1440, vil jeg ikke afvise. Men jeg har altså ikke umiddelbart kunnet få det til at fungere.
Opdatering: På baggrund af en læserkommentar efter artiklens offentliggørelse er jeg blevet opmærksom på, at problemet nok ligger i hardwaren, men ikke i grafikchippen. Den Lenovo USB-C-dockingstation, som jeg anvender, ser ud til at have nogle begrænsninger i forhold til antal skærme og skærmopløsning. (Også på Windows) Det står der mere om her
Nu er jeg endt op med to skærme: 2560x1440-skærmen og laptop-displayet (1920x1080) på Ubuntu 17.10. Jeg har også fået lidt mere bordplads.
Udover en forståelse for bios-installation på en nyere Lenovo-maskine under Ubuntu og en mindre indsigt i driver-forskellen mellem Linux Kernel 4.10 og 4.13, så bærer forløbet også på en morale:
Hvis hardwaren driller under Linux, så tjek lige, at alting faktisk kører under eksempelvis Windows, før du bruger uforholdsmæssig lang tid på at få et umuligt setup til at fungere.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.