Ubuntu 16.04
Выход uname -a
:
Linux HOST 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Настольный класс:
- Процессор: Intel
- GPU: Nvidia с 361,42
Что я хочу:
- Intel GPU должен запустить xserver и мой монитор, который подключен к встроенному DP
- GPU NVIDIA должен использоваться только для специфических вычислений CUDA и т. д.
- полный контроль над NVIDIA GPU (в режиме реального времени, статистика, скорость вращения вентилятора ...)
Моя проблема:
- ни то,
nvidia-smi
ни другое,nvidia-settings
и я не могу контролировать свой графический процессор nvidia (ошибки приводятся ниже)
Моя история:
После краткого изложения моей проблемы я хочу погрузиться в тему; После выхода Ubuntu 16.04 я пытаюсь добиться следующего:
- Я хочу, чтобы мой Intel GPU (i7 6700K) управлял моим Xserver и всем, что с ним связано.
- Я хочу, чтобы мой выделенный графический процессор nvidia использовался только для вычислений на основе Cuda и т.п.
- После того, как я решу свои проблемы, я добавлю в систему более одного графического процессора nvidia.
Краткое резюме моего начального состояния:
Я установил проприетарные драйверы для nvidia и intel (intel-microcode и nvidia-361.42) через apt-get и отключил безопасную загрузку через mokutul --disable-validation.
Затем я установил nvidia-prime для использования карты Intel.
Затем я отредактировал свой xorg.conf, чтобы он содержал только один экран с Intel GPU и драйвером Intel. (спрашивайте подробности, если необходимо) При
тестировании графического процессора для рендеринга с помощью Blender все выглядело нормально, за исключением того, что я не мог получить статистику моего gpu, а nvidia-settings показались пустыми.
Ошибки:
sudo nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.
То, что я до сих пор изучал во всех моих попытках и исследованиях с момента выпуска (короткая версия, спрашивайте подробности в любое время):
Мои две проблемы связаны, но не совпадают:
Nvidia-настройки Пусто:
- это связано с тем, что эти настройки отображаются только при подключении Xserver к графическому процессору nvidia
- Решением этой проблемы будет добавление нового экрана в xorg.conf, который заставляет и неиспользуемый xserver запускаться на графическом процессоре nvidia
- но в настоящее время это невозможно (см. другую проблему) и не желательно, так как я просто хочу, чтобы nvidia GPU фокусировался на Cuda
Nvidia-smi не работает
- bbswitch не проблема, так как мой GPU (550ti) не поддерживает его (ошибки в dmesg)
- nvidia prime изменяет запись для x86_64-linux-gnu_gl_conf либо на
/usr/lib/nvidia-361/ld.so.conf
(выбранный графический процессор nvidia), либо/usr/lib/nvidia-361-prime/ld.so.conf
(выбранный графический процессор Intel) - в конфигурации для выбора Intel отсутствуют основные пути к основным модулям NVIDIA, которые все присутствуют в Conf для выбора NVIDIA
- при переключении на nvidia через prime-select у меня нет Xserver, так как дисплей подключен к встроенному графическому процессору, но вход в систему на виртуальной консоли работает nvidia-smi
Мое предположение:
- Нвидиа прайм плохая и не хочет так, как я хочу.
- Мне нужно как-то преодолеть простое и настроить систему (даже вручную писать новые конфиги?)
Мои попытки:
- Я попытался удалить nvidia-prime, но потом узнал, что это не может работать. Когда файл conf для x86_64-linux-gnu_gl_conf удален, результатом будет чистый беспорядок ...
- Я даже пытался добавить отсутствующие пути к файлам x86_64-linux-gnu_gl_conf вручную, но я действительно не знал, что делал, и не имел успеха.
Мои вопросы:
1) Как я могу решить проблему nvidia-smi? Я на правильном пути? У кого-нибудь есть инструкции, как мне поступить?
2) Можно ли включить управление вентилятором и другие элементы управления для nvidia gpu (coolbits в xorg.conf) без Xserver на gpu (без экрана для gpu в xorg.conf)?
Огромное спасибо заранее за любые ответы. Я буквально расчесал паутину, а гребень был моей проблемой.
Если я пропустил что-то важное, пожалуйста, сообщите мне и не стесняйтесь запрашивать файлы журнала и т. Д.
БЛАГОДАРНОСТЬ
Ответы:
Принятый ответ использует X-сервер для включения устройств Nvidia. Это не обязательно и означает, что X-сервер будет использовать некоторую память карты.
Вместо этого
nvidia-modprobe
следует установить, как описано в FAQ по драйверу (можно найти по ссылке ниже).Поэтому мое рекомендуемое решение:
1) Установите последнюю версию драйвера Nvidia через runfile от ftp://download.nvidia.com/XFree86/Linux-x86_64/ с
--no-opengl-files
и--dkms
флагом.2) Установите соответствующую
nvidia-modprobe
версию черезmake all
иsudo make install
с ftp://download.nvidia.com/XFree86/nvidia-modprobe/--dkms
Флаг гарантирует , что модуль ядра компилируется при обновлении ядра.источник
Я (создатель этого поста) нашел нужное мне решение самостоятельно!
Теперь я объясню решение для всех, кто находится в подобной ситуации и нуждается в этой помощи!
РЕШЕНИЕ:
УСТАНАВЛИВАЙТЕ ДРАЙВЕР NVIDIA В СООТВЕТСТВИИ С RUNFILE, ПОСТАВЛЯЕМЫМ НА http://www.nvidia.com/object/unix.html С ФЛАГОМ "--no-opengl-files" !!
Это предотвращает не только перезаписывание существующих файлов mesa файлами nvidia opengl, но и установку драйвера без nvidia prime !!
Таким образом, все мои проблемы решены, просто путем установки драйвера вручную, а не путем установки его из репозиториев. Пакет из репозиториев "Optimus-Friendly" и поэтому включает в себя все бесполезные нарушители спокойствия в комплекте с ним.
ВТОРОЙ
xorg.conf должен быть дополнен другим экраном для выделенных графических процессоров, чтобы он / они имели / имели записи в настройках nvidia.
моя выглядит так
источник
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
Я получил конфигурацию, которую вы хотите (я тоже этого хотел;)):
с помощью
bumblebee
.Но прежде чем углубляться в некоторые детали, я должен предупредить вас, что при изменении конфигурации nvidia-settings или xorg.conf или nvidia prime вам необходимо перезагрузить систему (возможно, вы уже знаете). Невозможность перезагрузки может привести систему в несогласованное состояние.
В своей конфигурации я не трогал
xorg.conf
. Для меня это всегда было источником боли. Пожалуйста, оставьте это в исходное состояние. Если вы не хотите выполнять новую установку, вы можете найти некоторые резервные копии в/etc/X11/
(ls /etc/X11/xorg.conf*
).Первый шаг - попытаться сделать
nvidia-settings
работу. Если вам это удастся, вы можете использовать nvidia PRIME для переключения на Intel GPU, как вы уже упоминали. Наличие основной точки nvidia для Intel GPU необходимо, если вы хотите использовать NVIDIA GPU только для вычислений CUDA (это особенно необходимо, если вы хотите использовать отладчик cudacuda-gdb
).После этого вы можете попробовать установить шмель :
Перезагрузка. Вы можете следить за состоянием шмеля, используя
или
Что делает шмель, так это активирует графический процессор NVIDIA и пытается вставить драйвер nvidia в ядро только при необходимости. Вы можете использовать шмеля, предварительно ожидая
optirun
команду, которую хотите запустить.Чтобы шмель работал, мне пришлось вручную отредактировать,
/etc/bumblebee/bumblebee.conf
чтобы правильно задать имя и путь к драйверу nvidia.После этого
sudo service bumblebeed restart
мне удалось активировать систему шмелей.На самом деле
nvidia-smi
возвращаетсяно
optirun nvidia-smi
:Надеюсь это поможет.
источник
Я переустановил драйверы nvidia без opengl, как упоминалось в вышеупомянутых решениях, но у меня это не сработало. Более того, эти решения весьма неудовлетворительны, поскольку подразумевают удаление некоторых возможностей драйверов (opengl).
Я нашел гораздо более простое решение, для которого вам не нужно переустанавливать драйвер:
export LD_LIBRARY_PATH=/usr/lib/nvidia-387:$LD_LIBRARY_PATH
Обратите внимание, что в зависимости от установленного драйвера вам может понадобиться добавить другую папку в путь к вашей библиотеке, например / usr / lib / nvidia-384 .
Вы можете добавить эту команду в файл ~ / .bashrc для автоматического экспорта пути при загрузке нового bash.
источник
в основном как напоминание для меня: в Ubuntu 18.04 использовать igpu для рендеринга и nvidia gpu для cuda, установить драйверы nvidia по умолчанию, открыть nvidia-settings и настроить использовать intel gpu. После этого, черный список драйверов nouveau и часть драйверов nvidia:
Откройте /etc/modprobe.d/blacklist-nvidia.conf и прокомментируйте строки следующим образом:
после этого откройте /etc/modprobe.d/blacklist-nvidia-nouveau.conf и добавьте следующие строки:
чтобы быть уверенным, что nouveau отключены, вы можете занести их в черный список также в /etc/modprobe.d/blacklist.conf: в конце добавьте:
затем перезагрузите компьютер.
тип
nvidia-smi
для проверки загрузки nvidia, а типlspci -nnk | grep -iA2 3D
для проверки используемого драйвера - nvidia, а не nouveau.источник