Apple brengt verbeterde versie van Game Porting Toolkit uit

Apple heeft Game Porting Toolkit 2 uitgebracht, een verbeterde versie van de portingsoftware die ontwikkelaars Windows-games eenvoudiger naar Macs laat brengen. De tweede versie heeft verbeterde Windows-compatibiliteit en betere debuggingtools.

De verbeteringen zijn volgens Apple gebaseerd op waar ontwikkelaars het meest naar vroegen. Zo heeft Game Porting Toolkit 2 'verbeterde compatibiliteit met Windows-games, krachtige nieuwe shaderdebuggingtools en Xcode-updates'. Gamemakers kunnen zo met dezelfde code en shaders games uitbrengen voor Windows, iPhone, iPad en Mac, stelt Apple.

Game Porting Toolkit verscheen vorig jaar voor het eerst en is vergelijkbaar met Valves Proton-tool. De toolkit vangt bijvoorbeeld de DirectX 12-Windows-api-calls voor onder meer besturing en audio, en vertaalt deze naar de macOS-api's. De toolkit is niet bedoeld voor consumentengebruik en is onderdeel van macOS Sequoia.

Apple Game Porting Toolkit 2

Door Hayte Hugo

Redacteur

12-06-2024 • 14:55

40

Submitter: Zeror

Reacties (40)

40
40
25
4
0
14
Wijzig sortering
Het zou eigenlijk gewoon mooier zijn als Apple gewoon weer bootcamp beschikbaar maakt op ARM. Toch jammer dat die functie weg is gegaan met de komst van de ARM processoren. Ik weet alleen niet of dat de game ervaring beter maakt. Maar dan heb je gelijk bijna alle Windows exclusive programma beschikbaar gemaakt. Im looking at you ESRI!

// typo

[Reactie gewijzigd door Matt Young op 23 juli 2024 13:22]

Zeer theoretisch kan het al maar je hebt er geen donder aan. De meeste spellen zijn voor X86(-64) geschreven en draaien slechter op ARM. Dus zelfs op Windows heb je een emulatie laag nodig.

Overigens minder theoretisch, met Parralles kan je officieel Windows ARM virtueel draaien mocht je het nodig hebben.
VMware Fusion is gratis tegenwoordig, die ondersteunt ook Windows 11 ARM. Kan op dezelfde manier de iso/esd voor je downloaden en een virtuele machine maken zoals Parallels :)

Hoe gaming werkt in Fusion vergeleken met Parallels geen idee, maar volgens mij was de conclusie toch al dat dat niet de handigste manier is
Dit is het echte antwoord. Apple heeft het wel mogelijk gemaakt om ARM Windows te dual-booten (wat al mogelijk is, zie Asahi), echter moet Windows ervoor zorgen dat ze een image leveren. Dat hebben ze (nog) niet gedaan, gerucht omdat ze een deal met Qualcomm hebben.
Nee, je kunt geen Windows ARM draaien dual boot op je macbook met M1/M2/M3 (ARM compatible) processor, je kunt wel dual-boot Linux ARM draaien (nog wel met beperkingen dat bepaalde hardware niet werkt). Om Windows 11 ARM te draaien, heb je virtualisatie software nodig als Parallels of VMWare Fusion en een paar anderen.
Zeer theoretisch kan het al maar je hebt er geen donder aan. De meeste spellen zijn voor X86(-64) geschreven en draaien slechter op ARM. Dus zelfs op Windows heb je een emulatie laag nodig.
Vergeet ook niet dat veel games voor Windows specifieke trucs hebben ingebouwd om snel te draaien op AMD/nVidia videokaarten, aangestuurd via DirectX. Daar verlies je dus ook een hoop performance in de vertaling naar Apple Mx GPUs.
Met vm’s mis je een stukje recourses. Games die net kunnen draaien kunnen dan bijvoorbeeld net niet.
Mijn ervaring is ook dat sommige games idd wel met crossover (wine) werken en niet in Windows 11 vm.
Dit lijkt meer een Wine / crossover achtige techniek te zijn. Dat biedt natuurlijk wel een betere gebruikservaring als de implementatie stabiel is. Geen reboots en geen dubbel OS op je Mac hoeven installeren.
Volgens mijn gebruikt de hedendaagse crossover ook Apple GameKit.
Sterker nog, CodeWeavers (het bedrijf achter CrossOver) heeft met Apple samengewerkt aan Game Porting Toolkit.

https://www.codeweavers.c...-by-crossover-source-code
Moah, ik weet niet of dat realistisch is. Even los van het feit dat je dan met een extra emulatielaag zit om x86-code op ARM te draaien; Apple verdient er dan ook niks aan, niet aan de softwareverkoop en niet aan hardware (want niemand gaat een Mac kopen om games op te spelen).

Ik denk dat ze liever hebben dat games native op macOS draaien, zodat ze in de App Store kunnen en ze er per game geld aan kunnen verdienen.
Tegenwoordig heel eenvoudig op te lossen door VM Ware fusion te installeren en de windows ARM te installeren. Gaming performance is redelijk tot goed. VM Ware fusion is nu gratis voor persoonlijk gebruik.

Games die ik getest heb, waren redelijk beperkt en wat ouder. Maar de Mac is dan ook een Mac Mini M1 met 8G Ram. De performance was echter redelijk goed, zeker als je in je achterhoofd weet dat er 2 emulaties gebeuren (VMWare -> Windows en binnen windows van ARM -> X86) en vergelijkbaar met die van een Mid Range IGPU op een laptop

[Reactie gewijzigd door Ryaka op 23 juli 2024 13:22]

Apple, of specifieker: Craig Federighi, heeft aangegeven dat de bal bij Microsoft ligt, aangezien de licentie van Windows on ARM geen consumentenversie heeft. Dat kwam volgens mij vanwege een deal die Microsoft met Qualcomm heeft waarbij ze voorlopig alleen Windows on Arm op Qualcomm-chips mogen draaien.

Intussen heeft Microsoft het gebruik van Windows on Arm voor Parallels toegestaan. Maar volgens mij nog steeds niet op andere chips dan die van Qualcomm.
Je kunt gewoon de ISO voor Windows 11 ARM downloaden van de Microsoft website (home versie, pro versie, enterprise versie), en daarna activeren met een geldige Windows 11 key. Zo draai ik Windows 11 ARM in VMWare Fusion en heb ik 16GB aan RAM gegeven (van de 32GB Ram in mijn Macbook M1 Pro) en draait het vlot. Speel er geen games op. Er is intussen een Office voor ARM versie beschikbaar en die is functioneel gelijk (zo goed als) aan de x64 versie.
Een collega probeerde mij er laatst van te overtuigen dat nu toch wel hét moment was om te gamen op Linux, met Proton en de Valve efforts van tegenwoordig.

Voordat ik aan de gang ben gegaan om dit te proberen heb ik toch maar eens wat comparison videos opgezocht en wat me opviel is dat:

A: Ze bijna allemaal AMD videokaarten gebruiken in hun tests en er dan soms een game tussenzit die hetzelfde of een paar FPS beter presteert dan in Windows.
B: Er bijna geen Raytracing of uberhaupt nVidia comparisons te vinden zijn.

Hoe je het ook wendt of keert, X86-64 in combinatie met een nVidia kaart (budget buiten beschouwing gelaten) op Windows is nog steeds veruit de beste manier om je spelletjes te spelen, met de meeste compatibiliteit en het minste gezeik.

Er zijn voor mij voldoende redenen om de overstap naar Linux (of Apple) wél te maken, zowel vanuit nieuwsgierigheid en voor een aantal producten die het op Linux erg goed doen en waar ik hobbymatig veel mee bezig ben, maar op mijn desktop durf ik het nog niet aan. Ik wil na een lange werkdag gewoon lekker thuiskomen en een game aanzwengelen, die dan ook zonder gedoe gelijk volledig performant draait.

Het is allemaal leuk voor games in de middenklasse qua graphics, maar imho nog steeds totaal ongeschikt als je gewoon zorgeloos wilt gamen.
Ik draai sinds April op PopOS! Met een AMD 7800X3D en een AMD RX 7700 XT en ik moet zeggen dat ik geen enkel spel speel die niet draait en daarbij ook gewoon geweldig op 1440p ultra. Kanttekening is wel dat ik geen multiplayer gamer (meer) ben en voornamelijk simulatie, fps en strategie speel. Zomaar wat spellen die zorgeloos werken:

- Planet Zoo & Coaster
- Cyberpunk 2077
- Rockstar games (GTA IV, V en RDR2)
- Oude spellen zoals Black & White 2
- Anno series
- Company of Heroes series
- Supreme Commander

Deze draaien allemaal op ultra instellingen, zonder raytracing dan wel, op 1440p >60 fps.

