CN113656143A - Method and system for realizing direct display card of android container - Google Patents
Method and system for realizing direct display card of android container Download PDFInfo
- Publication number
- CN113656143A CN113656143A CN202110938194.XA CN202110938194A CN113656143A CN 113656143 A CN113656143 A CN 113656143A CN 202110938194 A CN202110938194 A CN 202110938194A CN 113656143 A CN113656143 A CN 113656143A
- Authority
- CN
- China
- Prior art keywords
- container
- display card
- android
- card
- physical
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 5
- 238000009877 rendering Methods 0.000 abstract description 5
- 230000004044 response Effects 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The invention provides a method and a system for realizing a direct display card of an android container, which comprise the following steps: a physical hardware system, a host system, a container, and an android system; the physical hardware system comprises a display card and provides a hardware platform for the whole system; the host system provides an underlying system; the container runs in the host system and provides a virtualization engine; the android system runs in the container; and the container directly loads an application layer driver of the display card and directly calls the display card of the physical hardware system. By modifying the application layer driver loaded in the container; mapping the display card equipment of the physical hardware system to a container; and compiling the display card kernel driver into the kernel of the host system. According to the invention, the host physical display card mali equipment is directly communicated to the docker container for use, so that IO paths of interface rendering of the docker container are reduced, response delay is reduced, an APP in the container can call the hardware display card in a mode of original performance, and the interface rendering performance of the container is improved.
Description
Technical Field
The invention relates to the technical field of virtual machines, in particular to a method and a system for realizing a direct display card of an android container.
Background
The container technology is one of virtualization technologies, and means that a user can create a plurality of simulation environments or dedicated resources on the basis of a single physical hardware system, so that one system can be divided into a plurality of different, independent and safe environments, and the utilization rate of hardware can be provided through a virtualization mode to achieve the purpose of hardware reuse. Compared with a heavy simulation mode of kvm, the virtual machine running in the container mode can share the system kernel and part of peripheral equipment, so that the calculation amount of the simulation kernel and the peripheral equipment is reduced, and the performance is improved.
Device pass-through, generally speaking, hardware devices in a virtual machine are simulated through hypervisor, which means that all IO operations need to be subjected to conversion processing, which lengthens IO paths of the devices and thus generates larger delay, and on the other hand, hardware performance is simulated in a software manner far inferior to that of real hardware. One solution is to pass the hardware devices in the physical machine directly to the virtual machine, so that the virtual machine can access the physical devices in the same manner as accessing the hardware devices.
Android container, with complete android system operation in the container, the virtualized engine of use is docker, through the mode of container, can make originally can only operate the ARM integrated circuit board of single system and can operate three, more android system even simultaneously.
In the prior art, in a virtual machine, an android framework layer dynamically unloads EGLs and GLES dynamic link libraries, so as to provide the EGLs and GLES dynamic link libraries for APP use, the dynamic link libraries are modified libraries, functions in the libraries do not directly call a video card device and a display device on a bottom layer, but send an operation instruction to a Qemu PIPE, a service is run at a host end to receive a request from the android virtual machine, then the request is converted into a real hardware call, and then a calculation result is returned to the virtual machine through the PIPE.
Disadvantages of the prior art
1) The processing mode lengthens IO paths, and multiple data conversion and data transmission are needed from the front-end request to the real physical processing, so that the delay is high;
2) in practical applications, page rendering often requires image resources with large occupied space, and the resources are transmitted between a physical machine and a virtual machine, which results in a large amount of memory copies.
Therefore, the prior art has drawbacks and needs further improvement.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a method and a system for realizing a direct display card of an android container.
In order to achieve the purpose, the invention adopts the following specific scheme:
the invention provides a system for realizing a direct display card of an android container, which comprises: a physical hardware system, a host system, a container, and an android system; the physical hardware system comprises a display card and provides a hardware platform for the whole system; the host system provides an underlying system; the container runs in the host system and provides a virtualization engine;
the android system runs in the container; and the container directly loads an application layer driver of the display card and directly calls the display card of the physical hardware system.
Preferably, the display card is a mali display card.
Preferably, after the container loads the application layer driver of the graphics card, the hardware resource of the graphics card is directly called through an IO port.
Preferably, the container is docker.
Preferably, the physical hardware system is an ARM board card.
Based on the system, the invention also provides a method for realizing the android container direct display card, which comprises the following steps,
s1, modifying the application layer driver loaded in the container;
s2, compiling the display card kernel driver into the host system kernel;
and S3, mapping the graphics card of the physical hardware system to the container so that the container directly calls the hardware resource of the graphics card.
Preferably, the step S1 specifically includes the following steps:
s11, modifying the EGL and GLES codes loaded in the container, and changing the original drive simulated by the loading software into the application layer drive program provided by the mali display card manufacturer;
s12, the Gralloc library and the Composer library on which the application layer driver depends also need to be synchronously replaced with the library file provided by the vendor and matching with the driver.
Preferably, the step S2 specifically includes the following steps:
s21, acquiring a mali display card drive source code, and acquiring a drive source code consistent with the version of the physical display card through a mali official website; and S22, installing a kernel calling interface according to the hardware version of the display card of the current physical hardware system, and compiling the display card kernel driver into the kernel of the host system, so that the physical display card can be normally called in the kernel.
Preferably, the step S3 specifically includes the following steps:
the file/dev/mali 0 of the physical hardware system graphics card is directly mapped to the container through the parameter configuration of the container (docker), so that the container can access the hardware device like a real physical environment.
By adopting the technical scheme of the invention, the invention has the following beneficial effects:
the invention provides a method and a system for realizing a direct display card of an android container, which comprise the following steps: a physical hardware system, a host system, a container, and an android system; the physical hardware system comprises a display card and provides a hardware platform for the whole system; the host system provides an underlying system; the container runs in the host system and provides a virtualization engine; the android system runs in the container; and the container directly loads an application layer driver of the display card and directly calls the display card of the physical hardware system. By modifying the application layer driver loaded in the container; mapping a graphics card of the physical hardware system to a container; and compiling the display card kernel driver into the kernel of the host system. According to the invention, the host physical display card mali equipment is directly communicated to the docker container for use, so that IO paths of interface rendering of the docker container are reduced, response delay is reduced, an APP in the container can call the hardware display card in a mode of original performance, and the interface rendering performance of the container is improved.
Drawings
FIG. 1 is a system architecture diagram of an embodiment of the present invention;
FIG. 2 is an overall flow diagram of an embodiment of the present invention.
Detailed Description
The invention is further described below with reference to the following figures and specific examples.
The invention is explained in detail in connection with figures 1-2,
the invention provides a system for realizing a direct display card of an android container, which comprises: a physical hardware system, a host system, a container, and an android system; the physical hardware system comprises a display card and provides a hardware platform for the whole system; the host system provides an underlying system; the container runs in the host system and provides a virtualization engine; the android system runs in the container; and the container directly loads an application layer driver of the display card and directly calls the display card of the physical hardware system.
The display card is a mali display card. And after the container loads the display card application layer driver, the display card hardware resource is directly called through an IO port. The container is docker. The physical hardware system is an ARM board card.
Based on the system, the invention also provides a method for realizing the android container direct display card, which comprises the following steps,
s1, modifying the application layer driver loaded in the container;
s2, mapping the graphics card of the physical hardware system to a container;
and S3, compiling the display card kernel driver into the host system kernel so that the container can directly call the hardware resource of the display card.
The step S1 specifically includes the following steps:
s11, modifying the EGL and GLES codes loaded in the container, and changing the original drive simulated by the loading software into the application layer drive program provided by the mali display card manufacturer;
s12, the Gralloc library and the Composer library on which the application layer driver depends also need to be synchronously replaced with the library file provided by the vendor and matching with the driver.
The step S2 specifically includes the following steps:
s21, acquiring a mali display card drive source code, and acquiring a drive source code consistent with the version of the physical display card through a mali official website; and S22, installing a kernel calling interface according to the hardware version of the display card of the current physical hardware system, and compiling the display card kernel driver into the kernel of the host system, so that the physical display card can be normally called in the kernel.
The step S3 specifically includes the following steps:
the file/dev/mali 0 of the physical hardware system graphics card is directly mapped to the container through the parameter configuration of the container (docker), so that the container can access the hardware device like a real physical environment.
The drivers such as EGL, GLES and the like in the native android container are realized through software, so that the container can access hardware equipment of a physical machine (a physical hardware system), the drivers such as EGL, GLES and the like are required to be replaced by versions of actual physical hardware at first, although a host machine physical display card is divided into a kernel driver and an application layer driver, the kernel is shared by the container and the physical machine, the kernel part only needs to be provided with a display card equipment kernel calling interface, and the whole IO flow can be normally carried out.
In addition, the physical machine-related device needs to be mapped to a container, such as a/dev/mali 0 device, through which the container needs to interact with the kernel interface.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention, and all modifications and equivalents of the present invention, which are made by the contents of the present specification and the accompanying drawings, or directly/indirectly applied to other related technical fields, are included in the scope of the present invention.
Claims (9)
1. The utility model provides a system for realize tall and erect container direct display card which characterized in that includes:
a physical hardware system, a host system, a container, and an android system;
the physical hardware system comprises a display card and provides a hardware platform for the whole system;
the host system provides an underlying system;
the container runs in the host system and provides a virtualization engine;
the android system runs in the container;
and the container directly loads an application layer driver of the display card and directly calls the display card of the physical hardware system.
2. The system for implementing the android container pass-through display card of claim 1,
the display card is a mali display card.
3. The system for implementing the android container pass-through display card of claim 1,
and after the container loads the display card application layer driver, the display card hardware resource is directly called through an IO port.
4. The system for implementing the android container pass-through display card of claim 1,
the container is docker.
5. The system for implementing the android container pass-through display card of claim 1,
the physical hardware system is an ARM board card.
6. A method for realizing a direct display card of an android container is characterized by comprising the following steps,
s1, modifying the application layer driver loaded in the container;
s2, compiling the display card kernel driver into the host system kernel;
and S3, mapping the graphics card of the physical hardware system to the container so that the container directly calls the hardware resource of the graphics card.
7. The method of claim 6, wherein the android container pass-through graphics card,
the step S1 specifically includes the following steps:
s11, modifying the EGL and GLES codes loaded in the container, and changing the original drive simulated by the loading software into the application layer drive program provided by the mali display card manufacturer;
s12, the Gralloc library and the Composer library on which the application layer driver depends also need to be synchronously replaced with the library file provided by the vendor and matching with the driver.
8. The method of claim 6, wherein the android container pass-through graphics card,
the step S2 specifically includes the following steps:
s21, acquiring a mali display card drive source code, and acquiring a drive source code consistent with the version of the physical display card through a mali official website;
and S22, installing a kernel calling interface according to the hardware version of the display card of the current physical hardware system, and compiling the display card kernel driver into the kernel of the host system, so that the physical display card can be normally called in the kernel.
9. The method of claim 6, wherein the android container pass-through graphics card,
the step S3 specifically includes the following steps:
through the parameter configuration of the container, the physical hardware system video card/dev/mali 0 is directly mapped to the container, so that the container can access the hardware device like a real physical environment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110938194.XA CN113656143B (en) | 2021-08-16 | Method and system for realizing secure Zhuo Rongqi direct-through display card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110938194.XA CN113656143B (en) | 2021-08-16 | Method and system for realizing secure Zhuo Rongqi direct-through display card |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656143A true CN113656143A (en) | 2021-11-16 |
CN113656143B CN113656143B (en) | 2024-05-31 |
Family
ID=
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741863A (en) * | 2017-10-08 | 2018-02-27 | 深圳市星策网络科技有限公司 | The driving method and device of a kind of video card |
CN109814932A (en) * | 2019-01-03 | 2019-05-28 | 武汉深之度科技有限公司 | Video driver installation method calculates equipment |
US20190363905A1 (en) * | 2017-02-05 | 2019-11-28 | Intel Corporation | Adaptive deployment of applications |
WO2020001564A1 (en) * | 2018-06-29 | 2020-01-02 | 杭州海康威视数字技术股份有限公司 | Method, apparatus, and system for processing tasks |
CN111047505A (en) * | 2019-12-20 | 2020-04-21 | 北京浪潮数据技术有限公司 | GPU multiplexing method, device, equipment and readable storage medium |
CN111736850A (en) * | 2020-07-21 | 2020-10-02 | 腾讯科技(深圳)有限公司 | Image processing method, apparatus, server and medium |
CN112099923A (en) * | 2020-11-17 | 2020-12-18 | 江苏北弓智能科技有限公司 | Android virtualization system running on Linux operating system |
CN112269603A (en) * | 2020-10-16 | 2021-01-26 | 北京技德***技术有限公司 | Graphic display method and device for compatibly running Android application on Linux |
CN112486609A (en) * | 2020-11-25 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | Virtual display card implementation method and device based on cloud desktop |
CN112860364A (en) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | Android graph display method based on Linux kernel |
US20210162299A1 (en) * | 2018-11-11 | 2021-06-03 | Changsha Mic Tech Co., Ltd. | Distributed multi-terminal and multi-network supporting system for android online game |
US20210208951A1 (en) * | 2020-08-04 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for sharing gpu, electronic device and readable storage medium |
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190363905A1 (en) * | 2017-02-05 | 2019-11-28 | Intel Corporation | Adaptive deployment of applications |
CN107741863A (en) * | 2017-10-08 | 2018-02-27 | 深圳市星策网络科技有限公司 | The driving method and device of a kind of video card |
WO2020001564A1 (en) * | 2018-06-29 | 2020-01-02 | 杭州海康威视数字技术股份有限公司 | Method, apparatus, and system for processing tasks |
US20210162299A1 (en) * | 2018-11-11 | 2021-06-03 | Changsha Mic Tech Co., Ltd. | Distributed multi-terminal and multi-network supporting system for android online game |
CN109814932A (en) * | 2019-01-03 | 2019-05-28 | 武汉深之度科技有限公司 | Video driver installation method calculates equipment |
CN111047505A (en) * | 2019-12-20 | 2020-04-21 | 北京浪潮数据技术有限公司 | GPU multiplexing method, device, equipment and readable storage medium |
CN111736850A (en) * | 2020-07-21 | 2020-10-02 | 腾讯科技(深圳)有限公司 | Image processing method, apparatus, server and medium |
US20210208951A1 (en) * | 2020-08-04 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for sharing gpu, electronic device and readable storage medium |
CN112269603A (en) * | 2020-10-16 | 2021-01-26 | 北京技德***技术有限公司 | Graphic display method and device for compatibly running Android application on Linux |
CN112099923A (en) * | 2020-11-17 | 2020-12-18 | 江苏北弓智能科技有限公司 | Android virtualization system running on Linux operating system |
CN112486609A (en) * | 2020-11-25 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | Virtual display card implementation method and device based on cloud desktop |
CN112860364A (en) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | Android graph display method based on Linux kernel |
Non-Patent Citations (3)
Title |
---|
MARTIN, A.: "A new tool for static and dynamic Android malware analysis", DATA SCIENCE AND KNOWLEDGE ENGINEERING FOR SENSING DECISION SUPPORT, 4 June 2019 (2019-06-04) * |
林鹏;: "5G云游戏平台组网关键技术探讨", 互联网天地, no. 01 * |
陈文志: "支持PDE存储的安全增强型Android***的设计与实现", 中国优秀硕士学位论文全文数据库(信息科技辑), no. 05, 15 May 2021 (2021-05-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077337B (en) | System and method for executing application code compiled from two instruction set architectures | |
JP5608243B2 (en) | Method and apparatus for performing I / O processing in a virtual environment | |
US10303491B2 (en) | Method and device of running application program across systems | |
JP6458959B2 (en) | Co-designed dynamic language accelerator for processors | |
CN111522670A (en) | GPU virtualization method, system and medium for Android system | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
CN103645945A (en) | Automatic probing and drive loading method of virtual network interface card | |
CN109358839B (en) | Method for developing embedded single-chip microcomputer software and storage medium | |
US20220164216A1 (en) | VIRTUALIZING HARDWARE COMPONENTS THAT IMPLEMENT Al APPLICATIONS | |
CN113326105B (en) | Hardware equipment configuration method, device and equipment based on host migration | |
CN112015522B (en) | System function expansion method, device and computer readable storage medium | |
CN112579254B (en) | Simulation method and device of graphic processor, electronic equipment and storage medium | |
CN114398172A (en) | Resource allocation method and device, electronic equipment and computer readable storage medium | |
CN113826076A (en) | Expandable and secure container | |
US11531533B2 (en) | Virtual machine update while keeping devices attached to the virtual machine | |
US20160246629A1 (en) | Gpu based virtual system device identification | |
US20060224904A1 (en) | Programmatic binding of power management events | |
CN113656143A (en) | Method and system for realizing direct display card of android container | |
CN113656143B (en) | Method and system for realizing secure Zhuo Rongqi direct-through display card | |
CN106294143B (en) | Debugging method and device for chip register | |
CN112559336B (en) | Method, device and system for self-adaptively debugging heterogeneous computing chip and main board chip | |
CN113986466A (en) | Cloud computing-oriented GPU virtualization system and method | |
KR20110080767A (en) | System and method for converting active x control | |
CN113886007B (en) | Configuration method, management method, system and medium for KVM virtualization system | |
CN117472805B (en) | Virtual IO device memory management system based on virtio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |