ATI - otwarte i zamknięte sterowniki
: 18 lutego 2007, 21:33
Sterowniki do kart ATI ¬ródło
W Debianie mamy możliwość używania dwóch typów sterowników w przypadku kart graficznych z chipsetem ATI:
a) otwarte (ati),
b) zamknięte (fglrx),
Które zatem wybrać? Każdy z tych sterowników ma swoje wady i zalety. Ja na przykład teraz używam otwartych, jednak nie oznacza to, że te zamknięte są złe. Po prostu czasami jesteśmy zmuszeni do używania zamkniętych sterowników. Jednakże, jeżeli masz możliwość używania otwartych sterowników, to właśnie ich używaj, bo są one moim zdaniem lepsze od zamkniętych (pod pewnymi względami).
Sterowniki otwarte:
Ich sprawność działania w wypadku przyspieszenia sprzętowego jest wyśmienita już w obecnej formie na takich kartach jak ATI Radeon 7000-9800, a nawet X300. Jakie są więc zalety używania standardowego, otwartego sterownika?
- obsługa AIGLX (największa zaleta),
- obsługa rozszerzenia composite,
- bezproblemowa współpraca ze starszymi kartami,
- otwartość rozwiązania, brak zależności od rozwiązań zamkniętych.
Jakie są wady standardowego sterownika?
- Najnowsze karty (seria Xxxxx, np. X1400) podobno w ogóle nie współpracują z otwartymi sterownikami,
- Brak w nim obsługi połączeń dual-link DVI (powoduje to czarny obraz w trybie graficznym dla tego typu połączeń),
- Nie zawsze jest też tak wydajny w aplikacjach 3D jak zamknięty, nie-wolnodostępny sterownik fglrx,
Sterowniki zamknięte
Jakie są zalety zamkniętego, nie-wolnodostępnego sterownika fglrx?
- obsługa Xgl (jest to rozwiązanie znacznie gorsze od AIGLX),
- czasami wyższa od otwartego sterownika wydajność w aplikacjach 3D,
- relatywnie niezła stabilność,
- rozbudowana obsługa zaawansowanych funkcji (wyjście telewizyjne, oszczędzanie energii, itp.).
Jakie są wady fglrx?
- nie obsługuje AIGLX/rozszerzenia Composite (jest to największa wada tego rozwiązania),
- binarny moduł jądra nie jest z oczywistych względów otwartym rozwiązaniem, co samo w sobie stanowi wadę, ponieważ nie ma jak naprawić czy nawet wyśledzić ewentualnych błędów w kodzie,
- nie obsługuje kart starszych od 8500 (wersja w repozytorium),
- nie obsługuje kart starszych od 9500 (wersja najnowsza),
Co wybrać? Osobiście polecam sterowniki otwarte, ponieważ działa na nich AIGLX i rozszerzenie composite, ale to Ty wybierasz. Dodam również, że sterowniki otwarte są naprawdę dobrym wyborem, robią mniej problemów i czasami są wręcz wydajniejsze od fglrx.
W terminalu wpisz:
a) Jeśli wyświetli się direct rendering: Yes, to znaczy, że masz między innymi obsługę akceleracji 3D. Sprawdź teraz na jakich sterownikach jedziesz. Jak to sprawdzić? To proste. Otwórz /etc/X11/xorg.conf i spójrz do Section "Device". Powinno tam być: Driver, a zaraz za tym ati lub fglrx. Jeżeli jest tam ati to oznacza to, że korzystasz z wolnych sterowników. Natomiast jeżeli jest tam fglrx, to oznacza to, że używasz zamkniętych sterowników.
W przypadku kiedy używasz otwartych sterowników, to Wypróbuj AIGLX. To świetna sprawa. Jeżeli jednak korzystasz z fglrx, to możesz spróbować sterowników otwartych, o ile wspierają one Twoją kartę graficzną. Możesz także zmienić otwarte sterowniki na zamknięte. Wybór należy do Ciebie.
b) Jeśli natomiast wyświetli się direct rendering: No, to oznacza brak uruchomionego przyspieszenia sprzętowego. Sprawdź jakich sterowników używasz. Jeżeli zamkniętych, to zmień na otwarte. Jeżeli otwartych to zmień na zamknięte.
W przypadku kiedy korzystasz z otwartych sterowników, a nie masz przyśpieszenia sprzętowego i Twoja karta graficzna jest wspierana przez otwarte stery, powodem takiego stanu rzeczy może być brak odpowiednich pakietów. Upewnij się, że posiadasz pakiety: libgl1-mesa-dri, libgl1-mesa-glx, libglu1-mesa, mesa-common-dev, mesa-utils, xlibmesa-dri, xlibmesa-glu. W przypadku braku jakiegoś pakietu, zainstaluj go.
Zmiana sterowników na zamknięte
Tutaj będzie troszeczkę zabawy. Nie będę tutaj opisywał procesu instalacji tych sterowników, ponieważ było to już na forum. Podam tylko linki:
:arrow: http://www.debian.linux.pl/viewtopic.php?p=6246#6246
:arrow: http://www.debian.linux.pl/viewtopic.php?p=118#118
Pamiętaj tylko, żeby koniecznie zrobić sobie kopię pliku /etc/X11/xorg.conf
Zmiana sterowników na otwarte
Tutaj raczej nie będzie dużo do roboty. Wpierw zrób kopię pliku /etc/X11/xorg.conf. Teraz upewnij się, że Twoja karta jest wspierana przez otwarte sterowniki. Jeżeli tak nie jest, no to cóż... Nie możesz skorzystać z nich... W przypadku kiedy Twoja karta jest wspierana, to upewnij się, że posiadasz zainstalowane następujące paczki: libgl1-mesa-dri, libgl1-mesa-glx, libglu1-mesa, mesa-common-dev, mesa-utils, xlibmesa-dri, xlibmesa-glu. Teraz otwórz jako root /etc/X11/xorg.conf w dowolnym edytorze, na przykład:
Znajdź Section "Device" i upewnij się, że za Driver jest wpisane ati. Jeżeli tak nie jest to zmień fglrx na ati. Teraz zrestartuj x'y:
Teraz uruchom ponownie Twoje ulubione środowisko graficzne. Jeżeli x'y się w ogóle nie odpalą, to upewnij się, że wszystko robiłeś według wyżej podawanych zaleceń. Teraz w konsoli wpisz:
Jeżeli pojawi się "direct rendering: Yes", to oznacza, to, że wszystko dobrze zrobiłeś. W przypadku przeciwnej informacji, upewnij się czy wszystko dobrze robiłeś według wyżej wymienionych zaleceń.
Teraz w konsoli wpisz:
Zobacz ile masz fps'ów. Na moim Radeon'ie 9550 wynik jest taki:
To już koniec konfiguracji. Dodam jeszcze, że możesz wywalić sterowniki zamknięte, bo to co teraz zrobiliśmy to tylko "zamiana" zamkniętych sterowników na otwarte. Te zamknięte dalej są w systemie, tylko po prostu nie są używane. Aby zamienić otwarte stery na zamknięte (jeśli masz je już zainstalowane) to po prostu zmień ati na fglrx (mam nadzieję, że już się domyślasz gdzie masz to zmienić ).
W Debianie mamy możliwość używania dwóch typów sterowników w przypadku kart graficznych z chipsetem ATI:
a) otwarte (ati),
b) zamknięte (fglrx),
Które zatem wybrać? Każdy z tych sterowników ma swoje wady i zalety. Ja na przykład teraz używam otwartych, jednak nie oznacza to, że te zamknięte są złe. Po prostu czasami jesteśmy zmuszeni do używania zamkniętych sterowników. Jednakże, jeżeli masz możliwość używania otwartych sterowników, to właśnie ich używaj, bo są one moim zdaniem lepsze od zamkniętych (pod pewnymi względami).
Sterowniki otwarte:
Ich sprawność działania w wypadku przyspieszenia sprzętowego jest wyśmienita już w obecnej formie na takich kartach jak ATI Radeon 7000-9800, a nawet X300. Jakie są więc zalety używania standardowego, otwartego sterownika?
- obsługa AIGLX (największa zaleta),
- obsługa rozszerzenia composite,
- bezproblemowa współpraca ze starszymi kartami,
- otwartość rozwiązania, brak zależności od rozwiązań zamkniętych.
Jakie są wady standardowego sterownika?
- Najnowsze karty (seria Xxxxx, np. X1400) podobno w ogóle nie współpracują z otwartymi sterownikami,
- Brak w nim obsługi połączeń dual-link DVI (powoduje to czarny obraz w trybie graficznym dla tego typu połączeń),
- Nie zawsze jest też tak wydajny w aplikacjach 3D jak zamknięty, nie-wolnodostępny sterownik fglrx,
Sterowniki zamknięte
Jakie są zalety zamkniętego, nie-wolnodostępnego sterownika fglrx?
- obsługa Xgl (jest to rozwiązanie znacznie gorsze od AIGLX),
- czasami wyższa od otwartego sterownika wydajność w aplikacjach 3D,
- relatywnie niezła stabilność,
- rozbudowana obsługa zaawansowanych funkcji (wyjście telewizyjne, oszczędzanie energii, itp.).
Jakie są wady fglrx?
- nie obsługuje AIGLX/rozszerzenia Composite (jest to największa wada tego rozwiązania),
- binarny moduł jądra nie jest z oczywistych względów otwartym rozwiązaniem, co samo w sobie stanowi wadę, ponieważ nie ma jak naprawić czy nawet wyśledzić ewentualnych błędów w kodzie,
- nie obsługuje kart starszych od 8500 (wersja w repozytorium),
- nie obsługuje kart starszych od 9500 (wersja najnowsza),
Co wybrać? Osobiście polecam sterowniki otwarte, ponieważ działa na nich AIGLX i rozszerzenie composite, ale to Ty wybierasz. Dodam również, że sterowniki otwarte są naprawdę dobrym wyborem, robią mniej problemów i czasami są wręcz wydajniejsze od fglrx.
W terminalu wpisz:
Kod: Zaznacz cały
glxinfo | grep direct
W przypadku kiedy używasz otwartych sterowników, to Wypróbuj AIGLX. To świetna sprawa. Jeżeli jednak korzystasz z fglrx, to możesz spróbować sterowników otwartych, o ile wspierają one Twoją kartę graficzną. Możesz także zmienić otwarte sterowniki na zamknięte. Wybór należy do Ciebie.
b) Jeśli natomiast wyświetli się direct rendering: No, to oznacza brak uruchomionego przyspieszenia sprzętowego. Sprawdź jakich sterowników używasz. Jeżeli zamkniętych, to zmień na otwarte. Jeżeli otwartych to zmień na zamknięte.
W przypadku kiedy korzystasz z otwartych sterowników, a nie masz przyśpieszenia sprzętowego i Twoja karta graficzna jest wspierana przez otwarte stery, powodem takiego stanu rzeczy może być brak odpowiednich pakietów. Upewnij się, że posiadasz pakiety: libgl1-mesa-dri, libgl1-mesa-glx, libglu1-mesa, mesa-common-dev, mesa-utils, xlibmesa-dri, xlibmesa-glu. W przypadku braku jakiegoś pakietu, zainstaluj go.
Zmiana sterowników na zamknięte
Tutaj będzie troszeczkę zabawy. Nie będę tutaj opisywał procesu instalacji tych sterowników, ponieważ było to już na forum. Podam tylko linki:
:arrow: http://www.debian.linux.pl/viewtopic.php?p=6246#6246
:arrow: http://www.debian.linux.pl/viewtopic.php?p=118#118
Pamiętaj tylko, żeby koniecznie zrobić sobie kopię pliku /etc/X11/xorg.conf
Zmiana sterowników na otwarte
Tutaj raczej nie będzie dużo do roboty. Wpierw zrób kopię pliku /etc/X11/xorg.conf. Teraz upewnij się, że Twoja karta jest wspierana przez otwarte sterowniki. Jeżeli tak nie jest, no to cóż... Nie możesz skorzystać z nich... W przypadku kiedy Twoja karta jest wspierana, to upewnij się, że posiadasz zainstalowane następujące paczki: libgl1-mesa-dri, libgl1-mesa-glx, libglu1-mesa, mesa-common-dev, mesa-utils, xlibmesa-dri, xlibmesa-glu. Teraz otwórz jako root /etc/X11/xorg.conf w dowolnym edytorze, na przykład:
Kod: Zaznacz cały
vim /etc/X11/xorg.conf
Kod: Zaznacz cały
Ctrl + Alt + BackSpace
Kod: Zaznacz cały
glxinfo | grep direct
Teraz w konsoli wpisz:
Kod: Zaznacz cały
glxgears -printfps
Czasami zdarza się nawet 2000 FPS - różnie to bywa.kaka@debian:~$ glxgears -printfps
libGL warning: 3D driver claims to not support visual 0x4b
6752 frames in 5.0 seconds = 1350.353 FPS
7154 frames in 5.0 seconds = 1430.514 FPS
7175 frames in 5.0 seconds = 1434.936 FPS
7157 frames in 5.0 seconds = 1431.308 FPS
7136 frames in 5.0 seconds = 1427.187 FPS
7157 frames in 5.0 seconds = 1431.262 FPS
7153 frames in 5.0 seconds = 1430.309 FPS
5934 frames in 5.0 seconds = 1186.772 FPS
kaka@debian:~$
To już koniec konfiguracji. Dodam jeszcze, że możesz wywalić sterowniki zamknięte, bo to co teraz zrobiliśmy to tylko "zamiana" zamkniętych sterowników na otwarte. Te zamknięte dalej są w systemie, tylko po prostu nie są używane. Aby zamienić otwarte stery na zamknięte (jeśli masz je już zainstalowane) to po prostu zmień ati na fglrx (mam nadzieję, że już się domyślasz gdzie masz to zmienić ).