Display method and apparatus, and electronic device and computer storage medium

By creating virtual device nodes for each operating system, the problem of hardware resource isolation in a multi-operating system environment is solved, and hardware resource scheduling isolation and isolation are achieved to avoid resource conflicts.

WO2026011601A1PCT designated stage Publication Date: 2026-01-15FIBOCOM AUTO INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/127215
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-12
Filing Date
2024-10-25
Publication Date
2026-01-15

AI Technical Summary

Technical Problem

In a multi-operating system environment, existing technologies cannot effectively solve the problem of hardware resource isolation, leading to resource conflicts.

Method used

By creating virtual device nodes in each operating system, the Direct Render Manager (DRM) is simulated to provide physical device nodes that allow user space to access display hardware resources, thereby achieving hardware resource scheduling isolation.

Benefits of technology

It achieves hardware resource isolation in multi-operating system environments, avoids resource conflicts, and eliminates the need to add hardware resource-related logic judgment code at the application layer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024127215_15012026_PF_FP_ABST
    Figure CN2024127215_15012026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a display method and apparatus, and an electronic device and a computer storage medium. The display method comprises: in a plurality of operating systems running in parallel, correspondingly creating virtual device nodes respectively, wherein the virtual device nodes are configured to emulate physical device nodes provided by a direct rendering manager (DRM) for user spaces to access display hardware resources; user space processes in each operating system accessing, by means of the respective virtual device node of the operating system, display hardware resources bound to the virtual device node; and by means of the display hardware resources, displaying on a designated display screen that matches the operating systems an image rendered by the user space processes.
Need to check novelty before this filing date? Find Prior Art

Description

Display methods, devices, electronic devices, and computer storage media

[0001] Citation of relevant applications

[0002] This disclosure claims the entire benefits of Chinese Patent Application No. 202410939443.0, filed on July 12, 2024 with the State Intellectual Property Office of the People's Republic of China, entitled "Display Method, Apparatus, Electronic Device and Computer Storage Medium", the entire contents of which are incorporated herein by reference.

[0003] field

[0004] This disclosure relates to the field of computer technology, and more specifically, to a display method, apparatus, electronic device, and computer storage medium.

[0005] background

[0006] With the development of the Linux kernel and the improvement of graphics card performance, device drivers for DRM (Direct Rendering Manager) were introduced. DRM is a management architecture in the Linux kernel responsible for interacting with the graphics card. DRM provides a set of APIs that enable user-space applications to perform tasks such as 3D rendering, video decoding, and GPU computing efficiently.

[0007] With the advancement of automotive intelligence and connectivity, car cockpits are gradually evolving into intelligent cockpits centered on human-machine interaction and featuring multi-screen linkage. As the chip industry rapidly develops, the computing power of automotive chips has been greatly enhanced. To meet the demands of a single SoC (System on Chip) running multiple operating systems and simultaneously driving multiple displays, the display controller needs to adapt to access from more user-space processes.

[0008] The solution proposed by related technologies integrates a drm host module into the DRM device driver to support concurrent access to the display controller by multiple user-space processes. While different operating systems can share display hardware resources through the drm host module, they achieve multi-process access through the same physical device node, failing to achieve hardware resource isolation. This means that even if only one display hardware device's hardware resources are needed by one operating system, other operating systems can still access those resources, causing resource conflicts. Related technologies only achieve hardware resource isolation at the application layer by restricting access permissions for specific applications, failing to fundamentally solve the resource conflict problem in a multi-operating system environment.

[0009] Overview

[0010] On one hand, this disclosure provides a display method, which includes: creating virtual device nodes in multiple parallel-running operating systems, wherein the virtual device nodes are configured to simulate physical device nodes provided by the Direct Render Manager (DRM) for user space to access display hardware resources; a user space process in each operating system accesses display hardware resources bound to the virtual device node through its respective virtual device node; and displaying the image drawn by the user space process on a designated display screen matching each operating system through the display hardware resources.

[0011] On the other hand, this disclosure provides a display device, comprising: a creation module configured to create virtual device nodes in multiple parallel-running operating systems, wherein the virtual device nodes are configured to simulate physical device nodes provided by a Direct Render Manager (DRM) for user space to access display hardware resources; an access module configured to allow user space processes in each operating system to access display hardware resources bound to the virtual device nodes through their respective virtual device nodes; and a display module configured to display images drawn by the user space processes on designated display screens matched to each operating system through the display hardware resources.

