Wine 8.0 met ondersteuning voor Portable Executable 32bit-apps is uit

De ontwikkelaars van Wine hebben Wine 8.0 uitgebracht. Het gaat om een grote release met meer dan 8600 aanpassingen. De grootste veranderingen zijn verbeterde ondersteuning voor 32bit-apps op 64bit-systemen en voor Portable Executable-programma's.

De ontwikkelaars schrijven dat Wine 8.0 algemeen beschikbaar is. In de afgelopen jaren hebben de ontwikkelaars gewerkt aan de ondersteuning van Portable Executable-software. Voortaan kunnen alle modules ook als zo'n PE-formaat worden verpakt. Daardoor is het mogelijk om 32bit-applicaties op 64bit-systemen te draaien. Dat werkt nog niet perfect, waarschuwen de makers, omdat nog niet alles via NT gaat. Dat wordt in de komende releases verbeterd. Voor de meeste Unix-library's zijn er WoW64-thunks geïmplementeerd, zodat er helemaal geen 32bit-library's meer nodig zijn. Voor applicaties waarvoor nog geen 32bit-Wine-loader bestaat, worden de applicaties in een experimentele modus met een 64bit-host gedraaid. De makers waarschuwen echter dat die functie nog niet goed werkt.

Andere veranderingen in de tool zijn optimalisaties voor Direct3D en in de toekomst moeten er meer graphicsdrivers worden ondersteund. Ook hebben de makers de Vulkan-rendering-engine verbeterd.

Voortaan heeft de tool standaard een light-thema en een vernieuwd joystickcontrolpanel met input voor XInput-apparaten. Ook is er betere ondersteuning voor stuurwielen voor racegames en wordt de Print Processor-architectuur ondersteund.

Door Tijs Hofmans

Nieuwscoördinator

25-01-2023 • 08:55

32

Submitter: chris3007

Reacties (32)

32
32
25
1
0
6
Wijzig sortering
De grootste veranderingen zijn verbeterde ondersteuning voor 32bit-apps op 64bit-systemen en voor Portable Executable-programma's.
> wat is deze verandering? Ben fan van project wine, en gebruik dit regelmatig om bepaalde windows tools op een linux systeem functioneel te gebruiken; bij voorkeur een portable build.

Nu lees ik hier over grootste verbeteringen [..] wat is dat dan?

hele woordje portable komt niet voor in de release notes; https://www.winehq.org/announce/8.0

//edit; ik denk dit stukje
- After 4 years of work, the PE conversion is finally complete: all modules can
be built in PE format. This is an important milestone on the road to supporting
various features such as copy protection, 32-bit applications on 64-bit hosts,
Windows debuggers, x86 applications on ARM, etc.
However, some modules still perform direct calls between the PE and the Unix
part, instead of going through the NT system call interface. The remaining
direct calls will be removed during the Wine 8.x development phase.

- A special syscall dispatcher is used for PE -> Unix transitions, to avoid the
overhead of a full NT system call. This minimizes the performance impact of the
new architecture, in particular for the OpenGL and Vulkan libraries.

- Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is
still supported for use in Winelib applications. However, such applications
won't support features enabled by the NT syscall interface, such as WoW64
without 32-bit libraries.
@JustFogMaxi mij is het ook niet helemaal duidelijk, PE werkt al tijden, en Portableapps.com (?) is al jaren de go-to pagina voor dit sooft tools

[Reactie gewijzigd door himlims_ op 25 juli 2024 11:04]

Ik snap het even niet. PE formaat is het formaat voor exe files in Windows al sinds Windows 3 ofzo. Dat kan Wine toch al?
Wine bouwde de ondersteunende libraries (met de vertalingen van de win32 api) oorspronkelijk als ELF. Ze zijn al een aantal versies lang aan het converteren naar PE voor betere compatibiliteit.
WoW64 thunks are implemented for essentially all Unix libraries, enabling a 32-bit PE module to call a 64-bit Unix library. Once the remaining direct PE/Unix calls have been removed, this will make it fully possible to run 32-bit Windows applications without any 32-bit Unix library.
Als ik de nieuws berichten goed begrijp heeft dit te maken dat om 32bit applicaties te draaien vaak nog 32bit libraries nodig zijn. Dit zorgt ervoor dat als je wine installeert dat je een hele sloot van 32bit libraries die je alleen voor wine gebruikt erbij krijgt.

Het doel van deze en nog komende veranderingen is dat je de 32bit applicaties met de 64bit libraries kan draaien en dat dus alle oude vaak minder goed onderhouden 32bit libraries niet meer nodig hiervoor zijn.

[Reactie gewijzigd door rjd22 op 25 juli 2024 11:04]

Voor ondersteuning voor 32-bit Windows programmatuur op een 64-bit Windows heeft Microsoft toen het WoW64 (Windows-on-Windows) subsysteem gemaakt. Hetzelfde was gedaan voor 16-bit Windows programmatuur op 32-bit Windows.

