Optimus, czyli dwie karty graficzne

Jeśli ktoś jest się posiadaczem nowego laptopa, lub planuje zakup takowego, wyposażonego w procesora Intel’a oraz kartę nVidii to czeka go pewne zaskoczenie (chyba że doczytał i kupował laptopa świadomie) — laptop będzie miał dwie karty graficzne (tzw. system Optimus). Wraz z najnowszą linią procesorów (codename Sandy Bridge) Intel postanowił wyposażać swoje procesory we wbudowaną kartę graficzną. Pomysł wcale nie taki głupi, ale…

W założeniach ma to działać tak, że jeśli zadanie nie wymaga mocnej karty graficznej, jak przy czytaniu poczty, przeglądaniu internetu, pisaniu tekstów w wordzie czy na blogu (większość codziennych zadań) to, aby oszczędzać energię pracuje tylko karta Intel’a, a nVidia jest usypiania. Jeśli natomiast uruchamiamy coś zasobożernego to pracę przejmuje nVidia. Jak mówię założenia niezłe. Jednak problemy pojawiają się kiedy nie używamy systemu pod który to zostało przystosowane, czyli Windows’a, i zainstalujemy Linuksa.

Zanim opiszę jak radzić sobie z problemem powiem jak to jest skonstruowane. W tańszych i średnich laptopach ekran podłączony jest bezpośrednio do karty Intel’a więc ta karta zawsze będzie funkcjonalna (nawet na Linuksie). Jeśli jednak wykorzystywana jest nVidia to wyniki swoich obliczeń zapisuje ona do specjalnego bufora, a druga karta je pobiera i wysyła na ekran. I tej funkcjonalności sterowniki Linuksowe nie obsługują.

W drogich laptopach (lub tych których producenci po prostu postanowili zrobić to dobrze) ekran podłączony jest do urządzenia pośredniczącego — muxera, który to muxer wybiera z której karty pobierać dane i wysyłać na ekran. W laptopach z takim rozwiązaniem (jeśli tylko producent nadal chciał robić rzeczy dobrze) możemy w BIOS’ie/UEFI wybrać, aby laptop używał tylko jednej karty oraz wybrać której. Co jednak jeśli chcemy korzystać ze wszystkich dobrodziejstw nowego komputera pod Linuksem?

Oczywiście jak zawsze społeczność znalazła własne rozwiązania problemu. Opcje są dwie:

  1. Można mieć włączone obie karty (nVidia kiedy jest nie używana powinna zużywać niewielkie ilości energii), domyślnie wszystkie programy będą uruchamiane na Intel’u, a tylko te które uruchomimy za pomocą specjalnego programu będą używać nVidii
  2. Można wyłączać jedną z kart i działać tylko na drugiej, a kiedy chcemy zmienić kartę zabić system graficzny, w konsoli specjalnym programem przełączyć karty i ponownie włączyć powłokę graficzną tym razem używając drugiej karty

Które rozwiązanie jest lepsze to już zależy od potrzeb użytkownika. Osobiście przetestowałem pierwsze rozwiązanie i działa bardzo dobrze. Gra która na karcie Intel’a klatkowała po uruchomieniu poprzez program przerzucający ją na nVidię działała bezbłędnie.
Drugiego rozwiązania nie dane mi było przetestować gdyż felerny laptop nie był mój, a właściciel był zadowolony z pierwszego rozwiązania.

Co dokładnie kliknąć i jak poustawiać nie będę opisywał gdyż jest to temat który ze względu na swoją świeżość ulega ciągłym zmianom. Podam za to linki do stron na których można znaleźć najświeższe informacje:

  • Linux Hybrid Graphics — strona ludzi którzy postawili sobie za cel zmusić to do poprawnego działania (opisy głównie dla Ubuntu)
  • nVidia Optimus and X.Org — opis pierwszej metody na Gentoo wiki; może być przydatny dla użytkowników czegoś innego niż Ubuntu
  • vgaswitcheroo — opis drugiej metody na Gentoo wiki; może być przydatny dla użytkowników czegoś innego niż Ubuntu

Jeśli ktoś ma jakieś własne doświadczenia lub użyteczne linki to dajcie znać.

Comment are closed.