Split Virtual GPU Driver Architecture for Low-Overhead Guest Graphics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual environments in computing systems face inefficiencies in graphics processing due to the serialization of graphics APIs across host and guest operating systems, leading to high overhead and suboptimal resource utilization.

Innovation Solution

The GPU driver is split between the host and guest operating systems, with the user mode portion moved to the guest OS, and only kernel-mode communications are serialized, utilizing the Windows Display Driver Model (WDDM) for reduced serialization overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the GPU driver is completely moved to the guest operating system, then graphics processing efficiency is improved, but security and reliability are worsened due to increased guest OS access to host hardware

Engineering Contradiction:
Improvegraphics processing efficiencyVSAvoidsystem security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The GPU driver is segmented into two parts: a user-mode component in the guest OS for graphics processing and a kernel-mode component in the host OS for hardware access. This segmentation allows efficient graphics processing in the guest while maintaining security through controlled host-mediated hardware access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host OS kernel-mode driver acts as an intermediary between the guest OS user-mode driver and the physical GPU hardware. This intermediary enables the guest to access graphics processing resources efficiently while the host maintains security control over actual hardware access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If graphics APIs are serialized across host and guest operating systems, then system security is improved, but processing overhead increases due to serialization

Engineering Contradiction:
Improvesystem securityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The graphics processing pipeline is segmented into unserialized user-mode operations in the guest OS and serialized kernel-mode operations at the host boundary. This allows most graphics processing to occur without serialization overhead, while maintaining security at the critical host-guest boundary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Serialization is applied only partially - specifically at the kernel-mode boundary where security is critical - rather than throughout the entire graphics processing pipeline. This minimizes serialization overhead while maintaining necessary security controls.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If the user mode portion of the GPU driver remains in the host OS, then ease of hardware management is improved, but resource utilization deteriorates due to cross-OS communication overhead

Engineering Contradiction:
Improvehardware managementVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The driver architecture is segmented with user-mode components in the guest OS for resource-intensive graphics processing and kernel-mode components in the host OS for simplified hardware management. This segmentation optimizes both ease of management and resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host kernel-mode driver serves as an intermediary that simplifies hardware management for the guest while enabling efficient resource utilization through direct user-mode access to graphics processing functions within the guest OS.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12406323B2Splitting virtual graphics processing unit (GPU) driver between host and guest operating systems
Publication Date: 2025.09.02 GOOGLE LLC
  • US12406323B2 patent drawing
  • US12406323B2 patent drawing
  • US12406323B2 patent drawing

AI summary

In general, techniques are described for providing a virtual graphics processing unit driver by receiving, in a user mode of a guest process executed by a computing system, one or more graphics commands from an application of the guest process; triggering, in the user mode of the guest process, an operating system call in response to the one or more graphics commands; translating, in a kernel mode of the guest process, the operating system call into a first virtual buffer; translating, in the user mode of a host process executed by the computing system, the first virtual buffer into the operating system call; and sending, in the user mode of the host process, the operating system call to a graphics processing unit driver in a kernel mode of the host process.