forked from ge9/IddSampleDriver
-
-
Notifications
You must be signed in to change notification settings - Fork 157
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #228 from VirtualDisplay/bud3699-patch-1
Update README.md
- Loading branch information
Showing
1 changed file
with
51 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,114 +1,84 @@ | ||
# Virtual Display Driver | ||
Based on Microsoft Indirect Display Driver Sample. This creates a virtual display in Windows that acts and functions just like a real one. It's useful for streaming, virtual reality applications, recording, headless servers, etc. The benefit over a physical display is the ability to adjust resolutions and refresh rates beyond the physical displays capabilities. For example, this would enable the ability to stream a game from your home PC using game streaming software at 240hz at 8K while owning a 60hz 1080p monitor (unrealistic, but explains the abilities well). For servers without displays, this enabled remote desktop and screen streaming to other systems as if there were a display installed. | ||
▶️▶️▶️# Virtual Display Driver | ||
This project creates a _virtual display_ in Windows that functions just like a physical monitor. It is particularly useful for applications such as **streaming, virtual reality, screen recording,** and **headless servers—systems** that operate without a physical display attached. | ||
|
||
Supports emulating resolutions from **640 x 480** to **7680 x 4320 (8K)**, and refresh rates including **60hz, 75hz, 90hz, 120hz, 144hz, 165hz, 240hz, 480hz,** and **500hz.** | ||
Unlike physical monitors, this virtual display can support resolutions and refresh rates that go beyond standard hardware limitations, offering greater flexibility for advanced setups. Furthermore, custom EDIDs can be used to simulate/emulate existing hardware displays. | ||
|
||
This project uses the official Windows Indirect Display Driver combined with the IddCx class extension driver. | ||
## Download Latest Version | ||
|
||
## Download Stable Version | ||
- [Driver Installer (Windows 10/11)](https://github.com/VirtualDisplay/Virtual-Display-Driver/releases) - Check release page for release notes. | ||
|
||
> [!IMPORTANT] | ||
> Please make sure you download the correct version for your operating system! | ||
## EDID Database | ||
- [EDID Database by Bud3699](https://edid.mikethetech.com/) | ||
|
||
- [Windows 10 and 11 (no HDR)](https://github.com/itsmikethetech/Virtual-Display-Driver/releases/tag/23.10.20.2) | ||
- [Windows 11 23H2+ (HDR)](https://github.com/itsmikethetech/Virtual-Display-Driver/releases/tag/23.12.2HDR) | ||
You can use this database to load custom edid's into the driver! Or just general edid usage :) | ||
|
||
## Download Beta | ||
- [Universal Driver - 24.10.27 (Windows 10/11)](https://github.com/itsmikethetech/Virtual-Display-Driver/releases/tag/24.10.27) - Added more plus optimisations | ||
|
||
[Edid database by bud (beta only - for custom edid) ](https://edid.mikethetech.com/) | ||
|
||
|
||
## Installation | ||
|
||
### Release Instructions | ||
|
||
1. Download the latest version from the above or the website, and extract the contents to a folder. | ||
2. Copy the `\IddSampleDriver\` folder and its contents to `C:\IddSampleDriver\` before installing the driver **(important!)**. | ||
3. Right click and run the *.bat file **as an Administrator** to add the driver certificate as a trusted root certificate. | ||
4. Don't install the inf. Open device manager, click on any device, then click on the "Action" menu and click "Add Legacy Hardware". | ||
5. Select "Add hardware from a list (Advanced)" and then select Display adapters. | ||
6. Click "Have Disk..." and click the "Browse..." button. Navigate to the extracted files and select the inf file. | ||
7. You are done! Go to display settings to customize the resolution of the additional displays. These displays show up in Sunshine, your Oculus or VR settings, and should be able to be streamed from. | ||
8. You can enable/disable the display adapter to toggle the monitors. | ||
|
||
**Ps.** Make sure that `options.txt` is accessible for the system at `C:\IddSampleDriver\options.txt` or the installation will fail. | ||
|
||
--- | ||
- Step 1: Download the Installer | ||
- You can download the insaller directly from the [Releases](https://github.com/VirtualDisplay/Virtual-Display-Driver/releases) page. | ||
|
||
### Beta Release Instructions | ||
- Step 2: Run the Installer | ||
- Download and run the installer. | ||
- Follow the on-screen instructions to complete the installation. | ||
|
||
1. Download the beta version and extract the contents to a folder. | ||
2. Copy the `\VirtualDisplayDriver\` folder and its contents to `C:\VirtualDisplayDriver\` before installing the driver **(important!)**. | ||
3. Right click and run the *.bat file **as an Administrator** to add the driver certificate as a trusted root certificate. | ||
4. Don't install the inf. Open device manager, click on any device, then click on the "Action" menu and click "Add Legacy Hardware". | ||
5. Select "Add hardware from a list (Advanced)" and then select Display adapters. | ||
6. Click "Have Disk..." and click the "Browse..." button. Navigate to the extracted files and select the inf file. | ||
7. You are done! Go to display settings to customize the resolution of the additional displays. These displays show up in Sunshine, your Oculus or VR settings, and should be able to be streamed from. | ||
8. You can enable/disable the display adapter to toggle the monitors. | ||
- Step 3: Verify the Installation (Optional) | ||
- Check if the Virtual Display Driver is correctly installed by running the following: | ||
- **Device Manager:** Check "Device Manager" under "Display Adapters." | ||
- **Settings:** Check display settings under system settings and see if the virtual displays show. | ||
|
||
Manual installation can be found in the wiki | ||
|
||
## Easy Uninstall | ||
## 🤔 Comparison with other IDDs | ||
|
||
1. Open device manager | ||
2. Locate Display Adapters | ||
3. Right click on IddSampleDriver, choose "Uninstall device" | ||
4. There is a new popup window, in there click Attempt to remove driver for this device. | ||
The table below shows a comparison with other popular Indirect Display Driver | ||
projects. | ||
|
||
## Manual/Forced Uninstall | ||
![Untitled-6](https://github.com/user-attachments/assets/98ccb915-5a94-42f9-818b-213ceef4c3ac) | ||
|
||
Next instructions are for those cases where the device is removed from the system, but driver stil remains. This happens when there is a connection to the device while trying to remove the drivers. To | ||
remedy this, there is a a few tricks built into windows. So here goes: | ||
|
||
1. Open up a powershell terminal and input this: | ||
2. ```pnputil /enum-drivers``` | ||
3. Locate iddsampledriver.inf, there might be multiple pages of text. Make a note of the "published name", it's often unique for your system, but might look like "oem139.inf" | ||
4. ```pnputil /delete-driver oem139.inf``` | ||
5. (If you still get multiple displays after uninstall, try to repeat uninstall procedure in safemode.) | ||
¹ ARM64 Support in Windows 11 24H2 or later may require test signing be enabled. | ||
|
||
## HDR Support Now Available for Windows 11 23H2+ | ||
|
||
### Videos | ||
|
||
[![thumbnail2023](https://github.com/itsmikethetech/Virtual-Display-Driver/assets/25166211/1a64c390-5d8a-420f-8bb9-4642349fc132)](https://youtu.be/nNWpbRUPkn4 "How to install a virtual display") | ||
|
||
[Previous Video: How to install a virtual display](https://youtu.be/byfBWDnToYk "How to install a virtual display") | ||
### Installation Video | ||
|
||
### Screenshots: | ||
[![vidgit2](https://github.com/user-attachments/assets/f9135092-55dc-4311-bc9a-ebbbfbe60a85)](https://youtu.be/Oz_cfbfUx0E) | ||
|
||
![image](https://github.com/itsmikethetech/Virtual-Display-Driver/assets/25166211/0f1dfed6-c9ac-4cb6-92cf-7d9ab2ac0c66) | ||
## More Videos and Resources | ||
- 24.12.24 (Stable): MikeTheTech: [How to install the New Virtual Display Driver](https://youtu.be/Oz_cfbfUx0E) | ||
- 24.12.24 (Stable): MikeTheTech: [How to manually install the New Virtual Display Driver](https://youtu.be/sM9rNJWssAI) | ||
- 24.12.24 (Stable): Bud3699: [How to configure the VDD using the new Companion App](https://youtu.be/p_gfjE_cwjk) | ||
- 24.10.27 (Beta): [MikeTheTech: How to install a virtual display](https://youtu.be/byfBWDnToYk "How to install a virtual display") | ||
|
||
![image](https://github.com/itsmikethetech/Virtual-Display-Driver/assets/25166211/5cb8ce08-890f-4bc1-a1a6-34f22e103699) | ||
![Powerpoint](https://github.com/user-attachments/assets/9ac05776-36e1-4ba1-ac52-3f189dbd7730) | ||
|
||
![image](https://github.com/itsmikethetech/Virtual-Display-Driver/assets/25166211/02af86f2-b896-4265-9174-b17c9a1aeab7) | ||
## 🤝 Sponsors | ||
|
||
## License | ||
<table> | ||
<tr> | ||
<td><img src="https://github.com/user-attachments/assets/ca93d971-67dc-41dd-b945-ab4f372ea72a" /></td> | ||
<td>Free code signing on Windows provided by <a href="https://signpath.io">SignPath.io</a>, certificate by <a href="https://signpath.org">SignPath Foundation</a></td> | ||
</tr> | ||
</table> | ||
|
||
MIT and CC0 or Public Domain (for changes I made, please consult Microsoft for their license), choose the least restrictive option. | ||
|
||
## Disclaimer: | ||
## Developers | ||
|
||
This software is provided "AS IS" with NO IMPLICIT OR EXPLICIT warranty. It's worth noting that while this software functioned without issues on my system, there is no guarantee that it will not impact your computer. It operates in User Mode, which reduces the likelihood of causing system instability, such as the Blue Screen of Death. However, exercise caution when using this software. | ||
- Shoutout to **[MikeTheTech](https://github.com/itsmikethetech)** Project Boss man, owner and programmer! | ||
- Shoutout to **[Bud](https://github.com/bud3699)** For a ton of features, companion & installer work | ||
- Shoutout to **[zjoasan](https://github.com/zjoasan)** For scripts and part of installer | ||
|
||
## Acknowledgements | ||
|
||
Shoutout to **[MikeTheTech](https://github.com/itsmikethetech)** Project Boss man, owner and programmer! | ||
|
||
Shoutout to **[Bud](https://github.com/bud3699)** and **[zjoasan](https://github.com/zjoasan)** for jumping on the team and helping with not just support, but lots of great new features! | ||
|
||
Shoutout to **[Roshkins](https://github.com/roshkins/IddSampleDriver)** for the original repo. | ||
|
||
Shoutout to **[Baloukj](https://github.com/baloukj/IddSampleDriver)** for the 8-bit / 10-bit support. (Also, first to push the new Microsoft Driver public!) | ||
|
||
Shoutout to **[Anakngtokwa](https://github.com/Anakngtokwa)** for assisting with finding driver sources. | ||
|
||
**[Microsoft](https://github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay)** Indirect Display Driver/Sample (Driver code) | ||
|
||
Thanks to **[AKATrevorJay](https://github.com/akatrevorjay/edid-generator)** for the hi-res EDID. | ||
|
||
Shoutout to **[LexTrack](https://github.com/lextrack/)** for the MiniScreenRecorder script. | ||
- Shoutout to **[Roshkins](https://github.com/roshkins/IddSampleDriver)** for the original repo. | ||
- Shoutout to **[Baloukj](https://github.com/baloukj/IddSampleDriver)** for the 8-bit / 10-bit support. (Also, first to push the new Microsoft Driver public!) | ||
- Shoutout to **[Anakngtokwa](https://github.com/Anakngtokwa)** for assisting with finding driver sources. | ||
- **[Microsoft](https://github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay)** Indirect Display Driver/Sample (Driver code) | ||
- Thanks to **[AKATrevorJay](https://github.com/akatrevorjay/edid-generator)** for the hi-res EDID. | ||
- Shoutout to **[LexTrack](https://github.com/lextrack/)** for the MiniScreenRecorder script. | ||
|
||
## Star History | ||
|
||
[![Star History Chart](https://api.star-history.com/svg?repos=VirtualDisplay/Virtual-Display-Driver&type=Date)](https://star-history.com/#VirtualDisplay/Virtual-Display-Driver&Date) | ||
|
||
## Disclaimer: | ||
|
||
This software is provided "AS IS" with NO IMPLICIT OR EXPLICIT warranty. It's worth noting that while this software functioned without issues on our systems, there is no guarantee that it will not impact your computer. It operates in User Mode(Session0), which reduces the likelihood of causing system instability, such as the Blue Screen of Death. However, exercise caution when using this software. |