XFree86 X server ``New Design'' (DRAFT)

1. Preface
2. The XF86Config File
2.1. Device section
2.2. Screen section
2.3. InputDevice section
2.4. ServerLayout section
2.5. Options
3. Driver Interface
4. Resource Access Control Introduction
4.1. Terms and Definitions
4.1.1. Bus
4.1.2. Entity
4.1.3. Resource
4.1.4. Server States
5. Control Flow in the Server and Mandatory Driver Functions
5.1. Parse the XF86Config file
5.2. Initial processing of parsed information and command line options
5.3. Enable port I/O access
5.4. General bus probe
5.5. Load initial set of modules
5.6. Register Video and Input Drivers
5.7. Initialise Access Control
5.8. Video Driver Probe
5.9. Matching Screens
5.10. Allocate non-conflicting resources
5.11. Sort the Screens and pre-check Monitor Information
5.12. PreInit
5.13. Cleaning up Unused Drivers
5.14. Consistency Checks
5.15. Check if Resource Control is Needed
5.16. AddScreen (ScreenInit)
5.17. Finalising RAC Initialisation
5.18. Finishing InitOutput()
5.19. Mode Switching
5.20. Changing Viewport
5.21. VT Switching
5.22. End of server generation
6. Optional Driver Functions
6.1. Mode Validation
6.2. Free screen data
7. Recommended driver functions
7.1. Save
7.2. Restore
7.3. Initialise Mode
8. Data and Data Structures
8.1. Command line data
8.2. Data handling
8.3. Accessing global data
8.4. Allocating private data
9. Keeping Track of Bus Resources
9.1. Theory of Operation
9.2. Resource Types
9.3. Available Functions
9.3.1. Probe Phase
9.3.2. PreInit Phase
9.3.3. ScreenInit Phase
10. Config file ``Option'' entries
11. Modules, Drivers, Include Files and Interface Issues
11.1. Include files
12. Offscreen Memory Manager
13. Colormap Handling
14. DPMS Extension
15. DGA Extension
16. The XFree86 X Video Extension (Xv) Device Dependent Layer
17. The Loader
17.1. Loader Overview
17.2. Semi-private Loader Interface
17.3. Module Requirements
17.4. Public Loader Interface
17.5. Special Registration Functions
18. Helper Functions
18.1. Functions for printing messages
18.2. Functions for setting values based on command line and config file
18.3. Primary Mode functions
18.4. Secondary Mode functions
18.5. Functions for handling strings and tokens
18.6. Functions for finding which config file entries to use
18.7. Probing discrete clocks on old hardware
18.8. Other helper functions
19. The vgahw module
19.1. Data Structures
19.2. General vgahw Functions
19.3. VGA Colormap Functions
19.4. VGA Register Access Functions
20. Some notes about writing a driver
20.1. Include files
20.2. Data structures and initialisation
20.3. Functions
20.3.1. SetupProc
20.3.2. GetRec, FreeRec
20.3.3. Identify
20.3.4. Probe
20.3.5. AvailableOptions
20.3.6. PreInit
20.3.7. MapMem, UnmapMem
20.3.8. Save, Restore
20.3.9. ModeInit
20.3.10. ScreenInit
20.3.11. SwitchMode
20.3.12. AdjustFrame
20.3.13. EnterVT, LeaveVT
20.3.14. CloseScreen
20.3.15. SaveScreen
20.3.16. FreeScreen