29 huhtikuuta, 2021

#WSL2 Tukee nyt graafisia sovelluksia. Ajatuksia Windowsin tulevaisuudesta.


Microsoft on julkaissut melkoisen suuren päivityksen, sen Windows subsystem for Linux -käyttöjärjestelmälaajennukseensa. WSL2 on saanut tuen Linuxin graafisille sovelluksille!

Mikä WSL2?

Windowsin WSL2 (Windows Subsystem for Linux v2) (huom. jatkossa WSL) on käyttöjärjestelmä laajennus, joka mahdollistaa Linux käyttöjärjestelmän ajon, natiivissa ympäristössä, vaikkei se välttämättä siltä heti kuulostaisi. Windows sisältää Linux kernelistä erityisen version, joka mahdollistaa reaaliaikaiset toiminnot WSL:lle, eli kyse ei ole niinkään virtualisoinnista, ainakaan sen perinteisessä merkityksessään.

Aikaisemmin kuitenkin (ja Windowsin stabiilissa versiossa edelleen), WSL:ssä pystyi ajamaan vain, Linuxin terminaalisovelluksia, ellei asentanut niin sanottua bridge -sovellusta väliin, tämä piirsi X11 ympäristön ruudulle ja kuunteli taustalla, WSL:n pyyntöjä piirtää sovellus X11 ympäristöön. Nämä kyllä toimivat mutta olivat osaltaan melko hämäriä räpellyksiä.

Nyt voimme kuitenkin luopua näistä kolmansien osapuolien bridge -sovelluksista ja luottaa Microsoftin ja WSL:n omaan tulkintaan graafisten sovellusten piirtämisestä Windowsille.

Testausta:

Mitä olen nyt nopeasti testannut tuoreinta WSL päivitystä, Järjestelmä toimii. Itse asiassa tuossa yllä oleva video on luotu kdenlive videoeditorilla, jota on ajettu WSL:n kautta.

Editori osasi jopa käynnistyä GPU, eli grafiikkaohjainta hyödyntävässä tilassa mutta kuten myös perinteisessä Linux ympäristössä, ei se toiminut tarpeeksi vakaasti myöskään WSL:ssä, joten puhtaasti CPU-pohjaisessa ympäristössä sitä myös WSL:ssä ajoin. Videon valmisteleva rendereöintivaihe, kuitenkin oli hieman hitaampaa kuin perinteisessä Linuxissa ajaessa.

Kdenlivestä on olemassa myös virallinen Windows binääri ja hauska olikin huomata, että Windowsin binääri sekä WSL olivat rendereöinti ajoissa suunnilleen samoissa lukemissa.

WSL:n kautta ajetut graafiset sovellukset, olivat kuitenkin hieman tönkköjä, tämä tuli esiin esimerkiksi siirtämällä sovellusikkunoita ruudulla, ne tuntuivat ikään kuin painavimmilta, tämä johtunee kuitenkin sovellusten peilaamisesta ns. ”remoteApp” tilaan, joka ilmeisesti on Microsoftin kehittämä tapa, jossa tuo niin sanottu siltaus graafisten sovellusten näyttämiseksi tapahtuu (WSLg), tätä ei ole kovin hyvin ainakaan toistaiseksi optimoitu ja onkin hyvä muistaa, että tämä päivitys on hyvin tuore ja on saatavilla vain Windowsin Insider dev-buildeihin.

En tehnyt tarkempaa tieteellistä mittausta vielä mutta ehkä myöhemmin tämän vielä teen.

Itse asiassa graafiset sovellukset ajetaan jo nyt Microsoftin omassa Linux käyttöjärjestelmässä (CBL-Mariner), joka on sisällytetty Windowsin tuoreimpaan Insider versioon, tätä Linux versiota, ei kuitenkaan ole tarkoitettu toimimaan kuten yleisimmät Linux jakelut, vaan se toimii perustana muun muassa Azure alustalla sekä

Lisätietoja CBL-Marinerista löydät sen GitHub sivulta: https://github.com/microsoft/CBL-Mariner

Miksei tästä puhuta laajemmin?

WSL:n päivitys merkitsee todella suuria asioita ja onkin hieman kummallista, miksei Microsoft ole pitänyt tästä suurempaa meteliä? Toimintoa kuten koko WSL projektia pidetään edelleen ”kehittäjille” suunnattuna toimintona, tällä markkinointistrategialla ei ole mielestäni mitään pointtia.

Microsoft teki sen mitä monet odottivat Linux maailmalta, eli tarjota näiden kahden maailman yhdistävä tekijä, Linuxin Wine ei yksinkertaisesti pysty tarjoamaan tukea suurille Windowsissa pyöriville sovelluksille, kuten vaikkapa Adoben työkaluja. Koko tämä asetelma on siten melko pervo, luulisi että yhteisönä avoin lähdekoodi olisi saanut aikaiseksi jotain parempaa.

On toki totta se, että käännös Microsoftin puolelta oli helpompaa, he ottivat vapaasti käytettävissä olevan Linuxin ytimen ja tunkivat sen omaan käyttöjärjestelmäänsä ja oho, Windows tukee WSL:n kautta Linux sovelluksia ns. natiivisti. Wine taas joutuu itse ”arvaamaan” kuinka Windows toimii, Microsoft ei tue Wineä tässä suhteessa laisinkaan.

Asetelma on siis varsinkin Linuxin käyttäjän näkökulmasta melko pervo mutta otan tämän muutoksen kuitenkin iloisesti vastaan. 

Windows, tuleeko siitä Linux jakelu?

Periaatteessa tulee tai se on jo, kunhan WSL2 laajennus tai CBL-Mariner tulee korvaamaan kokonaisuudessaan sen mihin Windows perustaa itsensä tällä hetkellä ja miksei niin tulisi lopulta käymään, yllä olevalla videolla käyn tästä keskustelua itseni kanssa enemmänkin, joten muista ainakin kuunnella se.

Lisätietoja:

Microsoft on julkaissut teknisen artikkelin siitä, kuinka WSLg toimii, ehkä tämä olisi pitänyt lukea ennen kuin kiirehdin tekemään tuon videon ;) https://devblogs.microsoft.com/commandline/wslg-architecture/

Ei kommentteja:

Lähetä kommentti

Huomaa: vain tämän blogin jäsen voi lisätä kommentin.