Каждый раз, когда я переключаюсь от своего gpu (gtx 1060) к моему igpu (Intel 530), я не могу загрузиться. Загружающийся экран застревает со следующим сообщением:
[Отказавший] Неудавшийся для запуска Демона Персистентности NVIDIA. См. 'systemctl nvidia-persistenced.service состояния' для деталей.
Однако я могу загрузиться, когда я переключаюсь назад на Nvidia gpu и переключающийся на мой igpu, не перезагружая работы временно. Я использую Kubuntu 16.10 и только мой внутренний дисплей портативного компьютера. Это - вывод, когда я переключаюсь на свой igpu:
sudo prime-select intel
Info: the current GL alternatives in use are: ['nvidia-378', 'nvidia-378']
Info: the current EGL alternatives in use are: ['nvidia-378', 'nvidia-378']
Info: selecting nvidia-378-prime for the intel profile
update-alternatives: using /usr/lib/nvidia-378-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-378-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-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
update-alternatives: using /usr/lib/nvidia-378-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode
sudo prime-select nvidia
Info: the current GL alternatives in use are: ['nvidia-378-prime', 'nvidia-378-prime']
Info: the current EGL alternatives in use are: ['nvidia-378-prime', 'nvidia-378-prime']
Info: selecting nvidia-378 for the nvidia profile
update-alternatives: using /usr/lib/nvidia-378/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-378/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode
Результат lspci-k | grep-EA2 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
DeviceName: Onboard IGD
Subsystem: CLEVO/KAPOK Computer HD Graphics 530
--
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060] (rev a1)
Subsystem: CLEVO/KAPOK Computer Device 6a03
Kernel driver in use: nvidia
Я пытался решить эту проблему самостоятельно больше недели и иметь не подсказку, что сделать. Все я попробовал отказавший.
Вы могли помочь мне?
ОБНОВЛЕНИЕ 02.05.2017:
Я протестировал его снова сегодня и понял, что, переключаясь на Intel gpu не работает вообще с 375 и 378. Выходить из системы замораживает экран. Итак, почему это работало однажды? Если я устанавливаю все драйверы снова после того, как я удалил старые, и впоследствии используйте главно-избранный Intel (без перезагрузки!), главный выбор не обновляет главные профили-> Он выбирает один из старых профилей не-Nvidia (меза-профили вместо Nvidia), и он работает. Но как только я переключаюсь на профиль Nvidia или перезагрузку, главные профили обновляются, и она больше не работает. Таким образом, я предполагаю, что существует что-то не так с альтернативами EGl для Intel gpu?Приносим извинения за доставленные неудобства.
ОБНОВЛЕНИЕ 02.12.2017:
Вчера, я изменил главное Nvidia программное обеспечение и исправил ошибку. Я скоро опубликую (вероятно, на следующей неделе) свою измененную версию и вставлю ссылку здесь, но я все еще встречаюсь с проблемой: когда я завершаю работу своего ПК после того, как я выполнился sudo prime-select intel
:
катастрофические отказы ksmserver (я использую Kubuntu, вероятно, не проблема с Ubuntu),
-> ПК не может завершить работу полностью, и старые (неправильные) альтернативы обновления для Intel GPU восстанавливаются
-> Я не могу загрузиться.
Однако, если я работаю sudo prime-select intel
после завершения работы в режиме восстановления все работает хорошо, и я могу использовать Intel GPU.
ОБНОВЛЕНИЕ 17.02.2017:
Я отправил свое обходное решение и все еще пытаюсь зафиксировать Ошибку в официальных Репозиториях. Однако это - вероятно, Ошибка в альтернативах обновления, таким образом, в следующем я должен отправить отчет об ошибках там.
Тем временем наслаждайтесь моим обходным решением! Я надеюсь, что это работает на Вас также. Если существуют какие-либо вопросы, оставьте комментарий.
ОБНОВЛЕНИЕ 26.02.2017
Как @whizzzkid указанный, видеокарта Nvidia все еще остается активной после применения моего патча. Однако сегодня я смог решить этот вопрос. Я, вероятно, обновлю свой ответ для включения моего 2-го патча на следующей неделе. Вот некоторые тесты, которые я запустил:
Nvidia: 43-45W
Intel (Nvidia на): 29-31W
Intel (Nvidia прочь): 15-17W
патч работами @C11235, теперь я могу переключиться между Nvidia и Intel, но это не уменьшает потребляемую мощность. :-/ что означает, что оба все еще работают.
BTW это - более легкий способ сделать это.
cd /usr/bin
sudo mv prime-select prime-select.bkup
sudo wget https://raw.githubusercontent.com/C11235/nvidia-prime-bugfix/master/prime-select
sudo chmod 755 prime-select
Если Вы хотите использовать шмеля вместо главного Nvidia, взглянуть на ответ, предоставленный @whizzzkid ниже.
Протестированный с Kubuntu 16.10 64-разрядная Версия 7.5 KDE Plasma использования и Версия 5.26.0 Платформ KDE. Следующие шаги работают на меня. Я надеюсь, что они будут работать на Вас также, но я не могу гарантировать, что и не берут на себя ответственности, если они не делают. Но я рад помочь Вам, если Вы оставляете комментарий.
В моем случае проблема состояла в том, что альтернатива обновления/usr/lib/nvidia-XYZ-prime/не работала вообще. Это, как предполагается, перенаправляет вызовы к драйверу мезаструктуры Intel, но по некоторым причинам это не сделало. Таким образом, это, вероятно, после всего ошибка в альтернативах обновления? Я все еще не нашел, что место сообщает об ошибке для альтернатив обновления. Прокомментируйте, можно ли помочь мне.
Я в основном изменил главный Nvidia немного для изменения альтернатив обновления непосредственно драйверу мезаструктуры Intel вместо/usr/lib/nvidia-XYZ-prime/.
Важный:
Перед применением, любой из этих шагов удостоверяется, что знал, как получить доступ к режиму восстановления на ПК. Если Вы не можете больше загружаться из-за этого руководства, можно все еще отменить изменения в режиме восстановления с командами в последнем разделе этого руководства. Посмотрите этот веб-сайт о том, как получить доступ к режиму восстановления для получения дополнительной информации.
При использовании 32-разрядной операционной системы необходимо не учесть все команды, содержащие x86_64 на Шаге 4 и на разделе How для отмены всех этих модификаций.
Шаг 1:
Установите мой патч с помощью легкого метода, предоставленного @whizzzkid в его ответе ниже:
cd /usr/bin
sudo mv prime-select prime-select.bkup
sudo wget https://raw.githubusercontent.com/C11235/nvidia-prime-bugfix/master/prime-select
sudo chmod 755 prime-select
Шаг 2:
Примените мой второй патч для сокращения потребляемой мощности в режиме Intel:
Проверьте, какую версию драйвера Nvidia Вы имеете. Например, со следующей командой:
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017
GCC version: gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)
В этом случае nvidia-XYZ является nvidia-378. Посмотрите этот поток Stackoverflow.
Создайте файл удара, содержащий со следующим содержанием, названным, например, poweroff.sh
#!/bin/bash
line=$(</etc/prime-discrete)
if [ "$line" == "off" ]
then
rmmod nvidia-drm
rmmod nvidia-modeset
rmmod nvidia
bash -c 'echo OFF > /proc/acpi/bbswitch'
fi
Создайте второй файл удара, содержащий со следующим содержанием, названным, например, poweron.sh, и замените XYZ своим числом версии драйвера Nvidia.
#!/bin/bash
modprobe nvidia-XYZ
modprobe nvidia-XYZ-modeset
modprobe nvidia-XYZ-drm
modprobe nvidia-XYZ-uvm
echo ON > /proc/acpi/bbswitch
В режиме Intel необходимо запустить первый скрипт после входа в систему с sudo и вторым перед выходом из системы с sudo (иначе ноутбук, вероятно, откажет, как в моем случае). Я просто выполняю их с sudo bash FILENAME
.
До сих пор я не смог автоматически автоматически запустить эти сценарии как корень на входе в систему и перед выходом из системы. Однако это могло бы быть возможно с выскочкой, как @Fiximan указанный. Я мог бы обновить этот ответ снова когда-то в будущем, если мне удается сделать так.
Существует все еще ошибка, которую я не смог исправить в KDE Plasma: Каждый раз, когда я переключаюсь от Nvidia до Intel после того, как я запустил ПК в режиме Nvidia, ksmserver катастрофические отказы, и ПК представляется неприменимый, я должен выключить его путем нажатия кнопки питания в течение приблизительно 5-10 секунд. Это иногда приводит к альтернативам обновления, изменяемым на главный Nvidia вместо мезаструктуры Intel, которая приводит к черному экрану после запуска.
Если Вы, оказывается, затронуты ksmserver ошибкой, способствуйте официальному отчету об ошибках на bugs.kde.org.
Однако проблемы, которой не завершит работу ПК, можно избежать, всегда выбирая режим Intel перед завершением работы, даже когда Вы используете режим Nvidia. Если Вы делаете это, все работает, как это должно во-первых, и Вы не должны выключать свой ПК длинным нажатием кнопка питания кроме того, после применения этого руководства в режиме Nvidia.
Простое обходное решение для black-screen-upon-startup-bug должно просто удалить не рабочие альтернативы обновления полностью:
Шаг 1:
Можно получить доступ ПК снова после перехода к режиму восстановления выберите корневой командный процессор и выполните следующие 2 команды:
mount -o remount,rw /
prime-select nvidia
Шаг 2:
Выполните следующие команды:
sudo update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf
sudo update-alternatives --remove i386-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf
sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf
sudo update-alternatives --remove x86_64-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf
Просто выполните следующие команды:
sudo rm /usr/bin/prime-select
sudo mv /home/YOUR-USERNAME/prime-select.backup /usr/bin/prime-select
sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf 8603
sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf i386-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf 8603
sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf 8603
sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf x86_64-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf 8603
Решение для того, чтобы не загружаться после переключения на видеокарту Intel:
Добавьте параметры начальной загрузки ядра:
acpi_osi=! acpi_osi="Windows 2009"
Причина этой проблемы: ошибка № 156341 в ядре
Источник решения: ссылка
Возможная проблема с 2-й Фиксацией: Последняя команда "выключения питания" - подсказки сценария
bash: /proc/acpi/bbswitch: No such file or directory
По-видимому, когда я перезагружаю в режиме Intel (Изменяющий режим, не вступает в силу, пока я не перезагружаю, не знайте, нормально ли это), bbswitch-модуль даже не становится загруженным. Таким образом, нет никакого bbswitch-файла и никакого способа выключить GPU Nvidia.
Я использую:
Решение для этой проблемы:
Отредактируйте файл/etc/modules (с полномочиями пользователя root) и добавьте строку
bbswitch
Теперь bbswitch Является операционным, даже когда я загружаюсь в режиме Intel, и вторая фиксация C11235 работает просто великолепно.