De reden waarom bij Wine hetzelfde nu gebeurd, is onder andere de shitstorm door de gebroeders Quigley bij Canonical/Ubuntu met het idee om 32-bit compleet uit te bannen. Dat was op dat moment niet zo snugger, want dan zouden o.a. veel games op Steam (en zelfs de launcher van Steam zelf heb ik begrepen) niet meer draaien. Het escaleerde zo zelfs dat Valve per direct de ondersteuning voor Ubuntu staakte (om daarna weer op terug te komen) en Manjaro als basis voor SteamOS ging gebruiken, de 180° draai van Canonical ten spijt.
Voor recente versies van Mac OS is het nodig, omdat de ondersteuning voor 32-bit software grotendeels uit het OS is gesloopt. Er is geen nette manier meer om 32-bit Unix-libraries te gebruiken, en compatibiliteit tussen 32-bit PE en 64-bit Unix-libraries lost dat op.

Op sommige Linux-distros zijn 32-bit Unix-libraries ook niet meer standaard inbegrepen. Doordat de Linux-kernel nog steeds alle 32-bit software ondersteunt kunnen deze libraries met Wine geleverd worden, maar dat wordt lastiger te onderhouden als er buiten Wine steeds minder gebruikers zijn.

[Reactie gewijzigd door AlbertJP op 25 juli 2024 11:04]

Mooi project waar ik laatste tijd veel gebruik van maak aangezien ik me wil settelen naar linux. Deze upgrade komt dus even mooi uit haha
gewoon uit nieuwsgierigheid, voor welke programma's gebruik je wine zoal?
hier photoshop, hoewel dat steeds minder frequent wordt door introductie van; https://www.photopea.com/

world-of-warcraft wel veel via wine gedraaid

zie oa; https://www.playonlinux.com/en/ voor eenvoudig beheer en installeren van windows tools. soms is er nogal wat handwerk nodig (vbscript, bepaalde dll wel/niet native, anti cheat etc.) dat soort handwerk wordt automatisch geregeld door PoL.

Inmiddels ook redelijk lijstje games; https://www.playonlinux.com/en/supported_apps-1-0.html

[Reactie gewijzigd door himlims_ op 25 juli 2024 11:04]

PlayOnLinux is oud en niet (meer) fatsoenlijk ondersteund; of het zou opnieuw opgepakt moeten zijn. Lutris en Bottles zijn in mijn ogen veel betere alternatieven. (Lutris heeft de meeste mogelijkheden, maar de GUI is, toegegeven, niet geheel intuitief...)
Bottles had ik nog nooit van gehoord.
Nog niet zo volwassen als Lutris?
Het doet precies hetzelfde, maar heeft veel minder instellingen en een veel eenvoudiger user-interface. Je zou het kunnen proberen, en als een programma niet werkend te krijgen is, kun je nog altijd overstappen op Lutris.
Het heeft ook een (iets) andere usecase. Bottles is gericht op alle soorten applicaties en heeft dus minder specifieke functies/settings. Lutris is specifiek gericht op games en is dan ook een echte gamelauncher met bijbehorende features/settings.

Ze werken beiden, dus in dat opzicht zijn ze beiden volwassen. Alleen zoals de andere comment zegt... de UI va lutris is echt verschrikkelijk jammer genoeg. Werkt wel voor de rest goed.

[Reactie gewijzigd door Nivve op 25 juli 2024 11:04]

Lutris draait ook zonder problemen "normale" programma's; het enige dat ze zouden moeten toevoegen is een afdeling "Applications", waarbij programma's die daar staan, niet onder "Games" terecht komen in je desktop-omgeving.

Er zijn sommige programma's die ik met Lutris wel aan de praat heb gekregen maar met Bottles niet, simpelweg omdat Bottles de instellingen niet ervoor heeft. (En als ik een grafische UI gebruik, ga ik dus niet in config-files lopen editen; dan kan ik net zo goed de prefixes zelf maken en de edits zelf uitvoeren, helemaal zonder GUI.)

[Reactie gewijzigd door Katsunami op 25 juli 2024 11:04]

Lutris draait ook zonder problemen "normale" programma's
Klopt, ik doelde op het doel van de applicatie, en Lutris is duidelijk specifiek gericht op games. Vandaar dat ze, zoals je aangeeft, alleen een sectie Games hebben.
(Ik heb mijn post ge-edit, gezien dat blijkbaar niet duidelijk genoeg was)

Jazco2nd informeerde naar Bottles en dan is het handig om het doel van Bottles te weten in vergelijking met Lutris. Als ie vooral gamed, dan weet ie dat ie wrs blij wordt van Lutris. Als ie geen gamer is, dan weet ie dat er wel veel game-feature "bloat" in zal zitten die hij toch niet gebruikt.
Lutris helemaal vergeten, die timmert hard(er) aan de weg. Qua opzet vergelijkbaar met PoL maar gaat verder; ook support en intergratie met steam _/-\o_
Ik heb Lutris nooit gebruikt, maar als ik de screenshots zie op https://lutris.net/about lijkt het vrij intuïtief. Beetje als GOG Galaxy. Is dat in de praktijk niet zo?
Is dat in de praktijk niet zo?
Niet echt. Een nieuw programma toevoegen doe je bijvoorbeeld met de + linksboven in de titelbalk, terwijl alle andere controls rechtsboven zitten. Dan heb je nog het hele concept van "runners" dat je moet snappen voordat je met Lutris kunt beginnen. Elke "runner" kan weer een eigen versie hebben, zoals meerdere Wine versies naast elkaar. Elke runner heeft tientallen instellingen (en een set gedeelde "system settings"); je kunt de runner configueren, het programma zelf configureren, en deze settings kunnen elkaar overschrijven.

