Re: new device driver features
Alex Deucher <agd5f-/[email protected]>
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
I hate to reply to my own email, but I thought of one more: Dealing with things like DPI and gamma properly per-head on single logical screen (xinerama style) multi-head. Alex -------------------------- We should also design it with "hot" reconfiguration in mind. Things like enabling/disabling output ports, changing crtc and virtual resolutions, color depths, screen orientation, overlay changes, swapping input devices, per-context 3D allocations, PCI(E)/AGP hot-swap of video cards, adding Xservers on other PCs. Some other things to think about: - power management - multiple users on one PC/video card - idea of multiple focus - 2+ users can share a single desktop, eg. collaborating on a single project, etc. this concept of a "user" can be tied to a particular set of input devices. the "user" would also have their own clipboard, etc. Each "user" could have a window in focus and actively be working on it independantly, or share a window and both actively edit a single document. - multi-head/xinerama/mergedfb - how can we mix HW accel between heads (one chip, multiple chips, PCs, etc)? Chromium? - X server spread across multiple physical PCs - DMX? We may not be able to support these all off the bat, but if we could design with them in mind, it would ease the process of adding that functionality later. Alex --- Brian Paul <brian-CdwZJljFklH+2FeEXyspIVaTQe2KTcn/@public.gmane.org> wrote: > > So, it sounds like people want a new device driver model upon which > the X server (or other things) can be layered. Has anyone outlined > the feature set for such a driver? > > I'll go out on a limb and list what first occurs to me: > > > Initialization: > - what does this really involve? > > Query card capabilities: > - amount of VRAM > - number of screens > - make/model info > - more? > > Display: > - query supported display modes (for each screen) > - set display mode (for each screen) > - set start address/stride for scanning out the framebuffer > - set hardware colormap > - enable/disable each screen > - stereo mode > - setup hardware video overlays > - more? > > Monitor: > - query monitor's parameters/limits (DDC / EDID?) > - more? > > Cursor: > - show/hide > - get/set position > - get/set cursor image > - more? > > Memory: > - allocate/free VRAM > - AGP allocation? > - map VRAM into process address space > > Rendering: > - negotiate DMA based rendering? > - OpenGL renderer as an intrinsic piece, or separate? > - simple, built-in rendering (like blits)? > - more? > > > SciTech's SNAP interface provides this sort of stuff, plus lots of > rendering and utility functions. Is that sort of what people are > looking for? > > -Brian > > __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree