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 downloadKey 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.
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
Bud
Core programmer focused on developing the expansion of the core display driver functionality.
GitHub ProfileAcknowledgements
Special thanks to the contributors and developers who made this project possible:
-
RoshkinsOriginal repo creator GitHub
-
timminatorUpcoming installer GitHub
-
Baloukj8 bit / 10 bit support GitHub
-
AnakngtokwaAssisting with finding driver sources
-
AKATrevorJayHi-res EDID GitHub
-
Sajidur78Render Adapter picking support. GitHub
-
Community contributors and issue reportersFor their support and suggestions in both finding bugs and improving the driver!
Installation & Uninstallation
Installation
- Download the latest version from the releases page.
- Extract contents to a folder.
- Copy the IddSampleDriver folder to C:\IddSampleDriver.
- Run the .bat file as Administrator to add the driver certificate. (This is only for the first time installing)
- Open Device Manager, click "Action" → "Add Legacy Hardware" → "Display Adapters" → "Have Disk..." → select the .inf file.
Uninstallation
- Open Device Manager → Display Adapters.
- Right-click IddSampleDriver → Uninstall device → "Attempt to remove driver for this device".
- Remove C:\IddSampleDriver from the C drive.
Force Uninstall
- Open PowerShell and run: pnputil /enum-drivers.
- Find iddsampledriver.inf, note the "published name", often oem139.inf.
- Run: pnputil /delete-driver oem139.inf.
Virtual Display Driver Configurator
This is an experimental feature created with care. While I have thoroughly tested it, I apologize in advance for any issues you may encounter. Thank you for your understanding. Made with love by Bud.
Download Virtual Display Driver
Source Code
Check out the source codeOlder Versions
Beta Virtual Display Driver (24.10.16) Pre-release
Massive Update By bud
• Hardware Cursor Support (can toggle off in XML).
• HDR10+ Support (can toggle in
XML).
• Custom EDID Support (can toggle in XML - format is user_edid.bin; NO
EMULATING RESOLUTIONS).
• Floating point refresh rates.
• Updated file path
location.
• Updated Driver name.*
• Added ARM64 Support.
• General small
tweaks/bug fixes.
NO HDR FOR WINDOWS 10
Contributors
Thanks to @bud3699 for adding all the above but 1*
Thanks to
@zjoasan for support/company and the driver rename.
Thanks to @itsmikethetech for the
trust in me blowing up the commits recently!
Beta Universal Driver (Windows 10/11) - Version 24.10.6 Beta
• Now includes and uses XML file for configuration.
• Added pipelines for direct/live
configuration in future companion app releases.
• Added new multi-level debug logging
for easier troubleshooting.
NO HDR FOR WINDOWS 10
Contributors
zjoasan and bud3699
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
Beta Universal Driver (Windows 10/11) - 24.8.6
Added XML configuration and automatic or manual detection of best render adapter.
Beta Windows 11 23H2+ (HDR) - 24.7.18
This release includes the first implementation of custom GPU adapter switching via adapter.txt.
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.
Release Windows 10+ - 23.10.20.1
Added support for new resolutions and refresh rates.
Release Windows 10+ - 23.10.20
Added support for more resolutions
Release Windows 10+ - 23.10.19
Added 2732 x 2048 support.
Release Windows 10+ - 23.10.14.4
Added 90Hz support for VR and related applications.
Release Windows 10+ - 23.10.14.3
Added support for 75hz, 144hz, and 240hz.
Release Windows 10+ - 23.10.14.2
Fixed compatibility
Release Windows 10+ - 23.10.14
Limited to 60hz and 120hz due to minor incompatibility. Adding new refresh rates soon.
Release Windows 10+ - 1.0
Windows 10/11. Initial release with support for up to 240hz refresh rates.
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
- 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.
- To maximize support from the developers, consider forking the repository on GitHub and keeping your forked repository public.
Contribution Guidelines
- 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.
- Always work in branches for different features or bug fixes before submitting PRs, allowing for better tracking and separation of changes.