Linux a API Vulkan jako záchrana hráčů z platformy Windows

Dnes
Doba čtení: 6 minut

Sdílet

Pan Spock
Autor: NBC Television, podle licence: Public Domain
Pan Spock
V herním světě se pomalu, ale jistě utahují některé šrouby, zatímco na jiné, historické prvky se kašle. Linux může výhledově sehrát roli záchranného kruhu, a to zejména díky báječné AMD a API Vulkan, které světu dala, a samozřejmě také díky vše, kteří dělají na Wine.

Poděkujme AMD

Stručně si úvodem připomeňme, co je na Vulkanu tak důležitého. Před více než dekádou bylo jasné, že OpenGL dochází dech, jeho architektonická neefektivita nestačí potřebám doby a zatímco Microsoft hrnul do Direct3D jednu novinku za druhou, OpenGL už svoji pozici jedničky před dávnými lety ztratilo (myšleno optikou hráčů her). The Khronos Group hledala kolem roku 2014 řešení.

Nic moc zásadního do roku 2014 nenastalo, ale AMD, která předtím v roce 2006 koupila kanadskou ATI s jejími Radeony, interně vyvinula API Mantle, tehdy uzavřenou věc s nízkoúrovňovým a vysoce efektivním přístupem ke GPU. Jak ale víme z historie a třeba ze svého času kralujícího 3Dfx Glide, proprietární API mají jednu zásadní nevýhodu: nikdy je neprosadíte vůči síle Microsoftu a jeho Direct3D.

AMD toto dilema vyřešila způsobem, za který ji máme rádi, a sice Mantle otevřela a předala pod křídla Khronosu. V roce 2015 se tak pod názvem Vulkan zrodil úžasný projekt, první velké, otevřené, vysoce efektivní API pro přístup ke GPU. Vše další je historie, Vulkan byl tak skvělý, že je dnes de facto standardem a Direct3D 12 je do značné míry jeho kopií.

Zdroj: Youtube.com

K čemu by to bylo bez Valve

Klíčovou roli zde sehrál Microsoft a jeho uvedení Windows 8 a Windows Store na konci roku 2012. Tohle vyděsilo, resp. naštvalo Gabea Newella a celé Valve, neb hrozilo, že zlaté sele jménem Steam bude silou Microsoftí postupně odsunuto v zapomnění. Gabe a spol. tehdy oznámili, že to tak nenechají a začal vývoj řady věcí, mezi nimiž stěžejními jsou portace her na Linux, práce na linuxové verzi klienta Steam a pak samotný SteamOS.

Zdroj: Youtube.com

Díky tomu všemu dnes můžeme na Linuxu pustit Steam, v něm hru pro Windows, a ona poběží díky některé z překladových vrstev mezi Direct3D a Vulkanem. A nemusí to být ani Steam, ony projekty jsou použitelné třeba s klientem Heroic pro Good Old Games, nebo jakkoli jinak. A Valve do těchto věcí oněch 14 let stále investuje, i třeba placením práce odvedené přímo na Wine.

Středobod jménem Vulkan

Ale Vulkan je to pojítko všeho dohromady. Vulkan je API, na kterém mohou díky projektu DXVK běžet Direct3D hry verzí 8, 9, 10, 11. Anebo díky projektu D7VK také starší hry pro Direct3D 7, 6, 5, 3, které D7VK překládá do Direct3D 9 a následně jsou na DXVK. A pak tu je samozřejmě vkd3d, který se stará o překlad Direct3D 12.

O moc hlouběji do minulosti se už jít nedá. Technicky vzato existovaly verze DirectX před trojkou, ale byly postaveny trochu jinak a her je využívajících bylo minimum, a kdybychom odečetli tituly, které zaplatil Microsoft pro rozjezd Windows 95, seznam by byl ještě podstatně menší.

Mohli bychom tak dojít do velmi hluboké minulosti, kdy některé vývojáře trápila nepoužitelnost Windows 3.x pro hraní her. Vznikly dílčí projekty Win32s (pro běh 32bitových aplikací nad těmito 16 bitovými Windows, které byly de facto grafickou nadstavbou 16bitovho DOSu) a dále WinG dávající Windows 3.x přímější přístup k hardwaru, díky čemuž mohl Microsoft prezentovat běh Dooma na Windows rychlostí téměř se blížící DOSu.

Titulů pro WinG bylo naprosté minimum a vlastně ani nemělo smysl se jimi zabývat, protože každý mohl dané hry pustit přímo v DOSu. Třeba SimCity 2000, Civilization II, ale také třeba Photoshop 3.0.

S DirectX 1.0 to bylo podobné. Možná si někteří pamětníci vzpomenou na dobu poloviny 90. let, kdy na nejmenované komerční TV běžel pořad „Někdo to rád software“, kde kromě jiného pár dětí hrálo první hry na beta verzi Windows 95, tituly typu Earthworm Jim či Pitfall: The Mayan Adventure.

Zdroj: Youtube.com