Kort gezegd is Lutris een verzamelbak van runners, die elk verschillende versies en instellingen kunnen hebben, en deze dingen zijn verdeeld over een stapel verschillende schermen.

Ik gebruik Lutris om een Wine-Prefix aan te maken (= runner + versie kiezen, en een map aanmaken), en dan de optie "Start EXE inside Wine prefix". Dan installeer ik het spel/programma zoals je dat onder Windows zou doen, en dan kijk ik of het werkt. Als iets niet (goed) werkt ga ik op zoek op internet wat er zou moeten worden veranderd als je het programma direct onder Wine draait, en dan pas ik dat aan in Lutris (of ik installeer eventueel missende Wine-onderdelen).

Eigenlijk gebruik ik Lutris dus als een Wine prefix-manager en als grafisch front-end voor de Wine-settings.

Ik heb er geen interesse in om het als een soort "game center" te gebruiken om vanuit Lutris ook spellen te kunnen starten die draaien onder Steam (heb ik niet) of onder een hele rij emulators (gebruik ik enkel een PS3-emulator voor een oudere Tekken, verder niets, dus ik draai gewoon de emulator zelf).

Het grootste nadeel van Lutris vind ik nog dat het alles opvat als een spel, dus ook programma's worden ingedeeld in de categorie "games" op je desktop.

"Bottles" is een veel mooier en cleaner programma dan Lutris, maar omdat het de Gnome-filosofie aanhangt, is het op sommige punten TE clean: als iets niet werkt, is er niet altijd een mogelijkheid om het werkend te maken. Lutris geeft je alle mogelijke instellingen van alles; Bottles probeert zoveel mogelijk instellingen te verbergen.
Interessant. Bedankt voor de toelichting. Ik kende beide programma's nog niet.
Lutris+Wine is een goede combinatie. (PS: Lutris beheert zijn eigen Wine versies. Je kunt dus, indien gewenst, voor elk spel of programma een eigen Wine-versie met eigen instellingen gebruiken.) Op dit moment heb ik alles wat volgens de Wine-DB zou moeten draaien, zonder problemen aan de praat gekregen. Er zijn maar een paar programma's die ik onder Windows had die (jammer genoeg) niet werken:

- Capture One Pro
- Affinity Photo
- Versies van ChessBase nieuwer dan 12

Voor de rest heb ik alles wat ik aan de praat wilde krijgen, ook daadwerkelijk aan de praat gekregen; vooral een paar kleine programma's die ik wel kan, maar niet wil vervangen door een alternatief (foobar, mp3tag), en spellen.

[Reactie gewijzigd door Katsunami op 25 juli 2024 11:04]

Mooie verbeteringen, hopelijk helpt dit reactos ook.
Is reactos nou echt een OS wat Windows of Linux kan vervangen?
Als de ontwikkelteams van Microsoft en Linux vandaag opgeheven worden en het ReactOS-team flink doorwerkt dan zijn ze over 20 jaar misschien zover.
Hun probleem is dat ze met een inhaalrace bezig zijn waarin de concurrentie niet alleen voorop rijdt maar ook nog sneller is. De afstand neemt dus eerder toe dan af.
Dus het antwoord is nee neem ik aan, tenzij ik terug naar het Windows 2000 tijdperk wil. (wat op zich wel een leuk tijdperk was, maar niet echt functioneel in 2023).
niet om super kut te doen, maar reactos leeft nog in het windows server 2003 tijdperk. Het is een leuk hobby project, maar meer ook niet. Ze zijn nu nog bezig met het implementeren van NT5.2 compatibility.

[Reactie gewijzigd door youridv1 op 25 juli 2024 11:04]

Dat maakt niet uit, inderdaad een leuk hobby-project.
Uit nieuwsgierigheid; waarom vind je dit een interessant project?
Doet me denken aan de tijd dat ik Win32-apps naar OS/2 native converteerde met PE2LX...
OS/2… dat waren nog eens tijden!
Betekent dit ook iets voor Wine op MacOS? wat voorheen altijd eigenlijk niet meer goed werkte omdat daar alleen 64 bit applicaties konden draaien?
Wine werkte, Apple past libraries aan, Wine niet meer te compileren, niemand tijd MacOs werkend te krijgen en te onderhouden, Apple meer systeem dicht timmeren.
Ik geloof dat Haiku ondersteuning heeft voor Wine, maar geen 32-bit programma's kan draaien. Ik vraag me af of deze update ze daar bij zou kunnen helpen.

Op dit item kan niet meer gereageerd worden.