[0012] In some implementations, the creation module includes a reading submodule configured to read specified display screen information configured for the current operating system from a preset configuration file; a searching submodule configured to search for specified display hardware resources required for the specified display screen information; and a configuration submodule configured to configure the specified display hardware resources to unused virtual device nodes to form virtual device nodes of the current operating system.

[0013] In some implementations, the lookup submodule includes a lookup unit configured to look up a target display connector that matches the specified display information in the DRM's original display connector list; a first reading unit configured to read the corresponding target decoding module and target synthesis module based on the target display connector; and an acquisition unit configured to acquire the corresponding target display panel through the target synthesis module, wherein the specified display hardware resources include the target display connector, the target decoding module, the target synthesis module, and the target display panel.

[0014] In some implementations, the acquisition unit includes an acquisition subunit configured to acquire a valid set of display panels from the original display panel list of the DRM; a judgment subunit configured to determine, for each display panel in the set of display panels, whether the current display panel can be used by the target compositing module; and a deletion subunit configured to delete the current display panel if it cannot be used by the target compositing module.

[0015] In some implementations, the display device further includes a judgment module configured to determine whether the specified display hardware resource is occupied by other virtual device nodes; and an exit module configured to exit the virtual device node creation process of the current operating system if the specified display hardware resource is occupied by other virtual device nodes.

[0016] In some implementations, the access module includes a second reading unit configured to read node information of the virtual device node corresponding to the current operating system from a preset configuration file when the user space process of the current operating system calls the input / output control ioctl function to request access to the virtual device node; and a calculation unit configured to activate the display hardware resources bound to the virtual device node when the user space process of the current operating system calls the open function to request to open the virtual device node.

[0017] In some implementations, the display device further includes a hiding module configured to hide the physical device node in a daemon process that manages the device node.

[0018] In another aspect, this disclosure also provides a computer storage medium storing a computer program, wherein the computer program is configured to execute the display method described in this disclosure when it is run.

[0019] Furthermore, this disclosure also provides an electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; wherein: the memory is configured to store computer programs; and the processor is configured to execute the display method described in this disclosure by running the programs stored in the memory.

[0020] In some embodiments, the electronic device can be a module capable of communication functions or a terminal device containing such a module, wherein the terminal device can be a mobile terminal or a smart terminal. In some embodiments, the mobile terminal can be at least one of a mobile phone, tablet computer, or laptop computer. In some embodiments, the smart terminal can be a smart car, smartwatch, shared bicycle, smart locker, or other terminal containing a wireless communication module. In some embodiments, the module can be a wireless communication module, such as any one of a 2G communication module, 3G communication module, 4G communication module, 5G communication module, or NB-IoT communication module.

[0021] On the other hand, this disclosure also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the display method described in this disclosure.

[0022] In some implementations, different virtual device nodes are published for different operating systems. Each operating system accesses the display hardware resources bound to the virtual device node through the virtual device node, thereby achieving scheduling isolation and hardware resource isolation. This solves the problem of resource conflicts when multiple operating systems drive different displays without adding any hardware resource-related logic judgment code to the application layer.

[0023] Brief description of the attached figures

[0024] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of the present disclosure and are used to explain the disclosure, but do not constitute an undue limitation of the disclosure. In the drawings:

[0025] Figure 1 is a hardware structure block diagram of a computer according to an embodiment of the present disclosure;

[0026] Figure 2 is a flowchart of a display method according to an embodiment of the present disclosure;

[0027] Figure 3 is a schematic diagram of the process of concurrent access to the display controller by multiple user space processes in related technologies;

[0028] Figure 4 is a flowchart illustrating concurrent access to the display controller by multiple user space processes in one embodiment of this disclosure;

[0029] Figure 5 is a schematic diagram of the display link according to an embodiment of the present disclosure; and

[0030] Figure 6 is a structural block diagram of a display device according to an embodiment of the present disclosure.

[0031] Detailed Explanation

[0032] To enable those skilled in the art to better understand the present disclosure, the technical solutions of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are merely some, not all, of the embodiments of the present disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of the present disclosure without creative effort should fall within the scope of protection of the present disclosure. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of the present disclosure can be combined with each other.

[0033] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0034] Example 1

