How difficult would it be to make the equivalent of Windows Terminal Server with Wine?

Jeremy White jwhite at
Thu Oct 28 13:03:40 CDT 2004

Hey Andrew,

That's something we've investigated fairly closely, as it seems
like a Good Idea (TM).

First, as far as I know, there is no public implementation around
the ICA protocol, so that doesn't seem like a good option.

Now RDP is based on an IETF protocol spec, so implementing that
looks like a good, clean option.

So, in theory, writing a rdpdrv that is parallel to x11drv
should be straightforward (and that's the task, just replace
x11drv with rdpdrv).

Unfortunately, the reality is that it will be a lot of work.
Although the architectural design that the x11 driver is
supposed to be separated out, that separation isn't that
clean, and then there are a lot of underlying OS resources
(e.g. sound etc) that are not so clearly isolated.
So we felt it would be more work than we could afford to
bite off in the near term (which is not to say we won't
contemplate doing this in the medium term future).

As an fyi, we chose to follow an alternate course in the
interim.  Specifically, by examining the use of the X protocol
that Wine uses, and working to optimize that, we should be able
to make Wine work decently well over an ssh -C compressed X link.
This was the consensus we came to after long discussions
with Keith Packard and Alexandre Julliard.  So, Alexandre
has been steadily  (if slowly :-/) working to reduce round
trips to the X server within Wine, with the hopes that we'll get there.

Further, there are protocol proxies, like that of,
that try to take some of that sting out (last I knew, NX
helped, but still wasn't in ICA or RDP class with Wine).

Hope that helps, feel free to contact me further on or off list
if you'd like to pursue it further.



Andrew Quigley wrote:
> What I would like to be able to deploy would be a system which runs 
> multiple Win32 compatible desktops and multiple logins on a server, with 
> the clients accessing the desktops via RDP or ICA protocols.  How many 
> of the pieces required to accomplish that already exist, and what pieces 
> have yet to be built? A quick search on freshmeat shows me a few 
> different rdp clients, so it looks like the protocol spec is known. What 
> would be involved in creating a RDP server that shows up as a video 
> driver as far as the win32 programs are concerned?

More information about the wine-devel mailing list