Skip to content

DummyPlugs

Chase Payne edited this page Oct 3, 2024 · 26 revisions

Dummy Plug Guide: Enabling HDR in Windows

Welcome to the central hub for recommendations on dummy plugs and virtual display solutions. This guide covers their uses, advantages, and provides detailed instructions for modifying EDID and hardware settings to enable HDR in Windows. Whether you're setting up for gaming, streaming, or multi-monitor configurations, this guide will help you achieve a seamless and high-quality display experience.

Table of Contents

  1. Introduction
  2. Virtual Display Solutions
  3. Recommended Dummy Plugs
  4. Benefits of Dummy Plugs
  5. Drawbacks of Dummy Plugs
  6. Why Choose Dummy Plugs Over Virtual Solutions?
  7. Configuration
  8. Configuring Sunshine for Dummy Plugs
  9. Troubleshooting

Introduction

This guide provides comprehensive recommendations and instructions for using both virtual display solutions and dummy plugs to enable HDR in Windows. It covers the benefits of each approach, lists compatible products, and offers step-by-step guidance for configuring your system to achieve optimal display performance.

Note: While most HDMI 2.0 and DisplayPort dummy plugs are compatible, modifying the EDID directly on the hardware depends on the manufacturer's specifications. If your dummy plug is EDID write-locked, your options are limited to purchasing a different model or, with sufficient expertise, potentially modifying the hardware yourself. This guide does not support hardware modifications.


Virtual Display Solutions

Before opting for hardware dummy plugs, consider using virtual display solutions, especially if you're running Windows 11. Virtual solutions can offer a cost-effective and flexible alternative to hardware-based methods.

Recommendations by Windows Version

  • Windows 10 Users:

    • Virtual display solutions are not recommended due to compatibility and performance limitations.
  • Windows 11 Users:

    • Recommended: Try virtual display solutions first. If they do not meet your needs, then consider purchasing a hardware dummy plug.

Advantages of Virtual Solutions on Windows 11

Thanks to the July 2024 Windows updates, most performance problems with the IDDSampleDriver have been resolved. If you are using Windows 11 and have installed the latest pre-release of Sunshine, virtual displays are now recommended over physical dummy plugs. You can install the virtual display driver from the Virtual Display Driver Download Page. You can find the instructions on how to install it on the repository page

Why Use the Latest Pre-release of Sunshine?

The latest pre-release of Sunshine is recommended because it includes crucial bug fixes for users with both an iGPU and a dedicated GPU. Previously, this hardware combination could cause the IDDSampleDriver to break. This issue has been resolved as long as you have installed the latest pre-release from the official Sunshine repository:
Sunshine Releases

Note:

  • If your computer does not have an iGPU, you do not need the latest pre-release of Sunshine.
  • Alternatively, you can disable your iGPU if you'd prefer not to use the latest pre-release of Sunshine.

Perks of Using IDD Sample Driver

  1. Full Support for Most Resolutions and Bit Depths

    • The IDD Sample Driver supports high resolutions and high frame rates at maximum bit depth with minimal limitations.
    • Note: While dummy plugs have inherent limitations (e.g., not supporting 4K at 120fps or 10-bit HDR at 4K 60Hz), this guide offers effective workarounds to achieve a 4K 120Hz 10-bit HDR experience for most games.
  2. Cost-Effective

    • The IDD Sample Driver is free to try and requires no initial expenses. It functions optimally with Windows 11 but is limited to 1080p at 60Hz on earlier versions.
  3. Near Identical Performance

    • Except for exclusive fullscreen games, the IDD Sample Driver performs similarly to a hardware solution. While hardware offers the best experience, virtual solutions achieve 99% of the performance for most games.
  4. Easy to Trial

    • The IDD Sample Driver can be easily removed after testing, allowing you to try it without a long-term commitment.

Problems with IDD Sample Driver

  1. Glitchy HDR

    • HDR functionality can be unstable, often causing colors to appear overblown. This can be resolved by toggling HDR off and on again or by installing the AutoHDR script and enabling the IddSampleDriver fix option in the settings.json file.
  2. Poor Performance in Exclusive Fullscreen

    • Streaming games in exclusive fullscreen may lock at 45fps or lower. However, on Windows 11, the Optimize Windowed Mode feature mitigates this issue.

Note: Other previously reported issues, such as judder and poor performance at higher resolutions, have been fixed as of the July 2024 Windows 11 updates.

