EDIT CAŁOŚCI
Poniżej podaję trzy sposoby rozwiązania problemu z grafiką hybrydową w Ubuntu
Edit: 09-05-2011 ... I SPOSÓB CZWARTY NA SAMYM DOLE
Sposób 1
Uwaga !!! Ten sposób jest jeszcze niedopracowany, powoduje niestabilność systemu, zawieszanie się systemu przy wyłączaniu lub wylogowywaniu systemu:
To co napisałem poniżej jest efektem kilku(nastu) godzin "rozgryzania" możliwości przełączania pomiędzy kartami graficznymi tzn. pomiędzy kartą graficzą zintegrowaną z procesorem Intel'a oraz karta graficzną dedykowaną Vidia 310M. Efekt jaki uzyskałem na chwilę obecną to możliwość wyłączenia karty graficznej nVidia. Potwierdziłem to poprzez (niestety tylko w ten sposób) pomiar prądu za pomocą polecenia:
po wyłączeniu karty graficznej nVidia pobór prądu jest o około 6000 mW mniejszy. Jeżeli jest inny sposób na sprawdzenie, czy rzeczywiście karta nVidia jest wyłączona to chętnie go wypróbuję.
Niestety nie wszystko udało się zrobić ale o tym poniżej. Ewentualnie bardziej światłych i rozgarniętych proszę o pomoc.
UWAGA! Nie ponoszę jakiejkolwiek odpowiedzialności za ewentualne możliwe szkody, które mogą powstać przy próbach użycia modułu asus-switcherro do wyłączania/przełączania kart graficznych.
Zakładam na początek, że jest zainstalowany sterownik nvidii nouveau. Jeżeli jest sterownik własnościowy to w ogóle szkoda czasu na poniższe instrukcje.
Ale do rzeczy:
1. Na początek ściagamy kilka pakietów:
wget: nie będę pisał po co jest potrzebne, ponieważ wszyscy wiedzą
gxmessage: do wyświetlania w okienkach np. przycisków przy przełączaniu
notify: takie dymki po prawej stronie na górze z powiadomieniami
Kod: Zaznacz cały
sudo apt-get install wget gxmessage libnotify-bin
teraz ikony (Niestety dotychczas nigdzie się nie pokazały, a powinny w dymkach informacyjnych. Skrypt się do nich odwołuje w związku z powyższym uważam, że trzeba je ściągnąć. Prawidłowa konfiguracja dymków to jest mniejszy problem i na później .... ale jeżeli, ktoś ma ochotę na to luknąć to proszę bardzo):
Edit: w skrypcie switch_between_cards.sh należy w linijkach rozpoczynających się od:
... wpis "$USER" zmienić na nazwę normalnego usera
... albo ściągać pliki z sudo na początku (wtedy ściągną się do katalogu /root i ikony będą wyświetlane w dymkach przy uruchamianiu tego skryptu jako root
... albo jak się komuś uda skutecznie uruchomić ten skrypt jako zwykły user to nic nie ruszać[/color]
Kod: Zaznacz cały
wget -P /home/"$USER"/.local/share/icons/ http://lh4.ggpht.com/_Dw3SC8gD9Jk/S-MGVcEfaiI/AAAAAAAAAIA/Pguy_uSeqSk/s800/hardware_down.png
Kod: Zaznacz cały
wget -P /home/"$USER"/.local/share/icons/ http://lh5.ggpht.com/_Dw3SC8gD9Jk/S-MGVSO0JbI/AAAAAAAAAIE/_mdAnW7UiCQ/s800/hardware_up.png
Kod: Zaznacz cały
wget -P /home/"$USER"/.local/share/icons/ http://lh4.ggpht.com/_Dw3SC8gD9Jk/TNbQXzK6hrI/AAAAAAAAAJ8/YlqK46MusuE/s800/hardware.png
Kod: Zaznacz cały
wget -P /home/"$USER"/.local/share/icons/ http://lh5.ggpht.com/_Dw3SC8gD9Jk/S41DjuMt_MI/AAAAAAAAAF4/5pQm2-dX6Sg/s800/switch_before_shutdown.png
2. Przypisujemy właściciela pliku switch, który znajduje się w katalogu /sys/kernel/debug/vgaswitcheroo/
dodajemy wpis:
Kod: Zaznacz cały
chown "nazwa-usera" /sys/kernel/debug/vgaswitcheroo/switch
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch]
# w miejsce "nazwa-usera" wpisz swoją nazwę
Edit: mnie się nie udało skutecznie nadać praw i zmienić właściciela tego pliku (tutaj opisałem problem: viewtopic.php?f=213&t=145828
3. Instalujemy moduł asus-switcherr (w najnowszym ubuntu jakoby już jest ale ten z git'a jest świeższy)
z zależnościami
wpisz swoje hasło
Kod: Zaznacz cały
git clone git://github.com/awilliam/asus-switcheroo.git
4. Po wykonaniu tych pleceń (z sukcesem) zrestartować laptopa (zrestartować ubuntowym domyślnym ikonowyłączaczem, nie restartować z palucha!)
5. To na wszelki wypadek: sprawdzić czy w katalogu /sys/kernel/debug/vgaswitcheroo/ jest plik 'switch'.
Ma on niestety tendencje do samoistnego znikania. Jeżeli jest lecimy dalej, jeżeli nie ma to pkt. 3 od początku albo pkt.2 z uwag poniżej
6. Ściągnąć skrypty switch_between_cards.sh i switch_before_shutdown.sh ze strony
http://asusm51ta-with-linux.blogspot.com/. Zapisać i nadać prawa do wykonania.
w ogóle na tej stronie jest też wszystko napisane ale chyba na ubuntu 10.10
poza tym na stronach:
http://linux-hybrid-graphics.blogspot.com/
7. Wykonać pierwszy skrypt z sudo czyli
sudo ./switch_between_cards.sh
**********************************************************************************************************************
I teraz ... powinno się pojawić okienko z wyborem kart graficznych do wyłączenia/włączenia.
Proszę zwrócić uwagę czy znajduje się przy nazwach kart opis stanu kart [ON lub OFF].
Jeżeli nie ma tego opisu to znaczy, że coś nie poszło.
Wtedy pkt. 2 z uwag poniżej
**********************************************************************************************************************
Uwagi:
1. Po skończeniu powyższych "operacji" nie wyłączać ani nie restartować systemu z ikonowyłączacza systemowego ani nawet z palucha tylko użyć do tego drugiego skryptu czyli switch_before_shutdown.sh
Edit: I tak się czasami wiesza system albo nie ma załadowanego modułu nouveau. Tutaj rozwiązanie, które podobno czasami pomaga: https://lists.launchpad.net/hybrid-grap ... 00832.html.
Mnie nie pomogło.
2. Jeżeli po uruchomieniu pierwszego skryptu (na wczesnym etapie uruchamiamy z terminala, a ta instrukcja to jest wczesny etap) jest komunikat, że nie ma pliku switch w katalogu /sys/kernel/debug/vgaswitcheroo/ to trzeba przeładować moduł nouveau, czyli:
Kod: Zaznacz cały
sudo modprobe -r nouveau
sudo modprobe nouveau
A TERAZ PROBLEMY:
1. ZE SKRYPTU switch_before_shutdown.sh USUNĄŁEM SEKCJĘ DOTYCZĄ ROZPOZNAWANIA SESJI. DOPIERO WTEDY ZADZIAŁAŁ
Edit: Sesja Ubuntu Classic nazywa się: gnome-classic, I to trzeba wpisać w skrypcie, wtedy zadziała. Ale i tak się pewnie zawiesi.
2. TAK JAK WCZEŚNIEJ NAPISAŁEM JEST TYLKO MOŻLIWOŚĆ WYŁĄCZENIA/WŁĄCZENIA KARTY GRAFICZNEJ nVIDIA. KARTY INTELA W OGÓLE ŻADNYM SPOSOBEM NIE MOGĘ ZMUSIĆ DO WYŁĄCZENIA/WŁĄCZENIA W SKRYPCIE DO PRZEŁĄCZANIA KART SĄ WPISY DOTYCZĄCE ROZPOZNAWANIA SESJI. POWINIEN ON PO WŁĄCZENIU/WYŁĄCZENIU KONKRETNEJ KARTY GRAFICZNEJ WYLOGOWAĆ SYSTEM (TYLKO NA ZATRZYMANYCH X-ACH MOŻNA FAKTYCZNIE ZMIENIĆ KARTĘ GRAFICZNĄ).PROSZĘ ŚWIATŁYCH I BARDZIEJ ROZGARNIĘTYCH UŻYTKOWNIKÓW O LUKNIĘCIE NA SEKCJĘ (ONA SIĘ POWTARZA W SKRYPCIE KILKA RAZY):
Kod: Zaznacz cały
if [ "$DESKTOP_SESSION" = "openbox" ]
then
killall -u "$USER"
elif [ "$DESKTOP_SESSION" = "gnome" ]
then
gnome-session-save --logout
JA OSOBIŚCIE UŻYWAM 11.04 UBUNTU CLASSIC. JAK SIĘ BĘDZIE NAZYWAŁA SESJA W KTÓREJ PRACUJĘ? "GNOME".
JEŻELI TAK TO DLACZEGO NIE WYLOGOWUJE? JAK TO SPRAWDZIĆ?
Edit. Jak w punkcie powyżej: gnome-classic
3. JAKI JEST INNY SPOSÓB OPRÓCZ POMIARU POBORU PRĄDU, SPRAWDZENIA KTÓRA KARTA GRAFICZNA DZIAŁA?
(DZIAŁA ... A NIE JEST W SYSTEMIE ALBO MA ZAŁADOWANY MODUŁ!)
4. PROSZĘ PODCHODZIĆ DO TEGO CO NAPISAŁEM PŁYNNIE... Z GŁOWĄ
[/size]
Sposób 2
Ten sposób jest opisany w linku poniżej. Sprawdziłem, działa bez problemu. Jest opisany w tak jasny i prosty sposób, ze nawet mózgu nie trzeba włączyć. Niestety polega on na stałym wyłączeniu karty nVidia. I na obecnym etapie jest to chyba najlepsze wyjście. POLECAM:
link:
http://ubuntuforums.org/showpost.php?s= ... ostcount=1
Sposób 3
Ten sposób jest dla hardkorowców. To jest projekt Optimus Prime, obecnie w fazie pre-pre-pre-alpha i ostatecznie prawdopodobnie właśnie on będzie skutecznie obsługiwał grafikę hybrydową w linuksie. Nie wiem czy polecam, nie próbowałem. Jak dla mnie wygląda na zbyt skomplikowany
link:
http://linux-hybrid-graphics.blogspot.c ... prime.html
NA CHWILĘ OBECNĄ (SOBOTA 07-MAJA-2011) NIC INNEGO W SIECI NIE ZNALAZŁEM
Edit: 09-05-2011
SPOSÓB CZWARTY
Na tej stronie podano czwarty sposób na rozwiązanie problemu grafiki hybrydowej w ubuntu (przetestowane na Ubuntu 11.04
). Sposób wydaje się dość obiecujący, instalacja dość prosta. W dość dużym skrócie sposób ten polega na jednoczesnym efektywnym wykorzystywaniu obu kart graficznych. Polega on na uruchamianie aplikacji wymagającej większej pamięci karty graficznej czyli na nVidii odpowiednim poleceniem: optirun32 lub optirun64 ...i nazwa aplikacji. Na chwilę obecną autor poszukuje sposobu na wyłączenie karty nVidia w czasie gdy nie jest ona używana. Biorąc pod uwagę szybkość z jaką rozwijany jest kod (wczoraj jeszcze nie było zaimplementowanych własnościowych Nvidia a dzisiaj już są ... tak, tak własnościowe nVidia a nie nouveau) należy założyć, że należy cierpliwie poczekać jeszcze kilka dni i ten problem będzie rozwiązany. NIE WIEM CZY POLECAM ... WYGLĄDA OBIECUJĄCO ... JA OSOBIŚCIE CZEKAM JESZCZE KILKA DNI I PRÓBUJĘ.
pozdrawiam
yacup