Nie można już zmienić karty graficznej z Intel na NVIDIA

39

[Ubuntu 14.04 64bit]

Po przełączeniu między grafiką Intel / NVIDIA a różnymi sterownikami NVIDIA nagle utknąłem w procesorze graficznym Intel. Kiedyś nie było żadnego problemu z przełączaniem się między nimi - nie mogę powiedzieć na pewno, co nagle powoduje problem. Myślę, że ostatnią rzeczą, którą zrobiłem, było przejście na sterownik „X.Org X server” - wtedy coś się zepsuło. Przełączanie było częścią mnie, próbującego rozwiązać problemy z konfiguracją dodatkowego ekranu .

wprowadź opis zdjęcia tutaj

Za każdym razem, gdy próbuję przejść na NVIDIA, pojawia się ten bardzo wyraźny komunikat o błędzie, a następnie przełącza się z powrotem na Intel: /

Przydałaby mi się pomoc w rozwiązywaniu problemów lub sugestie, co spróbować.

Do tej pory (un / re) instalowałem różne pakiety „nvidia-settings” / „nvidia-current” / „nvidia-current-updates” / „nvidia-331” / „nvidia-331-updates”. Bezskutecznie.

> lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev a1)

/etc/apt/sources.list: można znaleźć na pastebin.com


W odniesieniu do sugestii Qasima:

raffael@raffael-GT60~> sudo prime-select nvidia
[sudo] password for raffael: 
Error: alternatives are not set up properly
Error: nvidia mode can't be enabled
raffael@raffael-GT60~> sudo prime-select intel
Error: alternatives are not set up properly
Error: intel mode can't be enabled

Odnośnie drugiej sugestii Qasima:

sudo apt-get purge nvidia*
[reboot]
sudo apt-get install nvidia-319-updates nvidia-settings-319-updates nvidia-prime
[reboot]
[tried to switch to NVIDIA]

Dziwne jest to, że tak naprawdę zadziałało za pierwszym razem! Następnie przełączyłem się ponownie na Intel - wylogowanie / włączenie - przełączyłem z powrotem na NVIDIA - wylogowanie / włączenie -> system się zawiesił - błąd jak opisano powyżej.


Odnośnie sugestii Louisa Matthijssena:

raffael@raffael-GT60:~$ sudo update-alternatives --set /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf /usr/lib/nvidia-331-updates-prime/ld.so.conf
update-alternatives: error: alternative name (/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf) must not contain '/' and spaces
raffael@raffael-GT60:~$ ls -la /usr/lib/nvidia-331-updates-prime
total 44
drwxr-xr-x   2 root root  4096 Mai  2 22:45 .
drwxr-xr-x 196 root root 32768 Mai  3 10:57 ..
-rw-r--r--   1 root root     0 Apr  4 11:50 alt_ld.so.conf
-rw-r--r--   1 root root    60 Apr  4 11:50 ld.so.conf

Powtarzane algo dwa razy - nie działało ponownie: /

Teraz wydaje się działać:

raffael@raffael-GT60:~$ sudo update-alternatives --set x86_64-linux-gnu_gl_conf /usr/lib/nvidia-331-updates-prime/ld.so.conf 
update-alternatives: using /usr/lib/nvidia-331-updates-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode

raffael@raffael-GT60:~$ sudo update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/nvidia-331-updates-prime/alt_ld.so.conf
update-alternatives: using /usr/lib/nvidia-331-updates-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

Potem mogłem przejść na NVIDIA - ale nie zaoferowano mi rozszerzonego „Ustawienia serwera NVIDIA X” - zrestartuje się teraz i zobaczę, co się stanie. Dalsze działania: po ponownym uruchomieniu komputer wrócił do Intela i nie może normalnie przejść na NVIDIA. Wydaje mi się, że twoja metoda, Louis, oszukuje system operacyjny w przekonaniu, że używa NVIDII, podczas gdy tak naprawdę nie jest.