Important: If using the IDD Sample Driver, manually add a 3840x2160 resolution to the EDID using the Custom Resolution Utility (CRU). The default EDID typically includes only 3840x1080, which may restrict some games to this lower resolution despite higher options available in Windows settings.


Recommended Dummy Plugs

If virtual display solutions do not meet your requirements, hardware dummy plugs are a reliable alternative. Based on extensive personal testing, the following dummy plugs are not EDID write-locked, allowing modifications to enable HDR even if not explicitly advertised:

  1. HDMI Dummy Plug

  2. DisplayPort Dummy Plug

These recommendations are specific to availability in the United States. If you find a more cost-effective dummy plug in your region that is also not EDID write-locked, please inform me so I can update this guide accordingly.


Benefits of Dummy Plugs

Top-Level Perks (Virtual or Hardware)

  1. Privacy

    • Streaming games using a dummy display keeps the content invisible on the host computer. This allows for private streaming of content, such as anime visual novels, directly to your bedroom without others noticing.
  2. Built-in Virtual Audio

    • Both HDMI and DisplayPort dummy plugs can be configured with speakers. This setup allows you to route audio through Sunshine, ensuring that your PC doesn't play sound while streaming. It also addresses issues like low volume output for users with SteelSeries headsets.
  3. Ideal for Multi-Monitor Setups

    • In dual monitor configurations, applications may not open on the intended screen. A dummy plug ensures that all content opens on the designated streaming screen and retains window locations after streaming, reducing the need to rearrange programs.
  4. Stability

    • Monitors can enter deep sleep modes, causing issues like reduced resolution and potentially disrupting Sunshine until the monitor wakes up. A dummy plug maintains stable display settings by always being active, eliminating these concerns.

Drawbacks of Dummy Plugs

  1. Quality Limitations

    • Current dummy plugs and virtual solutions require additional configuration to support features like 4K at 120Hz and 10-bit HDR.
  2. Setup Complexity

    • Dummy plugs are not plug-and-play devices. Effective usage often necessitates custom configurations and scripting, which this guide aims to simplify.
  3. Monitor Restoration Challenges

    • The Windows API makes it difficult to restore monitor profiles after unexpected reboots or crashes. Manual adjustments using the Windows+P shortcut may be necessary. Enabling automatic login can mitigate these issues but may reduce security.

Why Choose Dummy Plugs Over Virtual Solutions?

While virtual display solutions offer a viable alternative, especially on Windows 11, dummy plugs provide a more stable and seamless streaming experience once properly set up. They significantly reduce odd behaviors and performance issues often associated with virtual solutions. For users sensitive to display inconsistencies like judder, dummy plugs offer a superior experience that closely mimics local gameplay, ensuring an almost perfect replication of the intended visual performance.

Benefits of Dummy Plugs Compared to Virtual Screens

  1. Stability

    • Dummy plugs generally operate without intermittent issues once set up, unlike virtual screens which still have minor glitches with HDR and issues with games that run in exclusive fullscreen mode only.
  2. Fluidity

    • The streaming experience with dummy plugs is smoother and more consistent, similar to using a real monitor without an actual display attached.

Drawbacks of Dummy Plugs Compared to Virtual Screens

  1. Limited Range of Resolutions

    • Most dummy plugs are limited to HDMI 2.0 specifications, restricting them to less than true 4K 120Hz at 10-bit color in desktop environments (e.g., running applications like code editors or web browsers). To overcome this, you can disable VSync, allowing games to exceed the dummy plug’s refresh rate limitations. For 4K HDR at 10-bit, set the dummy plug to 4K@30Hz with VSync off. Note that Windows enforces VSync in the desktop environment, capping it at 30 FPS, but most games will still stream at 120 FPS or higher on Windows 11.
  2. Workarounds Required for HDR

    • Most dummy plugs do not support HDR by default. Windows requires display hardware EDID information to support HDR. This limitation can be bypassed by flashing a modified EDID onto the dummy plug.

Note: Virtual screens on Windows 11 offer a near-perfect experience, provided that the game runs in borderless windowed mode. Dummy plugs, while functional with HDR or exclusive fullscreen modes, do have some limitations. However, I do not recommend purchasing any dummy plug that claims to support HDMI 2.1 or 8K@60Hz, as they are unlikely to work.

The licensing requirements for true HDMI 2.1 certification are extensive and costly. Manufacturers can advertise their products as HDMI 2.1 compliant, even if they do not meet official specifications. As a result, I would not trust any dummy plug making such claims. If you want a true HDMI 2.1 solution, you should invest in a more expensive EDID emulator instead of a dummy plug. These can range from $60 to $200, so only spend that if you have the budget and desire for perfection.


Configuration

Enabling HDR Support on DisplayPort/HDMI Dummy Plugs

Most dummy plugs are not sold with HDR enabled, and Windows will not allow HDR activation unless the hardware's EDID supports it. To enable HDR, you can flash a modified EDID onto the dummy plug. Follow these steps carefully:

  1. Flash an EDID File with HDR Capability

    • Overwrite the default EDID of the dummy plug with an HDR-capable EDID file.
    • Caution: If the dummy plug's EDID is write-locked by the manufacturer, this method may not be feasible. Consider using a different dummy plug if necessary.
  2. Select the Appropriate EDID File

    • HDMI Dummy Plugs: Download dummy.bin (Compatible with 4K 60Hz)
    • DisplayPort Dummy Plugs: Download dp_dummy.bin
      • If your DisplayPort plug does not meet the specifications, use the Custom Resolution Utility (CRU) to remove unsupported 4K 60Hz resolutions before flashing.
  3. Proceed with Caution

    • Flashing the EDID carries a small risk of bricking the dummy plug, rendering it non-functional. This is rare, and the plug can often be restored to its original state.
  4. Flashing Process

    • Download the EDID Writer Tool: Blur Busters Forum
    • Backup Current EDID:
      • Always back up the current EDID before flashing.
    • Load the EDID File:
      • Launch the flashing tool and load the appropriate .bin file.
    • Flash the EDID:
      • Connect your dummy plug to your computer.
      • Ensure the dummy plug is detected by the flashing tool.
      • Follow the on-screen instructions to flash the new EDID.
    • Reboot:
      • Restart your computer to apply the new settings.

Enabling 10-bit Color on Dummy Plugs at High Resolutions

To stream at 10-bit color depth on Moonlight, ensure the HDR setting is enabled in Moonlight. For devices that do not support HDR:

  1. Enable 10-bit Color in Moonlight

    • Turn on the HDR setting in Moonlight even if the client device does not support it.
  2. Configure Windows Settings

    • Turn off HDR in Windows or set Windows for SDR Brightness to 0 to prevent washed-out colors.
  3. Client Limitations

    • Not all clients support enabling HDR on non-HDR devices (e.g., Moonlight-Qt on Linux). In such cases, streaming at 10-bit color is not possible.

TIP: If you've already downloaded the recommended EDID files from the Enabling HDR Support section, you can skip the first three steps below.

  1. Create a New Resolution in CRU

    • Open CRU (Custom Resolution Utility).
    • Create a new resolution through detailed resolutions or the TV Resolutions data block (e.g., add 4K30Hz).
    • Save and apply the settings using reset-64.exe.
  2. Update Colimetry Block

    • Ensure all BT.2020 options are checked.
  3. Update HDMI Blocks

    • For each HDMI block, enable all color options under color formats.
    • For the HDMI 2.1 block, enable all options under YCbCr deep color and Display Stream Compression.
  4. Configure the Dummy Plug

    • Set the dummy plug as an extended screen.
    • Open the NVIDIA Control Panel and adjust the resolution to 1080p, selecting the dummy plug monitor.
    • IMPORTANT: Set the color settings to 12-bit color for HDMI dummy plugs or 10-bit color for DisplayPort plugs.
    • Apply the changes, then reopen the NVIDIA Control Panel.
    • Change the resolution to 3840x2160 @ 30Hz.
    • The color depth should now be set to 12-bit or 10-bit, depending on your dummy plug type.

    Note: Streaming and having 10 or 12-bit color yield no quality difference since Sunshine encodes at a maximum of 10 bits. The choice between 12-bit or 10-bit is due to HDMI dummy plugs not functioning well with 10-bit at 4K 30Hz.

  5. Download and Configure Resolution Matcher

    This script automates matching the client resolution and swaps the refresh rate to 30Hz when HDR is enabled, which is necessary for streaming at 10-bit color.

    NOTE: Don't be discouraged by the low refresh rate; you can still stream at 120fps or higher. Refer to the Bypassing the 30Hz Refresh Rate Limit section for more details.

