Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • xserver xserver
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 18
    • Issues 18
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Adam Jackson
  • xserverxserver
  • Issues
  • #17

Closed
Open
Created Sep 06, 2018 by Adam Jackson@ajax🎧Owner

Refactor InitOutput

Similar to #16, but much more involved. Screen setup involves many more X-protocol-level resources (which is arguably a bug itself), and device initialization can fail in many more interesting ways than the input case. Some notes and themes:

  • All DDXes have a "configuration" phase, even if it's just command line parsing. DMX and Xorg would benefit if configuration phase was explicit instead of conditionally run if serverGeneration == 1.
  • Pixmap format setup can be simplified quite a bit, it looks very similar across DDXes.
  • Phases tend to be: ddx early setup, probe for each driver, ddx middle stuff, screen init for each successfully probed driver, ddx finalize. Not all DDXes have all the same pieces in the same order, or do anything in each stage.

I've summarized the steps for each DDX here: InitOutput

The goal is to align the phases for each DDX to look enough like each other that we can hoist the body of InitOutput to DIX.

Blocks: #2

Assignee
Assign to
Time tracking