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