Poniedzielnik: wieści ze świata OpenSource. Numer 124. 4


Wieści ze świata OpenSource: 18 – 24 marca 2014 r.

Cofnijmy się kilka lat wstecz i przyjrzyjmy się ówczesnemu rynkowi linuksowych gier. Ciężko będzie go dostrzec, bo praktycznie nie istniał. Były pojedyncze tytuły, sprzedawane tu i ówdzie. Było Neverwinter Nights, kolejne Quake’i, Doomy i Unreal Tournamenty. Było sobie studio Linux Game Publishing i trochę otwartych gier, dostępnych w repozytoriach. Jeżeli ktoś chciał czegokolwiek więcej, był skazany na Windows i dual boot, albo używanie Wine. Coś pękło w 2008 roku, wraz z wydaniem gry World of Goo i wejściem deweloperów niezależnych na salony, zdominowane do tej pory przez wielkie wytwórnie. Szaleństwo zaczęło się nakręcać, niczym spirala histerii w Fortecy Krasnoludów. Mamy Steama na Linuksa, producenci kart graficznych starają się nadrobić lata zaległości, tytuły AAA nieśmiało prezentują Tuxa na swoich opakowaniach. W ciągu 6 lat powstał całkowicie nowy rynek. Jak będzie on wyglądał w 2014 roku? Rzućmy okiem na Game Developers Conference.

O Linuksie na GDC

Jeżeli chcesz grać w najnowsze produkcje pod Linuksem, to zawsze wybierzesz kartę Nvidii. Może droższe, może słabsze od Radeonów – ale sterowniki do GeForce’ów po prostu działają, są dostępne niemalże wraz z premierą najnowszych GPU i generalnie nie sprawiają problemów. Czy w dobie rosnącej popularności Linuksa jako systemu dla graczy AMD zamierza doprowadzić swój sterownik do porządku? Najwidoczniej tak. Jednym z głównych problemów, z którymi borykają się deweloperzy zamkniętych sterowników, jest konieczność brania pod uwagę setek możliwych wersji kernela. Przy obecnej architekturze (zamknięty sterownik jako moduł kernela) każda aktualizacja jądra systemu wymaga ponownej kompilacji sterownika, co z kolei wymusza na użytkowniku instalację odpowiednich narzędzi (kompilator, pliki nagłówkowe). Sprawa nie jest prosta, ale Nvidia znacznie lepiej sobie z tym poradziła.

AMD w najbliższym czasie zamierza zmienić taktykę. Do Linuksa trafiłaby otwarta część kodu, zajmująca się komunikacją z binarnym sterownikiem dostarczanym przez AMD. Aktualizacja kernela oznaczałaby także aktualizację otwartej części sterownika, który w ten sposób zawsze pozostawałby w zgodzie z aktualną wersją systemu. Zamknięta cześć sterownika zawierałaby tylko informacje o samym GPU i sposobie komunikacji – bez przejmowania się tym, jaki Linux jest zainstalowany. Aktualizacja binarnego sterownika wymagałaby jedynie załadowania nowych informacji, a nie rekompilacji całej aplikacji.

Takie podejście ma sporo zalet. Po pierwsze, użytkownicy nie musieliby czekać kilka miesięcy na wydanie nowych wersji Catalystów, obsługujących najnowszy kernel. Wszystko, co potrzebne do ich działania, trafiałoby do nich razem z aktualizacjami jądra systemu. Po drugie, teoretycznie takie podejście uniezależnia sterownik od serwera wyświetlania obrazu. Obecnie zarówno sterowniki AMD, jak i Nvidii, wymagają serwera X.org, podczas gdy na horyzoncie widać już Waylanda oraz Mira. AMD rozdzielając swój sterownik na dwie części teoretycznie staje się niezależne od tego, jaki (i czy w ogóle) serwer wyświetlania jest aktualnie uruchomiony.

Wady? Po pierwsze, Linus Torvalds już kiedyś odrzucił podobną architekturę sterowników. VIA próbowała dodać do kernela kod, zajmujący się właściwie tylko komunikacją z binarnym sterownikiem odpowiadającym za akcelerację 3D. Po drugie, po stronie kernela obsługa zamkniętego sterownika odbywałaby się z udziałem istniejącego już kodu (RadeonSI Gallium3D), do którego trzeba by było wprowadzić wiele zmian, co najprawdopodobniej skończyłoby się utratą zgodności ze starszym kodem i „popsuciem” programów w przestrzeni użytkownika. W tym momencie taka zmiana w kodzie Linuksa nie ma szans zaistnieć.

Czy skończy się na obietnicach i Nvidia pozostanie preferowanym producentem kart graficznych dla Linuksa? Czy może pomysł AMD wypali? Na razie szumnie zapowiadane Mantle (alternatywa dla Direct 3D/OpenGL) nie zatrybiło tak, jak się spodziewaliśmy – głównie ze względu na brak linuksowej wersji tego API.

