Wine Developer's Guide

Work in progress: This page is currently undergoing extensive revision. External links to specific parts of this page may now be broken due to the section having been edited, moved, merged with another section, or removed altogether. Consult the table of contents to find the section you are looking for. There may be related discussion on the talk page.

Table of Contents

I. Developing Wine

  1. Building Wine
  2. Running Wine
  3. Debugging Wine
  4. Debug Logging
  5. Other Debugging Techniques
  6. Coding Practice
  7. Writing Conformance Tests
  8. Submitting Patches
  9. Documenting Wine

II. Wine Architecture

  1. Overview
  2. Kernel modules
  3. Windowing system
  4. COM in Wine
  5. Wine and OpenGL
  6. Outline of DirectDraw Architecture
  7. Wine and Multimedia

III. Miscellaneous references

  1. Tips for Vim users
  2. Running Wine under Valgrind
  3. A list of windows messages, by value
  4. The format of a ternary raster operation code
  5. Windows Graphics Programming: Win32 GDI and DirectDraw by Feng Yuan (Working at HP for Printer Drivers; Now at Microsoft for WPF and XPS)
  6. All Development Wiki pages

List of Tables

1-1. WineDbg misc commands
1-2. WineDbg flow control commands
1-3. WineDbg break & watch points
1-4. WineDbg stack manipulation
1-5. WineDbg directory & source file manipulation
1-6. WineDbg list command examples
1-7. WineDbg displays
1-8. WineDbg disassembly
1-9. WineDbg memory management
1-10. WineDbg Win32 objects management
1-11. WineDbg debug channels management
1-12. WineDbg debug channels management
1-13. Debuggers comparison
7-1. Wine executables
7-2. Memory layout (Windows and Wine)
8-1. DOS, Win32 and NT paths equivalences
8-2. File systems' properties
8-3. Mapping of Windows device names into Unix device names
8-4. Function consoles implementation comparison
8-5. Console registry settings
13-1. Wine MCI drivers
13-2. Wine ACM drivers
13-3. Wine VIDC drivers
13-4. Wine multimedia configuration scheme


Uwe Bonnes; Jonathan Buzzard; Zoran Dzelajlija; Klaas van Gend; Francois Gouget; Jon Griffiths; Albert den Haan; Mike Hearn; André Hentschel; Ove Kaaven; Tony Lambregts; Marcus Meissner; Gerard Patel; Dimitrie Paun; Michele Petrovski; Eric Pouech; Douglas Ridgway; John Sheets; Lionel Ulmer; Ulrich Weigand; Morten Welinder; Jeremy White

This page was last edited on 15 January 2019, at 16:36.