With an INF file you can override the Extended Display Identification Data (EDID) of any monitor. A sample INF file, Monsamp.inf, that shows how to do this was provided with the Windows Driver Kit (WDK) through Windows 7 (WDK version 7600). Monsamp.inf is reproduced here.
Microsoft’s newest operating system, Windows 10, has brought its own share of inherent bugs and the biggest one of them is the “No sound on Windows 10” issue. The reason for this are many but chief among them are a flaw in the Windows 10 sound settings and faulty driver released by Creative which causes a Blue Screen of Death half way.
For info on how to use and modify Monsamp.inf, see Monitor INF File Sections.
Approaches to correcting EDIDs
All monitors, analog or digital, must support EDID, which contains info such as the monitor identifier, manufacturer data, hardware identifier, timing info, and so on. This data is stored in the monitor’s EEPROM in a format that is specified by the Video Electronics Standards Association (VESA).
Press the Windows key and 'Pause/Break' at the same time. Click on 'Advanced system settings' Click on the Hardware tab. Click on 'Device Installation Settings' Activate 'No, let me choose what to do to' Activate 'Never install driver software from windows update' (the last point is not available in all builds, then the second last point is just 'No' Note: This will turn of all hardware. DisplayLink technology is fully supported on all current versions of Windows 10 (Intel and AMD CPUs). In the summer of 2016, the DisplayLink architecture on Windows 10 was improved. This changes the behaviour and installation methods. The details of this are covered below: Windows 10 Anniversary Update requires our driver v8.0 or above. Fake connect a Monitor by RobinJack0r Published June 25, 2014 Updated April 13, 2019 No matter whats the reason, there is a way to tell Windows that you have a Monitor connected. Sometimes, due to some issues with updates or drivers, you will face issues like the second monitor not being detected on Windows 10. Under normal circumstances, adding a second monitor on a computer should be very easy to do the job and it should work just by connecting the monitor’s display connect with your computer’s display output.
Monitors provide the EDID to Microsoft Windows components, display drivers, and some user-mode applications. For example, during initialization the monitor driver queries the Windows Display Driver Model (WDDM) driver for its brightness query interface and device driver interface (DDI) support, which is in the EDID. Incorrect or invalid EDID info on the monitor’s EEPROM can therefore lead to problems such as setting incorrect display modes.
There are two approaches to correcting EDIDs:
The standard solution is to have the customer send the monitor back to the manufacturer, who reflashes the EEPROM with the correct EDID and returns the monitor to the customer.
A better solution, described here, is for the manufacturer to implement an INF file that contains the correct EDID info, and have the customer download it to the computer that's connected to the monitor. Windows extracts the updated EDID info from the INF and provides it to components instead of the info from the EEPROM EDID, effectively overriding the EEPROM EDID.
In addition to replacing the EDID info as described here, a vendor can provide an override for the monitor name and the preferred display resolution. Such an override is frequently made available to customers through Windows Update or digital media in the shipping box. Such an override receives higher precedence than the EDID override mentioned here. Guidelines for achieving this can be found in Monitor INF File Sections.
EDID format
Virtual Monitor Driver Windows 10
EDID data is formatted as one or more 128-byte blocks:
EDID version 1.0 through 1.2 consists of a single block of data, per the VESA specification.
With EDID version 1.3 or enhanced EDID (E-EDID), manufacturers can specify one or more extension blocks in addition to the primary block.
Each block is numbered, starting with 0 for the initial block. To update EDID info, the manufacturer’s INF specifies the number of the block to be updated and provides 128 bytes of EDID data to replace the original block. The monitor driver obtains the updated data for the corrected blocks from the registry and uses the EEPROM data for the remaining blocks.
Updating an EDID
To update an EDID by using an INF:
The monitor manufacturer implements an INF that contains the updated EDID info and downloads the file to the user’s computer. This can be done through Windows Update or by shipping a CD with the monitor.
The monitor class installer extracts the updated EDID info from the INF and stores the info as values under this registry key:
Each EDID override is stored under a separate key. For example:
The monitor driver checks the registry during initialization and uses any EDID info that's stored there instead of the corresponding info on EEPROM. EDID info that has been added to the registry always takes precedence over EEPROM EDID info.
Windows components and user-mode apps use the updated EDID info.
Overriding an EDID with an INF
To override an EDID, include an AddReg directive in the INF for each block that you want to override, in the following format:
Windows 10 Fake Monitor Driver Update
The block number is a zero-indexed value of the EDID block to override. The data bytes should be formatted as 128 hexadecimal integers that contain the binary EDID data. The '0x1' value after the block number is a flag indicating that this registry value contains binary data (FLG_ADDREG_BINVALUETYPE).
Download Monitor Driver Windows 10
Manufacturers must update only those EDID blocks that are incorrect. The system obtains the remaining blocks from EEPROM. The following example shows the relevant sections of an INF that updates EDID blocks 0, 4, and 5. The monitor driver obtains blocks 1 - 3 and any extension blocks that follow block 5 from EEPROM:
For more info on INFs in general, and AddReg and DDInstall in particular, see Creating an INF File.