CN102097080B - 显示驱动处理方法、装置和系统 - Google Patents

显示驱动处理方法、装置和系统 Download PDF

Info

Publication number
CN102097080B
CN102097080B CN201010613977.2A CN201010613977A CN102097080B CN 102097080 B CN102097080 B CN 102097080B CN 201010613977 A CN201010613977 A CN 201010613977A CN 102097080 B CN102097080 B CN 102097080B
Authority
CN
China
Prior art keywords
display driver
video memory
identification information
virtual machine
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010613977.2A
Other languages
English (en)
Other versions
CN102097080A (zh
Inventor
张�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201010613977.2A priority Critical patent/CN102097080B/zh
Publication of CN102097080A publication Critical patent/CN102097080A/zh
Priority to PCT/CN2011/078343 priority patent/WO2012088893A1/zh
Priority to US13/709,946 priority patent/US8860740B2/en
Application granted granted Critical
Publication of CN102097080B publication Critical patent/CN102097080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明实施例提供一种显示驱动处理方法、装置和系统。一种显示驱动处理方法,包括:接收第一显示驱动消息,第一显示驱动消息中包含显示内容信息以及显存标识信息;将显示内容信息显示在与显存标识信息对应的显存中,并通过集成在显卡内部的远程桌面协议将第一显示驱动消息发送给客户端。一种显卡,包括:第一接收模块,用于接收第一显示驱动消息,第一显示驱动消息中包含显示内容信息以及显存标识信息;显示处理模块,用于将显示内容信息显示在与显存标识信息对应的显存中;第一发送模块,用于通过集成在该显卡内部的远程桌面协议将第一显示驱动消息发送给客户端。本发明实施例提升了显示速度,降低了对物理机内存的消耗。

Description

显示驱动处理方法、装置和系统
技术领域
本发明实施例涉及通信领域,尤其涉及一种显示驱动处理方法、装置和系统。
背景技术
虚拟桌面基础架构(Virtual Desktop Infrastructure,以下简称:VDI)可以通过将计算机部署在集中的数据中心,然后通过远程桌面协议将远端的显示器、鼠标、键盘等外设连接、映射到集中部署计算机中,从而实现集中维护和信息安全。
在现有技术中,VDI中的远端计算机可以通过调用图形设备接口(Graphics Device Interface,以下简称:GDI)在显示设备中绘图。图1为现有技术中的VDI架构示意图,如图1所示,应用程序可以将GDI指令发送给显示驱动程序,然后显示驱动程序可以将GDI指令发送给显示设备进行绘图操作。在VDI场景下,还可以安装远程桌面协议驱动程序,这个驱动程序可以捕获所有GDI指令,然后把GDI指令通过网络协议,例如传输控制协议(Transmission Control Protocol,以下简称:TCP)发送到远端的瘦终端(Thin Client,以下简称:TC)上,TC收到后,即可将远端计算机的GDI指令转换为本地操作系统的GDI指令,以在本地环境上重现远端计算机的桌面。在虚拟化场景下,远端计算机可以虚拟出很多虚拟机,因此,TC可以通过桌面协议访问这些虚拟机。
但是,虚拟机的GDI指令均是通过CPU处理,因此GDI指令的处理会耗费CPU资源,而且,当虚拟机的分辨率较高时,对物理机的内存消耗也较大。
发明内容
本发明实施例提供一种显示驱动处理方法、装置和系统。
本发明实施例提供一种显示驱动处理方法,包括:
接收第一显示驱动消息,所述第一显示驱动消息中包含显示内容信息以及显存标识信息;
将所述显示内容信息显示在与所述显存标识信息对应的显存中,并通过集成在显卡内部的远程桌面协议将所述第一显示驱动消息发送给客户端。
本发明实施例提供另一种显示驱动处理方法,包括:
接收虚拟机操作系统显示驱动发送的第二显示驱动消息,所述第二显示驱动消息中包含虚拟机标识信息和显示内容信息;
获取与所述虚拟机标识信息对应的显存标识信息;
向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息,以使所述显卡在与所述显存标识信息对应的显存中显示所述显示内容信息。
本发明实施例提供一种显卡,包括:
第一接收模块,用于接收第一显示驱动消息,所述第一显示驱动消息中包含显示内容信息以及显存标识信息;
显示处理模块,用于将所述显示内容信息显示在与所述显存标识信息对应的显存中;
第一发送模块,用于通过集成在该显卡内部的远程桌面协议将所述第一显示驱动消息发送给客户端。
本发明实施例提供一种虚拟机管理器,包括:
第二接收模块,用于接收虚拟机操作系统显示驱动发送的第二显示驱动消息,所述第一显示驱动消息中包含虚拟机标识信息和显示内容信息;
获取模块,用于获取与所述虚拟机标识信息对应的显存标识信息;
第二发送模块,用于向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息,以使所述显卡在与所述显存标识信息对应的显存中显示所述显示内容信息。
本发明实施例还提供一种虚拟桌面系统,包括:上述的显卡和上述的虚拟机管理器。
本发明实施例中,多个虚拟机可以共享物理显卡,并采用物理显卡对第一显示驱动消息进行处理,从而避免第一显示驱动消息采用CPU处理时对物理机的CPU的消耗,大大提升了显示速度。而且,由于采用物理显卡的显存而不是使用物理机的内存存放所需显示的内容,因此也降低了对物理机内存的消耗,同时提升了显示处理速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的VDI架构示意图;
图2为本发明显示驱动处理方法一个实施例的流程图;
图3为本发明显示驱动处理方法另一个实施例的流程图;
图4为本发明显示驱动处理方法再一个实施例的流程图;
图5为图4所示方法实施例应用的一种系统架构示意图;
图6为本发明显卡一个实施例的结构示意图;
图7为本发明显卡另一个实施例的结构示意图;
图8为本发明虚拟机管理器一个实施例的结构示意图;
图9为本发明虚拟机管理器另一个实施例的结构示意图;
图10为本发明虚拟桌面系统实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明显示驱动处理方法一个实施例的流程图,如图2所示,本实施例的方法可以包括:
步骤201、接收第一显示驱动消息,所述第一显示驱动消息中包含显示内容信息以及显存标识信息。
具体来说,物理显卡可以接收第一显示驱动消息,该第一显示驱动消息中包含显示内容信息以及显存标识信息。在本实施例中,该物理显卡可以接收物理机发送的第一显示驱动消息,更为重要的是,物理显卡还可以接收虚拟机管理器(Virtual Machine Monitor,以下简称:VMM)发送的第一显示驱动消息。
在非虚拟场景下,物理机的应用程序可以驱动物理显卡,向物理显卡发送该第一显示驱动消息。
在虚拟场景下,远端计算机可以虚拟出很多虚拟机,每个虚拟机可以对应一个操作系统(Operation System,以下简称:OS),在本实施例中,每个操作系统均可以安装OS驱动(以下简称:OSdrv)。在VMM中,也可以安装一个显示驱动(以下简称:drv)。其中,OSdrv就和物理机情况下的应用程序的地位类似,drv就和物理机情况下的真实显卡驱动的地位类似,也即,OSdrv是作为应用程序一样与其它OS中的OSdrv共享这个物理显卡。当某一个虚拟机需要发送GDI指令,例如绘图指令,该虚拟机的OS可以运行OSdrv向VMM发送GDI指令。由于VMM可以对各虚拟机进行管理,因此,VMM可以获知该GDI指令是由哪个虚拟机发送的。由于该虚拟机的OSdrv与其它OS中的OSdrv共享该物理显卡,该物理显卡内有大量用于存放屏幕上显示的内容的显存,比如常见的显存大小有1GB、256MB、512MB等,因此,VMM还可以对各虚拟机能够使用的物理显卡中的显存进行分配和管理,例如对各虚拟机所能使用的物理显卡的显存进行标识。因此,VMM在接收虚拟机发送的GDI指令后,既可以获知该GDI指令是由哪个虚拟机发送的,又可以获知该虚拟机对应的显存标识信息,从而可以向物理显卡发送包含显示内容信息和显存标识信息的第一显示驱动消息。
步骤202、将所述显示内容信息显示在与所述显存标识信息对应的显存中,并通过集成在显卡内部的远程桌面协议将所述第一显示驱动消息发送给客户端。
物理显卡不管是在上述非虚拟场景下还是虚拟场景下接收该第一显示驱动消息,其均可以从该第一显示驱动消息中获取显示内容信息和显存标识信息。该显示内容信息例如可以为所需绘制的图形信息。
具体来说,物理显卡可以将显示内容信息显示在与该显存标识信息对应的显存中。举例来说,假设虚拟机3需要显示一条直线,则OSdrv可以发出画直线的调用,则VMM即会调用drv将这条直线画到虚拟机对应的桌面3的显存中。
另外,本实施例中,物理显卡内部还集成有远程桌面协议,该远程桌面协议可以捕获该物理显卡中的第一显示驱动消息,并将该第一显示驱动消息通过网络协议,例如TCP等发送给客户端,例如TC等。
在本实施例中,虚拟机对应的显存是由安装在VMM上的真实的显示驱动drv管理的。OSdrv的能力和drv的能力是一致的,因此该OSdrv可以调用物理显卡的硬件加速能力,例如画直线、画矩形、绘制文本、视频、3D等,因此,多个虚拟机就能按照传统的物理机的方式去访问物理显卡并获得上述物理显卡的硬件加速能力。
本实施例中,可以在VMM中安装真实的显示驱动drv,多个虚拟机可以共享物理显卡,并采用物理显卡对第一显示驱动消息进行处理,从而避免第一显示驱动消息采用CPU处理时对物理机的CPU的消耗,大大提升了显示速度。而且,由于采用物理显卡的显存而不是使用物理机的内存存放所需显示的内容,因此也降低了对物理机内存的消耗,同时提升了显示处理速度。
图3为本发明显示驱动处理方法另一个实施例的流程图,如图3所示,本实施例的方法是与上述图2所示实施例的方法中VMM的执行过程,本实施例的方法可以包括:
步骤301、接收虚拟机操作系统显示驱动发送的第二显示驱动消息,所述第二显示驱动消息中包含虚拟机标识信息和显示内容信息。
VMM可以接收虚拟机的OSdrv发送的第二显示驱动消息,该第二显示驱动消息即为GDI指令。
在本实施例中,每个OS均可以安装OSdrv。在VMM中,也可以安装一个drv。其中,OSdrv与物理机情况下的应用程序的地位类似,drv与物理机情况下的真实显卡驱动的地位类似。当某一个虚拟机需要发送第二显示驱动消息,例如绘图指令,该虚拟机的OS可以运行OSdrv向VMM发送第二显示驱动消息。该第二显示驱动消息中可以包含显示内容信息,例如绘制矩形,还可以包含虚拟机标识信息,例如该虚拟机的ID。
步骤302、获取与所述虚拟机标识信息对应的显存标识信息。
由于VMM可以对各虚拟机进行管理,因此,VMM可以获知该GDI指令是由哪个虚拟机发送的。由于该虚拟机的OSdrv与其它OS中的OSdrv共享该物理显卡,该物理显卡内有大量用于存放屏幕上显示的内容的显存,比如常见的显存大小有1GB、256MB、512MB等,因此,VMM还可以对各虚拟机能够使用的物理显卡中的显存进行分配和管理,例如,本实施例中,VMM可以存储虚拟机标识信息和显存标识信息之间的对应关系,VMM可以根据从第二显示驱动消息中获取的虚拟机标识信息获知对应的物理显卡的显存标识信息。
步骤303、向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息,以使所述显卡在与所述显存标识信息对应的显存中显示所述显示内容信息。
本实施例中所述的显卡为物理显卡而非虚拟环境下的虚拟显卡。VMM可以向该物理显卡发送第一显示驱动消息,该第一显示驱动消息中包含与第二显示驱动消息中相同的显示内容信息以及VMM根据第二显示驱动消息中的虚拟机标识信息获取的显存标识信息。因此,物理显卡可以将第一显示驱动消息中的显示内容信息显示在与该显存标识信息对应的显存中。
在本实施例中,虚拟机对应的显存是由安装在VMM上的真实的显示驱动drv管理的。OSdrv的能力和drv的能力是一致的,因此该VMM可以在OSdrv的调用下,驱动物理显卡的硬件加速能力,例如画直线、画矩形、绘制文本、视频、3D等,因此,多个虚拟机就能按照传统的物理机的方式去访问物理显卡并获得上述物理显卡的硬件加速能力。
下面采用一个具体实施例对本发明的技术方案进行详细说明。
图4为本发明显示驱动处理方法再一个实施例的流程图,图5为图4所示方法实施例应用的一种系统架构示意图,如图4和5所示,本实施例应用的系统可以包括:3个虚拟机(以下简称:GuestOS),分别是GuestOS1、GuestOS2和GuestOS3、VMM以及物理显卡,该物理显卡内有显示芯片,该物理显卡的显存包括桌面1对应的显存、桌面2对应的显存和桌面3对应的显存,其中,GuestOS1所需显示的内容可以显示在桌面1对应的显存、GuestOS2所需显示的内容可以显示在桌面2对应的显存、GuestOS3所需显示的内容可以显示在桌面3对应的显存。该显卡中还集成有网络接口卡(Network Interface Card,以下简称:NIC),显示芯片可以直接控制该NIC,而无需如现有技术中需要通过物理机的CPU控制NIC,从而可以提高网络处理效率。
具体来说,本实施例的方法可以包括:
步骤401、VMM在创建虚拟机时,为各虚拟机分配所需的显卡中的显存。
当创建虚拟机时,VMM可以把各虚拟机所需要的显存大小通知drv,drv就可以从物理显卡的显存中申请该显存大小作为各虚拟机的显存。比如GuestOS1、GuestOS2和GuestOS3所需要的显存大小均为16MB,则VMM中drv可以为GuestOS1、GuestOS2和GuestOS3分别申请16MB的显存。本领域技术人员可以理解的是,VMM中drv也可以为GuestOS1、GuestOS2和GuestOS3分别申请不同大小的显存。VMM可以对于GuestOS1、GuestOS2和GuestOS3的各显存分别赋予对应的显存标识信息。可选的,VMM可以形成虚拟机标识信息与显存标识信息之间的对应关系。
步骤402、VMM接收虚拟机OSdrv发送的第二显示驱动消息。
举例来说,GuestOS1中的OSdrv可以向VMM发送第二显示驱动消息,该第二显示驱动消息中包含虚拟机标识信息和显示内容信息。该显示内容信息可以画线指令Line(x1,y1,x2,y2),也即需要画一条从(x1,y1)到(x2,y2)的直线。该虚拟机标识信息即可为GuestOS1的ID信息,本实施例并不对虚拟机标识信息的具体形式进行限定。
步骤403、VMM获取与所述虚拟机标识信息对应的显存标识信息。
VMM可以管理和维护虚拟机标识信息与显存标识信息的对应关系,当收到该第二显示驱动消息后,VMM可以通过查询该对应关系,获取与虚拟机标识信息对应的显存标识信息,在本实施例中,VMM可以获取GuestOS1的显存标识信息。
步骤404、VMM向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息。
步骤405、显卡将所述显示内容信息显示在与所述显存标识信息对应的显存中。
步骤404和步骤405与图2所示步骤201和步骤202的实现原理类似,此处不再赘述。
步骤406、显卡通过集成在显卡内部的远程桌面协议将第一显示驱动消息发送给显卡内部的网络接口卡。
步骤407、网络接口卡将所述网络消息包发送给客户端。
在现有技术中,CPU通过南桥芯片控制NIC,因此,在传统物理机中,显卡是不能控制NIC的,而由于VMM对CPU的调度原因,网络包的发送存在延迟。本实施例中,物理显卡的内部可以集成NIC。显卡收到第一显示驱动消息后,远程桌面协议即可捕获该第一显示驱动消息,并发送给NIC,从而通过NIC就可以直接将第一显示驱动消息发送给客户端,而不需要通过Guest OS的虚拟CPU发送,因此降低了第一显示驱动消息的传输延迟。
在上述步骤406中,显卡也可以将至少两个第一显示驱动消息打包处理成网络消息包,然后再通过NIC发送给客户端。
具体来说,由于各个虚拟机发送的第一显示驱动消息均是在同一个显卡内部处理,因此显卡可以将多个GuestOS的GDI指令打包到一个网络消息包中,并将该网络消息包通过NIC发送给客户端。在客户端,例如TC侧可放置一个网关设备,该网关设备可解开消息包,并将该消息包转发到不同的TC。该过程可以极大地提升网络的使用效率,并且降低网络发送延迟。
在本实施例中,虚拟机对应的显存是由安装在VMM上的真实的显示驱动drv管理的。OSdrv的能力和drv的能力是一致的,因此该OSdrv可以调用物理显卡的硬件加速能力,从而使得多个虚拟机能按照传统的物理机的方式去访问物理显卡并获得硬件加速能力;VMM中通过驱动物理显卡对GDI指令进行处理,避免了GDI处理对物理机的CPU的消耗,大大提升了显示速度。而且,由于采用物理显卡的显存而不是使用物理机的内存存放所需显示的内容,因此也降低了对物理机内存的消耗,同时提升了显示处理速度。另外,通过在显卡内集成NIC,降低了GDI指令的传输延迟,且通过NIC还可以将打包了多个GDI指令的网络消息包发送给客户端,进一步提升网络的使用效率,并且降低网络发送延迟。
图6为本发明显卡一个实施例的结构示意图,如图6所示,本实施例的显卡可以包括:第一接收模块11、显示处理模块12以及第一发送模块13,其中,第一接收模块11用于接收第一显示驱动消息,所述第一显示驱动消息中包含显示内容信息以及显存标识信息;显示处理模块12用于将所述显示内容信息显示在与所述显存标识信息对应的显存中;第一发送模块13用于通过集成在该显卡内部的远程桌面协议将所述第一显示驱动消息发送给客户端。
本实施例的显卡可以用于执行图2所示方法实施例的方法,其实现原理类似和技术效果,此处不再赘述。
图7为本发明显卡另一个实施例的结构示意图,如图7所示,本实施例的显卡在图6所示显卡的基础上进一步地,还包括:网络接口卡14、打包处理模块15,其中网络接口卡14用于将所述第一发送模块13发送的第一显示驱动消息发送给客户端;打包处理模块15用于将至少两个第一显示驱动消息打包处理成网络消息包,第一发送模块13还用于将所述网络消息包发送给客户端的网关设备,以使所述客户端的网关设备获取所述网络消息包中的所述至少两个第一显示驱动消息并将所述至少两个第一显示驱动消息发送给客户端,更为具体地,第一发送模块13用于将所述网络消息包通过网络接口卡14发送给客户端的网关设备。
本实施例的显卡,其可以执行图4所示方法实施例中相应的功能,其实现原理和技术效果类似,此处不再赘述。
图8为本发明虚拟机管理器一个实施例的结构示意图,如图8所示,本实施例的VMM可以包括:第二接收模块21、获取模块22以及第二发送模块23,其中第二接收模块21用于接收虚拟机操作系统显示驱动发送的第二显示驱动消息,所述第一显示驱动消息中包含虚拟机标识信息和显示内容信息;获取模块22用于获取与所述虚拟机标识信息对应的显存标识信息;第二发送模块23用于向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息,以使所述显卡在与所述显存标识信息对应的显存中显示所述显示内容信息。
本实施例的VMM可以用于执行图3所示方法实施例的方法,其实现原理类似和技术效果,此处不再赘述。
图9为本发明虚拟机管理器另一个实施例的结构示意图,如图9所示,本实施例的VMM在图8所示VMM的基础上,进一步还包括:分配模块24和存储模块25,其中分配模块24用于在创建虚拟机时,为各虚拟机分配所需的显卡中的显存,各显存具有对应的显存标识信息;存储模块25用于存储所述虚拟机标识和所述显存标识信息的对应关系。
本实施例的VMM,其可以执行图4所示方法实施例中相应的功能,其实现原理和技术效果类似,此处不再赘述。
图10为本发明虚拟桌面系统实施例的结构示意图,如图10所示,本实施例的系统可以包括:显卡1和虚拟机管理器2,该显卡1可以采用上述图6或图7所示的结构,虚拟机管理器可以采用上述图8或图9所示的结构,其交互过程可以采用图4所示的方法实现,其具体的逻辑架构可以采用图5所示的形式,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种显示驱动处理方法,其特征在于,包括:
显卡接收第一显示驱动消息,所述第一显示驱动消息中包含显示内容信息以及显存标识信息;
所述显卡将所述显示内容信息显示在与所述显存标识信息对应的显存中,所述显存标识信息对应的显存由虚拟机使用;其中所述显存标识信息对应的显存由安装在虚拟机管理器的显示驱动管理,并通过集成在所述显卡内部的远程桌面协议捕获所述第一显示驱动消息,并发送给集成在所述显卡内部的网络接口卡,以使所述网络接口卡将所述第一显示驱动消息发送给客户端。
2.根据权利要求1所述的方法,其特征在于,将所述第一显示驱动消息发送给客户端,包括:
所述显卡将至少两个第一显示驱动消息打包处理成网络消息包,并通过所述网络接口卡将所述网络消息包发送给客户端的网关设备,以使所述客户端的网关设备获取所述网络消息包中的所述至少两个第一显示驱动消息并将所述至少两个第一显示驱动消息发送给客户端。
3.一种显示驱动处理方法,其特征在于,包括:
虚拟机管理器VMM接收虚拟机操作系统显示驱动发送的第二显示驱动消息,所述第二显示驱动消息中包含虚拟机标识信息和显示内容信息;
所述VMM获取与所述虚拟机标识信息对应的显存标识信息;其中所述显存标识信息对应的显存由安装在所述虚拟机管理器的显示驱动管理;
所述VMM向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息,以使所述显卡在与所述显存标识信息对应的显存中显示所述显示内容信息。
4.根据权利要求3所述的方法,其特征在于,所述接收虚拟机操作系统显示驱动程序发送的第二显示驱动消息之前,还包括:
所述VMM在创建虚拟机时,为各虚拟机分配所需的显卡中的显存,各显存具有对应的显存标识信息。
5.一种显卡,其特征在于,包括:
第一接收模块,用于接收第一显示驱动消息,所述第一显示驱动消息中包含显示内容信息以及显存标识信息;
显示处理模块,用于将所述显示内容信息显示在与所述显存标识信息对应的显存中,所述显存标识信息对应的显存由虚拟机使用;其中所述显存标识信息对应的显存由安装在虚拟机管理器的显示驱动管理;
第一发送模块,用于通过集成在该显卡内部的远程桌面协议捕获所述第一显示驱动消息,并发送给集成在所述显卡内部的网络接口卡,以使所述网络接口卡将所述第一显示驱动消息发送给客户端。
6.根据权利要求5所述的显卡,其特征在于,还包括:
打包处理模块,用于将至少两个第一显示驱动消息打包处理成网络消息包;
所述第一发送模块,还用于将所述网络消息包发送给客户端的网关设备,以使所述客户端的网关设备获取所述网络消息包中的所述至少两个第一显示驱动消息并将所述至少两个第一显示驱动消息发送给客户端。
7.一种虚拟机管理器,其特征在于,包括:
第二接收模块,用于接收虚拟机操作系统显示驱动发送的第二显示驱动消息,所述第二显示驱动消息中包含虚拟机标识信息和显示内容信息;
获取模块,用于获取与所述虚拟机标识信息对应的显存标识信息;其中所述显存标识信息对应的显存由安装在所述虚拟机管理器的显示驱动管理;
第二发送模块,用于向显卡发送第一显示驱动消息,所述第一显示驱动消息中包含所述显示内容信息以及显存标识信息,以使所述显卡在与所述显存标识信息对应的显存中显示所述显示内容信息。
8.根据权利要求7所述的虚拟机管理器,其特征在于,还包括:
分配模块,用于在创建虚拟机时,为各虚拟机分配所需的显卡中的显存,各显存具有对应的显存标识信息;
存储模块,用于存储所述虚拟机标识信息和所述显存标识信息的对应关系。
9.一种虚拟桌面系统,其特征在于,包括:权利要求5或6所述的显卡以及权利要求7或8所述的虚拟机管理器。
CN201010613977.2A 2010-12-27 2010-12-27 显示驱动处理方法、装置和系统 Active CN102097080B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201010613977.2A CN102097080B (zh) 2010-12-27 2010-12-27 显示驱动处理方法、装置和系统
PCT/CN2011/078343 WO2012088893A1 (zh) 2010-12-27 2011-08-12 显示驱动处理方法、装置和系统
US13/709,946 US8860740B2 (en) 2010-12-27 2012-12-10 Method and apparatus for processing a display driver in virture desktop infrastructure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010613977.2A CN102097080B (zh) 2010-12-27 2010-12-27 显示驱动处理方法、装置和系统

Publications (2)

Publication Number Publication Date
CN102097080A CN102097080A (zh) 2011-06-15
CN102097080B true CN102097080B (zh) 2015-06-17

Family

ID=44130145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010613977.2A Active CN102097080B (zh) 2010-12-27 2010-12-27 显示驱动处理方法、装置和系统

Country Status (3)

Country Link
US (1) US8860740B2 (zh)
CN (1) CN102097080B (zh)
WO (1) WO2012088893A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102097080B (zh) * 2010-12-27 2015-06-17 华为技术有限公司 显示驱动处理方法、装置和系统
CN102819449A (zh) * 2012-07-04 2012-12-12 深圳市京华科讯科技有限公司 一种显卡重定向方法及系统
CN104717397B (zh) * 2013-12-12 2018-12-14 联想(北京)有限公司 一种图像数据处理方法及电子设备
CN112218003B (zh) * 2019-07-12 2023-03-10 杭州海康威视系统技术有限公司 一种桌面图像采集方法、装置及电子设备
CN112306712A (zh) * 2020-10-30 2021-02-02 联想(北京)有限公司 一种基于虚拟监视器的图像数据传输方法及装置
CN116578390B (zh) * 2023-07-04 2023-09-12 摩尔线程智能科技(北京)有限责任公司 驱动的通信方法、服务器、图形处理器、设备及芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187880A (zh) * 2006-11-15 2008-05-28 联想(北京)有限公司 一种虚拟机系统及其显卡使用方法
CN101553795A (zh) * 2005-11-30 2009-10-07 凯利斯塔技术股份有限公司 多用户显示代理服务器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282855A1 (en) * 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
US20070052715A1 (en) * 2005-09-07 2007-03-08 Konstantin Levit-Gurevich Device, system and method of graphics processing
CN100464302C (zh) * 2006-04-20 2009-02-25 联想(北京)有限公司 虚拟机系统及其显卡访问方法
CN100568180C (zh) * 2006-09-25 2009-12-09 联想(北京)有限公司 一种虚拟机系统及其显卡访问方法
JP4789819B2 (ja) * 2007-01-31 2011-10-12 株式会社日立製作所 アプリケーションとデータの管理方法、管理システム、それに用いられるシンクライアント端末、管理サーバ、および、リモート計算機
FR2912233B1 (fr) * 2007-02-01 2009-08-21 Sagem Comm Dispositif client leger et procede d'utilisation
CN101241445B (zh) 2007-02-08 2011-07-27 联想(北京)有限公司 虚拟机系统及其访问显卡的方法
US20100013839A1 (en) * 2008-07-21 2010-01-21 Rawson Andrew R Integrated GPU, NIC and Compression Hardware for Hosted Graphics
CN102097080B (zh) * 2010-12-27 2015-06-17 华为技术有限公司 显示驱动处理方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101553795A (zh) * 2005-11-30 2009-10-07 凯利斯塔技术股份有限公司 多用户显示代理服务器
CN101187880A (zh) * 2006-11-15 2008-05-28 联想(北京)有限公司 一种虚拟机系统及其显卡使用方法

Also Published As

Publication number Publication date
US8860740B2 (en) 2014-10-14
US20130100151A1 (en) 2013-04-25
CN102097080A (zh) 2011-06-15
WO2012088893A1 (zh) 2012-07-05

Similar Documents

Publication Publication Date Title
CN109582425B (zh) 一种基于云端与终端gpu融合的gpu服务重定向系统及方法
CN102097080B (zh) 显示驱动处理方法、装置和系统
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
US7899864B2 (en) Multi-user terminal services accelerator
CN111450528B (zh) 一种云游戏的渲染服务系统、方法及装置
US7937452B2 (en) Framework for rendering plug-ins in remote access services
CN101553795B (zh) 多用户显示代理服务器
CN103701807B (zh) 一种vdi环境下的数据发送方法和装置
CN111488196B (zh) 渲染方法及装置、存储介质、处理器
CN107292807B (zh) 一种图形合成方法、窗口设置方法及系统
CN103270492A (zh) 用于网络使能应用的硬件加速图形
CN108388460A (zh) 基于图形集群的远程实时渲染平台构建方法
CN106020929A (zh) 一种虚拟化环境下支持3d应用的系统和方法
WO2009052529A1 (en) Methods and systems for remoting three dimensional graphical data
KR20140079402A (ko) 복수의 서버로부터 클라이언트로의 단일 최종 사용자 경험 전달 기법
EP2622461A2 (en) Shared memory between child and parent partitions
CN108762934B (zh) 远程图形传输系统、方法及云服务器
CN107479984A (zh) 基于消息的分布式空间数据处理系统
CN114567784B (zh) 一种用于飞腾显卡的vpu视频解码输出方法及系统
CN113407353B (zh) 图形处理器资源的使用方法及装置、电子设备
US10733689B2 (en) Data processing
CN113778593A (zh) 云桌面控制方法、装置、电子设备、存储介质及程序产品
US9575773B2 (en) Monitoring multiple remote desktops on a wireless device
CN108009977A (zh) 多线程环境下支持多个远程图形终端的方法及系统
CN115373618B (zh) 一种多屏显示方法、装置、车机及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220214

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.