Больше не могу переключаться с Intel на NVIDIA GPU

39

[Ubuntu 14.04 64bit]

После переключения между графикой Intel / NVIDIA и различными драйверами NVIDIA я внезапно застрял с Intel GPU. Раньше не было никаких проблем с переключением между ними - я не могу точно сказать, что внезапно стало причиной проблемы. Я думаю, что последнее, что я сделал, это переключился на драйвер "X.Org X server" - тогда что-то сломалось. Переключение было частью моей попытки решить проблемы с настройкой дополнительного экрана .

введите описание изображения здесь

Каждый раз, когда я пытаюсь переключиться на NVIDIA, я получаю это очень выразительное сообщение об ошибке, а затем оно возвращается к Intel: /

Я мог бы использовать некоторую помощь в устранении неполадок или предложения о том, что попробовать.

До сих пор я (un / re) установил различные пакеты "nvidia-settings" / "nvidia-current" / "nvidia-current-updates" / "nvidia-331" / "nvidia-331-updates". Но безрезультатно.

> 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: можно найти на pastebin.com


Что касается предложения Касима:

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

Что касается второго предложения Касима:

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]

Странная вещь - это действительно сработало в первый раз! Затем я снова переключился на Intel - выход из системы / включение - Переключение обратно на NVIDIA - выход из системы / включение -> сбой системы - ошибка, как описано выше.


Что касается предложения Луи Маттийссена:

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

Повторял алгоритм дважды - снова не получилось: /

Теперь похоже на работу:

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

После этого я мог бы перейти на NVIDIA - но мне не предложили расширенные «Настройки сервера NVIDIA X» - сейчас перезагрузится и посмотрим, что произойдет. Последующие действия: после перезагрузки он переключился на Intel и не может переключиться на NVIDIA как обычно. Мне кажется, что ваш метод, Луи, заставляет ОС полагать, что она использует NVIDIA, хотя на самом деле это не так.

Раффаэль
источник
2
У меня точно такая же проблема, на самом деле проблема расширена, и теперь моя карта Nvidia не работает в Windows 8.1, это означает, что это влияет на некоторую конфигурацию в ОС :( На самом деле я пробовал с чистой установкой Ubuntu и не реконсирует карту
user5288
Вы можете опубликовать свой /etc/apt/sources.list?
Давидбауман
@Raffael ... Я удалил ответ, попробуйте удалить и переустановить nvidia prime с помощью sudo apt-get install nvidia-319-updates nvidia-settings-319-updates nvidia-prime
Qasim
ты убрал nvidia 1й? @Raffael
Касим
Могу ли я получить доступ к TeamViewer, чтобы я мог посмотреть проблему
Qasim

Ответы:

18

Как вы получите следующую ошибку:

Error: alternatives are not set up properly

Вы можете попытаться установить альтернативы самостоятельно.

Когда я переключаюсь на Intel, я вижу:

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

Когда я переключаюсь на NVIDIA, я вижу:

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

Таким образом, вы можете попробовать это переключиться на Intel:

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

Очевидно, вы должны заменить 331 своей версией.

Теперь вы можете попробовать несколько вещей, чтобы активировать переключатель:

  • Выйдите и войдите снова

    перезапустить X-сервер, как обычно

  • Перезагрузите весь компьютер

    для той же цели выше

  • казнить sudo prime-select nvidia

    так как ваши альтернативы теперь установлены для Intel, я надеюсь, что это также исправит любые другие настройки, так что все будет так, как должно быть (очевидно, вам все равно следует перезапустить X-сервер)

Я надеюсь, что я правильно истолковал ошибку.

Кроме того, вы можете использовать, prime-select queryчтобы проверить, какая карта выбрана в настоящий момент, и исправить альтернативы для этой карты (например, NVIDIA), так как вы могли каким-то образом установить альтернативы для другой карты (например, Intel), но инструмент все еще думает, что вы Вы используете другую карту (например, NVIDIA), что приводит к ошибке, говорящей о том, что альтернативы не установлены должным образом.

Луи Матейссен
источник
Не уверен, почему вы предлагаете, как я должен переключиться на Intel - но вызов первой команды завершается добавлением к моему вопросу.
Рафаэль
Извините, это были неправильные команды. Я имею в виду, что вы могли бы попытаться установить альтернативы для текущей карты (Intel), как prime-selectговорит, что альтернативы сломаны. Затем вы можете попробовать, если переключение на NVIDIA работает снова. Я не знаю, сработает ли это, и вы должны проверить, на что указывают альтернативы, чтобы вы могли восстановить альтернативы, если это не сработает.
Луи Матейссен,
1
У меня точно такая же проблема, как и у вас, когда я пытался перейти на NVIDIA. Команды, которые я здесь предоставил, работали для меня. Смотрите мой полный вывод .
Луи Матейссен
+10 +50 за усилие;) Думаю, я просто переустановлю Ubuntu, когда найду время
Рафаэль
1
Для меня проблема была в том, что альтернативы указывали на драйвер Mesa, поэтому путали prime-select. Все , что я должен был сделать сброс альтернативы по умолчанию: update-alternatives --auto i386-linux-gnu_gl_conf, update-alternatives --auto x86_64-linux-gnu_gl_conf. После этого панель nVidia снова заработала.
SnakE
5

