高分屏用起來很爽,但是目前還是經常會遇到各類問題,比如,最近我發現如果我使用擴展顯示器,virt manager可以完美的切換guest 的分辨率,但是一旦我切回筆記本的屏幕(高分屏),guest就無法自動更新分辨率,而是會有一個最大上限比如 1600x1020 之類的。

最後發現是QXL的內存限制只有16M,莫非是不夠用?計算一下在 3000x2000 的屏幕上需要多少內存來當顯存:

In [1]: 3000 * 2000 * 32 / 8 / 1024 / 1024                                                                                              
Out[1]: 22.88818359375

其中 32 是32位色深,除以8是把單位從bit轉換爲byte,除以 (1024 * 1024) 是爲了把單位從byte轉換爲MB。所以給22.88M內存就夠了, 不過我直接給了32M

$ sudo virsh
# edit --domain thinpc

找到qxl一行:

<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>

改爲

<model type='qxl' ram='65536' vram='65536' vgamem='32768' heads='1' primary='yes'/>

參考資料:

  • https://stafwag.github.io/blog/blog/2018/04/22/high-screen-resolution-on-a-kvm-virtual-machine-with-qxl/
相關文章