使用QXL让KVM虚拟机支持高分辨率

kvm 2018-08-22

起步

默认情况下,创建的vm的视频RAM限制为 16MB 。在win操作系统中分辨率最高就只能调到 1024x768

<video>
  <model type='cirrus' vram='16384' heads='1' primary='yes'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>

单单修改ram大小并不管用,在vm中最高分辨率还是1024。

20180822163839.png

也就是说可能还需要其他的设置。

增加必要的视频RAM

默认的具有 16MB 的视频RAM,4k分辨率(3840 x 2160)来计算。

3840 x 2160 = 8294400     # 总共像素点
8294400 x 32 = 265420800  # 每个像素点占 4 个字节
265420800/8 = 33177600    # 转为 Byte 单位
33177600 /(1024 * 1024)= 31.640625 MB

所以32 MB视频RAM足以达到4k分辨率,考虑到一些开销,我们将视频RAM增加到64 MB。

视频类型设置为 qxl ,如下更新配置文件中的设置:

<video>
  <model type='qxl' ram='65536' vram='65536' vgamem='65536' heads='1' primary='yes'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>

重新启动vm就能看到支持的分辨率了。

20180822164945.png


本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

赏个馒头吧