title: How do I start a UMDF IddCx Display Driver to emulate a Fake Display?
body: <p>I am an absolute beginner at windows driver development, so bear with me.</p>
  
  <p><strong>My Goal</strong></p>
  
  <p>I want to make a program that can emulate one or more fake displays in a Windows system. It should be able to create and destroy virtual monitors on demand, for example when an user changes a setting on a GUI. I don't care about processing the output of the display, because that will be handled by a different program.</p>
  
  <p><strong>Research</strong></p>
  
  <p>During my research, I found a program that lets me use an android device as a secondary monitor. I found that under the hood, the windows program creates a IddCx Windows Indirect Display Driver. From what I've understood, this driver is responsible for reporting the existence of a display to the OS. </p>
  
  <p>After some googling, I've come across a <a href="https://github.com/kfroe/IndirectDisplay" rel="nofollow noreferrer">GitHub repo</a> that seemed to demonstrate exactly what I was looking for. The project is a custom display driver intended for non-standard external display adapters (i.e. USB).</p>
  
  <p><strong>My Questions</strong></p>
  
  <p>First of all, how do I install the compiled driver? After a successful compile I get a .dll, an .inf and a .cer file. Should I copy these files somewhere in System32 or is there a tool that is responsible for installing drivers?</p>
  
  <p>Second of all, after the driver is installed in the OS, how can I start it, and communicate with it from a separate application to create / delete virtual monitors? I've noticed that the aforementioned display extension app creates a service that is presumably responsible for processing data from the android device and creating a virtual display accordingly.</p>
  
  <p>Thank you in advance!</p>