Borderless Windowed Mode

To maximize game performance:

  • Run Games in Borderless Windowed Mode:
    • Inherits the resolution from the desktop.
    • Use provided scripts to automate this for a seamless experience.

Downside for Non-Windows 11 Users:

  • Forces VSync, which can be problematic with low refresh rate dummy plugs unless using tools like SpecialK.
  • Some games may falsely report as full-screen when running in borderless windowed mode.
  • On Windows 10, borderless windowed mode enforces VSync, which may limit performance.

Bypassing the 30Hz Refresh Rate Limit

If your dummy plug is limited to 4K 30Hz for 10-bit HDR, you might worry that games will be locked to 30FPS. Here's how to overcome this:

  1. Windows 11 Users:

    • Utilize the Optimize Windowed Mode feature to run most games in borderless windowed mode without forcing VSync. This allows high-framerate streaming even if the dummy plug doesn't support a high refresh rate.
  2. Non-Windows 11 Users:

    • Ensure Games are in Full-Screen Mode with VSync Disabled:
      • Be aware that some games may misleadingly claim to be in full-screen mode while running in borderless windowed mode.
    • Use Tools Like SpecialK:
      • Helps force games into borderless windowed mode but may be flagged as a hack tool in multiplayer games and is less effective than Windows 11's built-in feature.
    • Last Resort - Use IDDSample Driver:
      • For high-resolution streaming, though it is known for performance issues and is not recommended.

Summary:

  • Windows 11: Best support for bypassing the 30Hz limit using built-in features.
  • Windows 10: Requires additional tools and careful configuration to achieve similar results.

Important Laptop Configuration

There are known issues with using Sunshine on laptop computers, particularly those that have both integrated graphics and a dedicated graphics card. The problem with this setup is that depending on what the OS selects as the priority GPU for the display, you may either be forced to use the iGPU encoder (which is significantly slower than the dGPU) or encounter streaming breaks due to limitations in the Windows API when capturing the screen with a mixed GPU configuration.

There is no easy fix for this, but if you are a laptop user and want to ensure that you are always streaming with your dedicated graphics card and prevent Sunshine from breaking, you should visit this page for more information on how to fix it: Laptop Only Required Fix (Desktop users do not need)

Fixing Sunshine itself for this issue is very difficult and would require a significant refactor of most of Sunshine's code, making it unlikely to be resolved. Fortunately, with the provided workarounds, the impact of this issue is mitigated once you have installed them.


Configuring Sunshine for Dummy Plugs

To ensure stable streaming with Sunshine, it's recommended to use specific scripts that address common issues, such as display name changes and monitor configurations.

  1. Download and Apply Recommended Scripts:

    • Monitor Swap Automation Script
      • Disables all monitors except the dummy plug to stabilize display configurations.
      • Forces the operating system to move all programs to the dummy plug's screen.
      • Automatically restores original monitor settings after ending the stream.
  2. Configure Sunshine Web UI:

    • Navigate to Configuration > Audio/Video.
    • Ensure the Output Name field is left blank to prevent Sunshine from targeting a specific monitor.

Recommended Scripts

1. Monitor Swap Automation Script

2. Resolution Automation Script

  • Function: Matches the host resolution to various client aspect ratios and allows setting different resolutions for the host and client.
  • Use Case: Ideal for streaming devices like the Steam Deck, where you might want different resolutions for the host and client.
  • Download: Resolution Automation Script

3. AutoHDR Script

  • Function: Automates toggling HDR settings based on the client device and, if enabled in settings, also resolves most IDDSampleDriver HDR issues.
  • Download: AutoHDR Script

4. RTSS Limiter

  • Function: Applies a global frame rate limit to match the stream's requested framerate, useful for preventing microstuttering since it is recommended to disable VSync.
  • Download: RTSS Limiter

Note: These scripts enhance the stability and performance of your streaming setup by automating essential configuration tasks.


Troubleshooting

If you encounter issues with enabling HDR after successfully flashing the EDID, follow these steps:

  1. Reboot Your Computer

    • Optional: Backup your non-dummy plug EDID in CRU for future restoration.
  2. Run reset-all.exe from CRU

  3. Run restart64.exe from CRU

    • Optional: Restore the backed-up EDID if necessary. Do not restore the dummy plug EDID; it should read directly from the hardware EDID instead.