version 1.8, 2010/01/13 08:04:02
|
version 1.9, 2010/01/13 09:59:42
|
Line 1
|
Line 1
|
|
## Personal crap you always wanted to know but never dared to ask |
|
yeah, right |
|
|
|
## Stuff I'm to blame for |
|
* rewrote the interrupt handling code in [[macppc]], made it machine independent enough to work on other PowerPC platforms as well |
|
* rewrote the ADB subsystem used on [[macppc]] and probably [[mac68k]] - no more phantom events, keyboard LEDs work now, mouse button emulation, support for [[cuda]]'s i2c bus, all in all it's much smaller and simpler than the old code |
|
* wrote a bunch of graphical console drivers ( see below ) |
|
* wrote a bunch of Xorg/XFree86 drivers |
|
* added generic support for virtual consoles, scrollback buffers etc. to wscons |
|
* [[wscons]]-ified [[sparc64]] |
|
* added provision to allow console drivers to be machine independent |
|
* made [[Xorg]] work on [[macppc]], [[shark]], [[sgimips]], [[sparc]] and [[sparc64]] |
|
* craploads of bugfixes and other minor improvements |
|
|
|
### Drivers I wrote: |
|
* [[cuda]] - the microcontroller found on older PCI PowerMacs, provides ADB, realtime clock, nvram, power control and in some cases an i2c bus |
|
* [[pmu]] - the microcontroller found in PowerBooks, iBooks and newer pre-G5 PowerMacs, provides realtime clock, nvram, power control and sometimes ADB, battery, environmental sensors or volume and brightness control |
|
* [[nadb]] - ADB device discovery, attached to [[cuda]] or [[pmu]] |
|
* [[adbkbd]] - driver for ADB keyboards, includes emulation for mouse buttons 2 and 3 |
|
* [[adbms]] - driver for ADB mice and trackpads. Supports tapping on trackpads. |
|
* [[adbbt]] - driver for volume, brightness etc. control keys found on some PowerBooks and all(?) iBooks |
|
* [[sgsmix]] - additional mixer chip found in beige G3 Macs, supports additional bass and treble control, requires [[cuda]] since it's controlled via i2c which the old ADB subsystem does not support |
|
* [[dbri]] - a driver for the ISDN / audio chip found in the SPARCstation 20 and SPARCbook 3GX, it's audio only, there is no support for the ISDN part |
|
* [[panel]] - driver for the buttons on the SGI Indy's front panel |
|
* [[agten]] - accelerated console driver for Fujitsu [[AG-10e]] SBus graphics boards |
|
* [[chipsfb]] - accelerated console driver for Chips & Technologies 65550 graphics controllers |
|
* [[genfb]] - a generic framebuffer console driver. Depends on machine-dependent code to pass setup information as device properties |
|
* [[gfb]] - dumb framebuffer console driver for Sun [[XVR-1000]] graphics boards |
|
* [[pm2fb]] - accelerated console driver for Permedia 2 graphics controllers |
|
* [[r128fb]] - accelerated console driver for ATI Rage 128 graphics controllers |
|
* [[voodoofb]] - accelerated console driver for 3Dfx Voodoo 3 graphics controllers |
|
* [[voyagerfb]] - accelerated console driver for Gdium Liberty MIPS-based laptops |
|
* [[xf86-video-ag10e]] - accelerated Xorg driver for Fujitsu [[AG-10e]] graphics boards |
|
* [[xf86-video-crime]] - accelerated Xorg driver for the SGI O2's onboard rendering engine |
|
* [[xf86-video-igs]] - accelerated Xorg driver for IGS CyberPro 2010 and similar chips, tested on [[shark]] only but supporting at least [[netwinder]] should be trivial |
|
* [[xf86-video-pnozz]] - accelerated Xorg driver for the SBus Weitek P9100 found in SPARCbook 3GX laptops |
|
|
|
### Drivers I substantially improved |
|
* [[igsfb]] - added mode setting support |
|
* [[machfb]] - added hardware acceleration |
|
* [[pnozz]] - added hardware acceleration and cursor sprite support |
|
* [[crmfb]] - added hardware acceleration and cursor sprite support |
|
* [[tcx]] - added hardware acceleration |
|
* [[tslot]] - adapted from OpenBSD, support for the PCMCIA slots in the SPARCbook 3GX |
|
* [[xf86-video-suncg6]] - added hardware acceleration |
|
* [[xf86-video-suntcx]] - added hardware acceleration |
|
|
## TODO: |
## TODO: |
* figure out why anti-aliased font rendering with [[XAA]] in [[Xorg]] 1.6 is ridiculously slow compared to 1.4<br> |
* figure out why anti-aliased font rendering with [[XAA]] in [[Xorg]] 1.6 is ridiculously slow compared to 1.4<br> |
Actually there is some progress. The miGlyphs() function uses a scratch pixmap to render characters into which it then renders into the target pixmap. Since off-screen pixmaps in XAA are currently broken and the Xorg people refuse to fix it the scratch pixmap will be in RAM with all XAA drivers resulting in software rendering ( not that XAA knows how to accelerate vram-to-vram composite ops anyway ). I got around that by implementing a private Glyphs() method for the [[crime]] driver which gives a nice speedup but still gets us nowhere near the performance we had with Xorg 1.4. A private Glyphs() implementation for XAA which avoids the scratch pixmap resulted in a small but measurable speedup with the [[sunffb]] driver. |
Actually there is some progress. The miGlyphs() function uses a scratch pixmap to render characters into which it then renders into the target pixmap. Since off-screen pixmaps in XAA are currently broken and the Xorg people refuse to fix it the scratch pixmap will be in RAM with all XAA drivers resulting in software rendering ( not that XAA knows how to accelerate vram-to-vram composite ops anyway ). I got around that by implementing a private Glyphs() method for the [[crime]] driver which gives a nice speedup but still gets us nowhere near the performance we had with Xorg 1.4. A private Glyphs() implementation for XAA which avoids the scratch pixmap resulted in a small but measurable speedup with the [[sunffb]] driver. |