Который является самой простой установкой компиляции/выполнения QEMU для гостя разрешение FHD?

Править: Решение Hermann's использования QXL приемлемо.

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

Цель состоит в том, чтобы запустить универсальный Windows (7 +) гость с FHD (1920x1080) разрешение, не используя удаленный рабочий стол (поэтому, непосредственно в окне QEMU), с помощью хоста Ubuntu 16.04 x86/64.

Когда я настраиваю компилятор с:

./configure --target-list=x86_64-softmmu --enable-debug --enable-gtk # and other parameters

и выполненный QEMU с:

$QEMU_BINARY \
  -drive if=pflash,format=raw,readonly,file=$OVMF_20160813_BIN \
  -drive if=pflash,format=raw,file=$OVMF_20160813_VARS_TMP \
  -enable-kvm \
  -machine q35,accel=kvm,mem-merge=off \
  -cpu host \
  -vga std \
  # and other parameters

Windows ограничивает разрешение 800x600.

Как я могу настроить/выполнить QEMU для получения ожидаемого разрешения?

Когда я выполняю использование -vga vmware, Я добираюсь Guest has not initialized the display (yet)., который я не уверен, является ли это ошибка, или я не настраиваю свою систему или QEMU правильно.

Приемлемо, если решение требует драйверов установки, но я склонен не выполнить QEMU от соединения удаленного рабочего стола. Если не возможно легко достигнуть FHD, даже более низкий в порядке (что-либо, но 800x600!).

1
задан 18 August 2017 в 13:00

1 ответ

У меня была эта работа однажды, но она развалилась, когда я переключился от Windows XP до Windows 10. Теперь я сталкиваюсь с той же проблемой, также. Насколько мое исследование пошло, это просто не возможно из-за неудачной комбинации EFI OVMF и Windows.

Список доступных разрешений сгенерирован в виртуальной видеокарте "станд." BIOS. Официальный список разрешений исправлен (см. qemu ошибку 498421), но может быть изменен, если Вы компилируете его сами (см. https://www.tablix.org / ~ avian/blog/archives/2013/05/custom_display_resolutions_in_qemu/).

Это только работает с процедурой загрузки BIOS прежней версии. Как только я использую стиль начальной загрузки EFI с OVMF, Windows принимает решение полагаться на предоставленный EDID монитора исключительно. К сожалению, qemu не эмулирует виртуальный монитор. Windows 10 не получает EDID и следовательно отступает к 800x600. Это поведение является hardcoded и не может быть изменено.

В теории Вы могли взломать "Основной Драйвер дисплея Microsoft", столь сделанный в https://github.com/ywjheart/basic_adapter_driver_modification, но это перестанет работать для Windows 7 или позже как проверки подписи драйвера поощряются.

В госте можно вручную установить монитор с нужным разрешением, но Windows будет все еще ожидать EDID.

Я обратился к удаленному рабочему столу. Используя -vga qxl и соответствующие гостевые драйверы являются альтернативой, но - лично - я не нашел преимуществ.

ОБНОВЛЕНИЕ: qemu v4.0.0 отсутствует (замечен в kraxel's). Это теперь генерирует информацию EDID! Я скомпилировал его с

./configure --target-list=x86_64-softmmu --enable-sdl --enable-opengl

, выполните его с

qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -drive if=virtio,format=raw,file=windows10 -display sdl,gl=on -device qemu-xhci,id=usb-bus -device usb-tablet -device VGA,edid=on,xres=1920,yres=1080

и о чудо: Полное разрешение в госте Windows 10! UI SDL является очень быстро реагирующим.

1
ответ дан 7 December 2019 в 15:42

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

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