Насколько я знаю, даже унифицированный на основе Compiz вряд ли будет работать в виртуальной машине (я спросил об этом в UDS и сказал, что compiz не запускается на виртуальных машинах.)
Вот полный ответ (основанный на ответах Alex Falappa и Lekensteyn):
На самом деле можно заставить графические процессоры nVidia Optimus запускать CUDA на Ubuntu.
Bumblebee is not необходимых для CUDA. (подробнее о Alex Falappa : Является ли NVIDIA GeForce с технологией Optimus поддерживаемой Ubuntu?)
Однако, когда вам нужно показывать графические примеры с помощью OpenGL, вам нужно что-то вроде Bumblebee для систем Optimus, иначе вы либо ничего не увидите на дисплее, либо не получите ошибку:
ERROR: Support for necessary OpenGL extensions missing.
Если вам нужно использовать программу с интенсивным графикой, такую как Blender, Bumblebee в настоящее время является хорошим способом
Перейти к установке CUDA, если вы не хотите устанавливать Bumblebee (т.е. если вам не нужен OpenGL). В противном случае, прочитайте.
Следуйте инструкциям на Является ли NVIDIA GeForce с технологией Optimus поддерживаемой Ubuntu?
После того, как вы установили Bumblebee и перезагрузились, вы сможете выбрать графическую карту, которая будет использоваться при запуске программ, используя optirun Например:
optirun blender
Чтобы быстро проверить, работает ли все правильно, используйте:
optirun glxspheres
Вы увидите программу с яркими (! d20)
Убедитесь, что строка поставщика GL в терминале содержит слово Установка CUDA . Если вы запустите только glxspheres, вы увидите, что строка поставщика содержит карту Intel.
При запуске программы CUDA вам необходимо установить набор инструментов CUDA и драйвер nvidia. Если вы собираетесь компилировать программы, вам также нужен SDK. Установщики можно найти на http://developer.nvidia.com/cuda-downloads, пожалуйста, прочитайте приведенные ниже инструкции перед тем, как разрезать свой ноутбук Optimus.
Я рекомендую установить драйвер nvidia из диспетчера пакетов Ubuntu. Если вы установите Bumblebee, вам не нужно беспокоиться о драйвере. В противном случае после установки сделайте библиотеки nvidia, как описано в http://developer.nvidia.com/cuda-downloads .
В принципе, вам нужно загрузить установщик, сделать его исполняемым и запустить его. , - Загрузите программу установки. По состоянию на 9 января 2013 года 5.0.35 является самым последним драйвером. Поскольку у меня 64-разрядная ОС, я использую 64-разрядный 11.10 Ubuntu-пакет (хотя я выполняю 12.10). Сделайте его исполняемым и разрешите установку на /usr/local/cuda:
chmod +x cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
sudo ./cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
Когда появляется сообщение об установке, в котором спрашивается, где установить CUDA, просто нажмите «Ввод», чтобы принять значение по умолчанию /usr/local/cuda:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
. После установки будет напечатано несколько сообщений, предлагающих поместить каталог библиотеки cuda на путь поиска в библиотеке:
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
Вы можете пропустить этот шаг, если хотите, но затем вы должны установить LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH позже при запуске программы.
Если вы хотите скомпилировать приложения CUDA, вы можете установить SDK так же, как описано выше.
Для работы CUDA не нужен X-сервер с поддержкой nvidia.
. В этом случае вы можете запустить свою случайную тестовую программу, например:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgramЕсли вы не добавили CUDA в свой путь к библиотеке, вам понадобятся:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram [!d41 ]
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram [ ! d44]
(вы можете удалить из него 32-битные пути, если ваша программа 64-разрядная).
optirun blender
Если программа CUDA имеет что-то для отображения с использованием OpenGL, у вас есть для использования optirun:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun blenderИли, если у вас нет CUDA, добавленного к вашему пути по умолчанию :
Compiling CUDA kernel ...
nvcc warning : Option '--opencc-options (-Xopencc)' is obsolete and ignored, when
targeting compute_20, sm_20, or higher
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
CUDA kernel compilation failed, see console for details.
Когда вы запустите optirun blender, вы можете получить сообщение от Blender о том, что компиляция ядра CUDA не удалась, и сообщение на терминале похоже на следующее:
Если вы хотите использовать функцию рендеринга графического объекта Blender, вам может понадобиться сборка Blender с предварительно скомпилированными ядрами CUDA. Созданные из Blender.org все имеют предварительно скомпилированные ядра CUDA; ppa: cheleb / blender-svn builds ( Lekensteyn's ).
Чтобы установить официальную сборку Blender, просто следуйте инструкциям, изложенным в этом ответе.
optirun '/usr/lib/blender/blender'
Я только что сделал несколько экспериментов и могу подтвердить утверждения Эрика Эпплмана о том, что Bumblebee не нужен для CUDA.
Однако, когда вам нужно показывать графические примеры с помощью OpenGL, вам нужно что-то вроде Bumblebee для систем Optimus, иначе вы либо не будете «Нет ничего на вашем дисплее или получите ошибку:
ERROR: Support for necessary OpenGL extensions missing.
При запуске программы CUDA вам необходимо установить инструментарий CUDA и драйвер nvidia. Если вы собираетесь компилировать программы, вам также нужен SDK.
Bumblebee , пожалуйста, прочитайте приведенные ниже инструкции перед тем, как разрезать ваш ноутбук Optimus. Я рекомендую установить драйвер nvidia из диспетчера пакетов Ubuntu. Если вы установите Bumblebee, вам не нужно беспокоиться о драйвере. В противном случае после установки выполните библиотеки nvidia, как описано на https://askubuntu.com/a/107746/6969.
В принципе, вам нужно загрузить установщик, сделать его исполняемым и запустить Это. - Загрузите программу установки. На момент написания этой статьи 4.2.9 является самым последним драйвером. Поскольку у меня 64-разрядная ОС, я использую 64-разрядный 11.04 Ubuntu-пакет (хотя я выполняю 12.04). Сделайте его исполняемым и разрешите установку на /usr/local/cuda:
chmod +x cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
sudo ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
Когда появляется сообщение об установке, в котором спрашивается, где установить CUDA, просто нажмите «Ввод», чтобы принять значение по умолчанию /usr/local/cuda:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
. После установки он распечатает несколько сообщений, предлагающих поместить каталог библиотеки cuda на путь поиска в библиотеке:
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
Вы можете пропустить этот шаг, если хотите, но затем вы должны установить LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH позже при запуске программы.
Если вы хотите иметь возможность компилировать приложения CUDA, вы можете установить SDK так же, как описано выше. Загрузите, сделайте его исполняемым и запустите (не как root, например, без sudo!). При компиляции его частей мне пришлось внести некоторые изменения в NVIDIA_GPU_Computing_SDK/C/common/common.mk, хотя:
после строки 189, OPENGLLIB := -lGL -lGLU -lX11 -lXi -lXmu, добавить:OPENGLLIB += -L/usr/lib/nvidia-current -L/usr/lib32/nvidia-current
после строки 271, swap ${RENDERCHECKGLLIB} с [ f15], чтобы он выглядел следующим образом: LIB += $(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB) ${LIB} -ldl -rdynamic
несколько (5) строк, сделайте то же самое, но удалите -lcuda. несколько (7) строк, сделайте то же самое, что и вы в строке 271. CUDA не нуждается в X-сервере, управляемом nvidia. В этом случае вы можете запустить свою случайную тестовую программу, например:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgramЕсли вы не добавили CUDA в свой путь к библиотеке, вам понадобятся:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram [!d29 ]
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram [ ! d32]
(вы можете удалить из него 32-битные пути, если ваша программа 64-разрядная).
optirun blender
Если у программы CUDA есть что-то отображаемое с помощью OpenGL, у вас есть для использования optirun:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun blenderГибридная графика (как правило, интегрированная графика Intel и дискретная графика Nvidia) под Linux в настоящее время немного хлопотная. Что-то медленно двигается в поле X-сервера, но не задерживайте дыхание.
Как вы уже догадались, Bumblebee в настоящее время является хорошим способом.
Недавно я купил Asus N55 ноутбук с графикой Intel / Nvidia Мне удалось заставить визуализатор циклов Blender использовать CUDA.
Когда я установил Ubuntu 12.04, он использовал встроенную графику по умолчанию с помощью графического драйвера Intel. Графический драйвер noveau не должен устанавливаться.
Затем я открыл терминал и сделал:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia
После этого я сделал (как рекомендовано инструкциями по установке): [!d5 ]
sudo usermod -a -G bumblebee $USER
Затем я перезагрузился.
Чтобы выбрать драйвер, который будет использоваться при запуске программ, используйте программу optirun, например:
optirun blender
Чтобы проверить, работает ли все правильно использовать:
optirun glxspheres
И проверить, что строка поставщика GL содержит слово Nvidia. Если вы запустите вместо этого:
glxspheres
Строка поставщика должна содержать слово Intel
Я нахожу, что для запуска всех примеров CUDA, используя Bumblebee, вам нужно установить драйверы 295.40 отсюда и во время установки, выберите не переопределять config x11.
Тогда вам нужно использовать тот же драйвер для компиляции примеров и для запуска программы.