XFree86® server 4.x 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