For the curious who are willing to take a risk with beta version
of our first X-server.  We just released our third version of X-server
for Windows.

Please direct all your questions to [EMAIL PROTECTED]
mailing list, by subscribing to it, NOT to OpenDX mailing list or to me
directly.

Suhaib

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf
> Of Suhaib M. Siddiqi
> Sent: Wednesday, March 08, 2000 3:38 PM
> To: [EMAIL PROTECTED] Cygnus. Com
> Cc: [EMAIL PROTECTED] Org
> Subject: Beta version of new X-server
>
>
>
> Thanks to Dr. Peter Busch ([EMAIL PROTECTED]) for providing
> code for new X-server and Display drivers for it.
>
> I have uploaded to ftp://sourceware.cygnus.com/pub/cygwin/xfree
> the following files
>
> 1) ntux_ddx.tar.bz2  (Source code for ntus_ddx.dll.  You will MSVC to
> compile it.)
>
> 2) xfddx.tar.bz2 (Binary and source code for xfddx Windows NT Virtual
> Display Driver.  You will need
> MSVC and NT DDK to compile the code.  Binaries are included in the same
> archive).
>
> 3)xfddx_x_server_binary.tar.bz2 (Binaries of X-server.  You will need
> xfddx.tar.bz2 in addition to this archive)
>
> 4) xfddx_x_server_src.tar.bz2 (Source code for X-server, only)
>
> Currently Server works only in 256 colors mode.
>
> XFDDX driver access Windows default Display video adapter therefore Cygwin
> compilers are not suited
> for it.  Without MSVC and NTDDK, please do not atempt to compile
> the drivers
> code.
>
> The Servers were tested on Windows NT and Windows 2000, only.
>
> PLEASE READ THE ATTACHED README FILE before attempting to install the NT
> Virtual Display Driver (XFDDX.dll).
>
> Our future enhancements to  Cygwin/XFree servers will make use of
> Dr. Busch
> contributed drivers
> and codes.
>
> I am working to use his drivers with Karra's DirectX based X-server.  It
> will allow to integrate
> DirectX based X-server into Windows Desktop.
>
> Till Firday, I will be busy, therefore I would update
> Cygwin/XFree URL over
> the weekend and add
> the README files from Dr. Busch code to FAQ for Cygwin/XFree.
>
> I also plan to merge his source code to XFree86 4.0 source tree,
> but merged
> source tree will be released
> after XFree86 4.0 would be officially released this month by XFree86 Inc.
>
> Have Fun!!!
>
> Suhaib
>
>
xfddx.readme.txt
(C) peter busch <[EMAIL PROTECTED]>


Description of the xfddx virtual NT display driver


1. What it is
Xfddx is a virtual NT display driver whose purpose is to provide an kernel
mode graphics interface for the Cygwin/XFree X Server project.

2. Installation
This release of xfddx must be installed manually.
Proceed as follows

        - locate your NT installation path (called <WINDIR>, for example 
C:\winnt)
        - copy xfddx.dll to the <WINDIR>\system32 directory
        - launch the regedit or(regedt32) registry management tool
        - examine the key 
                HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\VIDEO\Video0
                ( looks like 
                \REGISTRY\Machine\System\ControlSet003\Services\xxx\Device0
                where xxx is the installed graphics driver )
        - open the 
                
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\xxx\Device0\InstalledDisplayDrivers
 
                subkey
        - save the contents of this key for later deinstallation
        - create a textfile named xfddx_aux.cfg in your 
                <WINDIR>\system32 subdirectory
                containing the (first string of) the contents of that key plus
                the extension '.dll' ( example : mga64.dll )
        - change the entry (or the first string in the entry )
                to xfddx                                
        - reboot the machine

        - if something goes wrong boot into VGA mode and deinstall xfddx

3. Deinstallation
        - restore the contents of the
                
HKEY_LOCAL_MACHINE\CurrentControlSet\Services\xxx\Device0\InstalledDisplayDrivers
 
          key
        - reboot the machine

4. Properties

4.1 Initialization 
After loading the xfddx driver loads the original NT display driver
(described in the xfddx_aux.cfg text file). All NT graphics output is
handled by the original driver.

4.2 Mapping capabilities
The xfddx driver provides a function to map the graphics adaptor video
frame buffer dynamically into the address space of any user mode process
via an Escape (Win 32: ExtEscape) call as described in the xfddx_escape
header file. The mapping is device independent (works even with banked 
frame buffers).
This feature can be used to implement (the output of) a framebuffer X Server
based on the xvfb code.

4.3 X Server GCops graphics calls
The xfddx driver provides a way to handle the X standard GCops calls via
calls to the installed original NT display driver ( inherently using all
accelerator capabilities of the installed graphics adapter available to
the installed NT display driver in a device independent way ). 
In this first version the GC functions are implemented as stubs only.
The GC calls are accessible to user mode processes through the Win32
DrawEscape.

4.4 Extension driver support
To promote extensibility, flexibility and to accelerate develpment cycles,
the xfddx driver can dynamically load/unload extension drivers.
Extension drivers are standard NT display drivers build with the NT DDK
like the xfddx module itself. 
An extension driver must provide the DrvEnableDriver function and may
additionally support other entry points.
Modified GCops routines and extensions (as GLX calls for example) can be
added dynamically by supporting the DrvDrawEscape request in an dynamically
loaded extension driver. 
Multiple extension drivers can be are supported. All extension drivers which
support the DrvEscape and DrvDrawEscape requests are called in their load 
order until one of them returns success and before the the corresponding
xfddx routine is executed.
The extension drivers DrvEnableDriver routines are called with the 
pded->pdrvfn argument pointing to a structure representing the original
NT display driver. If they need access to the functions of the NT display 
driver, they should save away this pointer before initializing the 
pded->pdrvfn field with the address of their DRVFN array.

5. Status and Tests
This is the first version of this driver. It was tested under NT 4 SP3 and
NT SP5 on two different machines with a Matrox G200 and a legacy S3 Trio 64
card (with banked frame buffer) in all available graphics modes except 16
color and monochrome modes ( which are managed by the standard NT VGA driver ).

Test machines were
Machine 1 - Dual Pentium II 333 on an ASUS P2BD Board with Matrox G200, 384MB 
Machine 2 - Single Pedntium 200 on ASUS T2P4 board 64MB

As mentioned above, this version provides the frame buffer mapping facility
and the extension management but the GC routines are implemented as stubs only.

6. How to build
The xfddx sources cannot be included in the Cygwin/XFree code tree since it
cannot be build with gcc.
To build it the NT 4 DDK must be installed. 
        - extract the xfddx.tgz file into <ddk_dir>/src/video/displays/xfddx
        - run the DDK build command




 
 

Reply via email to