Jak zainstalować sterowniki nVidia z Bumblebee na Ubuntu 14.04

Odpowiedzi:

26

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


Zainstaluj nVidia i trzmiel

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)

  • sekcja [trzmiel]: po „Driver =” wstaw „nvidia”
  • sekcja [sterownik nvidia]: po „KernelDriver =” wstaw „aktualizacje nvidia-XXX”
  • sekcja [sterownik nvidia]: po „LibraryPath =” insert ”/ usr / lib / nvidia-XXX-updates, / usr / lib / nvidia-331-updates: / usr / lib32 / nvidia-XXX-updates”
  • sekcja [sterownik nvidia]: po „XorgModulePath =” insert ”/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / modules”

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!!


Zainstaluj interfejs użytkownika Bumblebee

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.


Prime z Optimus

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.

W przypadku problemów:

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
tigerjack89
źródło
1
Postępowałem zgodnie z instrukcjami na Ubuntu 14.04, ale mój ekran robi się czarny po ekranie powitalnym i nie mogę się zalogować. Korzystanie z Dell XPS L502x, NVIDIA GFRC GT540M.
DeepSidhu1313
1
Czy na pewno postępowałeś zgodnie ze wszystkimi instrukcjami od samego początku? W każdym razie naciśnij CTRL + ALT + F1, aby uzyskać dostęp do tty, a następnie wprowadź dane logowania i uruchom ponownie od początku.
tigerjack89
1
Ok rozwiązałem problem za pomocą vblank_mode=0 primusrun ./glxgearslub możemy użyć vblank_mode=0 optirun -b primus ./glxgears. dzięki :)
DeepSidhu1313
1
Uwaga, musiałem zainstalować xorg-edgers ppa, aby uzyskać pakiety virtualgl. Nie były dostępne w czystej instalacji Ubuntu 14.04
Ubuntuser
1
To zdecydowanie najbardziej aktualny samouczek, na który głosuję. Sprawdziłem i działa dla 17.10. Dobra robota.
Doodloo