Raffael
źródło
2
Mam dokładnie ten sam problem, w rzeczywistości problem został przedłużony, a teraz moja karta Nvidia nie działa w systemie Windows 8.1, co oznacza, że ​​wpływa to na niektóre konfiguracje systemu operacyjnego :( Rzeczywiście próbowałem z czystą instalacją Ubuntu i nie ponownie
rozpoznaje
Czy możesz opublikować swój /etc/apt/sources.list?
davidbaumann
@Raffael ... Usunąłem odpowiedź, spróbuj usunąć i ponownie zainstalować nvidia prime przez sudo apt-get install nvidia-319-updates nvidia-settings-319-updates nvidia-prime
Qasim
usunąłeś NVIDIA na 1. miejscu? @Raffael
Qasim
czy mogę uzyskać dostęp do podglądu zespołu, abym mógł sprawdzić problem
Qasim

Odpowiedzi:

18

Gdy pojawi się następujący błąd:

Error: alternatives are not set up properly

Możesz spróbować samodzielnie ustawić alternatywy.

Po przejściu na Intel widzę:

update-alternatives: using /usr/lib/nvidia-331-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-331-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

Po przejściu na NVIDIA widzę:

update-alternatives: using /usr/lib/nvidia-331/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-331/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

Więc można spróbować tego, aby przełączyć się do Intela:

sudo update-alternatives --set x86_64-linux-gnu_gl_conf /usr/lib/nvidia-331-prime/ld.so.conf
sudo update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/nvidia-331-prime/alt_ld.so.conf

Oczywiście powinieneś zastąpić 331 własną wersją.

Teraz możesz wypróbować kilka rzeczy, aby uruchomić przełącznik:

  • Wyloguj się i zaloguj ponownie

    aby zrestartować serwer X tak jak zwykle

  • Uruchom ponownie cały komputer

    w tym samym celu powyżej

  • Wykonać sudo prime-select nvidia

    ponieważ twoje alternatywy są teraz ustawione dla Intela, mam nadzieję, że to również naprawi wszelkie inne ustawienia, aby wszystko było tak, jak powinno być ponownie (oczywiście powinieneś nadal restartować serwer X)

Mam nadzieję, że poprawnie zinterpretowałem błąd.

Możesz także użyć, prime-select queryaby sprawdzić, która karta jest aktualnie wybrana i naprawić alternatywy dla tej karty (na przykład NVIDIA), ponieważ możesz w jakiś sposób ustawić alternatywy dla drugiej karty (na przykład Intel), ale narzędzie wciąż myśli, że używam drugiej karty (na przykład NVIDIA), co powoduje błąd informujący, że alternatywy nie są skonfigurowane poprawnie.

Louis Matthijssen
źródło
Nie jestem pewien, dlaczego sugerujesz, jak powinienem przejść na Intel - ale wywołanie pierwszego polecenia kończy się jako dodane do mojego pytania.
Raffael
Przepraszam, to były złe polecenia. Mam na myśli, że możesz spróbować ustawić alternatywy dla bieżącej karty (Intel), ponieważ prime-selecttwierdzi, że alternatywy są zepsute. Następnie możesz spróbować, jeśli przejście na NVIDIA znów działa. Nie wiem, czy to zadziała i powinieneś sprawdzić, na co wskazują obecnie alternatywy, abyś mógł je przywrócić, jeśli to nie zadziała.
Louis Matthijssen
1
Właśnie dostałem dokładnie ten sam problem, co ty, kiedy próbowałem przejść na NVIDIA. Podane tu polecenia działały dla mnie. Zobacz moją pełną wydajność .
Louis Matthijssen
+10 +50 za wysiłek;) Chyba po prostu przeinstaluję Ubuntu, kiedy znajdę czas
Raffael
1
Dla mnie problem polegał na tym, że alternatywy wskazywały na sterownik Mesa, myląc tym samym prime-select. Wszystko, co musiałem zrobić, to zresetować alternatywy do domyślnych: update-alternatives --auto i386-linux-gnu_gl_conf, update-alternatives --auto x86_64-linux-gnu_gl_conf. Następnie panel nVidia znów zaczął działać.
SnakE
5

Myślę, że przynajmniej znalazłem obejście .

Chodzi o to update-alternatives.
Zauważyłem to jedno i drugie

sudo update-alternatives --config i386-linux-gnu_gl_conf

i

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

zwraca listę zawierającą /usr/lib/i386-linux-gnu/mesa/ld.so.conflub podobną.

Jakoś po każdym zrestartowaniu /usr/lib/i386-linux-gnu/mesa/ld.so.confustawiono wybrane, nawet jeśli zmieniłem to wcześniej ręcznie.

Próbowałem zmienić kolejność na tej liście, ale ostatecznie rozwiązaniem było jej usunięcie

sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf

i

sudo update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf

To powinno wystarczyć.
Jeśli nie, ustaw zarówno „i386”, jak i „x86_64” na tę samą opcję

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

i

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

Uruchom ponownie później.

Zawsze możesz przywrócić go do pierwotnego stanu przez

sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf 500  

i

sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500

Mam nadzieję, że to również zadziała dla Ciebie.

