Windows Graphics Driver (WDDM / DirectX) - for virtualised environment RRS feed

  • Question

  • Hey all,

    Basically I'm interested in developing a WDDM driver compatible with DirectX (9/10/11). I've been interested in the DDK for a long time, so I'm hoping this will be a nice way in. :-)

    I'm looking to run some automated tests against a game I've written, inside a VM and if not all virtualised environments still have pretty poor VGA pass-through. For example, VMware workstation & Virtualbox have a little Directx9 support, but anything in DX10/11 is messy.

    The driver doesn't even have to render any graphics - just act as a stub. I guess I could just entirely remove the graphics layer for testing purposes, but I was hoping this would be a nicer (and more transparent) solution. I may also choose to render some 2D graphics at a later date, but nothing too complex, maybe using my own 2D graphics library.

    Does anyone know of any tutorials or books out there on this subject? Are there any good books on Driver creation? How can I expose my Directx driver to my application?

    Also, is loading custom drivers easy on Win7/8? I thought the process got harder after XP.


    - Calvin

    Monday, April 14, 2014 1:53 PM

All replies

  • There are no books dedicated to writing graphics drivers, general driver books don't touch graphics since it too specialized and complicated a topic. There are no samples either from which to start unfortunately

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, April 14, 2014 2:08 PM
  • There appears to be a few resources:

    It also seems that I could produce a user-mode driver too:

    Though, I've no idea how to install/set the user-mode driver as the default graphics adapter, any ideas?


    Monday, April 14, 2014 2:30 PM
  • Unfortunately, WDDM drivers are some of the largest drivers in the Windows ecosystem, and the typical team for the hardware/bios/drivers for a display card numbers in the 100's of people.   This is not a great way to learn driver programming, and if you want to do WDDM drivers for a living you are going to have to join one of the large teams.

    I would instead start with a simple driver using the Windows Driver Framework.  There is an excellent book "Developing Driver with the Windows Driver Foundation" that while a few years old will get you started.  The WDK has a large number of samples, many of which are for readily available hardware, or are software only.

    Loading drivers is a little more complex, but the latest WDK provides support for the efforts.

    Don Burn Windows Filesystem and Driver Consulting Website: Blog:

    Monday, April 14, 2014 3:38 PM
  • Cheers - I'll check out the book! :-)
    Tuesday, April 15, 2014 9:50 AM