Diit.cz - Novinky a informace o hardware, software a internetu

Skyrim, Civilization 5 či Starcraft 2 na Linuxu? Proč ne, je tu D3D9 podpora pro knihovnu Gallium3D

Civilization 5 BIG
Skrze nový Direct 3D 9 Gallium3D state tracker mohou DirectX 9 hry běhat na Linuxu lépe než pod Wine...

Gallium3D je poměrně zajímavá knihovna. U jejího zrodu stála firma Tungsten Graphics a knihovna sama slouží k podpoře pro 3D grafiku, či obecně třeba běh grafického prostředí, zkrátka zajišťuje to, že příkazy daného systému poběží na daném hardwaru. Tedy například, že OpenGL program poběží na v systému instalované grafické kartě s podporou OpenGL (což jsou dnes všechny). Ale není to jen OpenGL, skrze Gallium3D funguje i OpenGL ES, OpenVG či OpenCL. A stejně dobře tak skrze něj může běžet Direct 3D, obecně všude tam, kde ovladače pro grafické karty Gallium3D podporují - což jsou například i otevřené ovladače pro Radeony a GeForce (nouveau).

Před pár lety taková implementace skutečně vznikala, a sice pro Direct3D 10/11, ale nezájem ze strany Wine jí učinil tak nějak nevyužitelnou. Později byla tato podpora tedy odstraněna. Na první pohled poněkud méně ambicióznější projekt se ale zrodil v hlavě jednoho z vývojářů nouveau, Christopha Bumillera. Direct3D 9 state tracker dle něj osud 10/11 verze nestihne, protože situace je jiná. Kód není napsán v C++, ale C a Christoph jej aktivně udržuje. Navíc Gallium3D je v tuto chvíli navrženo a postaveno tak, že se staršími Direct3D 9 si rozumí celkem dobře, zatímco moderní rozhraní Direct3D 10 a 11 s veškerými novinkami již činily problémy při implementaci (to byl jeden z důvodů konce onoho state trackeru). A do třetice: zatímco her schopných skutečně využít Direct3D 10/11 je ještě stále relativně málo, těch s podporou maximálně Direct3D 9 - hlavně díky zaostalosti současné generace herních konzolí - je obrovská hromada. A jako třešnička na dortu pak působí fakt, že tento nový state tracker je v provozuschopném stavu a lze s nimi dané Direct3D 9 hry provozovat.

Ubuntu Skyrim

Christoph musel pochopitelně do jisté míry modifikovat Wine, aby místo obvyklé cesty „překladu“ z D3D9 do OpenGL využívalo jeho state tracker, ale to je právě ta cesta, proč je jeho řešení rychlejší než Wine: skrze Direct3D 9 state tracker putují příkazy herního enginu přímo na hardware s jeho Gallium3D ovladačem, namísto toho, aby se musely převádět z D3D do OpenGL, jako je tomu u Wine.

Ze zajímavých herních titulů prý v tuto chvíli běží například Skyrim, Civilization 5, Anno 1404 a StarCraft 2. Testovalo se na ovladači nouveau (NVC0/Fermi) a R600g (Radeony). Výkon je poměrně dobrý, zhruba dvakrát vyšší oproti Wine.

Tolik tedy výhled na možnou budoucnost. Christoph zatím má celý kód v externím repozitáři projektu Mesa (neoficiální implementace OpenGL, vytvořená též v Tungsten Graphics), ale nebrání se mergingu do hlavní větve, pokud zde bude zájem. V tuto chvíli jsou otevřené obě varianty: jak změna přístupu od „Wine D3D→OGL cesty“ k této, tak zaniknutí Christophova projektu pro nezájem a nedostatek vývojářů. To je asi největší riziko: zatím je to celé „one man show“.

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku Skyrim, Civilization 5 či Starcraft 2 na Linuxu? Proč ne, je tu D3D9 podpora pro knihovnu Gallium3D

Pátek, 19 Červenec 2013 - 14:40 | Richmond | StarCraft II Heart of Swarm deleted :( http://...
Pátek, 19 Červenec 2013 - 13:36 | Richmond | Já už jsem něco málo zkusil, ale rozhodně se...
Pátek, 19 Červenec 2013 - 12:22 | corwin78 | Doplním až budu mít srovnatelnou sestavu, jelikož...
Pátek, 19 Červenec 2013 - 11:27 | Richmond | No takže máme srovnatelné sestavy, FPS z Mac a...
Čtvrtek, 18 Červenec 2013 - 17:17 | spc | Ja som neobhajoval linux!!! ale uvedomujem si...
Čtvrtek, 18 Červenec 2013 - 13:21 | Richmond | S těma patchema jsem se jeden čas dost trápil (...
Čtvrtek, 18 Červenec 2013 - 13:04 | Philip Fry | Věřím, že se RBR dá hrát na klávesnici, ale jde o...
Čtvrtek, 18 Červenec 2013 - 12:42 | Richmond | Abyste to pochopil - ono se tu sejde kolem 10...
Čtvrtek, 18 Červenec 2013 - 12:31 | Richmond | Ale jo, já to chápu, taky pořád sedím u počítače...
Čtvrtek, 18 Červenec 2013 - 12:28 | Richmond | Z redukce vede kabel do aktivních PA beden, ccá...

Zobrazit diskusi