Virtualbox 3d ускорение linux

Обновлено: 04.07.2024

В настоящее время я использую Ubuntu 12.04 LTS в качестве хост-машины и виртуализировал три машины:

  • гость Xubuntu 12.04
  • Windows 7 гость
  • гость Ubuntu 12.10

Все гости имеют одинаковые настройки по умолчанию для VirtualBox, но Ubuntu 12.10 работает медленнее!

Установка заняла 1 ч 40 мин! (Обычно это занимает 40 минут.) Теперь его невозможно использовать, и все операции выполняются очень и очень медленно.

Я использую VirtualBox версии 4.2.4.

Почему это медленно? И как я могу сделать это быстрее?

Я слышал, что это как-то связано с тем, что они удалили Unity 2D, или как-то переход на 3D Unity только замедляет производительность виртуальной машины из-за сильной зависимости от обработки ЦП в большей степени, чем раньше. Подкаст Linux Outlaws немного об этом говорил, но я об этом забываю.

Обновление: проблема в гостевых дополнениях Virtualbox, не обеспечивающих 3D-ускорение в 12.10. См Ubuntu 12.10 не может использовать 3D-ускорение. Не в состоянии построить DRM.

Ubuntu 12.10 больше не включает Unity 2D, которая была реализована для платформ, которые не могут обеспечить 3D-ускорение. Вместо этого в Ubuntu 12.10 Unity работает под управлением LLVM, в результате чего код, предназначенный для графического процессора, запускается на процессоре. Это намного медленнее, чем при использовании графического процессора.

Чтобы проверить, использует ли ваш Ubuntu 12.10 гость 3D-ускорение, выполните следующую команду:

Как вы можете видеть, "Не программный рендеринг" и "Unity 3D поддерживается" оба возвращают "нет" в этом примере, что означает, что Unity использует медленный LLVMpipe.

Как включить 3D-ускорение (только для VirtualBox 4.2.x)

Эти инструкции предназначены для VirtualBox 4.2.4 или 4.2.6, установленного с веб-сайта VirtualBox, а не из репозитория Ubuntu. В будущих версиях VirtualBox эта проблема может быть решена автоматически или может потребоваться другой обходной путь.

  1. Установите VirtualBox Oracle VM VirtualBox Расширение пакета.
  2. Создайте экземпляр VirtualBox и установите на него Ubuntu 12.10.

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

Установите гостевые дополнения, нажав "Устройства", "Установить гостевые дополнения" и выполнив эту команду из каталога компакт-диска:

Добавить vboxvideo Драйвер к экземпляру, запустив:

Загрузите гостевую систему Ubuntu 12.10 и убедитесь, что 3D-ускорение работает, запустив:

Если кажется, что окна не отображаются, установите CompizConfig Settings Manager и отключите объект Framebuffer (FBO) в разделе OpenGL:

Установите диспетчер параметров CompizConfig:

Запустите диспетчер параметров CompizConfig:

Я не знаю о настройках графического интерфейса, необходимых для использования Unity внутри виртуальной машины, но я знаю, как настроить виртуальные машины под virtualbox, KVM и другими. Мне никогда не удавалось заставить Unity хорошо работать в любой виртуальной среде. Никогда не пытался слишком сильно, предпочитая использовать чистый WM или DE на основе LXDE.

Резюме:

  • Значения по умолчанию в Vbox не подходят для выпусков Ubuntu, которые любят настоящий GPU.
  • При вращении жестких дисков предварительно выделите весь виртуальный диск. На SSD это не имеет значения.
  • Выделите только необходимое вам хранилище. Храните большие файлы в другом месте, за пределами vStorage.
  • Никогда не выделяйте больше процессоров или оперативной памяти, чем нужно. 1 vCPU, вероятно, достаточно.
  • Оставьте 1 ГБ оперативной памяти для HostOS. Не перезагружайте оперативную память.
  • Используйте драйверы VirtIO для хранения и работы в сети. Современные гости Linux поддерживают это.
  • Для гостей Windows используйте драйверы SATA (хранилище) и Intel PRO/1000 (сеть). Можно использовать драйверы virtio под Windows, это немного сложнее.
  • Включите ACPI и AHCI для всех гостей с 2003 года, WinXP и позже.
  • Настольные виртуальные машины должны получить все 128 МБ дисплея vRAM
  • Виртуальные машины сервера должны оставаться с 9 МБ vRAM; не трать это.
  • Избегайте настроек ускорения 2D и 3D, пока все остальное не будет работать так, как вам нравится. Ubuntu/Unity делает плохие вещи, когда это включено. Это может привести Core i7 к земле.

В других ответах есть много советов по производительности GUI. Те, вероятно, действительны тоже. Эти же советы применимы к KVM, VM-Player и другим виртуальным гипервизорам. Это работает и для серверов.