[0035] The method embodiments provided in this disclosure can be executed in mobile phones, computers, tablets, or similar computing devices. Taking a computer as an example, FIG1 is a hardware structure block diagram of a computer according to an embodiment of this disclosure. As shown in FIG1, the computer may include one or more (only one is shown in FIG1) processors 102 (processor 102 may include, but is not limited to, processing devices such as microprocessors MCUs or programmable logic devices FPGAs) and a memory 104 configured to store data. In some embodiments, the computer may also include a transmission device 106 configured for communication functions and an input / output device 108. Those skilled in the art will understand that the structure shown in FIG1 is merely illustrative and does not limit the structure of the computer described above. In some embodiments, the computer may also include more or fewer components than shown in FIG1, or have a different configuration than shown in FIG1.

[0036] The memory 104 may be configured to store computer programs, such as application software programs and modules, like the computer program corresponding to the display method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the aforementioned method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some embodiments, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories may be connected to the computer via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0037] Transmission device 106 is configured to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a computer's communications provider. In some embodiments, transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In some embodiments, transmission device 106 may be a Radio Frequency (RF) module configured to communicate wirelessly with the Internet.

[0038] This embodiment provides a display method. Figure 2 is a flowchart of the display method according to an embodiment of this disclosure. As shown in Figure 2, the process includes the following steps:

[0039] Step S10: In multiple operating systems running in parallel, virtual device nodes are created respectively, wherein the virtual device nodes are configured to simulate the physical device nodes provided by the Direct Render Manager (DRM) to the user space for accessing display hardware resources.

[0040] Step S20: Each user-space process in the operating system accesses the display hardware resources bound to the virtual device node through its respective virtual device node; and

[0041] Step S30: Using the display hardware resources, display the image drawn by the user space process on a designated display screen that matches each operating system.

[0042] In this embodiment, a virtual device node can be created for each of the different operating systems running on the same system chip. For example, if a Linux system and an Android system are running in parallel on a single SOC chip, a virtual device node is created for the Linux system and another virtual device node is created for the Android system. The virtual device node can be a virtual graphics card.

[0043] In some implementations, referring to Figure 4, virtual device nodes / dev / dri / card2 (hereinafter referred to as card2) and / dev / dri / card1 (hereinafter referred to as card1) are created for the parallel-running instrument cluster system and in-vehicle infotainment (IVI) system, respectively. Here, card is the name of the Linux kernel display controller file node. The user-space process in the instrument cluster system accesses the display hardware resources bound to card2 in the kernel space through card2 (the display hardware resources include the display planes, compositing module CRTC, decoding module Encoder, and display connector, as shown in Figure 4). Through these display hardware resources, the images drawn by the user-space process are displayed on the designated display screen (instrument display screen) that matches the instrument cluster system. The IVI system is similar to the instrument cluster system and will not be described in detail here.

[0044] In some implementations, the display connector is a connector that connects to the physical display device and can be considered a hardware module directly associated with a specific display device (such as a screen). The decoder module is configured to decode digital signals (e.g., pixel data) into corresponding analog signals, which can be DP, DPI, or DSI. For example, the DSI encoder converts RGB pixel data from the system software into MIPI data. The composition module CRTC represents the entire display pipeline. The CRTC receives pixel data from planes and performs blending. The CRTC is a hardware module that scales, rotates, or overlays images along the Z-axis for the upper-level display window; it can be understood as a DPU (Display Processing Unit). The display panel's function is to crop and scale a specified image and position it within the visible area of ​​the display pipeline. The panel can also have additional attributes specifying how pixels are positioned and blended, such as rotation or Z-position.

[0045] Through the above steps, this embodiment publishes different virtual device nodes for different operating systems. Each operating system accesses the display hardware resources bound to the virtual device node through the virtual device node, thereby achieving scheduling isolation and hardware resource isolation. No hardware resource-related logic judgment code needs to be added to the application layer, which can solve the problem of resource conflicts when multiple operating systems drive different displays.

[0046] In some implementations, creating virtual device nodes in multiple operating systems running in parallel includes:

[0047] A1, reads the specified display screen information configured for the current operating system from the preset configuration file;

[0048] A2, locate the specified display hardware resources required to find the specified display screen information; and

[0049] A3, configure the specified display hardware resources to unused virtual device nodes to form virtual device nodes of the current operating system.

