windows server 2012 分辨率问题与 vga

windows server 2012 分辨率问题与 vga

我有两个 Windows VM,Windows Server 2012 和 Windows Server 2008。两者都使用 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 基本显示适配器”,尝试更新驱动程序会导致 Windows 告诉我一切都是最新的。在此驱动程序下,我只能获得 1024x768 的分辨率,这甚至比使用 cirrus 卡时更糟糕,cirrus 卡至少可以达到 1280x1024。

根据这个问题,我理解 VGA 卡的不良行为是由于基本显示适配器的基本功能造成的: 停留在低分辨率:Windows Server 2012 无法识别显示器和显示适配器

据我所知,我需要以下两样东西之一。A) 更好的驱动程序,可以为虚拟卡提供更好的分辨率支持。B) 具有更强大功能的新虚拟卡(KVM 可以做到这一点吗?)

最后一种可能性是 C)http://support.microsoft.com/kb/2855505表明这可能是因为我的 GPU 不支持 directx9,但我不知道如何检查。

任何帮助将不胜感激。

答案1

安装SPICE 访客工具在您的 Windows 客户机中获取(几乎)所有各种 virtio 驱动程序。(如果失败,请从virtio-win包。)

然后关闭虚拟机并重新配置它,以便它使用 SPICE 通道和 QXL 视频。

Windows 客户机视频配置

对应的 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 基本显示适配器和更新驱动程序。指向最新的 QXL WDDM 驱动程序

虽然安装驱动程序会将分辨率重置为 1024x768,但您可以更改分辨率并以所需的任何分辨率使用完整的桌面体验,最高可达 2560x1600。

具有桌面体验的高分辨率 Windows 客户机

您甚至可以使用 VGA 驱动程序做以前无法做到的事情...例如观看 YouTube。

我需要调低音量......

相关内容