Het grappige vind ik zelfs dat het aan de gang krijgen van oude games makkelijker is dan op Windows.
Oprecht fijn om te zien dat je met je AMD kaart zulke goede resultaten haalt vergeleken Windows, ervan uitgaande dat je weet wat de performance van die games is op jouw hardware in Windows. Het gaat mij erom dat ik nog maar heel beperkt tijd heb om te gamen, niet elke dag en doordeweeks soms maar 30 minuten.

Op zo'n moment is het voor mij pure ontspanning en wil ik élke niche game, grote game, nieuwe game, oude game, rare game en geëmuleerde game kunnen draaien zonder enige vorm van wat ik zelf ervaar als moeite. En dat het liefst op de hoogst mogelijke performance met zoveel mogelijk eye candy, waar van toepassing.

Ja, 95% draait top, sommige oude games zullen wellicht ook beter draaien, maar ik draai al 27 jaar Windows en ken dat van buiten. Helemaal op Windows 11 met de Geforce Experience is het zó makkelijk. Drivers installeren als je een popup krijgt, geen reboot nodig zelfs na die installatie, etc.

Een heel klein voorbeeld is de allerlaatste game die ik competetief nog af en toe speel, Rocket League. Dat is volgens mij zelf nog DirectX 9 en de laatste keer dat ik dat heb geprobeerd op Linux, vorig jaar op een LAN, was dat nog steeds niet perfect. Met exact dezelfde controller setup als in Windows, zelfde graphics setup en dezelfde hardware was de ervaring niét hetzelfde. Ik heb een kleine 6000 uur in die game, vroeger had ik veel meer tijd, dus ik merk helaas alle verschil.

Het blijft, periodiek, gehannes. En daar heb ik geen tijd voor.

[Reactie gewijzigd door TV_NERD op 23 juli 2024 13:22]

Ik heb voor de lol wel eens benchmarks opgezocht inderdaad om te verifiëren hoe de performance is tegenover Windows en dat is eigenlijk altijd gewoon hetzelfde. Ik ben in elk geval allang blij dat ik Windows de deur uit heb kunnen doen want spelletjes waren nog de enige reden dat dat ‘nodig’ was. Mijn Xbox Series X controller werkt ook naadloos.
Naadloos en hetzelfde zijn 2 verschillende dingen. Met zelfde ground/aerial/deadzone/dogde deadzone sensitivity settings op Linux in Rocket League rij en vlieg ik rond als een Diamond 3 :+ Ook een "series" controller.

[Reactie gewijzigd door TV_NERD op 23 juli 2024 13:22]

Het is allemaal leuk voor games in de middenklasse qua graphics, maar imho nog steeds totaal ongeschikt als je gewoon zorgeloos wilt gamen.
Gamen in de middenklasse is juist bijzonder zorgeloos. Als je je niet blindstaart op specs, 60fps, raytracing en andere zooi die het alleen maar instabieler maakt maar gewoon kan genieten van een game is dat ontspanning voor mij ;)
Het is allemaal leuk voor games in de middenklasse qua graphics, maar imho nog steeds totaal ongeschikt als je gewoon zorgeloos wilt gamen.
Niet mee eens... Het aantal spellen dat net zo goed of op zijn minst bijna even goed draait onder Proton is echt gigantisch, ik ben ruim een jaar geleden begonnen met elke nieuwe game die ik speel eerst op Linux te proberen en alleen nog Windows te gebruiken als dat niet lukt, en tot nu toe is het nog niet 1 keer nodig geweest om Windows te gebruiken. En dat is met NVidia. De enige game die ik in de afgelopen 2 jaar op Windows heb gespeeld is ACC, omdat mijn stuurtje en pedalen waarschijnlijk niet of slecht werken op Linux en omdat ik er van uitga dat ACC wel anti-cheat of wat dan ook zal hebben.

Er zijn zeker spellen te vinden die (nog) niet goed werken, en bij nieuwe games moet je soms wat langer wachten tot ze ondersteund zijn. Maar het tempo waarin Proton beter wordt is echt heel hoog, zelfs splinternieuwe games als Hellblade 2 zijn nu al gewoon van voor tot achter speelbaar met prima performance en (voor zo ver ik weet) ook raytracing, DLSS etc.