Здравствуйте! Прошу не судить строго - новичок. Уставил на virtual box linuxMintUma 20.2 из под Win10. При запуске виртуальной машины с ново установленной LinuxMint пишет «ваша система на данный момент работает без аппаратного ускорения видео». При открытии менеджера драйверов - пишет что драйвера не нужны. Сама система жутко медленно работает, хотя и оперативы выделил 4гб, и видеопамяти 128мб (на максимум). Сам комп не из ряда слабеньких, на процессоре Core i7. При попытке в VirtualBox установить галочку 3D-ускорение, то система загружается с белым экраном. Попросту говоря - ничего не видно. Просто белые квадраты по всему экрану виртуальной машины. На вкладке система-ускорение стоит галочка аппаратная виртуализация - Nested Paging. Прошу помочь решить эти две проблемы: избавиться от столь медленной работы системы и установить этот необходимый драйвер, когда система, в свою очередь, пишет что драйвера не нужны.


VirtualBox использует програмную эмуляцию видеокарты на процессоре. Из-за этого графика там существенно медленнее.


И сколько ядер CPU ты отдал в виртуалку? По умолчанию 1, что мало.


А драйвера и правда не нужны, они есть и так. Просто виртуальная видеокарта и правда слабая.

Спасибо за ответы! Добавил 4 ядра.


ставишь vmware и все там графика хоть и тоже «софтварно-ускоренная 3D» но намного лучше ну а пакет нужно доустановить «open-vm-tools» внутри линукса.

Сам комп не из ряда слабеньких, на процессоре Core i7.

«Core i7 пре skylake» и «Core i7 skylake» и новее это серьезная разница, как минимум тем что в первом случае у тебя DDR3, а во втором DDR4. Скорость оперативы и будет в большей степени скоростью виртуальной графики.

В VirtualBox есть 3 типа виртуальных адаптеров видеокарты попробуй VBoxSVGA это дефолтный virtualbox, или VMSVGA аналог vmware (всего скорее нужно будет установить пакет «xserver-xorg-video-vmware»), VBoxVGA (старый нужен для совместимости не пробуй даже).

bhfq ★★★★★ ( 30.08.21 01:59:01 )
Последнее исправление: bhfq 30.08.21 02:07:41 (всего исправлений: 4)


А никак. Даже если ты хаком заставишь считаться графику не на CPU, с просадкой где-то в 5 процентов из-за виртуализации, а на виртуальной видеокарте, то просадка будет хуже — так как просадка при эмуляции видеокарты на CPU выше.

Vsevolod-linuxoid ★★★★★ ( 30.08.21 04:02:19 )
Последнее исправление: Vsevolod-linuxoid 30.08.21 04:09:39 (всего исправлений: 1)


И тут правильно пишут, ставь VMware, тебе Player хватит, он бесплатен для некоммерческой деятельности. Там куда лучше графика, есть нормальная поддержка ускорения виртуальной видеокарты за счет реальной.

Vsevolod-linuxoid ★★★★★ ( 30.08.21 04:04:11 )
Последнее исправление: Vsevolod-linuxoid 30.08.21 04:05:25 (всего исправлений: 1)


А, вспомнил. Глюки с 3D ускорением на VirtualBox появляются, если в Windows драйвера на видеокарту стоят не из каталога Microsoft, а из иных источников, например с сайта производителя.

В VirtualBox есть 3 типа виртуальных адаптеров видеокарты попробуй VBoxSVGA это дефолтный virtualbox, или VMSVGA аналог vmware

Дефолтный для линуксовых гостевых машин VMSVGA.

Для Windows гостевых машин - VBoxSVGA.


Значит ему нужно установить пакет xserver-xorg-video-vmware

Не нужно ничего кроме установки гостевых дополнений VirtualBox

А драйвера и правда не нужны, они есть и так.

Об косяк. Для функционирования всего этого нужны Virtualbox Guest Additions.

Причём использование их отличной версии от самого Virtualbox черевато дополнительными глюками (mint вроде любил их предустанавливать).


ЕМНИП, они в основном синкают буфер обмена и разрешение экрана. А дрова на видеокарту VB уже давно есть в ядре в основной ветке.


В состав включены драйверы для ускорения работы гостевых систем под управлением VirtualBox: Vboxvideo для обеспечения доступа к GPU и Vboxguest с поддержкой средств для переноса данных между гостевой системой и хостом, а также с возможностью проброса команд OpenGL. Не перенесённым в основной состав пока остаётся только драйвер Vboxsf, предоставляющий функции проброса каталогов.

Vsevolod-linuxoid ★★★★★ ( 30.08.21 06:49:08 )
Последнее исправление: Vsevolod-linuxoid 30.08.21 06:51:20 (всего исправлений: 1)

