Alan Coopersmith wrote: > Martin Bochnig wrote: >> One of my experiments (as I still don't have any Xsun sources [except >> for the DDK and sunInit.c]) : I found out, that Xsun doesn't have any >> device-specific knowledge at all. Nor does it perform any general bus >> scans (as I can see from comparing Xsun's sunInit.c versus in Xorg's >> init c file). I took Solaris 2.5.1's Xsun packages and tested them >> with /dev/fb drivers, ddx modules and actual hardware that came out 6 >> yours after that old Xsun server. But that vintage Xsun server from >> 1997 is still able to use drivers and hardware which didn't show up >> before 2003!!! This tells a quite lot about how the server's and the >> driver's sources must be (vaguely) organized. That's the first step >> in reverse engineering whatever. And the only option left when stuff >> is closed source, sigh ... > > Right - all Xsun does is open /dev/fb (or whatever devices are > specified in -dev flags or the OWconfig file), call the > VIS_GETIDENTIFIER ioctl, and then look in OWconfig for which
Yup, as starting circa in Solaris 2.5.1 (with X11R6), still the same? Cool. > ddx module to dlopen() for the returned value. Aha, thanks for confirming this. I assume next would be parsing OWconfig for the matching ddx specific xyz-fb_init() function and passing control to that function (and whatever it might do or call), therefore effectively switching into X11 mode? Mhh, can't you (or anyone with access to the Xsun src [just throw it over]) build some custom Xorg-Xsun-hybrid, I mean some hybrid Xorg monster with Xsun's sunInic.c file. And all required symbols renamed to match Xsun-ddx's needs, such as globally renaming "sunInitThisOrThat()" to how Xorg uses to call the corresponding function? > We make no > changes to it for new platforms or busses. This even works > with the Sun Ray, which provides a /dev/fb device that responds > with a string that maps to their module, that then opens a network > connection to the frame buffer instead of a memory mapping. Interesting, aha. --Martin