sobota, 3 kwietnia 2010

AMD, przebudź się!

Dzisiaj zmarnowałem dwie godziny życia na walkę z upośledzonymi produktami firmy AMD/ATi. Cała sprawa jednak ciągnie się już kilka lat. Kiedy AMD zacznie wreszcie dbać o wszystkich swoich klientów?

Kilka lat temu dostałem w pracy notebooka do pracy w terenie. Sprzęt bardzo dobry, o świetnych (nawet jak na dzisiejsze czasy) parametrach, z jednym tylko mankamentem. Karta graficzna została wyprodukowana przez firmę ATi (obecnie AMD). W czym problem? Otóż jestem użytkownikiem systemu Linux.

Jakieś 8-10 lat temu, karty graficzne ATi uważane były przez "linuksiarzy" za jedne z najlepszych, ustępujące jedynie kartom Matrox, które miały genialne filtry wyjściowe, co przekładało się na doskonałą jakość obrazu. Dostarczane przez ATi sterowniki binarne przyprawiały o wstyd firmę nVidia, której oprogramowanie było generatorem błędów. Czas mijał, ATi coraz bardziej zwalniało z rozwijaniem sterowników, Matrox przestał produkować karty na rynek konsumencki i skupił się na sprzęcie profesjonalnym, zaś nVidia zaczęła robić coraz większe postępy w poprawianiu jakości. Obecnie Matrox zaginął gdzieś w odmętach wojen sprzętowych, a linuksowa sytuacja gigantów graficznych uległa drastycznemu odwróceniu - nVidia jest na bieżąco z wszelkimi nowościami, zaś ATi zaczęło udostępniać buble zamiast sterowników dla systemu Linux. Kiedy AMD wykupił ATi, świat obiegła szokująca informacja. AMD zamierzało upublicznić pełną specyfikację kart graficznych ATi, co pozwoli programistom ze świata Open Source stworzyć swoje sterowniki. Nie był to precedens, gdyż wcześniej podobny krok wykonał Matrox, czy Intel. AMD/ATi to jednak jeden z dwójki gigantów i nikt nie spodziewał się, że do czegoś takiego dojdzie. Prace nad otwartym sterownikiem radeonhd nabrały wiatru w żagle, lecz... ten proces jeszcze potrwa.

Firmowego notebooka otrzymałem przed opublikowaniem specyfikacji przez AMD, za czasów totalnych porażek programowych firmy ATi. Sterownik radeonhd był w powijakach i nie nadawał się jeszcze do użytku, otwarte sterowniki ati oraz radeon nie powalały wydajnością nawet w 2D, zaś binarne sterowniki od ATi sprawiały problemy, lecz działały z akceleracją 3D.

Czas upływał, a ja coraz dłużej musiałem wstrzymywać się z aktualizacją kernela, gdyż binarne sterowniki miały coraz większe opóźnienia względem rozwoju Linuksa. Pewnego dnia jednak aktualizacja tych sterowników zakończyła się śmiercią serwera Xorg. Analiza logów wykazała, że nowa wersja binarnych sterowników... nie wspiera już tej generacji kart graficznych. Byłem w autentycznym szoku. Owszem, nVidia także w nowych wersjach wyłączała wsparcie dla coraz większej liczby starszych kart, jednakże równolegle rozwija gałąź legacy (a obecnie już legacy2 oraz legacy3). AMD/ATi zaś odcięła zupełnie użytkowników nie tak znowu starych serii. W przypadku komputerów desktop nie ma większego problemu, gdyż jeśli ktoś potrzebuje sprzętowej akceleracji 3D, na pewno już zaopatrzył się w nowszy model karty graficznej. Z notebookami nie ma tak dobrze. Tam wymiana "grafiki" jest albo niemożliwa, albo bardzo kosztowna.

Nie było rady. Trzeba było wypróbować radeonhd. Ten sterownik był już na tyle dojrzały (choć jeszcze w wersji alpha), że udało się bez większych problemów uruchomić Xserver. Pojawiły się one w momencie podpięcia notebooka do firmowej stacji dokującej. Sterownik uparcie twierdził, że panel oraz podpięty do stacji monitor to jedno urządzenie i wyświetlał obrazy z obu na wbudowanym wyświetlaczu. Wyglądało to dość osobliwie, ale uniemożliwiało jakąkolwiek pracę. No cóż, trzeba zrezygnować z ułatwień jakie daje KDE4 przy akceleracji 3D i pracować bez niej na sterowniku ati, który... nie widział stacji dokującej wcale. Zgrzytnąłem więc zębami, cofnąłem wersje Xorg do poprzedniej i przywróciłem działające sterowniki binarne.

