У меня есть две Windows vms, Windows Server 2012 и Windows Server 2008. Оба используют kvm и libvirt. Недавно я решил, что хочу увеличить параметры разрешения экрана, что потребовало изменения с видеокарты "cirrus" по умолчанию на вариант "vga". Это сработало как шарм для моей виртуальной машины Windows Server 2008, предоставив мне несколько вариантов разрешения от 800x600 до 2560x1600. Однако это не работает для Windows Server 2012.
Вот код из моего xml-шаблона, относящийся к видеокарте:
<video>
<model type='vga' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
Подозреваю, что это проблема драйвера. Я попытался выяснить, какие драйверы будут совместимы с эмулированной картой VGA KVM, но все, что я обнаружил о карте, это то, что это была «фиктивная карта VGA с расширениями Bochs VESA», и поиск в Google, плюс «драйверы» не дал ничего полезного.
В моей виртуальной машине Windows 2008 драйвером является «Стандартный графический адаптер VGA», который выглядит как общий драйвер окна и объясняет, почему мне не нужно загружать ничего нового, чтобы карта vga работала в Windows 2008. Однако в Windows 2012 драйвер просто отображается как «Microsoft Basic Display Adapter», и попытки обновления драйвера приводят к тому, что окна сообщают мне, что все обновлено. Под этим драйвером я получаю только разрешение 1024x768, что даже хуже, чем было с картой cirrus, которая, по крайней мере, перешла на 1280x1024.
Основываясь на этом вопросе, я понимаю, что плохое поведение карты VGA является результатом самых основных возможностей базового адаптера дисплея: Зависание при низком разрешении: монитор и видеоадаптер не распознаются в Windows Server 2012
Насколько я могу судить, мне нужно одно из двух. A) лучший драйвер, который обеспечит лучшее разрешение для фиктивной карты. Б) новая фиктивная карта с более интересными возможностями (может ли KVM это сделать?)
Последняя возможность состоит в том, что C) http://support.microsoft.com/kb/2855505 предполагает, что это может быть связано с тем, что мой графический процессор не поддерживает DirectX9, но я не знаю, как это проверить.
Любая помощь будет принята с благодарностью.
Установите Гостевые инструменты SPICE в гостевой системе Windows, чтобы получить (почти) все различные драйверы virtio. (В случае неудачи установите их из virtio-win пакет вместо этого.)
Затем выключите виртуальную машину и перенастройте ее, чтобы она использовала канал SPICE и видео QXL.
Соответствующий XML:
<controller type='virtio-serial' index='0'>
<alias name='virtio-serial0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
<channel type='spicevmc'>
<target type='virtio' name='com.redhat.spice.0'/>
<alias name='channel0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<video>
<model type='qxl' ram='65536' vram='65536' heads='1'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
После перезагрузки перейдите в Диспетчер устройств, выберите Microsoft Basic Display Adapter и Update Driver. Укажите это на последний драйвер QXL WDDM.
Хотя установка драйвера сбросит ваше разрешение до 1024x768, вы можете изменить разрешение и использовать все возможности рабочего стола с любым разрешением, которое вы пожелаете, вплоть до 2560x1600.
Вы даже сможете делать то, чего раньше не могли делать с драйвером VGA ... например, смотреть YouTube.