Wat 'zorgeloos gamen' betreft is Windows ook zeker niet perfect trouwens, zeker niet als je de PC als een soort console wil gebruiken waar geen toetsenbord en muis aan hangt. Ik wil niet eens weten hoe vaak ik vloekend en zuchtend op de bank heb gezeten omdat ik een game wilde opstarten maar er weer iets tussenkwam waardoor ik weer een toetsenbord erbij moest pakken om het op te lossen. Daar heb ik op Linux eigenlijk niet of nauwelijks last van.
Je hoeft niet te kiezen, je kan je desktop dubbelbooten van Linux of Windows met grub. Een beetje goede Linux distro zal detecteren dat de Windows bootloader aanwezig is en die automatisch opnemen in het opstartmenu.
Dat inderdaad, jaren geleden deed ik dat al om zo min mogelijk in windows te hoeven zijn. Toen moest je nog heel goed opletten welke os je eerst installeerde.

Lekker windows uitkleden en puur als gaming os gebruiken. Tegenwoordig game ik op een ps en heb ik geen windows meer.
Ik hoop toch echt dat meer ontwikkelaars ports naar de Mac gaan maken hierdoor. Aan de nieuwe grafische chips ligt het niet, die zijn krachtig genoeg voor de meeste games.
Ik vind het dan weer spijtig dat het niet eenvoudiger is om gewoon cross platform te ontwikkelen. Als deze tool in essentie, net zoals Proton, een emulatie gaat doen van DirectX, dan loop je gewoon de kans dat het niet goed werkt daar dit een gesloten API is van Microsoft.
Ik snap die gedachtegang, maar Proton op de Steam Deck geeft mij het idee dat het allemaal wel erg goed werkt op dit moment. Verder is het belangrijk om te weten dat het geen emulatie is, maar een vertaling van de API calls.
Ik ben er inmiddels zelfs van overtuigd dat ontwikkelaars beter Windows kunnen targeten en dan daarna zorgen dat hun game ook onder Proton werkt, dan een native versie maken. Als ik de keuze heb tussen een Proton versie en een native versie, dan kies ik zelf nu ook eerder de Proton versie omdat die vaak beter werkt. Bijvoorbeeld Wasteland 3, werkt perfect onder Proton, terwijl de native versie performance problemen heeft, de audio kraakt, en de controller support is niet top.

Een groot voordeel van 'Windows het platform' is dat het een behoorlijk universeel deployment target is, en dat maakt het niet alleen makkelijker voor ontwikkelaars van games, maar ook om er een translatie laag voor te maken. Veel makkelijker dan 6 verschillende desktop omgevingen, 2 verschillende display servers, 3 verschillende audio servers, etc. etc. Het is niet voor niks dat de Steam Runtime voor Linux native games tot op de dag van vandaag nog op ubuntu 12.04 (!) is gebaseerd, dat is een bewuste keuze van Valve om een soort lowest common denominator voor Linux native steam games aan te bieden. Vergeleken daarmee is Proton echt een grote verbetering.
Direct3D is al enige tijd geen volledig gesloten API meer, bijna alles is tegenwoordig op de github van Microsoft te vinden.
Het gebruik ervan is 1 op 1 niet altijd toegestaan, maar Microsoft heeft ook te kennen gegeven er niks tegen te hebben dat de technieken gebruikt worden in vertalingen op andere besturingssystemen.

Hier volgt een persoonlijke mening / aanname
Persoonlijk denk ik dat Microsoft dat steeds meer naar een servicemodel aan het bewegen is, er ook baat mee heeft als er een cross-platform direct3d code is.
(Als de code ook toepasbaar is op Android en iOS krijgt Microsoft uiteindelijk met een eigen App Store natuurlijk een behoorlijke macht in handen. Dat de Linux en Mac markt er ook van profiteren is nevenschade. Maar de markt van Android en iOS is zo groot dat Microsoft deze op de lange termijn niet links kan laten liggen)
gewoon cross platform
Mja, die 'platforms' zijn in eerste instantie de hardware, en dan één of meer abstractielagen (bios, os, api,...). Dan kan je wel compilers en abstractielagen maken die (bijvoorbeeld) zowel DirectX als MacOS-api's snappen, maar dan ben je dus eigenlijk bezig met emulatie (het vertalen van instructies) en dus min of meer aan het doen wat Apple, Microsoft (en proton) doet.....
Imho is het een beetje als met talen: waarom is het niet eenvoudiger om met Chinezen te babbelen? Ik kan Chinees leren, die Chinees kan Nederlands leren (en in beide gevallen gaat het wat trager dan native) of we kunnen allebei esperanto leren, daar een paar jaar over doen en dan werkt het waarschijnlijk nog voor geen meter :o

