ГЛАВНЫЙ NVIDIA: переключатель Наклона к Intel

Каждый раз, когда я переключаюсь от своего 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

10
задан 26 February 2017 в 14:26

4 ответа

патч работами @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
2
ответ дан 23 November 2019 в 04:35

Вот моя фиксация/обходное решение для ошибки:

Если Вы хотите использовать шмеля вместо главного 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 определенные ошибки:

Существует все еще ошибка, которую я не смог исправить в 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
3
ответ дан 23 November 2019 в 04:35

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

acpi_osi=! acpi_osi="Windows 2009"

Причина этой проблемы: ошибка № 156341 в ядре
Источник решения: ссылка

2
ответ дан 23 November 2019 в 04:35

Возможная проблема с 2-й Фиксацией: Последняя команда "выключения питания" - подсказки сценария

    bash: /proc/acpi/bbswitch: No such file or directory

По-видимому, когда я перезагружаю в режиме Intel (Изменяющий режим, не вступает в силу, пока я не перезагружаю, не знайте, нормально ли это), bbswitch-модуль даже не становится загруженным. Таким образом, нет никакого bbswitch-файла и никакого способа выключить GPU Nvidia.

Я использую:

  • Ноутбук MSI (GL72 7RDX)
  • Интегрированный GPU: Intel® HD Graphics 630 (озеро Kaby GT2)
  • отдельный GPU: Geforce GTX 1050
  • ОС: Ubuntu 16.04 lts

Решение для этой проблемы:

Отредактируйте файл/etc/modules (с полномочиями пользователя root) и добавьте строку

    bbswitch

Теперь bbswitch Является операционным, даже когда я загружаюсь в режиме Intel, и вторая фиксация C11235 работает просто великолепно.

1
ответ дан 23 November 2019 в 04:35

Другие вопросы по тегам:

Похожие вопросы: