Wsparcie dla Direct3D 9 trafiło do linuksowych sterowników graficznych na Gallium3D

Wsparcie dla Direct3D 9 trafiło do linuksowych sterowników graficznych na Gallium3D

17.07.2013 13:37, aktualizacja: 17.07.2013 16:36

Wśród graczy użytkownicy Linuksa stanowią znikomy odsetek, ale jakpokazuje historia z klientem Steama, jest to odsetek mocnozaznaczający swoją obecność. Gdyby ich zabrakło, to Linux nadesktopie byłby na pewno znacznie mniej interesujący, sterownikigraficzne gorsze, a z oprogramowania dla Windows dałoby się uruchomićco najwyżej kalkulator. Właśnie dla nich mamy dobrą i ciekawąwiadomość – dzięki staraniom deweloperów pracujących nadsterownikami nouveau, udało się przenieść na Linuksa kompletnyinterfejs programowania microsoftowego Direct3D.Pierwsze próby przeniesienia Direct3D na Linuksa podjęli kilka lattemu deweloperzy biblioteki Gallium3D, rozwijanej przez VMware jakosposób na standardowe ujawnianie funkcji kart graficznych dlaoprogramowania. Łączona jest ona dziś przede wszystkim zimplementującą OpenGL-a biblioteką Mesa przez tzw. state tracker,mechanizm tłumaczący polecenia stanu i rysowania na ciąg obiektów ioperacji zrozumiałych dla sprzętu.[img=direct3d]Gallium3D wcale nie jest jednak ograniczone do OpenGL-a,biblioteka ta może pracować z dowolną infrastrukturą, podłączano jąnawet do OpenCL, by zapewnić wsparcie dla obliczeń równoległych. Gdypojawiła się informacja o stworzeniu state trackera do Direct3D10/11, w świecie FLOSS na krótko zapanowała ekscytacja pomieszana zeobawami. Z jednej strony otwierało to drogę do wydajnego uruchamianiagier wykorzystujących DirectX na Linuksie, z drugiej – pojawiłysię pytania o licencje, reakcje Microsoftu, zgodność z systemami *BSDetc. Ostatecznie sprawa spełzła na niczym, gdyż deweloperzy Wineoznajmili, że nie są zainteresowani wdrażaniem rozwiązań działającychtylko na linuksowych desktopach korzystających z opensource'owychsterowników dla Radeona i Nvidii. Po kilku miesiącach obsługaDirect3D z frontendu Gallium3D została wycofana.Teraz jednak jest szansa na powrót do natywnego API Direct3D naLinuksie. Christoph Bumiller, jeden z autorów sterowników nouveau dlakart graficznych Nvidii, poinformował o utworzeniu statetrackera dla Direct3D 9. Został on napisany w C (a nie jakpoprzedni, w C++), i zdaniem autora, ma przed sobą większąprzyszłość: Gallium3D lepiej współpracuje ze starszą wersją Direct3Dniż nowszymi, biblioteka oprogramowania Windows korzystającego zDirect3D 9 też jest większa, a co najważniejsze – już terazmożna nowy state tracker wykorzystywać do uruchamiania oprogramowaniaz „okienek”.Jest to możliwe dzięki przygotowanej łatcedo Wine, która pozwala temu środowisku uruchomieniowemu win32 nagenerowanie grafiki bezpośrednio przez state tracker Direct3D 9,dzięki czemu nie musi ona przechodzić przez warstwę translacjiDirect3D do OpenGL, normalnie wykorzystywaną przez Wine. W efekcieudało się uzyskać znaczne zwiększenie wydajności gier z Windows –tytuły takie jak Civilization 5, Skyrim czy Starcraft 2 działają zdwukrotnie lepszym FPS-em, niż uruchamiane na standardowym Wine (i toprzecież na mocno eksperymentalnej wersji). Co najważniejsze, rozwiązanie to działa nie tylko na kartachNvidii, ale też na Radeonach, wykorzystujących opensource'owesterowniki na bazie Gallium3D. A co ze sterownikami Intela? Na razienic – obecne ich wersje nie korzystają z Gallium. Jednaksterownik i965g,pisany niezależnie od Intela pod architekturę Sandy/Ivy Bridge, jestw coraz lepszym stanie i może w przyszłości dorównać standardowemui965. Samemu Intelowi też coraz trudniej będzie wmawiać linuksowejspołeczności, że nikt nie robi produkcyjnej jakości sterowników naGallium, skoro dostępne są r300g czy r600g na Radeona, pod względemwydajności nie odbiegające od własnościowego fglrx, a jeśli chodzi ostabilność, to może i lepsze.Krytycy oczywiście już przypominają, że Direct3D 9 to przestarzałatechnologia, której nowe gry już praktycznie nie wspierają. Tooczywiście prawda, a wraz z wydaniem Xboksa One i zakończeniem cyklużycia Windows XP ta stara wersja biblioteki graficznej zostanieostatecznie pogrzebana. Z drugiej strony do tej pory wydano tysiącegier, działających właśnie na Direct3D 9, a wśród nich są prawdziweperełki, do których ludzie będą jeszcze wracali latami. Natywnaobsługa API tej biblioteki, „wszyta” w Gallium 3D pozwoligrać w te wszystkie gry po minimalnych kosztach.

Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (96)