Разрешение экрана Hyper-v в Ubuntu VM с помощью видеоадаптера RemoteFX

Я впервые использую Hyper-V на установке Windows 10, где у меня возникают проблемы с разрешением экрана в моей виртуальной машине Ubuntu 18.04.

Гиды предлагают эти действия для перенастройки экрана экрана для виртуальных машин на базе Linux:

Редактировать grub:

sudo nano /etc/default/grub

Добавить видео = hyperv_fb: 1920x1080:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"

Обновление grub:

sudo update-grub

И затем перезагрузитесь.

Это работает отлично, пока вы не захотите использовать RemoteFX 3D Video Adapter, который внезапно меняет разрешение экрана до 800x600. Перемещение окон и просмотр веб-страниц в виртуальной машине кажется прекрасным, а в Hyper-v Manager в разделе "Физические GPU" говорится: "В настоящее время виртуальная машина использует этот GPU".

Я видел предположение, что установка виртуального пакета linux-image-extra-virtual будет предоставлять драйвер отображения HyperV, но это ничего не меняет. Может, я что-то упустил?

Поэтому я ищу информацию о том, как я могу использовать RemoteFX и иметь полезное разрешение в моей Ubuntu VM. Предложения?

Ответ 1

У меня была идентичная проблема, и я решил:

  1. Добавлен RemoteFX 3D Video Adapter к моей Ubuntu 16.04 VM в Hyper-V (производительность VM без RemoteFX была непригодной).
  2. Работает на Ubuntu VM и работает:

    sudo hwinfo --framebuffer

Это вернуло список всех доступных размеров экрана. Я выбрал один из размеров (1600x1024), который лучше всего подходит для моего дисплея.

  1. Отредактировал файл /etc/default/grub и добавил строки:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1600x1024"

    GRUB_GFXMODE=1600x1024

  2. Сохранил файл grub, а затем обновил настройки, выполнив:

    sudo update-grub

  3. Перезагрузили виртуальную машину Ubuntu, и она сработала! У меня был больший размер экрана, и графическая производительность была намного лучше. Моя проблема заключалась в том, что я изменил файл grub с размером экрана (1366x768), который не был доступен в списке, выводимом командой hwinfo. Я предполагаю, что, когда используется RemoteFX, значения, используемые в файле grub, ДОЛЖНЫ соответствовать одному из доступных размеров экрана, указанному в hwinfo. Когда эти значения не совпадали, размер дисплея, показанный VM, был наименьшим размером по умолчанию, который для меня был 800x600, слишком мал.

Ответ 2

Ubuntu 16:

Таким образом, вы не сможете получить 1920x1080, но мне удалось добраться до 1600x1200, установив значение GRUB_CMDLINE_LINUX_DEFAULT и GRUB_GFXMODE:

GRUB_CMDLINE_LINUX_DEFAULT="quiet video=hyperv_fb:1600x1200"
GRUB_GFXMODE=1600x1200

Но это 16 бит, а не 24/32. И это все еще ускорилось. Будет обновлен, если я получу больше res и/или глубину цвета позже.

Режимы ограничены 4 Мб. Следовательно, 16 бит и не выше. Чтобы получить список поддерживаемых режимов, используйте:

hwinfo --framebuffer

Ubuntu18:

С RemoteFX:

  • 2d ускорен
  • разрешение ограничено 1024x768
  • 32-битная глубина цвета
  • Параметр kernel не работает.

Без RemoteFX:

  • Нет 2d ускорения
  • res выбирается параметром kernel: например, 1920x1080 работает.
  • 32-битная глубина цвета

В моей системе ни одна из обычных команд, таких как lspci или hwinfo, ничего не возвращает. Они просто выходят без печати. Ницца.

Ответ 3

Правильный способ настройки разрешения это с расширенным режимом экрана. Вы должны выбрать полный экран.

enhanced mode screen

Возможно, вы не можете видеть это окно, в этом случае вы должны следовать этому руководству hyper-v.