Apple-eigenaren en Linux-gebruikers lopen al jarenlang tegen het "probleem" aan dat zij, ondanks het vele plezier van het draaien van een alternatief besturingssysteem, toch net die ene applicatie of game missen die alleen beschikbaar is voor Windows. Meestal is er wel een alternatief te vinden, maar soms wil je net die ene applicatie per se hebben, zijn de alternatieven niet toereikend of gaat het om een game die je graag multiplayert met vrienden waardoor er eigenlijk geen alternatieven zijn.

Deze problemen kunnen worden opgelost door gebruik te maken van virtual machines, een dualboot-opstelling, emulatoren of compatibiliteitslagen, maar al deze trucs werken maar deels.

Als je met virtual machines werkt heb je met zoveel overhead te maken dat vooral het spelen van games geen optie is. Ook kunnen zwaardere softwarepakketten voor problemen zorgen. Bovendien heb je voor de Windows-versie binnen de virtuele machine ook een licentie nodig waardoor het financiële voordeel ook als sneeuw voor de zon verdwijnt.

Als je gebruik maakt van de dual boot-oplossing (twee of meer besturingssystemen naast elkaar installeren en gebruiken), heb je weliswaar geen last van overhead-problemen, maar je moet wel telkens je systeem herstarten als je software van het andere systeem wilt draaien. En ook in dit geval zal je een Windows-licentie moeten aanschaffen.

Als je geen zin hebt in dat soort "restricties" kan je uitwijken naar een compatibiliteitslaag als WINE. Deze software vertaalt de Windows API-calls naar Linux API-calls en maakt gebruik van standaardlibraries die bij Windows horen. Veel van deze libraries zijn herschreven om juridische stappen te voorkomen. Doordat er niets wordt geemuleerd heb je geen last van de overhead van virtual machines, hoef je je systeem niet te herstarten als je Windows-software wilt draaien en hoef je geen licentiekosten af te dragen omdat je in feite niet echt gebruik maakt van Windows. WINE klinkt daarom als de beste optie, maar in de praktijk zitten er nogal wat haken en ogen aan.

Doordat de Windows-API zeer complex is, steeds verandert en het feit dat veel bibliotheken van de grond af zijn opgebouwd en dus niet 100 procent overeen komen met de versies van Microsoft, zijn er nogal wat applicaties die niet goed werken via WINE. En dan is er ook nog eens DirectX, een verzameling API's speciaal voor games en multimedia. WINE vertaalt deze naar OpenGL, maar doordat DirectX continu wijzigt loopt de compatibiliteitslayer altijd achter de feiten aan.

Dit klinkt allemaal erg deprimerend en als dweilen met de kraan open, gelukkig zijn er verschillende trucs die ervoor zorgen dat het allemaal wel meevalt.

Er zijn door de jaren heen verschillende bedrijven geweest die WINE uitbreidde met allerlei scripts, front-ends, trucs en toepassingen om ervoor te zorgen dat het installeren van Windows-programma's onder andere besturingssystemen. Het installeren van WINE en Windows-programma's is misschien niet zo moeilijk, maar de kans dat Windows-applicaties foutloos werken wordt aanzienlijk vergroot als je gebruik maakt van trucs scripts en front-ends.

Normaal gesproken is het zo dat WINE een virtuele semi-Windows-omgeving aanmaakt (denk aan een "program files"-map, een virtueel Windows-register en mappen waarin bepaalde DLL-bestanden en lettertypen moeten worden geplaatst. Alle Windows-applicaties worden in deze virtuele omgeving geplaatst en gelinkt naar de omgeving van het host-besturingssysteem.

Sommige applicaties kunnen echter pas werken als er het een en ander wordt toegevoegd aan WINE of als er aanpassingen worden gedaan in de WINE-omgeving. Deze aanpassingen kunnen er echter wel voor zorgen dat andere applicaties en games niet goed meer werken. Sommige 3rd party-scripts (zoals PlayOnLinux) werken daaromheen door voor elke applicatie een eigen aangepaste virtuele Windows-omgeving te maken of door zelfgeschreven libraries toe te voegen (zoals Cedega). Dit verhoogt het aantal werkende applicaties aanzienlijk, maar het is wel een gedoe om het allemaal voor elkaar te krijgen.

Als het aan de makers van Winepak ligt, zou dit allemaal verleden tijd zijn en zou het installeren van Windows-applicaties onder een ander besturingssysteem net zo makkelijk moeten zijn als het installeren van een native macOS of Linux-pakket.

Deze speciale Flatpak-bestanden bevatten niet alleen de Windows-applicatie, maar ook de WINE-omgeving met alle aanpassingen, extensies, configuratiebestanden en scripts die nodig zijn de applicatie goed te laten draaien. De gebruiker hoeft zich helemaal nergens meer druk over te maken en kan, na installatie van het Winepak-bestand direct aan de slag met de Windows-applicatie.

Deze aanpak lijkt een klein beetje op de PlayOnLinux-aanpak. Deze software maakt ook (indien nodig) verschillende WINE-omgevingen aan en downloadt en installeert alle scripts, extensies en de Windows-applicaties om ervoor te zorgen dat er zo min mogelijk compatibiliteitsissues plaatsvinden. Hoewel deze software het gebruikers al heel makkelijk maakt, is de Winepak-aanpak toch makkelijker. Aangezien deze tool behoorlijk nieuw is en zeer veelbelovend, namen wij de proef op de som en gingen met deze software aan de slag. Omdat PlayOnLinux hier en daar wat overeenkomsten heeft, zullen wij die twee zo nu en dan met elkaar vergelijken.

Installatie Winepak

De makers van Winepak claimen dan wel dat het installeren van deze omgeving heel makkelijk is, de installatiewijze zal de doorsnee-gebruiker toch afschrikken. Linux adepten draaien hun hand niet om voor het invoeren van enkele commando's in de terminal, maar hardcore Windows-mensen die net zijn overgestapt (en gehoord hebben dat het gebruik van de commandline verleden tijd is) zullen met de ogen rollen als zij horen dat voor het installeren van Winepak de terminal toch moet worden geopend om de software te installeren.

De commando's kunnen echter zo worden gekopieerd en geplakt in het terminalvenster, kind kan de was doen. Bovendien is het voor een goed doel. Als je daarna heel makkelijk Windows-applicaties via de standaard appstore van Linux (we hebben gekozen voor de populairste desktopdistributie, Ubuntu), is het de moeite meer dan waard.

Eerst Flatpak

Als eerste moet Flatpak worden geinstalleerd. Flatpak is een pakketformaat dat, in tegenstelling tot andere populaire pakketformaten als .Deb en .RPM niet alleen de applicatie meelevert, maar ook alle andere libraries en andere dependencies. Flatpak draait op meerdere platforms. Dat niet alleen; ook is de app geïsoleerd in zijn eigen sandbox-runtime - dankzij verschillende ingebouwde Linux-subsystemen - waardoor je geen risico hebt dat de applicatie botst met bestaande library's of applicaties die op de host draaien.

Aangezien Canonical een eigen pakketsysteem heeft en meelevert met Ubuntu, Snap, zal je Flatpak los moeten installeren. De makkelijkste en snelste manier om dat te doen is met de volgende commando's:

sudo add-apt-repository ppa:alexlarsson/flatpak

sudo apt update

sudo apt install flatpak

Als je geen zin meer hebt om daarna in de command line te werken kan je met het volgende commando ervoor zorgen dat alle Flatpak-apps gewoon netjes worden weergegeven in de appstore door het volgende commando in te voeren:

sudo apt install gnome-software-plugin-flatpak

Wij liepen hier helaas tegen een probleem aan. Ons testsysteem vertelde ons dat de plugin niet gevonden kon worden. Hierdoor was het voor ons niet mogelijk de applicaties te bekijken in de appstore. Wij denken dat dit komt omdat ons systeem op versie 16.04 LTS van Ubuntu draait. Dat zou overigens geen excuus moeten zijn. Deze versie wordt vijf jaar lang ondersteund en wij verwachten dan dat dat ook geldt voor de repository. Op de Flatpak-pagina wordt daar verder ook niks over gezegd. Deze stappen hoeven voor andere populaire Linux-systemen niet te worden gezet (Fedora, Endless, Red Hat, Linux Mint). Alleen bij voornamelijk Debian en op Debian gebaseerde systemen. Wij hadden helaas geen tijd om te testen of dit probleem ook optreedt bij deze systemen.

Als je de applicaties uit de standaard Flathub repository wilt bereiken kan je het volgende commando geven:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Vervolgens herstart je je systeem en gaan we verder met de volgende stappen.

Installatie WinePak

Als Flatpak eenmaal is geïnstalleerd (of je een distributie gebruikt die al standaard Flatpak onder de motorkap heeft), hoef je in Flatpak alleen nog maar de Winepak repository toe te voegen met het volgende commando:

flatpak remote-add --if-not-exists winepak https://dl.winepak.org/repo/winepak.flatpakrepo

Je kan nu op zoek gaan naar Windows-applicaties en installeren. Je kan zoeken naar deze applicaties op dezelfde manier als je dat met andere Linux-applicaties doet, via de Appstore (Linux-software store). Mocht het installeren van de plug-in op jouw systeem nou ook niet gelukt zijn of je gebruikt liever de terminal, kan je met het commando: flatpak search [naam-applicatie] direct zoeken in de repository. Je krijgt een lijstje te zien met alle gevonden applicaties uit beide repositories (de officiele Flatpak repository en de Winepak repository).

Ik besloot de game, Path of exile te installeren. Normaal gesproken moet je behoorlijk wat stappen doorlopen om deze game aan de praat te krijgen onder Linux. Dit proces is een stuk makkelijker als je PlayOnLinux gebruikt: Wine wordt automatisch gedownload en geconfigureerd, de omgeving wordt aangemaakt, de officiële installer voor Windows wordt gedownload, je doorloopt het installatieproces en aan het eind van de rit staat de game op je systeem, als alles goed gaat, er klagen nog wel eens wat mensen dat de installer crasht waardoor het proces faalt en je opnieuw moet beginnen, dit gebeurde helaas ook op ons testsysteem dus wij waren erg benieuwd hoe dat met Winepak zou gaan. Het installeren van de game kan worden gedaan door te dubbelklikken op de game in de store of met het commando: flatpak install winepak com.pathofexile.Client.

We werden positief verrast. Het volledige pakket werd in een keer binnengehaald en, inclusief alle scrips, aanpassingen en omgevingen klaargezet. Hierna werd de game netjes geplaatst tussen alle andere applicaties waardoor je zou denken gewoon met een Linux-applicatie van doen hebt. De game kan gestart worden door te klikken op de snelkopperling of via het commando: flatpak run com.pathofexile.client. De game start meteen op, installeert netjes alle updates en we konden meteen aan de slag. Dat zag er veelbelovend uit en we konden niet wachten andere applicaties te proberen. Ook de andere programma's in de lijst installeren zonder problemen. Het ziet er naar uit dat PlayOnLinux er een geduchte concurrent bij heeft.

Een hele grote "maar"

Het ziet er naar uit dat Winepak het installeren en gebruiken van Windows-applicaties inderdaad een stuk makkelijker heeft gemaakt. Zelfs de Blizzard-games (die met een eigen client werken en zich niet makkelijk laten installeren onder andere besturingssystemen) werkten naar behoren. Overwatch spelen onder Linux? Geen probleem.

Toch verstomde ons enthousiasme een beetje toen wij keken naar de lijst van beschikbare software. Op de aankondigingspagina werd gelinked naar een GitHub-pagina waar een lijst met toegevoegde applicaties te vinden is. De lijst is kort, heel kort. Er werd geopperd dat deze lijst aangevuld zou worden en dat gebruikers konden helpen deze lijst uit te breiden. Sinds die aankondiging is er echter helemaal niks gebeurd.

Wellicht waren we te snel en hadden we dit project wat meer tijd moeten geven. Misschien proberen gebruikers wel tevergeefs Windows-applicaties te Flatpakken, maar lukt het niet. Het Winpak-team is erg stil op Twitter (los van het beantwoorden van enkele gebruikersvragen) en op Mastodon staat de verontrustende zin "There is nothing here" te lezen. Onderaan de Winepak-pagina wordt ook gelinkt naar Reddit, daar lijken genoeg mensen vooral bezig te zijn met het aan de praat krijgen van Games onder Wine, maar dit blijkt de algemene wine_gaming-thread te zijn, over Winepak wordt niet gesproken.

Is de ondersteuning voor deze tool alweer vroeg aan z'n einde gekomen, of is het de stilte voor de storm? Wij hopen het laatste. Wij houden dit project goed in de gaten en proberen het in de nabije toekomst nogmaals.

Voor nu is je beste (makkelijkste) optie nog steeds PlayOnLinux. Je zal wel wat meer moeite moeten doen om de applicaties te installeren, maar er worden heel veel meer applicaties en games ondersteund (van Photoshop tot Fruityloops).