[0050] In some implementations, the default configuration file is a DTS (DeviceTree Source), which configures display hardware resources and the mapping relationship between virtual device nodes and display hardware resources. In some implementations, the DTS configures the name of the virtual device node and the name of the display screen to which the virtual device node needs to be bound. For example, in Figure 4, virtual device node card1 is bound to an ivi display screen, and virtual device node card2 is bound to an instrument display screen.

[0051] In some implementations, after the Kernel Mode Setting (KMS) of the kernel display controller is loaded, the predefined vm_lease_drm driver is initialized. The vm_lease_drm driver reads the specified display information configured for the current operating system from the DTS. For example, it reads the name of the instrument display configured for the instrument system from the DTS, finds the specified display hardware resources required by the instrument display, and configures the specified display hardware resources to unused virtual device nodes to form the virtual device node card2 of the instrument system.

[0052] In some implementations, the specified display hardware resources include a target display connector, a target decoder module, a target CRTC module, and a target display panel plane. The specified display hardware resources required to locate the specified display information include:

[0053] a21, in the DRM's original display connector list, find the target display connector that matches the specified display information;

[0054] a22, based on the target display connector, read the corresponding target decoding module and target synthesis module; and

[0055] a23, the corresponding target display panel is obtained through the target synthesis module.

[0056] In some implementations, the user space typically only needs to concern itself with the display pipeline modules, including the display connector, encoder, CRTC (Compositing and Transforming) module, and plane. In other implementations, the display pipeline corresponding to the current operating system, as well as the hardware resources required for display, are obtained based on the configuration settings for the current operating system in the pre-defined Display Switch (DTS) configuration file.

[0057] In some implementations, the raw DRM device (drm device) that has been initialized by the SOC platform (such as MediaTek MTK or Qualcomm) is obtained. The raw display connector list (raw connector list) of the raw DRM device is obtained through the vm_lease_drm driver. In the raw connector list, the target connector name that matches the specified display information configured in DTS is searched. Then, based on the target connector name, the corresponding target encoder and target CRTC resource are searched. Finally, the corresponding target plane is obtained through the target CRTC resource.

[0058] Add the configuration information of the virtual graphics card in DST. DST is the configuration file for the driver to read hardware device resources when the device starts up. The configuration file configures the display screen that the relevant virtual display device needs to be bound to. The target connector is obtained through the vm_lease_drm driver. Then, the corresponding encoder and CRTC are obtained through the connector marking information. Then, the corresponding planes are obtained through the CRTC marking signal. In this way, the complete display link is obtained (as shown in Figure 5). The user space process can draw images and display them on the hardware display screen through this display link.

[0059] In some implementations, obtaining the corresponding target display panel through the target synthesis module includes:

[0060] a231, Obtain a valid set of display panels from the original display panel list of the DRM;

[0061] a232, for each display panel in the set of display panels, determine whether the current display panel can be used by the target synthesis module; and

[0062] a233, If the current display panel cannot be used by the target synthesis module, then delete the current display panel.

[0063] Based on the display panel set Planes configured in DTS, valid planes are obtained from the original display panel list (original planes list) of the original DRM device. For each obtained plane, it is determined whether it can be used by the target CRTC module that is currently held. If the current display panel cannot be used by the target CRTC module, the current display panel is deleted.

[0064] In some implementations, due to differences in Plane configurations provided by different manufacturers, some manufacturers allow dynamic allocation of Plane resources, enabling any CRTC to access and utilize these Planes. However, other manufacturers choose to tightly bind Planes to specific CRTCs. Therefore, this implementation considers flexibility and compatibility, determining whether the current Plane can be used by the target CRTC. If the current Plane cannot be used by the target CRTC, the current Plane is deleted.

[0065] In some implementations, existing plane resources are reallocated based on the business needs of different displays, thereby making reasonable use of hardware resources and reducing the system load on the GPU.

[0066] In some implementations, after locating the specified display hardware resources required to find the specified display screen information, the display method further includes:

[0067] B1, determine whether the specified display hardware resources are occupied by other virtual device nodes;

[0068] B2. If the specified display hardware resources are occupied by other virtual device nodes, then exit the virtual device node creation process of the current operating system.