Я думаю, что нашел обходной путь по крайней мере .

Это все о update-alternatives.
Я заметил, что оба

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

а также

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

возвращает список, содержащий /usr/lib/i386-linux-gnu/mesa/ld.so.confили похожий.

Каким-то образом после каждой перезагрузки /usr/lib/i386-linux-gnu/mesa/ld.so.confбыл выбран как выбранный, даже если я изменил его раньше вручную.

Я попытался изменить порядок в этом списке, но, наконец, решение было удалить

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

а также

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

Этого должно быть достаточно.
Если нет, установите для «i386» и «x86_64» один и тот же параметр с помощью

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

а также

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

Перезагрузите потом.

Вы всегда можете восстановить его в исходное состояние

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  

а также

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

Надеюсь, что это также сработает для Вас.

kcpr
источник
1
После следования вашим инструкциям и после перезагрузки я больше не мог войти. Страница входа отображалась, и после ввода моего пароля и нажатия Enter, он отображал черный экран, а затем снова экран входа. Я использовал CTRL + Alt + F1 и две последние команды, чтобы вернуть его к предыдущим настройкам. Теперь я могу войти, но я все еще не могу использовать свою карту NVidia.
BourbonCreams
@BourbonCreams, жаль это слышать. Я бы порекомендовал попробовать sudo apt-get purge nvidia-*, перезагрузиться, добавить этот ppa: ppa:graphics-drivers/ppa(из webupd8.org/2016/06/… ) и установить выбранный драйвер с помощью встроенного приложения с графическим интерфейсом или запустить sudo apt-get install nvidia-<choosen driver version> nvidia-prime- он также должен работать. Иногда мне приходилось делать это дважды по какой-то причине (или хотя бы дважды перезагружать). Если честно, я чувствую, что обходной путь из этого ответа не идеален.
kcpr
Это обновление не исправило его для меня, но оказалось, что модуль nvidia не загружался из-за ошибки в некоторых символических ссылках, как описано (и исправлено) с помощью этого ответа здесь: askubuntu.com/questions/900285 /…
Скотт
4

что сработало для меня, я до сих пор пытаюсь найти его пост. У меня было так много, что я просматривал:

Вот что у меня сработало:

Я пытался:

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

И перезагрузился, без изменений. Итак, я попробовал:

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

Перезагружать. Тем не менее, никаких изменений, и то же пустое сообщение об ошибке в nvidia-settings, когда я пытаюсь переключиться на мою карту nvidia.

Я попытался переключиться вручную, используя sudo prime-switch nvidia, и информация о конфигурации была обновлена. Я попробовал еще раз, и nvidia-settings попросил меня выйти из системы и снова войти в систему и ... вуаля! У меня это работает!

В моем случае оказалось, что прежде чем я смог переключиться с помощью пользовательского интерфейса nvidia-settings, мне пришлось сначала вручную переключиться как суперпользователь, чтобы создать правильную конфигурацию!

Хорошо, что я попробовал это, или я все еще буду возиться с установкой других драйверов! Надеюсь, что это окажется полезным для кого-то еще!

Майкл
источник
4

следуйте предварительным ответам, вот как я правильно понял это на своем linux mint 17.2.

Сначала я делаю:

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

выберите тот с 'nvidia-prime':

sudo prime-select nvidia

затем перезапустите:

sudo init 6
realhu
источник
2

У меня была проблема, которая выглядела так же, и ответ был, что я все еще bumblebee-nvidiaустановил.

Обратите внимание, что вы удаляете «все, что есть в NVIDIA» sudo apt-get purge nvidia*, и пакет выше не соответствует этому шаблону.

Итак, запустите команду:

apt-get purge bumblebee-nvidia nvidia*

Затем перезагрузите компьютер, а затем установить соответствующие nvidia-xxx, nvidia-settingsи nvidia-primeпакеты (я в настоящее время используется версия 340.24 от Xorg-обрезных станков ).

Теперь во время этой установки вы должны увидеть соответствующие update-alternativesсообщения о *gnu_gl_confфайлах.

Дмитрий
источник
: - / ... ничего не осталось, чтобы произвести чистку с моей последней попытки
Раффаэль
0

Я нашел решение.

Я не уверен, в чем именно заключалась проблема, но эта проблема, похоже, исчезла при новой установке 16.04. Возможно, они правильно обновили зависимости в нем? Я не уверен.

Но я могу лично подтвердить, что это больше не проблема в 16.04. Раньше у меня была ТОЧНАЯ проблема в 14.04. Но теперь с 16.04 это больше не проблема.

Ракшит Рави
источник
Простите, что поднял старый ответ, но я столкнулся с точно такой же проблемой
Ракшит Рави