Imho is er bij softwareontwikkeling altijd een kans dat het niet goed werkt , daar heb je geen emulatietoestanden voor nodig :+
Dat zou natuurlijk helemaal een ideale situatie zijn, dat er een soort universele translatie tussen de game engines en de verschillende hardware platforms was. Maar dat vereist wel de volledige medewerking van alle partijen…
Ik hoop vooral dat Apple Proton gaat omarmen en helpen ontwikkelen. Dan kunnen er veel meer spellen direct werken op de Mac
ja goed , wat is de markt voor een " Mac Gamer " die thuis wilt gamen ? ik denk dat ze veel sneller naar de x86_64 cpu's gaan.

Voor de portable markt iig wel, ik wou laatst nog eens een steamdeck halen, toen ik er onderzoek indeed , kwam ik er achter dat mn ouwe m1 air 2x zo snel is dan een steamdeck...dus why bother?

dus gta6 op 4k ultra settings , met 60fps zul je wel niet zien op de macs ...maar steamdeck heavy games lichtig wel :Y) ... heck zelfs een iphone 15 is on-par met een steamdeck

[Reactie gewijzigd door Metallize op 23 juli 2024 13:22]

Apple is nog steeds veel te veeleisend. Ze zouden moeten snappen dat ze de underdog zijn. Xbox snapt dat - ze betalen ontwikkelaars om hun games te porten, geven gratis devkits weg, etc. Sony en Nintendo werken je ook niet actief tegen, maar helpen je.

Maar Apple vraagt €99 per jaar, komt ongeveer iedere 5 jaar met wijzigingen die games stuk maken. Ze zijn een moeilijke partij om mee te werken. En dan met 3% marktaandeel onder Steam gebruikers - wie heeft daar zin in? Het is nauwelijks rendabel en dan krijg je te maken met een partij die je gewoon actief tegen loopt te werken.

Ze kunnen deze technologie beter aan de gebruikerskant toepassen. Een soort Proton voor Macs. Niet dat ontwikkelaars makkelijker hun games kunnen porten want dat zullen de meesten toch niet doen, geef gebruikers een manier om betrouwbaar die tienduizenden Windows games te kunnen spelen.

[Reactie gewijzigd door Wolfos op 23 juli 2024 13:22]

Wel fijn dat benadrukt wordt dat het een verbeterde versie is. Zou raar zijn als ze een minder goede versie uit zouden brengen :+
Misschien is een DirectX implementatie voor macOS slimmer om game-makers over de streep te trekken...
Game Porting Toolkit verscheen vorig jaar voor het eerst en is vergelijkbaar met Valves Proton-tool.
[knip]
De toolkit is niet bedoeld voor consumentengebruik en is onderdeel van macOS Sequoia.
de "Proton-tool" is juist wel voor consumenten gebruik. Als gebruiker kies ik welke versie van de tools binnen Proton ik wil gebruiken. En de ontwikkelaar hoeft helemaal niets te doen om een spel werkbaar te hebben op Linux met Proton.
De toolkit vangt bijvoorbeeld de DirectX 12-Windows-api-calls voor onder meer besturing en audio, en vertaalt deze naar de macOS-api's.
Ja, dat doet Proton ook, maar Proton doet dit dus aan de kant van de consument en niet aan de kant van de ontwikkelaar, waardoor dit dus vrij verschillende dingen zijn.
Wat bedoel je met die verschillende kanten? De api translation gebeurt toch gewoon op je lokale systeem?
Zoals ik deze toolkit begrijp, moet de ontwikkelaar van het spel deze toolkit toepassen. Oftewel volledig uit handen van de consument.
Bij Proton hoeft de ontwikkelaar van een spel niet eens van het bestaan van Proton te weten. De consument zet deze "tools" zelf in.

Met verschillende kanten bedoel ik dus aan welke kant actie ondernomen moet worden. Het succes van Proton komt volledig doordat ontwikkelaars niets hoeven te doen. En waarom de toolkit van Apple waarschijnlijk stukken minder succes zal hebben
Hm, is de M-series chip wel sterk genoeg voor een COD MW3 bijvoorbeeld?
De m3 pro e.d. zijn sterk genoeg voor de moderne games stabiel op 60FPS, het probleem is meer dat je met de emulatielaag minimaal zo'n 30% performance verliest. Tenminste, dat is mijn conclusie als je deze vergelijking voor Native vs. Crossover Baldur Gate bekijkt.

[Reactie gewijzigd door Tr4nnel op 23 juli 2024 13:22]

Op dit item kan niet meer gereageerd worden.