[0069] In some implementations, after finding the specified display hardware resources required for the specified display screen information, it is determined whether the currently acquired specified display hardware resources are held by other virtual device nodes. If they are held, the creation of the virtual device node fails, the creation process of the virtual device node ends directly, and then an error message is printed. The application cannot obtain the relevant virtual device node. Hardware resources that do not belong to the current virtual device node are completely invisible when the current virtual device node is used in user space, thus achieving absolute isolation of hardware resources.

[0070] In some implementations, each user-space process in the operating system accesses display hardware resources bound to its respective virtual device node, including:

[0071] S21, when a user-space process of the current operating system calls the input / output control ioctl function to request access to a virtual device node, the node information of the virtual device node corresponding to the current operating system is read from a preset configuration file; and

[0072] S22, when the user space process of the current operating system calls the open function to request to open the virtual device node, the display hardware resources bound to the virtual device node are activated.

[0073] In some implementations, a virtual device node is created in the lease driver, and the operation functions of the device node are redefined. These operation functions include, but are not limited to, functions such as open, close, read, write, and ioctl, to adapt to the device management and data interaction requirements in a virtual environment.

[0074] In some implementations, virtual device nodes are used to simulate the functionality of real physical device nodes. To prevent user-space processes from accidentally accessing physical device nodes, this implementation hides the physical device nodes in the daemon process that manages them. As shown in Figure 4, the physical device node ` / dev / dri / card0` is hidden. Since `card0` is no longer used by the application layer, the link portion of `card0` in Figure 4 is empty. In application space, because `card0` is hidden, all its functions are unavailable, preventing user space from reading all display hardware resources through `card0`, thus achieving resource isolation. In one example, when the daemon process detects ` / dev / dri / card0`, it removes its symbolic link and sets its permissions to unreadable and unwritable, thereby achieving the hiding effect.

[0075] In the DRM module management mechanism, management is done through object IDs. In the `open` function, the object IDs of each display hardware resource bound to the virtual device node are stored in the current virtual device node, ensuring that user-space processes can only access the specific hardware resources bound to that virtual card device node. In the `ioctl` function, when a version number or card name query request is received from user space, the pre-configured virtual card attribute information in the DTS is returned, ensuring correct feedback of virtual device attributes.

[0076] By redefining the above operations, access errors are prevented. The operation function can only read the configured hardware resources and cannot read other devices. When the application layer accesses the virtual graphics card, the internal DRM library can automatically identify and call the corresponding virtual device node, ensuring effective isolation of hardware resources in a multi-operating system environment.

[0077] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this disclosure.

[0078] Example 2

[0079] This embodiment also provides a display device for implementing the above embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0080] Figure 6 is a structural block diagram of a display device according to an embodiment of the present disclosure. As shown in Figure 6, the device includes:

[0081] Module 60 is configured to create virtual device nodes in multiple operating systems running in parallel, wherein the virtual device nodes are configured to simulate physical device nodes provided by the Direct Render Manager (DRM) for user space to access display hardware resources.

[0082] Access module 62 is configured to allow each user-space process in the operating system to access display hardware resources bound to its respective virtual device node; and

[0083] Display module 64 is configured to display the image drawn by the user space process on a designated display screen that matches each operating system, using the display hardware resources.

[0084] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0085] Example 3

[0086] Embodiments of this disclosure also provide a computer storage medium storing a computer program configured to execute the display method described in this disclosure at runtime.

[0087] In some implementations, the computer storage medium described above may be configured to store a computer program for performing the following steps:

[0088] S1, In multiple operating systems running in parallel, virtual device nodes are created respectively, wherein the virtual device nodes are configured to simulate the physical device nodes provided by the Direct Render Manager (DRM) to the user space for accessing display hardware resources;

[0089] S2, each user-space process in the operating system accesses the display hardware resources bound to the virtual device node through its respective virtual device node; and

[0090] S3, using the display hardware resources, the image drawn by the user space process is displayed on a designated display screen that matches each operating system.

[0091] In some implementations, the aforementioned computer storage media may include, but are not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0092] Embodiments of this disclosure also provide an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the display method described in this disclosure.

[0093] In some embodiments, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0094] In some implementations, the processor described above may be configured to perform the following steps via a computer program:

[0095] S1, In multiple operating systems running in parallel, virtual device nodes are created respectively, wherein the virtual device nodes are configured to simulate the physical device nodes provided by the Direct Render Manager (DRM) to the user space for accessing display hardware resources;

[0096] S2, each user-space process in the operating system accesses the display hardware resources bound to the virtual device node through its respective virtual device node; and