Причём использование их отличной версии от самого Virtualbox черевато дополнительными глюками


VirtualBox является одной из самых популярных виртуальных машин по множеству причин, одной из которых является то, что она бесплатна для использования.

Это особенно верно, если вы работаете в Ubuntu и она постоянно зависает.

Если это происходит с вами, попытка выяснить, в чем проблема, может быть закончена разочарованием.

Отключить 3D ускорение

Независимо от того, используете ли вы Windows, macOS или даже Linux, 3D-ускорение может вызвать множество проблем в VirtualBox.

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

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

В меню слева в VirtualBox щелкните правой кнопкой мыши виртуальную машину Ubuntu, с которой у вас возникли проблемы, затем выберите «Настройки».

Здесь щелкните вкладку «Отображение» и убедитесь, что «Включить 3D-ускорение» не выбрано.

Изменить количество виртуальных процессоров

Хотя компьютеры, продаваемые на компьютеры, обычно имеют только один физический процессор, они имеют несколько ядер, которые действуют как несколько процессоров.

Тем не менее, VirtualBox по умолчанию предоставляет только один виртуальный процессор, который, как было показано, вызывает проблемы с Ubuntu, особенно в последних версиях.

Если вы сталкиваетесь с зависанием, вы можете увеличить число процессоров с двух до четырех.

Щелкните правой кнопкой мыши на вашей виртуальной машине, выберите «Настройки» и перейдите на вкладку «Система».

Здесь выберите процессор в верхней части раздела и поднимайте ползунок до тех пор, пока число процессоров не станет равным двум.

Другие варианты

Существуют и другие варианты, которые, по мнению разных пользователей, решают проблемы с зависанием.

В том же разделе, где вы можете изменить количество процессоров, есть опция «Включить PAE / NX».

Отключите этот параметр, если он уже включен, или включите, если оно уже выключено,это может решить вашу проблему.

Вы также можете попробовать изменить настройки паравиртуализации.

Зайдите в Настройки, затем выберите Система и Ускорение.

Интерфейс паравиртуализации, скорее всего, будет установлен на «По умолчанию», но некоторые пользователи добились лучших результатов, установив его на «Минимальный».

Попробуйте другую версию VirtualBox

Ни одна программа не лишина ошибок, и это касается как Ubuntu, так и VirtualBox.

Некоторые пользователи обнаружили, что разные версии VirtualBox и Ubuntu иногда просто не ладят.

Если определенная версия Ubuntu никогда не зависала в прошлом, вы можете попробовать установить более старую версию VirtualBox.

И наоборот, вы можете попробовать запустить более новую версию Ubuntu.

Возможно, вы не только решите проблему зависания, но и получите новые функции.

Заключение

Надеемся, что один из приведенных выше вариантов решил вашу проблему с зависанием в Ubuntu.

Если у вас все еще есть проблемы, не теряйте надежду.

Попытка различных комбинаций вышеупомянутых вариантов могла бы быть решением для Вас.

Не позволяйте одному неудачному опыту отвлечь вас от использования Linux или виртуальных машин.

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

Я сделал видео ролик, в котором коротко и ясно всё объяснил.

Для тех, кому удобно воспринимать информацию в текстовом варианте, я привожу текст из видео.

Там где необходимо, я буду отмечать особенности настроек для виртуализации других операционок. Свою виртуалку я уже создал и настроил, её я трогать не буду. Я продемонстрирую настройку и создание заново на другой виртуалке.

Итак, запускаем V irtualBox, нажимаем кнопку создать. Вводим имя машины. Оно ни на что не влияет, а просто используется для вашего удобства. Я назову свою машинку w7-demo .

В поле тип нужно выбрать тип гостевой системы. Хоть это и не обязательно, я всё же советую здесь указать реальный тип, поскольку тогда интерфейс паравиртуализации будет выбран автоматически. Об этом я расскажу позже в этом видео. Также укажите версию и разрядность винды. Вам же самим будет удобнее распознавать машину по иконке.

Двигаемся дальше. Здесь нужно указать объём оперативы для виртуалки. Тут зависит от ваших задач. Мне нужно дать ей как можно больше оперативы, поэтому я сдвигаю ползунок направо. Но, как вы видите, под шкалой есть цветовая маркировка. Заезжать на жёлтую или красную полосу я не советую, потому что тогда поплохеет уже вашему хосту. У меня получается около 5 гигабайт.

Имя можете оставить такое же как у виртуалки, оно ни на что не влияет. Размер указывайте исходя из рассчёта, что сама винда займёт 20 гигов + ваши программы и + ваши документы, если будете хранить их на том же диске. Для своей виртуалки я выделил 35 гигибайт. Но сейчас для демонстрации я не буду создавать большой жёсткий диск.

