From: jsturm AT sigma6 DOT com (Jeff Sturm) Subject: Re: server X 12 Sep 1998 19:34:09 -0700 Message-ID: <35FAACDA.E993D7D5.cygnus.gnu-win32@sigma6.com> References: <01BDDD75 DOT 00B69600 AT sos> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Sergey Okhapkin Cc: gnu-win32 AT cygnus DOT com Sergey Okhapkin wrote: > > Alexander Stockdale wrote: > > I think we really need to port XFree86 to the cygwin environment. I've > started looking into this, but it looks like it may be a big job (just look > at the size of the diff file for the OS/2 port). > > > > Porting _Xfree86_ to win32 is a bad idea, because Xfree86 requires direct > video hardware access. The best candidate to port is sample X server > provided with X11 distribution - just create directory > xc/programs/Xserver/hw/Win32 and fill it with some code :-) The X11R6.4 sample server is no better-- it's a *very* old version of XFree86. To do a Win32 server from scratch, yes, all the video framebuffer code in XFree86 would have to be replaced with Win32 USER/GDI calls. I don't really know how much of the overall server code would be invalidated by this approach. > Another interesting possibility is to modify libX11 to display X requests > with Windows GDI calls if environment variable DISPLAY is not set or set to > "localhost". This case bundled Xnest server will act as X server (Xnest > compiles with cygwin and runs), and no X server will be required for local > X clients. Some related work already done in ntxlib package. I know Xlib better than Win32 (i.e., I know very little about Win32), but this sounds difficult to me. Does Win32 have functions to iterate child windows? If so, how would you tell ordinary windows apart from Xlib-controlled windows? What about inter-client communications? You could probably manage it with shared memory segments and Win32 IPC, but it would probably be far more straightforward with a real X server. -- Jeff Sturm jsturm AT sigma6 DOT com - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".