Ten stan utrzymywał się przez bardzo długi czas, blokując mi możliwość aktualizacji czegokolwiek wymagającego nowych bibliotek Xlib, gdyż działający sterownik AMD nie chciał za nic w świecie z nimi się kompilować. W dniu dzisiejszym podjąłem trudną decyzję - rezygnacja z notebooka i przesiadka na kompyter stacjonarny z inną kartą graficzną. Z czeluści sprzętowego cmentarza wyskrobałem dość mocną maszynę z dwugłowicową kartą nVidia (aby móc podpiąć dwa monitory) i zainstalowałem najnowszą wersję swojej dystrybucji systemu Linux. Wszystko szło gładko do czasu, gdy okazało się, że karta graficzna tak naprawdę jest frmy... ATi. Wymienić na inną nie mogę, gdyż dostępny mam tylko slot AGP, a jedyna wolna karta nVidia jest na PCI-Express.

Minęło już trochę czasu, może więc sytuacja się poprawiła. Na pierwszy ogień poszedł binarny sterownik AMD, który... nie kompiluje się na kernelu 2.6.33. Tutaj zatem nic się nie zmieniło, AMD wciąż w tyle za rozwojem systemu Linux. Miałem jeszcze dobry humor, zatem zainstalowałem sterownik radeonhd, który... nie mógł się dogadać z zewnętrznym monitorem. Próba ustawienia rozdzielczości natywnej kończyła się za każdym razem rozsynchronizowaniem z timingami monitora i jego wyłączeniem. Wpisywanie jawnie w konfiguracji Xorg modeline i zakresów częstotliwości odświeżania nie przynosiło żadnych zmian. Lekko pirytowany wypróbowałem więc sterownik ati. Oba monitory odżyły w natywnych rozdzielczościach. Co więcej, okazało się, że ten otwarty sterownik obsługuje sprzętową akcelerację 3D! Byłem w siódmym niebie... przez jakieś 2.5 minuty. Wydajność akceleracji 3D jest marna. Skalowanie okien w 3 na 10 przypadków kończy się czkawką i stuprocentowym obciążeniem wszystkich rdzeni procesora. Trudno, trzeba było wyłączyć kompozycję i pracować w 2D. I wcale nie było lepiej. Bez akceleracji 3D wydajność odświeżania była niewiele większa. Nie wystąpiły żadne "wykrzaczenia", lecz o komfortowej pracy nie ma co nawet marzyć. Zdenerwowany spakowałem się i pojechałem do domu.

W domu używam kart nVidia i żadnych problemów na binarnych sterownikach nie doświadczam. W netbooku mam kartę Intel, której wydajnośc jest mikroskopijna w porównaniu do karty AMD, z która dzisiaj walczyłem. Tam też, zarówno 3D jak i 2D działa płynnie i bez zarzutu. Dlaczego tak duża firma jak AMD nie może sobie poradzić z tak prostą rzeczą (dla nich) jak sterowniki dla systemu Linux?

Użytkownicy systemu Linux stanowią niewielki procent wszystkich osób używających komputerów i AMD może z tego względu mieć ten system w "głębokim poważaniu". Najwyraźniej jednak firma ta nie dostrzega dwóch rzeczy. Po pierwsze, udział systemu Linux na rynku wzrasta coraz szybciej. Już teraz na komputerach desktop "rządzi" nVidia, zaś na urządzeniach przenośnych Intel. Te ostatnie stają się coraz bardziej popularne, więc tym bardziej AMD powinno zależeć na dopracowywaniu swoich sterowników dla tego systemu. Po drugie, "linuksiarze" stanowią jak na razie mały procent, lecz w większości są to conajmniej tzw. "power users", czyli pasjonaci i "dłubacze". Ci zaś bardzo często doradzają innym jaki sprzęt komputerowy zakupić, lub sami takowy składają. AMD posiadając i tak już fatalną reputację wśród nich tylko działa na swoją szkodę, gdyż doradza się sprzęt firm, które nie tylko produkują podzespoły wysokiej jakości, ale także dbają o klienta.

AMD, przebudź się, bo za kilka lat będziecie ledwo doganiać konkurencję nawet na Windows. Nie pod względem technologicznym (tutaj macie obecnie lekką przewagę), lecz pod względem sprzedaży.

Teraz muszę przeszukać swoje prywatne zasoby. Może znajdę jakąś starą nVidię na AGP...

Brak komentarzy:

Prześlij komentarz

Uwaga. Komentarze są moderowane i mogą nie pojawić się natychmiast po utworzeniu. Autor niniejszego bloga zastrzega sobie prawo do niedopuszczenia komentarzy będących SPAMem i/lub nie odnoszących się do komentowanego wpisu i/lub łamiących zasady kulturalnej wymiany opinii.