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

Reply via email to