CN100447754C - 面向嵌入式系统的显示卡测试方法 - Google Patents
面向嵌入式系统的显示卡测试方法 Download PDFInfo
- Publication number
- CN100447754C CN100447754C CNB2005100933739A CN200510093373A CN100447754C CN 100447754 C CN100447754 C CN 100447754C CN B2005100933739 A CNB2005100933739 A CN B2005100933739A CN 200510093373 A CN200510093373 A CN 200510093373A CN 100447754 C CN100447754 C CN 100447754C
- Authority
- CN
- China
- Prior art keywords
- test
- vesa
- display mode
- mode
- console
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种面向嵌入式系统的显示卡的测试方法,其步骤包括有:测试初始化,其中测试初始化包括:获取当前测试控制台文件描述符,判断是否需要切换该测试控制台,设置端口I/O权限及改变I/O权限级别,LRMI初始化及设置当前模式为图形模式。保存当前VESA图形缓冲区(FrameBuffer)状态;设置测试显示模式;绘制测试卡测试图案;及恢复当前VESA图形缓冲区(FrameBuffer)状态。其创建测试环境的时间及对空间的要求均较低,且不需加载Xlib即可完成Linux下显示卡的测试。
Description
技术领域
本发明涉及一种显示卡的测试方法,特别是涉及一种Qt/Embeded系统下显示卡的测试方法。
背景技术
Qt/Embedded是著名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本,采用Server/Client结构。Qt/Embedded延续了Qt在X Window(X Window简称X,为“Client-Server”结构的图形用户接口,Client指的是在X Window下执行的应用程序,需要X Server为其服务;Server指的是整个管理你的桌面的X Window系统,称为X Server。X Server除了负责GUI接口管理和提供Client端的服务之外,还管理系统资源和事件的发生和传递。Client和Server之间通过X Protocol进行交互。X Protocol定义了Client和Server间资料发送、接收的结构和规范,实现了本地和网络相同的处理方法。)系统上的强大功能,在底层摒弃了Xlib,(The X Library(Xlib),是X Window最低阶的程序设计接口,实际是对底层X Protocol的封装,可通过该函数库进行一般的图形输出。)仅采用图形缓冲区(FrameBuffer)作为底层图形接口。
图形缓冲区(FrameBuffer)是一种Linux内核的控制台图形功能,在i386体系上主要的设备驱动通过VESA BIOS(视频电子标准协会基本输入输出系统)完成,为图形硬件提供了一个抽象概念。它代表一些视频硬件的帧缓冲,允许应用程序通过一个定义好的接口访问图形硬件。因此,软件不需要知道任何关于低级设备(硬件寄存器)的信息。通过一个特殊的设备节点访问帧缓冲设备,通常位于/dev目录下,例如:/dev/fb*。基于图形缓冲区(FrameBuffer)的控制台称之为fbcon,这是一种独立于硬件的抽象图形设备。因为Linux是工作在保护模式下,所以用户态进程是无法像DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,故Linux抽象出图形缓冲区(FrameBuffer)这个设备来供用户态进程实现直接写屏。其中VESA是(Video ElectronicsStandards Association,视频电子标准协会)。
Linux下的显示卡测试,是对计算器系统进行检测的重要组成部分之一。目前业界对于显示卡的测试,一般采用通过在监视器显示各种算法绘制的图案(Pattern),由用户判断显示是否正常。因此,对于显示内容的绘制实现方法,是目前各种显示卡测试的重要核心问题之一。
当前业界基于Linux系统的显示卡测试显示内容的绘制实现方法,一般是在X windows上利用Xlib提供的图形库实现绘制。但是这样就需要在创建显示卡测试环境时,启动Linux系统时加载Xlib图形库。因为加载Xlib图形库需要80M至100M的空间,并且因此需要一个较长的时间加载。这样特别对于实际应用中的计算器生产线测试而言,存在创建测试环境时间过于冗长,以及空间要求过高的问题。
发明内容
本发明所要解决的技术问题在于,提供一种面向嵌入式系统的显示卡测试方法,其创建测试环境的时间及对空间的要求均较低,且不需加载Xlib即可完成Linux下显示卡的测试。
因此,本发明的目的在于提供一种面向嵌入式系统的显示卡测试方法,其步骤包括有:测试初始化,其中测试初始化包括:获取当前测试控制台文件描述符,判断是否需要切换该测试控制台,设置端口I/O权限及改变I/O权限级别,LRMI(Linux Real Mode Interface,Linux真实模式接口)初始化及设置当前模式为图形模式;保存当前VESA图形缓冲区(FrameBuffer)状态;设置测试显示模式;绘制测试卡测试图案;及恢复当前VESA图形缓冲区(FrameBuffer)状态,以减少显示卡测试所需定制Linux系统的大小,提高生产线计算机生产显示卡测试的空间(大约节省80M至100M空间)和时间效率,从而提升生产效率。而且本方法不需加载Xlib即可完成Linux下显示卡的测试,为同样开发基于未加载Xlib实现图形开发的应用程序提供了可能。
本发明还提供一种面向嵌入式系统的显示卡测试方法,其步骤包括有:测试初始化,其中测试初始化包括:获取当前测试控制台文件描述符,判断是否需要切换该测试控制台,设置端口I/O权限及改变I/O权限级别,LRMI初始化及设置当前模式为图形模式;设置测试显示模式;绘制测试卡测试图案;及重新设置显示模式,在不支持VESA 4F404功能调用的机型上,在显示卡测试结束后,按照图形缓冲区(FrameBuffer)启动传递给Linux内核的显示启动模式进行显示模式重设置。可以减少显示卡测试所需定制Linux系统的大小,提高生产线计算机生产显示卡测试的空间(大约节省80M至100M空间)和时间效率,从而提升生产效率。而且本方法不需加载Xlib即可完成Linux下显示卡的测试,为同样开发基于未加载Xlib实现图形开发的应用程序提供了可能。
有关本发明的特征与实施例,现配合附图详细说明如下。
附图说明
图1为根据本发明方法VideoCard测试的模式(Mode)测试的流程图;
图2为根据本发明方法在不支持VESA 4F04功能调用的机型上VideoCard测试的模式(Mode)测试的流程图。
其中,附图标记:
步骤10,20 测试初始化
步骤101,201 获取当前测试控制台文件描述符
步骤102,202 判断是否需要切换该测试控制台
步骤103,203 设置端口I/O权限及改变I/O权限级别
步骤104,204 LRMI初始化
步骤105,205 设置当前模式为图形模式
步骤11 保存当前VESA图形缓冲区(FrameBuffer)状态
步骤12,21 设置测试显示模式
步骤13,22 绘制测试卡测试图案
步骤14 恢复当前VESA图形缓冲区(FrameBuffer)状态
步骤23 重新设置显示模式
具体实施方式
图1为根据本发明方法VideoCard测试的Mode测试的流程图。本测试方法其步骤包括有:测试初始化(步骤10),其中测试初始化(步骤10)包括:获取当前测试控制台文件描述符Getfd(步骤101),判断是否需要切换该测试控制台(步骤102),如果需要,则进行切换ChangeVT,利用ioperm设置端口I/O权限及利用iopl改变I/O权限级别(步骤103),LRMI(Linux Real ModeInterface,一种保护模式下的实模式接口)初始化(步骤104),以便支持VESAINT 10调用。及利用I/O总控制函数ioctl(0,KDSETMODE,KD_GRAPHICS)设置当前模式为图形模式(步骤105);保存当前VESA图形缓冲区(FrameBuffer)状态(步骤11),利用VESA 4F04功能调用获取当前图形缓冲区(FrameBuffer)状态,该步骤包括利用VESA 4F04功能调用一,获取保存图形缓冲区(FrameBuffer)所需内存大小,以及利用VESA 4F04功能调用二,保存图形缓冲区(FrameBuffer)状态两个部分;利用VESA功能设置测试显示模式(步骤12),设置VESA 4F02功能号,设置VESA 4F02功能调用设置所需测试显示模式,INT 10虚拟中断调用;绘制测试卡测试图案(步骤13),绘制Mode测试红绿蓝渐变条纹;及利用VESA 4F04功能调用三,恢复测试前VESA图形缓冲区(FrameBuffer)状态(步骤14)。
图2为根据本发明方法在不支持VESA 4F04功能调用的机型上视频卡(VideoCard)测试的模式(Mode)测试的流程图。本测试方法其步骤包括有:测试初始化(步骤20),其中测试初始化(步骤20)包括:获取当前测试控制台文件描述符Getfd(步骤201),判断是否需要切换该测试控制台(步骤202),如果需要,则进行切换ChangeVT,利用ioperm设置端口I/O权限及利用iopl改变I/O权限级别(步骤203),LRMI初始化(步骤204),以便支持VESA INT10调用,及利用I/O总控制函数ioctl(0,KDSETMODE,KD_GRAPHICS)设置当前模式为图形模式(步骤205);利用VESA功能设置测试显示模式(步骤21),设置VESA 4F02功能号,设置VESA 4F02功能调用设置所需测试显示模式,INT 10虚拟中断调用;绘制测试卡测试图案(步骤22),绘制模式(Mode)测试红绿蓝渐变条纹;重新设置显示模式(步骤23),在显示卡测试结束后,按照图形缓冲区(FrameBuffer)启动传递给Linux内核的显示启动模式进行显示模式重设置,利用SetMode函数通过设置VESA 4F02功能号,设置VESA4F02功能调用设置所需测试显示模式,INT10虚拟中断调用。将测试后显示模式设定为0x114,即VESA标准模式对应的800x600x16bpp显示模式。
虽然本发明以前述较佳实施例公开如上,但并非用以限定本发明。任何本领域的普通技术人员,在不脱离本发明的精神和范围内,当可作些许更动与修改,因此本发明的专利保护范围须视本说明书所附权利要求书所界定者为准。
Claims (5)
1、一种面向嵌入式系统的显示卡测试方法,其特征在于,其步骤包括有:测试初始化,其步骤进一步包括:获取当前测试控制台文件描述符;判断是否需要切换该测试控制台;设置端口I/O权限及改变I/O权限级别;LRMI初始化;设置当前模式为图形模式;
保存当前VESA图形缓冲区状态;
设置测试显示模式;
绘制测试卡测试图案;
恢复当前VESA图形缓冲区状态。
2、如权利要求1所述的测试方法,其特征在于,如果需要切换该测试控制台,则进行切换。
3、如权利要求1所述的测试方法,其特征在于,设置测试显示模式包括设置该VESA 4F02功能号、设置VESA F02功能调用设置所需测试显示模式及INT 10虚拟中断调用。
4、一种面向嵌入式系统的显示卡测试方法,其特征在于,其步骤包括有:测试初始化,其步骤进一步包括:获取当前测试控制台文件描述符;判断是否需要切换该测试控制台;设置端口I/O权限及改变I/O权限级别;LRMI初始化;设置当前模式为图形模式;
设置测试显示模式;
绘制测试卡测试图案;
重新设置显示模式。
5、如权利要求4所述的测试方法,其特征在于,所述重新设置显示模式依照图形缓冲区启动传递给Linux内核的显示启动模式进行显示模式重设置,其步骤为:
设置VESA F02功能号;
设置VESA F02功能调用设置所需测试显示模式;
INT 10虚拟中断调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100933739A CN100447754C (zh) | 2005-08-26 | 2005-08-26 | 面向嵌入式系统的显示卡测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100933739A CN100447754C (zh) | 2005-08-26 | 2005-08-26 | 面向嵌入式系统的显示卡测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1920790A CN1920790A (zh) | 2007-02-28 |
CN100447754C true CN100447754C (zh) | 2008-12-31 |
Family
ID=37778518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100933739A Expired - Fee Related CN100447754C (zh) | 2005-08-26 | 2005-08-26 | 面向嵌入式系统的显示卡测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100447754C (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581788A (en) * | 1992-12-14 | 1996-12-03 | At&T Global Information Solutions Company | System for testing the functionality of video cord and monitor by using program to enable user to view list of modes and select compatible mode |
CN1369797A (zh) * | 2001-02-14 | 2002-09-18 | 英业达股份有限公司 | 在dos方式下测试图形卡加速引擎的方法 |
-
2005
- 2005-08-26 CN CNB2005100933739A patent/CN100447754C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581788A (en) * | 1992-12-14 | 1996-12-03 | At&T Global Information Solutions Company | System for testing the functionality of video cord and monitor by using program to enable user to view list of modes and select compatible mode |
CN1369797A (zh) * | 2001-02-14 | 2002-09-18 | 英业达股份有限公司 | 在dos方式下测试图形卡加速引擎的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1920790A (zh) | 2007-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528210B2 (en) | Foreground/background assortment of hidden windows | |
US9176765B2 (en) | Virtual machine system and a method for sharing a graphics card amongst virtual machines | |
EP2622463B1 (en) | Instant remote rendering | |
US8963939B2 (en) | Extended graphics context with divided compositing | |
US8933949B2 (en) | User interaction across cross-environment applications through an extended graphics context | |
CN106843715B (zh) | 用于远程化的应用的触摸支持 | |
US8416253B2 (en) | Apparatus, method, and recording medium for detecting update of image information | |
US20130019183A1 (en) | Dynamic cross-environment application configuration/orientation | |
CN104076903A (zh) | 推迟挂起 | |
CN101714091A (zh) | 用于在操作系统初始化期间显示平台图形的方法和系统 | |
CN112316437B (zh) | 一种资源切换方法、装置、电子设备及存储介质 | |
US20180052700A1 (en) | Facilitation of guest application display from host operating system | |
CN100447754C (zh) | 面向嵌入式系统的显示卡测试方法 | |
CN117234655B (zh) | 基于安卓系统运行Linux桌面程序的方法、装置、设备及介质 | |
CN109739623A (zh) | 一种虚拟机迁移的方法、装置、设备以及存储介质 | |
US8127310B1 (en) | Method and apparatus for dynamically switching display drivers in mobile device operating system | |
CN115457916A (zh) | 基于dvi端口实现画面强制显示方法及相关装置 |
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: 20191223 Address after: No. 99, University Road, high tech Zone, Xuzhou City, Jiangsu Province Patentee after: XUZHOU LIFANG ELECTROMECHANICAL EQUIPMENT MANUFACTURING CO., LTD. Address before: Taipei City, Taiwan, China Patentee before: Yingda Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081231 Termination date: 20190826 |