Linux Hybrid Graphics
01.01.2012 | aktual.: 19.01.2012 14:54
W dzisiejszym wpisie chciałbym poruszyć temat, jak to jest z wykorzystaniem hybrydowych kart graficznych w systemach Linux. Ponieważ jak niektórym wiadomo technologia Nvidia Optimus, czyli przełączanie się kart (Intel+nVidia) nie jest jeszcze do końca rozwiązana w systemach Linuksowych. Dokładniej chodzi o to, że trzeba doinstalować pewien programik, za pomocą którego będziemy mogli używać obie karty graficzne, a nie tylko zintegrowaną z procesorem kartę Intel. Ale także używać drugą niezintegrowaną z procesorem, czyli dedykowaną kartę nVidia, która domyślnie w ogóle nie jest wykorzystana, a która tylko bardzo szybko rozładowuje naszą baterię notebooka. O tym właśnie postaram się napisać później. Najpierw chciałbym pokazać jak łatwo można sprawdzić, jaką kartą graficzną dysponuje nasz komputer.
Tak więc, jeśli chcemy sprawdzić jaką kartę graficzną lub karty (hybrydowe) posiadamy oraz jakie sterowniki mamy zainstalowane do obsługi tychże kart, to musimy w konsoli wpisać następujące polecenie:
sudo lshw -c display
mariusz@Aspire:~$ sudo lshw -c display *-display description: VGA compatible controller product: GF106 [GeForce GT 555M] vendor: nVidia Corporation physical id: 0 bus info: pci@0000:01:00.0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vga_controller bus_master cap_list rom configuration: driver=nouveau latency=0 resources: irq:16 memory:d0000000-d0ffffff memory:a0000000-afffffff memory:b0000000-b1ffffff ioport:2000(size=128) memory:d1000000-d107ffff *-display description: VGA compatible controller product: 2nd Generation Core Processor Family Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 09 width: 64 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:42 memory:d1400000-d17fffff memory:c0000000-cfffffff ioport:3000(size=64)
W wyniku czego wyświetli nam się taki oto komunikat, który informuje nas, że jest to karta graficzna nVidia (sterownik=nouveau) oraz druga karta Intel (sterownik=i915) zintegrowana z procesorem. Oczywiście jest to przykład pokazujący, jakie ja mam zainstalowane karty graficzne w moim notebooku.
Właśnie dla tego musiałem zainstalować program o nazwie Ironhide, który jest kontynuacją projektu Bumblebee, za pomocą którego mogę wykorzystać moją hybrydową kartę graficzną. W moim przypadku jest to połączenie zintegrowanej z procesorem i5 karty graficznej Intel® HD Graphics 3000 (Sandy Bridge) oraz dedykowanej karty graficznej nVidia GT540M CUDA (2 GB).
Instalacja programu Ironhide wygląda w następujący sposób, czyli w konsoli wpisujemy:
sudo apt‑add-repository ppa:mj-casalogic/ironhide sudo apt‑get update sudo apt‑get install ironhide
Jeśli wszystko zainstalowało się poprawnie to możemy rozpocząć konfiguracje programu, oczywiście po wcześniejszym restarcie systemu, ponieważ jest to potrzebne do poprawnego działania moduł sterownika Nvidia. Wydając w konsoli następujące polecenie:
sudo ironhide-configuration
Polecenie to wykryje model laptopa. Wskutek czego odpowiednio skonfigurujemy naszą kartę graficzną. Polega to w skrócie na kilkakrotnym naciśnięciu przycisku OK.
Poza tym mamy do dyspozycji dodatkowe ustawienia:
sudo ironhide-settings
sudo ironhide-bugreport
Co więcej to istnieje możliwość zainstalowania nakładki graficznej (GUI), która będzie widoczna jako ikona na pasku zadań. W tym miejscu chciałem wspomnieć, że nie używam tego apletu, ponieważ u mnie nie działał poprawnie pod Ubuntu, a nie wiem jak to jest dokładnie z innym dystrybucjami. Więc odsyłam na stronę gdzie jest pokazane jak wygląda i jak się używa - Ironhide applet - Optimus Support - Ironhide Project. Moim zdaniem nie ma potrzeby używania nakładki graficznej na tenże program, bo bardzo łatwo możemy uruchomić aplikacje na karcie Nvidia z wiersza poleceń, czyli wpisując w terminalu polecenie:
optirun
Możemy także bardziej dokładnie określić, czy program ma być używany w systemach 32‑bitowych - polecenie: optirun32 lub optirun64 w 64‑bitowych.
Dla przykładu chcąc uruchomić jakąś grę na pełnych detalach np. Nexuiz na karcie graficznej Nvidia to w konsoli wpisuję tylko:
optirun Nexuiz
Wskutek czego mogę się cieszyć bardzo płynną grafiką na pełnej rozdzielczości monitora, a nie tylko grać w słabsze gry na zintegrowanej z procesorem karcie Intela. Chociaż patrząc z drugiej strony na zintegrowaną kartę graficzną Intel to w pełni wystarcza do korzystania z wszystkich uroków Ubuntu Unity.
Na zakończenie chciałbym wspomnieć o funkcji, którą mam dostępną w Biosie, a daje możliwość przełączania się automatycznie pomiędzy obydwoma kartami graficznymi lub w moim przypadku całkowitego wyłączenia karty Nvidia. Wyłączenie karty Nvidia jest dobre dla tych, którzy korzystają z notebooka w terenie, czyli po prostu chodzi tu o dłuższe działanie baterii. Co do automatycznego przełączania się kart (Intel+nVidia) działa to tylko z najnowszymi systemami Windows. Dlatego właśnie użytkownicy Linuksa, którzy posiadają hybrydowe karty graficzne, jak na razie muszą zainstalować sobie wyżej wymieniony program.
Mam nadzieję, że w miarę logicznie udało mi się przedstawić wątek o hybrydowych kartach graficznych w systemach Linux.
Pozdrawiam