本发明专利技术涉及计算机科学技术领域,具体涉及一种基于在ARM64架构虚拟机中支持QXL显示的方法,包括如下步骤:S1、对ARM64架构的QEMU虚拟机的源码进行重新编译,以使其支持QXL显卡;S2、更改所述QEMU虚拟机的源码驱动,使其支持启动所述QXL显卡。该方法可以解决在ARM64架构上QEMU虚拟机中不能使用QXL虚拟显卡的问题。上QEMU虚拟机中不能使用QXL虚拟显卡的问题。上QEMU虚拟机中不能使用QXL虚拟显卡的问题。
【技术实现步骤摘要】
一种基于在ARM64架构虚拟机中支持QXL显示的方法
[0001]本专利技术涉及计算机科学
,具体涉及一种基于在ARM64架构虚拟机中支持QXL显示的方法。
技术介绍
[0002]随着云计算、虚拟化技术的不断发展,云桌面技术也越来越成熟,集中管控和分配资源给企业带来的是硬件成本和人力成本、管理成本的降低,而在云桌面中虚拟机中的显示虚拟化又是至关重要的一个环节。
[0003]QXL是QEMU提供的一种全虚拟化显卡。QEMU中可以模拟CIRRUS、VGA和QXL等显卡,这几种显卡都是通过纯软件模拟,具有很好的扩展性和移植性。其中QXL性能突出,在云桌面办公、视频播放等应用场景都比传统的VGA、CIRRUS体验更优。特别是在X86架构下的云桌面,QXL+spice是作为默认配置广泛应用于各大云厂商。
[0004]但是在当前仅次于X86的服务器生态的ARM64架构服务器上的虚拟机中却无法使用QXL虚拟机显示技术,其中主要原因一个是社区发行版中ARM64架构的QEMU均未支持QXL设备模拟,另一个原因是GUESTOS中QEL在ARM64架构中无法使用,存在问题,启动内核时KVM会报出错误导致虚拟机卡死。
[0005]因此,有必要提供一种方法,解决在ARM64架构上QEMU虚拟机中不能使用QXL虚拟显卡的问题。
技术实现思路
[0006]解决的技术问题
[0007]针对现有技术所存在的上述缺点,本专利技术提供了一种基于在ARM64架构虚拟机中支持QXL显示的方法,该方法可以解决在ARM64架构上QEMU虚拟机中不能使用QXL虚拟显卡的问题。
[0008]技术方案
[0009]为实现以上目的,本专利技术通过以下技术方案予以实现:
[0010]本专利技术提供了一种基于在ARM64架构虚拟机中支持QXL显示的方法,包括如下步骤:
[0011]S1、对ARM64架构的QEMU虚拟机的源码进行重新编译,以使其支持QXL显卡;
[0012]S2、更改所述QEMU虚拟机的源码驱动,使其支持启动所述QXL显卡。
[0013]进一步地,步骤S1具体包括:
[0014]下载所述QEMU虚拟机的源码,所述QEMU虚拟机的源码与所述ARM64架构对应;
[0015]打开所述QEMU虚拟机的源码中的QXL开关使其支持所述QXL显卡;
[0016]在所述ARM64架构中重新编译安装QEMU,并在XML配置使用该QEMU作为模拟器,生成新的QEMU虚拟机。
[0017]进一步地,所述打开所述QEMU虚拟机的源码中的QXL开关使其支持所述QXL显卡具
体包括:在所述QEMU虚拟机的源码中对应的CONFIG配置文件中添加CONFIG_QXL=y。
[0018]进一步地,步骤S2具体包括:
[0019]更改所述源码驱动中跟所述QXL显卡属性相关的地方,使其支持非对齐访问;将所述QXL显卡的所有bar空间全部映射为可以支持非对齐访问内存属性;更改所述源码驱动中跟QXL ROM相关的地方,使其支持IDP/STP指令访问;将所述QXL显卡的ROM地址映射为可以非对齐内存访问属性,并做二次内存内存拷贝,使其支持IDP/STP指令访问。
[0020]基于同一专利技术构想,本专利技术还提供了一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述任一项所述的方法。
[0021]基于同一专利技术构想,本专利技术还提供了一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的方法。
[0022]有益效果
[0023]本专利技术提供一种基于在ARM64架构虚拟机中支持QXL显示的方法,该方法可以解决在ARM64架构上QEMU虚拟机中不能使用QXL虚拟显卡的问题;进一步地,该方法由于优化算法的设计和实现都是自主设计研发,具有自主可控性;最后,该方法实现效果明显,采用本专利技术的方法,可以有效解决基于ARM64的虚拟机QXL显卡无法使用问题,使大量云桌面厂商从传统X86上的业务可以无缝迁移到国产CPU平台。
附图说明
[0024]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本专利技术一实施例提供的基于在ARM64架构虚拟机中支持QXL显示的方法步骤示意图;
[0026]图2为本专利技术一实施例提供的基于在ARM64架构虚拟机中支持QXL显示的方法框架示意图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]首先,对本专利技术提到的技术术语进行解释。
[0029]云桌面:云桌面又称桌面虚拟化,是虚拟化和云计算时代的典型应用,云桌面通过云计算技术在云端数据中心搭建服务器集群,创建多个虚拟机以提供远程的计算、存储、应用程序等个性化内容的远程服务,用户通过各种云终端设备通过网络连入远程云桌面,获得属于自己的计算、存储、个性化应用和数据内容,实现与本地PC一致的使用体验。云桌面通过云桌面传输协议向用户交付。云桌面传输协议是云桌面核心技术之一,决定着云桌面
的效率和展现效果。
[0030]QEMU:在Linux平台上广泛使用的开源虚拟机监视器,可以以纯软件方式提供虚拟化服务,结合Linux内核中的KVM(Kernel Virtual Machine,内核虚拟机)模块,可实现对硬件虚拟化的支持。目前在Linux平台通常采用QEMU+KVM来提供虚拟化服务:KVM负责对CPU和内存的虚拟化,而QEMU负责设备模拟的功能,包括模拟BIOS、PCI/PCIE总线、磁盘、网卡、显卡、声卡、键盘、鼠标等。QEMU也负责与SPICE等云桌面的对接:接收SPICE等云桌面发过来的用户操作请求并传递给虚拟机,并将虚拟机中的图像、声音等数据发送给SPICE等云桌面。
[0031]SPICE:SPICE(Simple Protocol for Independent Computing Environment,简单协议独立计算环境)协议,是基于KVM+QEMU虚拟机的开源云桌面传输协议,主要应用于Linux内核操作系统的桌面虚拟化。QEMU和SPICE相互配合,共同提供了远程访问云桌面的解决方案:QEMU定时扫描获取虚拟机中的桌面图像,并将其发送给SPICE服务端,SPICE服务端对图像进行压缩处理后,再通过网络发本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于在ARM64架构虚拟机中支持QXL显示的方法,其特征在于,包括如下步骤:S1、对ARM64架构的QEMU虚拟机的源码进行重新编译,以使其支持QXL显卡;S2、更改所述QEMU虚拟机的源码驱动,使其支持启动所述QXL显卡。2.根据权利要求1所述的基于在ARM64架构虚拟机中支持QXL显示的方法,其特征在于,步骤S1具体包括:下载所述QEMU虚拟机的源码,所述QEMU虚拟机的源码与所述ARM64架构对应;打开所述QEMU虚拟机的源码中的QXL开关使其支持所述QXL显卡;在所述ARM64架构中重新编译安装QEMU,并在XML配置使用该QEMU作为模拟器,生成新的QEMU虚拟机。3.根据权利要求2所述的基于在ARM64架构虚拟机中支持QXL显示的方法,其特征在于,所述打开所述QEMU虚拟机的源码中的QXL开关使其支持所述QXL显卡具体包括:在所述QEMU虚拟机的源码中对应的...
【专利技术属性】
技术研发人员:谢明,孙立明,张铎,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。