Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jan 1998 08:49:41 -0500
From:      "David E. Wexelblat" <dwex@DataFocus.com>
To:        "'devel@XFree86.Org'" <devel@XFree86.Org>
Cc:        hackers@FreeBSD.ORG
Subject:   RE: interested in working on windows port (sorry for cross post)
Message-ID:  <CE3283EB3AE9D011BF4B0020AFF8FDD72ED498@hercules.fairfax.datafocus.com>

next in thread | raw e-mail | index | archive | help
Well, I have a great deal of experience with PC X servers (check
out the work URL...).  I have to be careful with what I say, as
we are a source licensee for one of the PC X server vendors, and
I've been inside their sources.  I will only give some general
comments.

1) From what I have been told by more than one PC X server
manufacturer, DirectX is going to be a waste of time.  DirectX
only gets major performance improvements when it can take over
the entire screen.  When running in a window, it's not a major
win over raw GDI code.  As far as I know, none of the PC X server
vendors use DirectX.

That said - Windows NT 4.0 Service Pack 3 provides most of
DirectX 3 for Windows NT.  DirectX isn't supported at all prior to
SP3, and DirectX 5 support isn't planned to be available until
Windows NT 5.0 (which is currently in Beta1).

2) All the PC X servers operate in one of two modes: single-window
or multiple-window.  Single-window is a traditional X server main
window, living in a single Windows window.  Basically, the Windows
window becomes a single large framebuffer.  This is easy to implement,
but X apps don't coexist well with Windows apps this way.

Multi-window mode basically has no visible X root window.  Each X
top-level window is a Windows top-level window.  In this mode, the X
server provides some sort of local window manager, so that the X apps
are both ICCCM-compliant, and windows-friendly.  The good ones even
recognize Motif window manager hints for decorations, etc.

I have never seen anyone use anything other than multi-window mode
(well,
we do have a couple of ISVs selling turnkey boxes, who I have been told
do use single-window mode).

3) Palette management is a major headache.  In a normal X server, the
X server controls the hardware palette, and can do what it wants.  In a
PC X server, Windows controls the palette.  There's a lot of code
involved
in getting X color handling to work "right" under Windows.

In addition, most of the major PC X server vendors have implemented
8-bit-pseudo-color visuals on top of 16/24/32-bit true-color visuals.
This
is because most PCs these days are in high/true-color mode, and most X
apps
fall down if the default visual isn't 8-bit pseudo-color.  As far as I
know,
this is all done with software; I've been told that Windows provides no
way
to get to the RAMDAC to do it in hardware even if the RAMDAC supports
it.

4) Device management is also a pain (keyboard & mouse), because you have
to
go through windows.

5) Font management is interesting.  All the PC X servers I have seen
have X
bitmap & scaled fonts, but not in .pcf format.  They have them in
Windows
.fon format, and provide their own font compilers.  I've never
completely
understood why they bother with this - if they're going to provide
X-specific
fonts, why not leave then in X-specific formats?  No one has yet written
a
font server that allows use of native Windows fonts, that I have seen.

--
David Wexelblat                     Phone: (703) 803-3343 x370
DataFocus Incorporated                     Fax: (703) 803-3344
12450 Fair Lakes Circle, Suite 400   mailto:dwex@datafocus.com
Fairfax, VA  22033-3821               http://www.datafocus.com


> -----Original Message-----
> From:	Alfred Perlstein 
> Sent:	Friday, January 02, 1998 6:31 AM
> To:	devel@XFree86.Org
> Cc:	hackers@freebsd.org
> Subject:	interested in working on windows port (sorry for cross
> post)
> 
> (please excuse the cross post, i'm really looking for help and this is
> a
> strange multiplatform subject...)
> 
> I'm interested in making a windows 95/NT port of Xfree86,
> i plan on using DirectX to support fast accesses to the graphical
> hardware.
> 
> if anyone has the time to answer a couple of questions it would be
> greatly
> appreciated.
> 
> 1) can anyone recommend a free c/cpp compiler/enviornment for this?
> i've looked at DJGPP,RSXNT, and the cygnus thingy and so far:
> 	DJGPP doesn't support win32.
> 	RSXNT hardly is docmented and doesn't seem to be useful as a
> UNIX to WIN32
> porting tool things like sockets don't seem to be implemented.
> 	cygnus doesn't appeal to me because of hardcore GPL license they
> have.
> 
> 	i do NOT mind giving credit where credit is due... but i'm not
> too keen on
> releasing my source, i DO however, plan on the product being free.
> 
> 2) if i use direct-X does anyone know if it will work on NT?  i think
> mircosoft doesn't support DirectX on NT, or at least not past version
> 3...
> 
> 3) what books can i get on the low level details of X?  anything on
> how the
> X11 source tree is set up? anyone have any pointers to good
> FAQs/tutorials?
> 
> thank you,
> -Alfred



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CE3283EB3AE9D011BF4B0020AFF8FDD72ED498>