Distributed Multihead X design
- 1. Introduction
- 1.1. The Distributed Multihead X Server
- 1.2. Layout of Paper
- 2. Development plan
- 2.1. Bootstrap code
- 2.2. Input device handling
- 2.3. Output device handling
- 2.3.1. Initialization
- 2.3.2. Handling rendering requests
- 2.4. Optimizing DMX
- 2.5. DMX X extension support
- 2.6. Common X extension support
- 2.7. OpenGL support
- 3. Current issues
- 3.1. Fonts
- 3.2. Zero width rendering primitives
- 3.3. Output scaling
- 3.4. Per-screen colormaps
- 4. Background
- 4.1. Core input device handling
- 4.1.1. InitInput()
- 4.1.2. InitAndStartDevices()
- 4.1.3. devReadInput()
- 4.1.4. ProcessInputEvents()
- 4.1.5. DisableDevice()
- 4.1.6. CloseDevice()
- 4.1.7. LegalModifier()
- 4.2. Output handling
- 4.2.1. InitOutput()
- 4.2.2. AddScreen()
- 4.2.3. ScreenInit()
- 4.2.4. CloseScreen()
- 4.2.5. GC operations
- 4.2.6. Xnest
- 4.2.7. Shadow framebuffer
- 4.3. Xinerama
- 4.3.1. Xinerama-specific changes to the DIX code
- 4.3.2. Xinerama-specific changes to the MI code
- 4.3.3. Intercepted DIX core requests
- 5. Development Results
- 5.1. Phase I
- 5.1.1. Scope
- 5.1.2. Results
- 5.1.3. X Test Suite
- 5.1.3.1. Introduction
- 5.1.3.2. Expected Failures for a Single Head
- 5.1.3.3. Expected Failures for Xinerama
- 5.1.3.4. Additional Failures from Xdmx
- 5.1.3.5. Summary and Future Work
- 5.1.4. Fonts
- 5.1.5. Performance
- 5.1.6. Pixmaps
- 5.2. Phase II
- 5.2.1. Moving from XFree86 4.1.99.1 to 4.2.0.0
- 5.2.2. Global changes
- 5.2.3. XSync() Batching
- 5.2.4. Offscreen Optimization
- 5.2.5. Lazy Window Creation Optimization
- 5.2.6. Subdividing Rendering Primitives
- 5.2.7. Summary of x11perf Data
- 5.2.8. Profiling with OProfile
- 5.2.9. X Test Suite
- 5.3. Phase III
- 5.3.1. SHAPE
- 5.3.2. RENDER
- 5.3.3. XKEYBOARD
- 5.3.4. XInput
- 5.3.5. DPMS
- 5.3.6. Other Extensions
- 5.4. Phase IV
- 5.4.1. Moving to XFree86 4.3.0
- 5.4.2. Extensions
- 5.4.2.1. XC-MISC (supported)
- 5.4.2.2. Extended-Visual-Information (supported)
- 5.4.2.3. RES (supported)
- 5.4.2.4. BIG-REQUESTS (supported)
- 5.4.2.5. XSYNC (supported)
- 5.4.2.6. XTEST, RECORD, DEC-XTRAP (supported) and XTestExtension1 (not supported)
- 5.4.2.7. MIT-MISC (not supported)
- 5.4.2.8. SCREENSAVER (not supported)
- 5.4.2.9. GLX (supported)
- 5.4.2.10. RENDER (supported)
- 5.4.2.11. Summary
- 5.4.3. Additional Testing with the X Test Suite
- 5.4.3.1. XFree86 without XTEST
- 5.4.3.2. XFree86 with XTEST
- 5.4.3.3. Xdmx with XTEST, without Xinerama, without GLX
- 5.4.3.4. Xdmx with XTEST, with Xinerama, without GLX
- 5.4.3.5. Xdmx with XTEST, with Xinerama, with GLX
- 5.4.3.6. Conclusion
- 5.4.4. Dynamic Reconfiguration
- 5.4.4.1. Dynamic reconfiguration extension
- 5.4.4.2. Bounding box
- 5.4.4.3. Sample applications
- 5.4.4.4. Additional notes
- 5.4.5. Doxygen documentation
- 5.4.6. Valgrind
- 5.4.7. RATS