A display control method and system of a BIOS graphical interface
Patent Information
- Application Number
- CN202311775273.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-21
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-12-21
AI Technical Summary
[0002]目前主流基本输入/输出系统(Basic Input Output System,BIOS)的用户配置界面均采用文本形式显示,因为该显示方式简单、快捷、占用内存小,文本形式显示只需要设置显示模式、设置颜色寄存器,再按照图形显示的原理编写画点、画线、画圆等基本函数就可以显示,所以整个屏幕的颜色单一、字体和大小统一,无法人性化地对界面显示颜色、字体、大小进行定制,也无法显示图片,用户只能定制功能,无法定制主题模式
[0015] (1) A display control method for a BIOS graphical interface, which uses a graphics rendering engine to draw a graphical interface for the BIOS system, realizing the function of the BIOS graphical interface, and can freely switch between the original text interface display. The configuration interface of the BIOS system's graphical interface can meet the operation functions of keyboardless devices such as tablet computers, and can realize the customization of the color, font, size, and image insertion display functions of the configuration interface.
Smart Images

Figure CN117707392B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer BIOS technology, and specifically to a display control method and system for a BIOS graphical interface. Background Technology
[0002] Currently, most mainstream Basic Input Output Systems (BIOS) use text-based user configuration interfaces because this method is simple, fast, and consumes little memory. Text-based displays only require setting the display mode and color registers, and then writing basic functions such as drawing points, lines, and circles according to the principles of graphic display. Therefore, the entire screen has a single color, uniform font and size, and cannot be customized in a user-friendly way. It also cannot display images. Users can only customize functions, not themes.
[0003] Because it can only be operated using a keyboard, the text-based interface is only suitable for computers with keyboards, such as desktops, all-in-ones, and servers. It is not suitable for devices without keyboards, such as tablets. Therefore, this type of BIOS cannot meet the needs of all computer devices on the market and shows a significant shortcoming in applications without keyboards. Summary of the Invention
[0004] In view of this, the present invention provides a display control method and system for a BIOS graphical interface, which can realize the function of the graphical interface of the BIOS system.
[0005] The specific technical solution adopted in this invention is as follows:
[0006] A method for controlling the display of a BIOS graphical interface includes: drawing a graphical interface for a basic input / output system BIOS using a graphics rendering engine; and controlling the display controls of the graphical interface by clicking on devices and the keyboard.
[0007] Furthermore, the graphics rendering engine is independent of the BIOS system settings, and the graphics rendering engine and the BIOS system transmit data through a fixed communication protocol.
[0008] Furthermore, the step of drawing a graphical interface for the Basic Input / Output System (BIOS) using a graphics rendering engine includes: the graphics rendering engine configuring graphical controls and / or windows for the BIOS system, and displaying the graphical controls and / or windows on the BIOS system screen via a Graphics Input Protocol (GOP).
[0009] Furthermore, the clicking device includes at least one of the following: a mouse; a touchpad; a touch screen.
[0010] Furthermore, the step of controlling the display controls of the graphical interface via a clicking device and a keyboard includes: the clicking device controlling the coordinates of the graphical controls and / or the window, and controlling the display state of the display controls of the graphical interface; and controlling the display state of the display controls via the keyboard.
[0011] Furthermore, the clicking device controls the coordinates of the graphical control and / or window, including: the BIOS system performs event processing on the actions of the clicking device through the mouse driver; the actions of the clicking device trigger the BIOS system to retrieve the clicking device status data, the X coordinate of the clicking device, and the Y coordinate of the clicking device; wherein the BIOS system provides global variables for the clicking device through the Unified Extensible Firmware Interface (UEFI).
[0012] Furthermore, the clicking device controls the coordinates of the graphical control and / or window by: the BIOS system recording and controlling the coordinates of the graphical control and / or window through the UEFI's dynamic globally configurable database PCD variable.
[0013] A display control system for a BIOS graphical interface includes: a basic input / output system (BIOS), a graphics rendering engine module, a clicking device, and a keyboard. The graphics rendering engine module is configured independently of the BIOS system, and it transmits data with the BIOS system via a fixed communication protocol. The graphics rendering engine module is used to render a graphical interface for the BIOS system. The clicking device and the keyboard are used to control the display controls of the graphical interface.
[0014] Beneficial effects:
[0015] (1) A display control method for a BIOS graphical interface, which uses a graphics rendering engine to draw a graphical interface for the BIOS system, realizing the function of the BIOS graphical interface, and can freely switch between the original text interface display. The configuration interface of the BIOS system's graphical interface can meet the operation functions of keyboardless devices such as tablet computers, and can realize the customization of the color, font, size, and image insertion display functions of the configuration interface.
[0016] (2) The graphics rendering engine is independent of the BIOS system settings. The graphics rendering engine and the BIOS system transmit data through a fixed communication protocol, which does not affect the original code and functions of the BIOS, thus enabling the switching between the traditional UEFI interface and the graphical interface display.
[0017] (3) The graphical interface display controls can be controlled by clicking the device and keyboard, and the interface theme style can be flexibly customized. It supports the diverse customization of theme information such as interface display color, font, size, etc. Attached Figure Description
[0018] Figure 1 This is a flowchart of a BIOS graphical interface display control method according to an embodiment of the present invention;
[0019] Figure 2 This is a structural schematic diagram of the graphics rendering engine module according to a scenario embodiment of the present invention;
[0020] Figure 3 This is a flowchart of the graphical interface construction process according to an embodiment of the present invention;
[0021] Figure 4 This is a flowchart of window creation according to an embodiment of the present invention;
[0022] Figure 5 This is a schematic diagram of the interactive logic flow of the graphical control according to an embodiment of the present invention;
[0023] Figure 6 This is a schematic diagram of the personalized customization framework of the graphical interface according to an embodiment of the present invention. Detailed Implementation
[0024] The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0025] This invention provides a display control method for a BIOS graphical interface. Figure 1 This is a flowchart of a BIOS graphical interface display control method according to an embodiment of the present invention, such as... Figure 1 As shown, it includes:
[0026] Step S101: Draw a graphical interface for the Basic Input Output System (BIOS) using a graphics rendering engine;
[0027] In one exemplary embodiment, the graphics rendering engine is independent of the BIOS system settings, and the graphics rendering engine and the BIOS system transmit data through a fixed communication protocol.
[0028] In actual implementation, the graphical interface rendering engine module is an independent module. Protocol is installed in the module, and external modules can call the program in this module through the interface provided in Protocol. Since the addition of module content does not affect the original BIOS code and functions, it can effectively switch between traditional UEFI interface and graphical interface display.
[0029] In one exemplary embodiment, drawing a graphical interface for a Basic Input / Output System (BIOS) using a graphics rendering engine includes: configuring graphical controls and / or windows for the BIOS system using the graphics rendering engine, and displaying the graphical controls and / or windows on the BIOS system screen using a Graphic Output Protocol (GOP).
[0030] Step S102: Control the display controls of the graphical interface by clicking on the device and the keyboard.
[0031] In one exemplary embodiment, the clicking device includes at least one of the following: a mouse; a touchpad; a touchscreen.
[0032] In one exemplary embodiment, controlling the display controls of a graphical interface via a clicking device includes: the clicking device controlling the coordinates of the graphical controls and / or the window to control the display controls of the graphical interface.
[0033] In one exemplary embodiment, the display state of the display control is controlled via a keyboard.
[0034] This can include status displays such as switches.
[0035] In one exemplary embodiment, the clicking device controls the coordinates of a graphical control and / or window, including: the BIOS system performs event processing on the action of the clicking device through the mouse driver; the action of the clicking device triggers the BIOS system to retrieve the state data of the clicking device, the X coordinate of the clicking device, and the Y coordinate of the clicking device; wherein the BIOS system provides global variables for the clicking device through the Unified Extensible Firmware Interface (UEFI).
[0036] In one exemplary embodiment, the clicking device controls the coordinates of graphical controls and / or windows, including: the BIOS system records and controls the coordinates of graphical controls and / or windows through UEFI's dynamic global configurable database (PCD) variables.
[0037] In actual implementation, the ability to directly operate BIOS configuration interface options by clicking on devices (mouse, touchpad, and touchscreen) can better support BIOS configuration interface interaction for laptops and tablets.
[0038] This invention also provides a display control system for a BIOS graphical interface, including: a basic input / output system (BIOS), a graphics rendering engine module, a clicking device, and a keyboard. The graphics rendering engine module is set independently of the BIOS system, and the graphics rendering engine module transmits data with the BIOS system through a fixed communication protocol. The graphics rendering engine module is used to render the graphical interface for the BIOS system. The clicking device and keyboard are used to control the display controls of the graphical interface.
[0039] In practical implementation, the interface drawing module of this embodiment adds a font library with various fonts and font sizes, thereby realizing the customization function of multiple themes. In practical implementation, a switching control can be set in the graphical interface to switch themes, and it can also be modified by developers.
[0040] Those skilled in the art should understand that the BIOS graphical interface display control system in the above embodiments is used to implement the specific steps and processes of the BIOS graphical interface display control method in the above embodiments. The actual operation and execution steps can be found in the specific steps and processes of the BIOS graphical interface display control method, which will not be repeated here.
[0041] To enable those skilled in the art to better understand the technical solution of the present invention, specific scenario embodiments are described below.
[0042] Scenario Example 1
[0043] The BIOS graphical interface display control method and system provided in the scenario embodiment of the present invention adds a graphical interface drawing engine module compared with the traditional BIOS configuration interface. On the basis of being compatible with the standard UEFI IFR display mechanism, it realizes the complete display of IFR content. On the basis of being compatible with traditional keyboard operation, it adds a mouse and other clicking devices to configure the interface and can flexibly customize the interface theme style.
[0044] Figure 2 This is a structural schematic diagram of the graphics rendering engine module according to an embodiment of the present invention, such as... Figure 2 As shown, this module includes the following: Theme: Configuration information for the font, color, and font size of the interface display; Setup page display: Display of border bars, help information bars, etc.; Pop-up display: Window information that pops up according to user operation needs; Display of multiple controls: Text controls, switch controls, option controls, etc.
[0045] The information displayed on the screen consists of controls or windows. The rendering engine calls the graphics controls based on the input information and the set theme information, and finally displays them on the screen through GOP. Each control or window contains two coordinate positions, which can locate a rectangle. The two points are the upper left and lower right of the rectangle. Once the two coordinates are known, the position of the control or window can be known.
[0046] The process of drawing the configuration interface is as follows: first draw the sidebar, then draw the help bar, then create controls based on the input information, and then display the controls. This completes the drawing of the entire configuration interface. The interface then waits for user input and processes the display of spaces or windows based on the user's input.
[0047] Figure 3 This is a flowchart of the graphical interface construction process according to an embodiment of the present invention, such as... Figure 3 As shown, it includes:
[0048] Step 1: Wait for the input device to input information.
[0049] Step 2: The input device sends the input information to the rendering engine;
[0050] Step 3: The drawing engine obtains the input information and, in conjunction with the theme information, sends this information to the graphics control.
[0051] Step 4: After obtaining the user information, the graphical control processes the user information and returns the graphical information to the rendering engine;
[0052] Step 5: After the rendering engine obtains the graphics information, it displays it on the screen through GOP.
[0053] In this embodiment of the invention, the window drawing operation is created for situations where multiple windows appear. For example, when a button is pressed and a pop-up window appears, it will cover the original page. A new window is drawn on top of the original window. This part of the process is the window creation function. All windows on the page are stored using a linked list. The important data content of each window linked list structure is as follows:
[0054] Window state: Indicates whether the window is active; Window position: Stores the two coordinates of the window; Drawing state: Recorded as true if the window is drawing; Capture region (backup region) pointer: Stores the window content before the window pops up, indicating the content displayed on the screen at this window position before the window was restricted, in order to restore the window display.
[0055] Figure 4 This is a flowchart of window creation according to an embodiment of the present invention, such as... Figure 4 As shown, it includes:
[0056] Step 1: Create a window interface to collect input information and request space for storing window information;
[0057] Step 2: Create a linked list node and initialize the linked list;
[0058] Step 3: Create a 200ms mouse event and wait for it to be triggered;
[0059] Step 4: Allocate space of the corresponding size according to the window size and create a renderer;
[0060] Step 5: Insert the windows into the linked list according to their different levels.
[0061] In the scenario embodiment of the present invention, based on the graphical interface display, the BIOS can support the mouse, display the mouse pattern, update the pattern according to the mouse movement, prepare global variables using the mouse support in UEFI, and pass out the mouse state so that the program using the mouse driver can perform event processing according to the mouse action. Each mouse action will trigger the BIOS to call the mouse driver and pass three data, namely the mouse state, the mouse X coordinate, and the mouse Y coordinate.
[0062] In this embodiment of the invention, a UEFI-specific dynamic PCD variable is used to record the mouse's X and Y coordinates. Similar to global variables, the dynamic PCD variable's value can be passed between different modules. Its value can be obtained via PCD Get and updated via PCD Set. Using a timer event in UEFI, the mouse state is checked periodically to see if it has changed. If the mouse state changes, the horizontal and vertical offsets of the mouse movement are obtained via the mouse protocol. These offsets are added to the old X and Y coordinates recorded in the PCD to obtain the new X and Y coordinates after the mouse movement, and then recorded in the PCD. When the mouse moves again, the original coordinates are obtained from the PCD, the offset is added, and the new coordinates are updated in the PCD. During this process, the PCD performs the function of recording the current mouse coordinates. The X and Y coordinates after mouse movement and the mouse state are passed to each control. The control checks whether the mouse coordinates overlap with its own and redraws according to the state after the interaction.
[0063] The control of the mouse is also determined by the coordinates of the mouse. Each control is a rectangle composed of the coordinates of two points. After obtaining the mouse button, the coordinates of the mouse can be used to determine which control the mouse is currently operating on, and then the control can be processed. If a pop-up window is needed, the corresponding window will pop up.
[0064] After the configuration interface is rendered, it remains in a state of waiting to capture input. Based on the user's input, it redraws page controls or pop-ups to realize the interactive flow of graphical controls. Figure 5 This is a schematic diagram of the interactive logic flow of the graphical control according to an embodiment of the present invention, such as... Figure 5 As shown, it includes:
[0065] Step 1: The text input interface continuously waits for keyboard input; the window manager continuously waits for mouse input. Whenever the text input interface or window manager detects keyboard or mouse input, proceed to Step 2.
[0066] Step 2: The interface remains in a state of waiting for user input, waiting to obtain input information from the window manager and text input interface. If keyboard or mouse input is obtained, proceed to Step 3.
[0067] Step 3: Input from different input devices will be sent to the corresponding graphical controls. For example, keyboard input will be sent to the highlighted control, and mouse input will be sent to the clicked control.
[0068] Step 4: After receiving the input information, the graphical control sets the control's state according to different input devices;
[0069] Step 5: After receiving the input information, the graphical control determines whether it needs to be redrawn. If it needs to be redrawn, proceed to Step 6; otherwise, proceed to Step 7.
[0070] Step Six: Redraw the control. After redrawing, proceed to Step Seven to run.
[0071] Step 7: Process the message and return the control state to Step 2.
[0072] Figure 6 This is a schematic diagram of the personalized customization framework of the graphical interface according to an embodiment of the present invention, such as... Figure 6 As shown in the embodiments of the present invention, the personalized customization of the UEFI graphical interface is mainly reflected in the following aspects:
[0073] Images: including the supplier's brand logo, as well as the images the supplier needs to display;
[0074] Fonts: The BIOS can store various font libraries, and can generate multiple font libraries and store them in the BIOS according to customer needs, such as SimHei and SongTi;
[0075] Font size: Each character and font size corresponds to a set of data. The BIOS has multiple built-in fonts of various sizes, which can be used to adjust the font size.
[0076] Font color: Specifies the color of the font on a single control or interface;
[0077] Control colors: Each part of each control can be assigned a color, and the color of each part can be adjusted individually;
[0078] The font display method is consistent with the traditional display method. With additional tools, a specific font bitmap font library in UEFI format can be generated. During compilation, all font bitmap data is stored in the firmware file. When adding a font by calling the Hii protocol, font data for multiple fonts and sizes are added to the Hii database. When displaying the interface, the font and size can be specified to display the specified font.
[0079] The standard image file format (Bitmap, BMP) is a standard image file format recommended and supported by Microsoft. Image data is stored directly without compression. The standard UEFI implementation supports parsing BMP images and provides functions to convert BMP images into a framebuffer format that can be recognized by the Group of Pictures (GOP), thereby enabling the display of BMP images within the GOP.
[0080] After UEFI compilation is complete, BMP images are stored in binary form in the firmware file and identified by a unique globally unique identifier (GUID). During UEFI runtime, the unique GUID is used to locate the binary data of the BMP image in the firmware and load the data into memory. The UEFI-provided methods then convert the BMP image data into a framebuffer format recognizable by the Group of Frames (GOPs), and pass it to the GOP, which ultimately displays the image on the screen.
[0081] In the code structure, images are placed in folders. During compilation, BMP images with specified names in specified paths are compiled into the final firmware file. BMP images are easy to replace, providing customization services.
[0082] Font, font size, font color, and control color can all be specified. Therefore, when designing the program, we implemented a color table and a theme table. The theme table contains the font information of each part, and the color table contains the color information of each part of the control and the font. The combination of font information and control color forms a theme.
[0083] In summary, the BIOS graphical interface display control method and system provided in this invention renders a graphical interface for the BIOS system using a graphics rendering engine; and controls the display controls of the graphical interface using clicking devices and the keyboard. It supports operation in the graphical configuration interface using clicking devices such as a mouse and the keyboard; all configuration operations can be completed using only the mouse, making it more suitable for devices without a keyboard. It supports switching between the graphical and text interfaces, and the content of the graphical and text interfaces is consistent. By reusing the code describing the interface content, the workload of interface maintenance is reduced. It supports diverse customization of the theme information such as the color, font, and size of the displayed interface.
[0084] The specific embodiments described above only illustrate the design principles of the present invention. The shapes and names of the components in this description may differ and are not limited. Therefore, those skilled in the art can modify or make equivalent substitutions to the technical solutions described in the foregoing embodiments; and these modifications and substitutions do not depart from the inventive spirit and technical solutions of the present invention, and should all fall within the protection scope of the present invention.
Claims
1. A display control method of a BIOS graphical interface, characterized by, include: The graphical interface for the Basic Input / Output System BIOS is drawn using a graphics rendering engine. The graphical interface display controls are controlled by clicking on the device and using the keyboard; the graphics rendering engine is independent of the BIOS system settings, and the graphics rendering engine transmits data with the BIOS system through a fixed communication protocol; the functions of the BIOS graphical interface can be freely switched with the original text interface display.
2. The method as described in claim 1, characterized in that, The process of drawing a graphical interface for the Basic Input / Output System (BIOS) using a graphics rendering engine includes: The graphics rendering engine configures the graphics controls and / or windows of the BIOS system, and displays the graphics controls and / or windows on the screen of the BIOS system through the Image Input Protocol (GOP).
3. The method as described in claim 1, characterized in that, The clicking device includes at least one of the following: Mouse; touchpad; touchscreen.
4. The method as described in claim 1, characterized in that, The control of the graphical interface display controls via clicking the device and keyboard includes: The clicking device controls the coordinates of the graphical control and / or window, and controls the display state of the display controls of the graphical interface. The display state of the display control is controlled via the keyboard.
5. The method as described in claim 4, characterized in that, The clicking device controls the coordinates of the graphical control and / or window, including: The BIOS system processes the actions of the clicking device through the mouse driver. The actions of the clicking device trigger the BIOS system to retrieve the clicking device status data, the X coordinate of the clicking device, and the Y coordinate of the clicking device. The BIOS system provides global variables for the clicking device through the Unified Extensible Firmware Interface (UEFI).
6. The method as described in claim 4, characterized in that, The clicking device controls the coordinates of the graphical control and / or window, including: The BIOS system records and controls the coordinates of the graphical controls and / or windows through the UEFI's dynamic globally configurable database PCD variables.
7. A display control system for a BIOS graphical interface, characterized in that, include: The system includes a basic input / output system (BIOS), a graphics rendering engine module, a click device, and a keyboard. The graphics rendering engine module is set independently of the BIOS system, and the graphics rendering engine module transmits data with the BIOS system through a fixed communication protocol. The graphics rendering engine module is used to render a graphical interface for the BIOS system; The clicking device and the keyboard are used to control the display controls of the graphical interface; wherein, the graphics rendering engine is independent of the BIOS system settings, and the graphics rendering engine transmits data with the BIOS system through a fixed communication protocol; the functions of the BIOS's graphical interface can be freely switched with the original text interface display.
Citation Information
Patent Citations
BIOS graphical engine providing uniform look and feel
CN101911004A
Computer display function setting method and system
CN105808045A