我有两个Windows虚拟机,Windows Server 2012和Windows Server2008。两者都使用kvm和libvirt。我最近决定要增加屏幕分辨率选项,这需要从默认的“ cirrus”视频卡更改为“ vga”选项。这对于Windows Server 2008 VM来说就像是一种魅力,为我提供了从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>
我怀疑这是驱动程序问题。我试图弄清楚哪些驱动程序将与KVM的模拟VGA卡兼容,但我发现该卡仅是“带有Bochs VESA扩展的虚拟VGA卡”,并且在搜索中加上“驱动程序”后发现没有任何用处。
在我的Windows 2008 vm中,该驱动程序是一个“标准VGA图形适配器”,它看起来像是Windows的通用驱动程序,它会解释为什么我不需要下载任何新程序就可以使该vga卡在Windows 2008上正常工作。但是,在Windows 2012中该驱动程序只是显示为“ Microsoft Basic显示适配器”,尝试更新驱动程序会在Windows中显示,告诉我一切都是最新的。在此驱动程序下,我只能得到1024x768的分辨率,这甚至比使用cirrus卡(至少达到1280x1024)时的分辨率还要差。
基于此问题,我理解VGA卡的不良行为是由于基本显示适配器的非常基本的功能导致的: 卡在低分辨率上:Windows Server 2012中未识别监视器和显示适配器
据我所知,我需要两件事之一。A)更好的驱动程序,它将为虚拟卡提供更好的分辨率支持。B)具有更高功能的新虚拟卡(KVM可以这样做吗?)
最后一种可能性是C)http://support.microsoft.com/kb/2855505暗示这可能是因为我的GPU不支持Directx9,但我不知道如何进行检查。
任何帮助将不胜感激。
dxdiags
。但坦率地说,为什么不继续使用Spice?安装了QXL驱动程序后,可以根据需要使用高分辨率。我不明白的另一件事是,为什么在服务器系统中需要高分辨率,而安装所需的显示器全都需要RDP。