KVM spice协议在高分屏上的分辨率问题
高分屏用起来很爽,但是目前还是经常会遇到各类问题,比如,最近我发现如果我使用扩展显示器,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'/>
2021.10.31 更新:
我用了 4k 显示器之后,上面的配置不太够,还是会卡顿,于是我直接改成了 256M:
<model type='qxl' ram='262144' vram='262144' vgamem='131072' heads='1' primary='yes'/>
参考资料:
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- frp 源码阅读与分析(一):流程和概念
- 用peewee代替SQLAlchemy
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(二):shim, docker-init和docker-proxy
- Docker组件介绍(一):runc和containerd
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程