Virtual Display Driver

What is the Virtual Display Driver?

The Virtual Display Driver is a software solution that enables users to create virtual displays without the need for a physical monitor. This is particularly useful for headless servers, remote desktop applications, and other scenarios where physical monitors are impractical or unnecessary.

Just take me to the download

Key Features

  • Multiple Virtual Displays: Users can create and manage multiple virtual displays, overcoming the physical limitations of traditional setups.
  • Enhanced Productivity: Ideal for remote work, the Virtual Display Driver allows users to efficiently manage multiple tasks and applications across different virtual screens.
  • Flexible Configurations: Users can customize the virtual displays to meet their specific needs, whether for development, testing, or general use. Options expanding more and more.

Advantages

  • No Dummy Plug needed: Create as many virtual displays as needed without worrying about physical ports being used
  • Improved Remote Work: Boost productivity by managing multiple virtual screens, making it easier to multitask and organize work.
  • Easy Integration: The driver works seamlessly with existing windows 10 and 11 systems
  • Customizable: Tailor the virtual displays to fit different requirements, providing flexibility for various use cases.
Star History

About the Project

This project emulates virtual displays, offering additional screen space without requiring a physical monitor. It is designed to help users create multiple displays in environments such as headless systems or remote desktops.

The Virtual Display Driver is based on the Microsoft Indirect Display Driver Sample. It creates a virtual display in Windows that acts and functions just like a real one. This is particularly useful for various applications including streaming, virtual reality, recording, and managing headless servers. By adding virtual monitors to Windows 10/11 devices, it enhances the flexibility and functionality of desktop sharing software like OBS and Sunshine1.

Programmers

Mikethetech

Mikethetech

Project creator, overseeing the design and technical implementation.

GitHub Profile
Bud

Bud

Core programmer focused on developing the expansion of the core display driver functionality.

GitHub Profile
Jocke

Jocke

Idea man, Draft builder & Programmer

GitHub Profile

Acknowledgements

Special thanks to the contributors and developers who made this project possible:

  • Roshkins
    Original repo creator GitHub
  • Baloukj
    8 bit / 10 bit support GitHub
  • Anakngtokwa
    Assisting with finding driver sources
  • AKATrevorJay
    Hi-res EDID GitHub
  • Sajidur78
    Render Adapter picking support. GitHub
  • Community contributors and issue reporters
    For their support and suggestions in both finding bugs and improving the driver!

Installation & Uninstallation

Installation

  1. Download the latest version from the releases page.
  2. Extract contents to a folder.
  3. Copy the IddSampleDriver folder to C:\IddSampleDriver.
  4. Run the .bat file as Administrator to add the driver certificate. (This is only for the first time installing)
  5. Open Device Manager, click "Action" → "Add Legacy Hardware" → "Display Adapters" → "Have Disk..." → select the .inf file.

Uninstallation

  1. Open Device Manager → Display Adapters.
  2. Right-click IddSampleDriver → Uninstall device → "Attempt to remove driver for this device".
  3. Remove C:\IddSampleDriver from the C drive.

Force Uninstall

  1. Open PowerShell and run: pnputil /enum-drivers.
  2. Find iddsampledriver.inf, note the "published name", often oem139.inf.
  3. Run: pnputil /delete-driver oem139.inf.

Download Virtual Display Driver

Stable Version

Release Windows 10 and 11 (No HDR) - Version 23.10.20.2

Added new resolutions and refresh rates.

Download

Release Windows 11 23H2+ (HDR) - Version 23.12.2

First release with HDR support.

Download

Beta Version

Beta Universal Driver (Windows 10/11) - Version 24.9.11 Beta

Beta build with XML configuration, automatic/manual GPU selection, and more.

NO HDR FOR WINDOWS 10

Download

Source Code

Check out the source code

Older Versions

Beta Universal Driver (Windows 10/11) - 24.8.6

Added XML configuration and automatic or manual detection of best render adapter.

Download

Beta Windows 11 23H2+ (HDR) - 24.7.18

This release includes the first implementation of custom GPU adapter switching via adapter.txt.

Download

Release Windows 11 22H2+ (HDR) - 23.12.2

First release with HDR support.

Download

Beta Windows 10+ - 23.10.21

Initial attempt to fix broken refresh rates. All resolutions should now work with all refresh rates. Some resolutions may use a higher signal mode to accommodate, but the desktop resolution will remain correct. Working to align all active signals and desktop signals.

Download

Release Windows 10+ - 23.10.20.2

Added new resolutions and refresh rates.

Download

Release Windows 10+ - 23.10.20.1

Added support for new resolutions and refresh rates.

Download

Release Windows 10+ - 23.10.20

Added support for more resolutions

Download

Release Windows 10+ - 23.10.19

Added 2732 x 2048 support.

Download

Release Windows 10+ - 23.10.14.4

Added 90Hz support for VR and related applications.

Download

Release Windows 10+ - 23.10.14.3

Added support for 75hz, 144hz, and 240hz.

Download

Release Windows 10+ - 23.10.14.2

Fixed compatibility

Download

Release Windows 10+ - 23.10.14

Limited to 60hz and 120hz due to minor incompatibility. Adding new refresh rates soon.

Download

Release Windows 10+ - 1.0

Windows 10/11. Initial release with support for up to 240hz refresh rates.

Download

Development Instructions

Pre-Requisites

Ensure your development environment is set up with Visual Studio 2022, the proper Windows Driver Kit (WDK), and Software Development Kit (SDK).

You should have a solid understanding of driver development concepts

System corruption
Privilege elevation
Windows APIs
C++

Using the Source Code

  1. When using the driver’s source code, be aware that modifying the code may limit the support available from the project developers. They cannot account for any changes you introduce.
  2. To maximize support from the developers, consider forking the repository on GitHub and keeping your forked repository public.

Contribution Guidelines

  1. Submit your changes through pull requests (PRs). To improve reviewability and streamline contributions, it is recommended to make your PRs small and focused, such as submitting one PR per feature or bug fix.
  2. Always work in branches for different features or bug fixes before submitting PRs, allowing for better tracking and separation of changes.