[0097] S3, using the display hardware resources, the image drawn by the user space process is displayed on a designated display screen that matches each operating system.

[0098] Specific examples in this embodiment can be found in the examples described in the above embodiments and optional implementations, and will not be repeated here.

[0099] The sequence numbers of the embodiments disclosed above are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0100] In the above embodiments of this disclosure, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0101] In the several embodiments provided in this disclosure, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.

[0102] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0103] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0104] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, or all or part of it, can be embodied in the form of a software product. This computer software product is stored in a computer storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned computer storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0105] The above description is only some embodiments of this disclosure. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles of this disclosure, and these improvements and modifications should also be considered within the scope of protection of this disclosure.

Claims

1. A display method, which includes: In multiple operating systems running in parallel, virtual device nodes are created respectively, wherein the virtual device nodes are configured to simulate the physical device nodes provided by the Direct Render Manager (DRM) to the user space for accessing display hardware resources; Each user-space process in the operating system accesses the display hardware resources bound to its respective virtual device node; and The images drawn by the user-space process are displayed on a designated display screen that matches each operating system, using the display hardware resources.

2. The display method as described in claim 1, wherein creating virtual device nodes in multiple parallel-running operating systems respectively includes: Read the specified display screen information configured for the current operating system from the preset configuration file; The specified display hardware resources required to locate the specified display screen information; as well as The specified display hardware resources are configured to unused virtual device nodes to form virtual device nodes of the current operating system.

3. The display method as described in claim 2, wherein the specified display hardware resources include a target display connector, a target decoding module, a target synthesis module, and a target display panel, and the specified display hardware resources required to locate the specified display information include: In the DRM's original display connector list, find the target display connector that matches the specified display information; Based on the target display screen connector, read the corresponding target decoding module and target synthesis module; as well as The target display panel is obtained through the target synthesis module.

4. The display method as described in claim 3, wherein obtaining the corresponding target display panel through the target synthesis module includes: Obtain a valid set of display panels from the original display panel list of the DRM; For each display panel in the set of display panels, determine the current display panel. Whether it can be used by the target synthesis module; If the current display panel cannot be used by the target synthesis module, then the current display panel is deleted.

5. The display method according to any one of claims 2 to 4, wherein after finding the specified display hardware resources required for the specified display screen information, the display method further comprises: Determine whether the specified display hardware resources are occupied by other virtual device nodes; If the specified display hardware resources are occupied by other virtual device nodes, the virtual device node creation process of the current operating system will be exited.

6. The display method according to any one of claims 1 to 5, wherein each user-space process in the operating system accesses display hardware resources bound to the virtual device node through its respective virtual device node, including: When a user-space process of the current operating system calls the input / output control ioctl function to request access to a virtual device node, the node information of the virtual device node corresponding to the current operating system is read from a preset configuration file. as well as When a user-space process in the current operating system calls the `open` function to request the opening of the virtual device node, the display hardware resources bound to the virtual device node are activated.

7. The display method according to any one of claims 1 to 6, wherein the display method further comprises: The physical device node is hidden in the daemon process that manages the device node.

8. A display device, comprising: A module is created and configured to create virtual device nodes in multiple operating systems running in parallel. The virtual device nodes are configured to simulate physical device nodes provided by the Direct Render Manager (DRM) for user space to access display hardware resources. The access module is configured to allow each user-space process in the operating system to access the display hardware resources bound to the virtual device node through its respective virtual device node; The display module is configured to display the image drawn by the user space process on a designated display screen that matches each operating system, using the display hardware resources.

9. An electronic device, comprising a processor, a communication interface, a memory, and a communication bus, wherein, The processor, communication interface, and memory communicate with each other via a communication bus; among which: Memory, configured to store computer programs; A processor configured to execute the display method of any one of claims 1 to 7 by running a program stored in memory.

10. A computer storage medium, wherein the computer storage medium includes a stored program, wherein, When the program runs, it executes the display method described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Distributed desktop cloud structure and realization method

    CN107302458A

  • Image rendering method and device for cloud desktop and cloud server

    CN110647375A

  • Holographic multi-screen display implementation method and system, computer equipment and storage medium

    CN113094015A

  • Resource allocation method, computing device and storage medium

    CN113296926A

  • Image display method and device of virtual machine

    CN117992157A