Firma Epic Games zapowiedziała, że Unreal Engine 4 będzie miał pełne wsparcie dla Linuksa, wliczając w to wszelkie najnowsze technologie (wirtualna rzeczywistość z użyciem Oculus Rift, kompatybilność z ekosystemem Steam – z kontrolerem włącznie, uruchamianie gier w przeglądarce internetowej). Za 19 dolarów miesięcznie (i 5% od kwoty sprzedaży brutto) deweloperzy gier otrzymają pełen dostęp do kodu źródłowego tego silnika.

Podobną strategię przyjęła wraz z wydaniem najnowszej wersji silnika CryEngine firma Crytek. Liczą sobie mniej niż Epic Games (9,90 dolarów miesięcznie), ale nie udostępniają kodu źródłowego swojego silnika – jedynie SDK. Czy wspominałem już o tym, że najnowszy CryEngine działa także pod Linuksem?

Co prawda nie jest to wiadomość związana z GDC, ale zbiegła się w czasie z konferencją. Portal GOG.com ma zamiar rozpocząć dystrybucję gier w wersjach linuksowych. Jeszcze w połowie zeszłego roku właściciele zapewniali, iż ze względu na rozdrobnienie linuksowych dystrybucji nie planują wejścia na ten rynek. Uleci jeszcze sporo bitów, nim GOG zacznie te wersje sprzedawać, ale już teraz wiadomo kilka rzeczy. Na początek, wspieranymi dystrybucjami będą Ubuntu oraz Mint (co sugeruje rozpowszechnianie gier w paczkach .deb). W momencie uruchomienia usługi dostępne ma być 100 tytułów. Sporo pozycji na tej liście to zapewne będą gry, które już mają swoje linuksowe porty, ale GOG.com zapowiada także przeniesienie na Linuksa wielu pozycji ze swojego katalogu. Znamy przynajmniej jedną grę, która na pewno znajdzie się na tej liście. Wiedźmin 2: Zabójcy Królów właśnie pojawił się na platformie Steam i został oznaczony jako kompatybilny z Linuksem.

Źródła:
Phoronix.com o planach AMD co do sterownika Catalyst
Unreal Engine 4 na Linuksa
Unreal Engine 4 uruchomiony w Firefoksie
Crytek i CryEngine
GOG.com o wejściu na linuksowy rynek
Wiedźmin 2 na Steamie

W skrócie

Można już zamawiać MintBox 2. Za 600 euro dostaniemy minikomputer z procesorem Intel Core i5 (CPU o taktowaniu 1,8 GHz + grafika Intel HD 4000), 4. gigabajtami RAM-u, 500-gigabajtowym dyskiem twardym, WiFi w standardzie 802.11, czterema portami USB oraz preinstalowanym systemem Linux Mint.

Na serwerach pojawiła się 28. wersja przeglądarki Firefox. Poza poprawkami bezpieczeństwa w nowej wersji znalazły się wbudowane dekodery formatu wideo VP9 i formatu audio Opus (wykorzystywany w filmach w formacie WebM), regulacja głośności dla aplikacji HTML5 oraz integracja z Centrum Powiadomień w MacOS X.

Pojawiło się nowe, duże wydanie Blendera. Wersja 2.70 przynosi znacznie lepsze renderowanie mgły, pyłów, oraz wynikającej z tego absorpcji światła, nowy, dokładniejszy algorytm śledzenia ruchu, zmiany w interfejsie użytkownika, lepsze wykorzystanie wielordzeniowych procesorów (w rezultacie szybsze renderowanie scen z wieloma obiektami) oraz wsparcie dla formatu PSD (wykorzystywanego przez Photoshopa).

Po 12 latach pracy opublikowano pierwszą stabilną wersję programu do modelowania ludzi MakeHuman. Aplikacja została napisana w Pythonie i udostępniona na licencji AGLP.

Google udostępniło pierwszą stabilną wersję biblioteki symulacji fizyki LiquidFun.

Facebook zaprezentował nowy język programowania o nazwie HACK. Bazuje on na PHP i jest udostępniony na tej samej co PHP licencji.

Korekta: Ionash


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

4 komentarzy do “Poniedzielnik: wieści ze świata OpenSource. Numer 124.

  • tomangelo

    Nowy język programowania made by fb? Zalajkuj jeśli chcesz wykorzystać tą funkcję? Zostaw komentarz, jeśli chcesz utworzyć tablicę?

  • Gnomasz

    @tomangelo
    Nie, to nie tak. Zostaw komentarz, jeśli chcesz dodać komentarze do kodu. Żeby utworzyć tablicę, trzeba całość udostępnić na swojej tablicy.

    Martwi mnie ten Wiedźmin na Linuksa. Za mało gram, żebym potrafił usprawiedliwić kupno znośnej karty graficznej…