Всё, виртуальная машина создана. Теперь нам надо перейти к её настройкам. Нажимаем настроить.

В принципе на вкладке общее вы разберётесь, здесь ничего сложного нет. Если надо, включайте общий буфер обмена.

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

Где брать информацию по настройке? Проще всего в поисковиках. Ещё есть встроенное руководство, которое можно открыть из меню Справка. Оно на английском языке и не всегда исчерпывающе описывает настройки, но всё равно очень полезно. Также оно есть в виде сайта в интернете. Но что ещё интересно, я нашёл сайт, где эта справка очень точно переведена на русский. Находится она правда на каком-то левом сайте, но тем не менее, вам может быть полезно. Ссылку я оставлю в описании.

Дальше у нас идёт манипулятор курсора. Тут есть три варианта: PS/2 мышь, usb планшет и usb мультитач планшет. Вариант PS/2 мышь не требует эмуляции usb контроллеров, но он больше подходит для древних осей. Я бы не советовал его выбирать, так как при этом режиме, даже если установлены дополнения гостевой ОС, виртуалка больше нагружается. Большинство людей захотят выбрать здесь usb планшет. Ну, а если у вас есть какие-то специальные устройства, можете выбрать usb мультитач-планшет. Я выбираю именно его, потому что у моего ноутбука есть тачскрин.

Здесь я опять наступил на те же грабли. На VirtualBox эта галочка включает чистый UEFI режим. Семёрку так даже установить не получится. Я нашёл инфу на официальном форуме, Оракл о данной проблеме знают, но у проблемы низкий приоритет. Вот с 2014 года ничего и не сдвинулось с места. Ну и пофигу, пусть будет загружаться в режиме BIOS. На производительность машины это не влияет.

Но опять же, это было на реалке. Здесь нам по сути это не важно. Можно снять галочку, тогда системные часы хоста (настроенные на мировое время) будут восприниматься виндой как локальное время. И вам не придётся лезть в её реестр, и время будет отображаться правильно. А на производительность это не повлияет.

Переходим на вкладку Процессор. В зависимости от задач, которые вы собираетесь выполнять на виртуалке, выделяйте нужное количество процессоров. Мне для обработки видео надо как можно больше, но как и в случае с оперативной памятью, перегибать здесь нельзя. У меня четырёхъядерный процессор, 2 ядра я даю виртуалке.

Если у вас не какая-нибудь специальная защищённая ОС, и она может загружаться без PAE/NX, значить вам эта функция не нужна. Я её выключаю.

Так, с этим разобрались. Переходим на вкладку Ускорение.

Интерфейс паравиртуализации. Что это такое и какой выбирать? Давайте пройдёмся по списку и я вам расскажу какой для чего.

Выбирать его нужно в зависимости от вашей гостевой ОС.

И чтобы дополнительно ускорить работу с памятью, нужно вулючить Nested Paging. По описаниям, которые я читал, это существенно влияет на производительность.

Параметр Видеопамять определяет сколько памяти будет у виртуального графического адаптера в гостевой ОС. Здесь я выставляю максимальное значение.

Здесь я хочу обратить ваше внимание на тип контроллера для вашего виртуального диска. Скорее всего он у вас сразу будет sata, но лучше проверьте это. Главное, чтобы он не был ide, потому что они медленнее и не поддерживают асинхронный ввод/вывод. В virtualbox он поддерживается также на SCSI и SAS контроллерах. На обычном ноутбуке выбирать эти контроллеры нет смысла.

Если у вас твердотельник, поставьте галочку Твердотельный накопитель, тогда гость не будет пытаться дефрагментировать данные. Галочку с горячей заменой я не ставлю, так как это у нас будет системный накопитель, т.е. диск C.

Ну вот и всё. Мы рассмотрели все настройки, которые влияют на производительность виртуальной машины и я объяснил для чего каждая из них нужна, чтобы вы могли настроить свою виртуальную машину. Теперь осталось только установить винду с программами.

Какой по всему этому можно сделать вывод? Вывод такой: поскольку Adobe не замечает нас, нам приходится вот так изворачиваться с виртуалками. Производительность здесь будет конечно хуже, чем в реалке. Но мне этот вариант сейчас подходит: я могу что-нибудь простенькое наклепать в Ae, экспортировать и тут же смонтажить в kdenlive на linux. Ну ещё при доработке kdenlive можно посматривать как там у них сделано.

На этом всё. Надеюсь я помог вам в настройке VirtualBox. Если видео было вам полезно, оцените лайком, мне будет приятно.

Если хотите, чтобы такого рода видео я выпускал и в дальнейшем, напишите об этом в комментариях. Про virtualbox у меня ещё есть что рассказать, ну и можем просто порассматривать разные полезные программы в Linux.

Читайте также: