Вопрос или проблема
Я запускаю Arch Linux 6.0.9 в качестве хоста для виртуальной машины Windows 11.
Когда я впервые установил ВМ, у меня была возможность в Windows установить разрешение 3840×2160 4k с помощью стандартного драйвера Windows (я думаю, это был базовый дисплейный адаптер Windows), однако после установки инструментов гостя Spice и включения драйверов, разрешение дисплея Windows теперь ограничено 2560×1600. Мои настройки видео на странице конфигурации ВМ показывают QXL, и я пробовал VGA и Virtio, но они просто дают мне различные более низкие разрешения, и ни одно из них не имеет доступного ранее 3840×2160. Как мне снова сделать 3840×2160 доступным в гостевой машине Windows?
Я думаю, что это может быть связано с дисплейным адаптером контроллера Red Hat QXL, но я не знаю, как решить эту проблему.
У меня такая же проблема на ArcoLinux (в качестве хост-системы) с Windows 10 в качестве гостя ВМ, и я установил spice-guest-tool-0.141.exe (версия 2018 года), так как это был самый последний доступный файл, который я нашел. Установка spice-guest-tool решила проблему получения функции копирования и вставки между хостом и гостевыми ОС, но вызвала проблему с разрешением…
Это может быть интересно: https://www.reddit.com/r/VFIO/comments/aqk2pk/qemukvm_4k_resolutions_using_qxl_via_command_line/
Я столкнулся с чем-то, на что не смог найти более простого ответа, и решил опубликовать это здесь, вместо того чтобы искать конкретную вики-дистрибутива, чтобы отдать что-то(тм) всем. 😉 Если кто-то нашел источник, который объясняет эту тему более линейно, не стесняйтесь ссылаться на него для меня, чтобы я научился искать лучше.
У меня монитор 3440×1440 и я запускаю Gentoo с Windows ВМ, где мне нужно разрешение больше, чем максимальное разрешение 2560×1600 стандартного драйвера видео QXL. Я гуглил (ограниченная форма глагола с авторским правом…) различные способы сделать это для Ubuntu и libvirt XML, но ничего для командной строки. Когда я собирался задать вопрос на reddit, я нашел это:https://bugzilla.redhat.com/show_bug.cgi?id=1273106
Я могу подтвердить, что команда Андрея Степанова работает после того, как я переключился с
qxl (что также есть в пакете инструментов spice) на qxldod
драйверы в virtio 0.1.141 iso. Мне пришлось сначала переключиться на
драйверы, а затем применить настройки видеопамяти между перезагрузками, но это может быть анекдотично или временно для моего сценария с Windows 10. Я
верю, что поддержка гостя для Linux гораздо более прямолинейна с
такими же параметрами QEMU. Вам, возможно, придется расширить для больших разрешений.
Математика для этого находится в других основных статьях/постах.-vga qxl -global qxl-vga.ram_size=134217728 -global qxl-vga.vram_size=134217728 -global qxl-vga.vgamem_mb=32
Я никогда не знал о методе “-global” для передачи других
параметров в QEMU. Это что-то, чему мне нужно научиться в будущем.
В противном случае в интернете уже достаточно информации, чтобы действовать на решение libvirt.. Я просто пока не перешел. Чтение о
pvpanic побуждает меня двигаться к чему-то более продвинутому, когда у меня будет время.
Это решило мою проблему: https://stafwag.github.io/blog/blog/2018/04/22/high-screen-resolution-on-a-kvm-virtual-machine-with-qxl/
По сути, параметры разрешения зависят от видеопамяти, доступной гостю, которая по умолчанию составляет 16 МБ. Если вы обновите эту настройку через virsh
, вы сможете увеличить. Обновление до 64 МБ, как в примере, позволяет мне увеличивать разрешение до 4096 x 2160.
Ответ или решение
Вопрос о восстановлении 4K разрешения в виртуальной машине, использующей Spice Guest Tools и QEMU/KVM, является актуальным для многих пользователей. Если у вас исчезла возможность выбрать разрешение 3840×2160 после установки драйверов Spice, это может быть связано с настройками видеопамяти и выбором видеоконтроллера. В следующем ответе представлены шаги, которые помогут вам восстановить нужное разрешение.
1. Проверка и изменение настроек видеоконтроллера
Первоначально необходимо убедиться, что виртуальная машина настроена на использование правильного видеоконтроллера. В вашем случае QXL является рекомендуемым драйвером для достижения максимального разрешения, но необходимо учитывать настройки видеопамяти.
Шаги:
- Откройте конфигурацию вашей виртуальной машины через интерфейс управления (например, через virt-manager или командную строку).
- Убедитесь, что выбор видеоконтроллера установлен на QXL.
2. Увеличение объема видеопамяти
По умолчанию объем видеопамяти для QXL может быть недостаточным. Чтобы восстановить разрешение 4K, вам нужно увеличить объем видеопамяти. Это можно сделать с помощью команды virsh
.
Шаги:
-
Остановите виртуальную машину:
virsh shutdown <имя_вашей_виртуальной_машины>
-
Увеличьте объем видеопамяти. Например, команда для установки объема видеопамяти на 64МБ:
virsh set-config --video ram=67108864 <имя_вашей_виртуальной_машины>
-
Перезапустите виртуальную машину:
virsh start <имя_вашей_виртуальной_машины>
3. Проверка драйверов в Windows
После увеличения объема видеопамяти вам нужно убедиться, что в Windows будут использоваться корректные драйверы.
Шаги:
- Войдите в Windows и откройте Диспетчер устройств.
- Убедитесь, что в разделе «Видеоадаптеры» установлен драйвер Spice QXL. Если драйвер установлен неправильно или используется стандартный драйвер, обновите его через интерфейс диспетчера устройств.
4. Настройки разрешения в Windows
Теперь, когда вы изменили настройки, проверьте доступные разрешения в Windows.
Шаги:
- Перейдите в Настройки экрана (Settings -> System -> Display).
- Найдите и выберите разрешение 3840×2160 из списка доступных разрешений.
5. Дополнительные настройки QEMU
Если указанные выше шаги не решили проблему, вы можете добавить дополнительные параметры при запуске вашей виртуальной машины. Для этого нужно использовать команду qemu-system-x86_64
с параметрами, касающимися видеопамяти:
Команда:
qemu-system-x86_64 -vga qxl -global qxl-vga.ram_size=134217728 -global qxl-vga.vram_size=134217728 -global qxl-vga.vgamem_mb=32 ...
Эта команда задает параметры памяти для QXL, что может также помочь увеличить доступные разрешения.
Заключение
Следуя приведенным выше шагам, вы сможете восстановить разрешение 3840×2160 в вашей Windows виртуальной машине, работающей на Arch Linux или ArcoLinux с использованием QEMU/KVM и Spice Guest Tools. Если у вас все еще возникают проблемы, рекомендуется также проверить обновления для оперативной системы и драйверов, которые могут влиять на отображение. Тщательное внимание к настройкам виртуальной машины и драйверам поможет вам достичь высококачественного дисплея в вашей виртуальной среде.