DirectX 2.0 už přineslo výše naznačené 3D tituly jako předělávku Terminal Velocity jménem Microsoft Fury 3, od stejného studia také závodní Monster Truck Madness, nebo dále ještě také legendární MDK s hudbou Tommy Tallarica.

Zdroj: Youtube.com

To byla doba, která do značné míry schopností vyvolat úžas nad tím, jak dobře to běží, připomínala současné dění kolem Vulkanu, Protonu apod. Pka už přišla pochopitelně éra DirectX 3.0 a her jako Diablo, Starcraft (to byly ještě DirectDraw tituly) a vysloveně 3D her využívajících nastupující akceleraci, jako Turok: Dinosaur Hunter.

Trochu vidle do věci házel John Carmack, kterému se API Direct3D nelíbilo a akceleraci pro Quake nejprve připravil pro karty Rendition Vérité, aby nedlouho poté (sotva pár týdnů) došlo na 3Dfx Glide port, pro karty 3Dfx, které na rozdíl od Rendition onu díru do světa udělaly. Jenže po čase 3Dfx padlo a začala definitivně éra GeForce a Radeonů a trh se shodl, že DirectX 5.0 už je celkem pěkné. Od té chvíle se psala éra Direct3D, která běží dodnes, nicméně v pozadí už jde od dvanáctky o něco jiného. Něco, co se architektonicky zrodilo v AMD a co dnes primárně známe v podobě API Vulkan.

Zdroj: Youtube.com

Pár slov k Vulkan Video

Do balíku Vulkanu patří ještě také Vulkan Video. Toto API doufejme bude výhledově plnit podobnou roli pro video, jako Vulkan pro 3D grafiku. Tam, kde dnes máme několik specifických video API, jako VA-API či VDPAU, které zajišťují přístup k hardwarové akceleraci videa na daných čipech s podporou, by Vulkan Video mohlo přinést univerzální přístupový systém. Jasně, VA-API a podobné jsou v principu jednodušší, protože autor aplikace napíše jen podporu pro ně a samo API se postará o vše. 

To s Vulkan Video není, to dává přístup k akceleračnímu hardwaru podobně napřímo jako Vulkan k 3D hardwaru. Ale pokud jednoho dne vzniknou (a třeba již vznikají) univerzální mezivrstvy, může i akcelerace videa (nejen) na Linuxu dojít do bodu, kdy vše poběží přes Vulkan Video a o propojení mezi video aplikací s podporou a samotným „železem“ se bude starat mezivrstva typu DKVK, komunikující s konkrétními Vulkan ovladači. A opět díky vyšším možnostem plynoucím z přímějšího přístupu k hardwaru se zde skrývá prostor pro lepší optimalizace.

Netvrdím, že rozdíl bude obrovský, nebo že to bude hotové zítra. Ani letos. Ale o existenci této cesty víme a stejně tak o jejích benefitech. A kdo kdy porovnal běh nějaké Direct3D hry na linuxovém Steamu skrze Proton/Vulkan a skrze staré WineD3D/OpenGL, tak ví, že rozdíl ve výkonu může být desítky i stovky procent. U Videa tomu tak pochopitelně nebude, tam je vše limitováno výkonem video enginu v CPU či GPU, ale efektivita přístupu k němu může být měřitelná a ne nepodstatná.

Kdo zachrání hraní na PC? Linux a Vulkan

Jsem toho názoru, že Windows jako platforma melou z posledního. Od Windows 7 nepřišly řádné zásadní velké změny k vyšší efektivitě. Naopak Microsoft spíše utahuje opasky, už s Windows 10 skončila podpora spousty hardwaru, pro který prostě už nikdo neudělal ovladače. Nebo poslední ovladače pro ně vyšly v roce 2015 a další nevznikly, takže to dnes už ani pořádně nefunguje (ano, mám na mysli například některé řady Radeonů, pro které dnes na Linuxu existuje podpora v AMDGPU včetně Vulkanu).

Školení Zabbix

Windows 11 jsou ještě horší, vyžadují TPM 2.0 a cpou všude možně AI CoPilota, místo toho, aby se soustředily na podporu starších aplikací, ovladačů atd. Říká se, že Windows 12 už přijdou s konceptem modularity a placené funkcionality formou předplatného.

Aby to nakonec nedopadlo tak, že hráči her, kteří o Linuxu nikdy neslyšeli, najednou začnou plnit linuxové weby s otázkami, jak nainstalovat Ubuntu, Steam a zprovoznit DLSS. Už dnes lze předpokládat, že mnoho herních titulů z dob dávno minulých na Windows nepoběží, minimálně ne bez následné péče projektu Good Old Games. Na Linuxu díky vkd3d / DKVK / D7VK ano. A hlavní dík za to vše, za to, že vůbec bylo možné tuto podporu následně dovyvinout, patří AMD a jejímu projektu Mantle. Takže ještě jednou: díky.

Autor článku

Příznivec open-source rád píšící i o ne-IT tématech. Odpůrce softwarových patentů a omezování občanských svobod ve prospěch korporací.



Nejnovější články