kcpr
źródło
1
Po wykonaniu instrukcji i ponownym uruchomieniu nie mogłem się już zalogować. Pojawiła się strona logowania, a po wpisaniu hasła i naciśnięciu Enter wyświetli się czarny ekran, a następnie ekran logowania ponownie. Użyłem CTRL + Alt + F1 i użyłem twoich dwóch ostatnich poleceń, aby przywrócić poprzednie ustawienia. Teraz mogę się zalogować, ale nadal nie mogę korzystać z mojej karty NVidia.
BourbonCreams,
@BourbonCreams, przykro mi to słyszeć. Polecam wypróbowanie sudo apt-get purge nvidia-*, ponowne uruchomienie, dodanie tego ppa: ppa:graphics-drivers/ppa(z webupd8.org/2016/06/... ) i zainstalowanie wybranego sterownika za pomocą wbudowanej aplikacji GUI lub uruchomienie sudo apt-get install nvidia-<choosen driver version> nvidia-prime- powinno również działać. Czasami muszę to zrobić dwa razy z jakiegoś powodu (lub przynajmniej zrestartować dwa razy). Szczerze mówiąc, uważam, że obejście tej odpowiedzi nie jest idealne.
kcpr
Ta aktualizacja nie naprawiła tego dla mnie, ale dla mnie okazało się, że moduł nvidia nie ładował się z powodu błędu w niektórych łączach symbolicznych, jak opisano (i naprawiono) z tą odpowiedzią tutaj: askubuntu.com/questions/900285 /…
Scott
4

co dla mnie zadziałało, wciąż próbuję znaleźć jego stanowisko. Miałem tak wiele, które oglądałem:

Oto, co zadziałało dla mnie:

Próbowałem:

sudo update-alternatives --config x86_64-linux-gnu_gl_conf
sudo ldconfig -n
sudo update-initramfs -u

I ponownie uruchomiony, bez zmian. Więc próbowałem:

sudo apt-get purge libvdpau-va-gl1 bumblebee* nvidia*
sudo apt-get install linux-headers-generic
sudo apt-get install nvidia-331 nvidia-settings nvidia-prime

Restart. Nadal brak zmian i ten sam pusty komunikat o błędzie w ustawieniach NVIDIA, gdy próbuję przełączyć się na kartę NVIDIA.

Próbowałem przełączać ręcznie, używając sudo prime-switch nvidiai informacje o konfiguracji zostały zaktualizowane. Próbowałem jeszcze raz, a ustawienia nvidia poprosiły mnie o wylogowanie, ponowne zalogowanie i ... voilà! Mam to działa!

W moim przypadku okazało się, że zanim mogłem przełączyć się za pomocą interfejsu nvidia-settings, musiałem najpierw ręcznie przełączyć się jako administrator, aby wygenerować prawidłową konfigurację!

Dobrze, że próbowałem tego, albo nadal majstrowałem przy instalowaniu innych sterowników! Mam nadzieję, że okaże się to przydatne dla kogoś innego!

Michał
źródło
4

postępuj zgodnie z wcześniejszymi odpowiedziami, w ten sposób otrzymałem prawidłową wersję mojej Linuksa mięty 17.2.

najpierw robię:

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

wybierz ten z „nvidia-prime”:

sudo prime-select nvidia

następnie uruchom ponownie:

sudo init 6
realhu
źródło
2

Miałem problem, który wyglądał tak samo, a odpowiedź brzmiała, że ​​nadal go bumblebee-nvidiazainstalowałem.

Zauważ, że czyścisz „wszystko z NVIDIA” sudo apt-get purge nvidia*, a powyższy pakiet nie pasuje do tego symbolu wieloznacznego.

Więc uruchom polecenie:

apt-get purge bumblebee-nvidia nvidia*

Następnie restart, następnie zainstalować odpowiednie nvidia-xxx, nvidia-settingsa nvidia-primepakiety (obecnie używam wersji 340.24 z xorg-obrzynarkach ).

Teraz podczas tej instalacji powinieneś zobaczyć odpowiednie update-alternativeskomunikaty dotyczące *gnu_gl_confplików.

Dmitry
źródło
: - / ... od mojej ostatniej próby nie pozostało nic trzmiela
Raffael
0

Znalazłem rozwiązanie.

Nie jestem pewien, na czym dokładnie polegał problem, ale wydaje się, że ten problem zniknął po nowej instalacji 16.04. Być może odpowiednio zaktualizowali zawarte w nim zależności? Nie jestem pewny.

Ale mogę osobiście potwierdzić, że nie jest to już problemem w 16.04. Miałem DOKŁADNIE ten sam numer w 14.04. Ale teraz z 16.04 nie jest to już problemem.

Rakshith Ravi
źródło
Wybacz mi, że
przywołałem