Re: new device driver features
Alex Deucher <agd5f-/[email protected]>
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
Also, for i2c, do we want to use the kernel interfaces or re-implement in our lib? I suppose it depends on if the kernel supports i2c. linux does, not sure about the bsds. Alex --- Jon Smirl <jonsmirl-/[email protected]> wrote: > We might also want to try building a model where the server doesn't > need to run > with root priv. What would be the issues with removing the need for > root? > > Here is a first pass at a split.... > > Device driver: > > Query card capabilities: > > - amount of VRAM > > - number of screens > > - make/model info > > - interrupt # (Jon Smirl) > > - more? > OS probing > OS events - interrupt, power management > Current DRM functions > > Device specific library: > > Cursor: > > - show/hide > > - get/set position > > - get/set cursor image > > - 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 > > - enable shadow display / TV-out (Jon Smirl) > > - enable ROM to get PLL values (Jon Smirl) > > - more? > > Common code library: > > Memory: > > - allocate/free VRAM > > - AGP allocation? > > - map VRAM into process address space > > Initialization: > vm86 support so we can make BIOS calls when there is no other choice. > > - ability to resent a secondary card; only primary cards > > are reset at boot by the BIOS. (Jon Smirl) > > - more? > > - write a utility library of routines generally useful to most > drivers > > - EDID parsing > > - frame buffer memory allocation > > - I2C > > - mode line files, etc. > > Monitor: > > - query monitor's parameters/limits (DDC / EDID?) > > - fall back to a config file for monitors without DDC/EDID (Jon > Smirl) > > - more? > > Misc: > > - hot-swap ability (change monitors) (Alex Deucher) > > - power management (Alex Deucher) > > Rendering: > > - negotiate DMA based rendering? > > - OpenGL renderer as an intrinsic piece, or layered? > > - simple, built-in rendering (like blits)? > > - more? > > > > Jon Smirl > ------------------------------------------------------------ > > > > "PCI probing and resource allocation needs to be done by the OS. > > > > It shouldn't be very hard to write a minimal driver that used the > OS > > for probing and then exposed the frame buffer. That would allow > > software mesa/xserver to run on a lot of different hardware to > begin > > with. We can then come around later and fix the acceleration. > > > > I'm also against having multiple device drivers trying to share the > > same piece of hardware. There is an awful lot of code in the XFree > > drivers trying to support multitasking of two device drivers on the > > same piece of hardware. You can easily fool this code and lock up > your > > system once you know where the holes are. There is also the issue > of > > saving/restore of complete hardware state between the drivers. > > > > Coexistence with framebuffer can be achieved by booting on > > framebuffer, but as soon as the new driver loads, deactivate the > > framebuffer driver. Systems that don't run xserver would continue > on > > with framebuffer. Also note that most PCs, Mac, Sun boxes don't > need > > framebufer installed to boot since they have BIOS based video > support. > > > > Under the new scheme each VT would have it own buffer. A VT switch > > would just tell the compositing engine to make one of these buffers > > full screen." > > > > > ---------------------------------------------------------------------- > > > > > > _______________________________________________ > > Xserver mailing list > > Xserver-u7BhqnqprCWvj1b/[email protected] > > http://pdx.freedesktop.org/cgi-bin/mailman/listinfo/xserver > > ===== > Jon Smirl > jonsmirl-/[email protected] > > __________________________________ > Do you Yahoo!? > Protect your identity with Yahoo! Mail AddressGuard > http://antispam.yahoo.com/whatsnewfree > > _______________________________________________ > Xserver mailing list > Xserver-u7BhqnqprCWvj1b/[email protected] > http://pdx.freedesktop.org/cgi-bin/mailman/listinfo/xserver __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree