Jak w tytule mogę poprawnie skonfigurować technologię nvidia-optimus na Ubuntu?
Jak w tytule mogę poprawnie skonfigurować technologię nvidia-optimus na Ubuntu?
Odpowiedzi:
Uwaga: ten post jest wynikiem wielu dni spędzonych na czytaniu różnych rzeczy w Internecie, więc weź go na własne ryzyko. Został przetestowany na Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (wszystkie 64-bitowe) z kartą graficzną nVidia GT650M. Dodaj komentarze i sugestie
1. Przede wszystkim musimy usunąć wszystkie sterowniki wideo na komputerze:
sudo apt-get remove --purge nvidia*
Następnie trzmiel, jeśli wcześniej go zainstalowałeś:
sudo apt-get remove --purge bumblebee*
Musimy również usunąć wszystkie sterowniki nouveau za pomocą:
sudo apt-get --purge remove xserver-xorg-video-nouveau
Aby mieć pewność, że zostały usunięte wszystkie pliki, spróbuj wpisać : dpkg -l | grep nvidiai dpkg -l | grep bumblebeenic nie powinno zwracać. Dla dpkg -l | grep nouveauprawdopodobne jest, że zwraca kilka linii z napisem libdrm-nouveauXXXXX; na razie po prostu je zignoruj.
2. Następnie musimy upewnić się, że wszystkie nagłówki wpisują:
sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)
3. Następną rzeczą do zrobienia jest umieszczenie na czarnej liście pozostałych sterowników w stylu secesyjnym i niektórych innych pakietów, które mogą powodować problemy:
sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
sudo gedit /etc/modprobe.d/blacklist.conf
Dodanie następujących wierszy na końcu pliku:
# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0
Po prostu zapisz i wyjdź.
4. Teraz uruchom najlepiej znaną komendę Ubuntu
sudo apt-get update && sudo apt-get dist-upgrade -y
5. Od teraz pracujemy na tty. Otwórz konsolę tty1 za pomocą CTRL + ALT + F1 i zaloguj się za pomocą swojej nazwy użytkownika i hasła. Następnie wykonaj:
sudo service lightdm stop
Teraz zainstalujemy sterowniki. Wykonać:
sudo apt-get install nvidia-XXX-updates nvidia-settings
gdzie XXX to najnowsze stabilne sterowniki. Używam sterowników 331, ale gdzieś przeczytałem, że 343 można pobrać (nie wiem, czy są stabilne).
Uwaga: w najnowszych wersjach sterowników instaluje się również nvidia-primedomyślnie. Ta technologia ma na celu automatyczne przełączanie między kartami graficznymi Intel i nVidia bez interwencji użytkownika. Aby to zrobić, obie karty są włączone. Z drugiej strony Optimus włącza kartę graficzną nVidia tylko na wyraźne życzenie użytkownika; przekłada się to na znacznie mniejsze zużycie energii w stosunku do liczby głównej.
Osobiście wolę Optimus od liczby pierwszej, ale jeśli nie przejmujesz się ogromnym marnotrawstwem energii, zatrzymaj się tutaj. W przeciwnym razie masz dwie opcje:
całkowicie usuń prime ( sudo apt-get remove --purge nvidia-prime);
zostaw tam prime; w sekcji „Prime with optimus” zobaczymy, jak sprawić, by optirun działał również z zainstalowaną wersją Prime
6. Teraz musimy zainstalować pakiet bumblebee i virtualgl
sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386
Następnie musimy dodać naszego użytkownika do grupy trzmieli za pomocą:
sudo usermod -a -G bumblebee $USER
Następnie uruchom ponownie komputer.
7. Zaloguj się do swojego konta użytkownika, otwórz nowe okno terminala i wpisz:
cd /etc/bumblebee
ls -Al
Wśród różnych wymienionych plików powinny być w szczególności dwa: bumblebee.confi xorg.nvidia.conf. Zróbmy kopię zapasową obu z:
sudo cp FILE_NAME FILE_NAME.bak
Powinieneś zastąpić FILE_NAME rzeczywistą nazwą pliku. Następnie przejdźmy do zmodyfikowania pierwszego pliku za pomocą sudo gedit bumblebee.conf, dodając (wszystko bez cudzysłowów)
Upewnij się, że „XorgConfFile” w [nvidia-driver] jest równy „/etc/bumblebee/xorg.conf.nvidia” (ponownie, bez cudzysłowów), następnie zapisz i zamknij gedit.
Teraz musimy edytować drugi plik za pomocą sudo gedit xorg.conf.nvidia(w tym przypadku musimy również wstawić cudzysłowy !!). Wymień
Option "ConnectedMonitor" "DFP"się Option "UseDisplayDevice" "none"zapisać i wyjść.
8. Uruchom gedit /etc/modprobe.d/bumblebee.confi upewnij się, że wszystkie wiersze zawierające blacklist <something>nie są komentowane (tzn. Nie zaczynają się od #).
9. W tym momencie uruchom następujące polecenie
sudo service bumblebeed start
Jeśli zwraca błąd, spróbuj ponownie uruchomić polecenie z restartem, a nie startem. Jeśli nadal występują błędy, coś takiego:
restart: Unknown job: bumblebeed
Prawdopodobnie coś jest nie tak w pliku bumblebee.conf; więc ponownie sprawdź krok 7.
Jeśli zamiast tego wynik jest podobny do:
bumblebeed start/running, process XXXXX
Wkrótce skończyłeś konfigurować trzmiela!
10. Teraz możemy po prostu uruchomić optirun glxsphereslub optirun glxspheres64. Jeśli wszystko działa zgodnie z oczekiwaniami, masz wynik podobny do tego:
$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....
Aby dokładnie sprawdzić, czy faktycznie korzystamy ze sterowników nvidia, otwórz inny terminal podczas optirun <application>pracy, a następnie wpisz sudo lshw -c display | grep driver. Wynik powinien być mniej więcej taki.
configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0
Z drugiej strony, jeśli zamkniesz całą aplikację, która została uruchomiona optirun, powinna pokazywać tylko sterownik Intel. Otóż to!!
Dzięki tej odpowiedzi od Pavaka Paula, oto instrukcje dodawania interfejsu użytkownika trzmiela na Ubuntu 14.04 w celu zarządzania aplikacjami, które mają być otwierane za pomocą nVidii.
1. Zainstaluj Python App Indicator:
sudo apt-get install python-appindicator
2. Zainstaluj Git:
sudo apt-get install git
3. Utwórz katalog dla git:
mkdir git && cd git
4. Sprawdź repozytorium:
git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL
5. Przejdź do aplikacji startowych i dodaj wskaźnik trzmiela [kliknij Dodaj, a następnie wstaw żądaną nazwę i komentarz; wstaw bumblebee-indicatorw polu poleceń i kliknij Dodaj).
6. Uruchom ponownie.
Jeśli chcesz mieć opcję korzystania również nvidia-primeczasami, spróbuj wykonać poniższe instrukcje.
1. Aby zapobiec bumblebeeduruchomieniu w czasie rozruchu, wykonaj:
echo "manual" | sudo tee /etc/init/bumblebeed.override
2. Ten punkt jest najbardziej problematyczny; zapobiega trzmielowi na czarnej liście sterowników nVidia i powinien spowodować zawieszenie sesji graficznej. Wypróbuj na własne ryzyko! Biegać:
sudo gedit /etc/modprobe.d/bumblebee.conf
I skomentuj wiersz zawierający sterowniki nVidia XXX. Powinno to doprowadzić do czegoś takiego.
# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
3. Uruchom ponownie system i uruchom nvidia-settings. Ostateczna sytuacja jest następująca:
Jeśli wybierzesz „Intel (Oszczędzanie energii)” w ustawieniach NVIDIA, domyślnie włączona będzie tylko karta graficzna Intel. Nadal musisz uruchomić aplikację, optirunaby korzystać z karty graficznej nVidia
sudo service bumblebeed start
optirun <application>
Jeśli zamiast tego chcesz użyć profilu „Nvidia (wydajność)”, wybierz go z ustawień nvidia, a następnie zaloguj się / wyloguj i wszystko powinno działać automatycznie. Jedyną rzeczą jest to, że nie musisz uruchamiać bumblebeeddemona z wybranym profilem, ponieważ może to powodować problemy.
1. Jeśli chcesz używać tylko nvidia-prime:
sudo apt-get --purge remove bumblebee*
Następnie uruchom ponownie.
2. Jeśli chcesz używać tylko Optimusa bez usuwania nvidia-prime, edytuj ponownie poprzedni plik:
sudo gedit /etc/modprobe.d/bumblebee.conf
Cofnięcie komentarza (usunięcie znaku #) z wcześniej zmodyfikowanych linii:
# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
I ponowne uruchomienie. W takim przypadku możesz pozostawić działanie trzmiela podczas uruchamiania:
sudo rm /etc/init/bumbebeed.override
vblank_mode=0 primusrun ./glxgearslub możemy użyć vblank_mode=0 optirun -b primus ./glxgears. dzięki :)