[Info-vax] Could XRDP be the next graphical interface for VMS?

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Mar 23 09:18:00 EDT 2015


On 2015-03-23 10:35:31 +0000, Dirk Munk said:

> Jan-Erik Soderholm wrote:
>> Dirk Munk skrev den 2015-03-22 13:32:
>> 
>>> I agree. My first impression was that it was a kind of X-Windows 
>>> variant. I had no idea it would be this primitive. With an X-Windows 
>>> server you can run applications on several clients (in X-Windowa 
>>> terminology), and that will be impossible with RDP I guess.
>>> 
>> 
>> The big difference is that a X-window client application are 
>> specificaly written with X-windows in mind. You can not run anything 
>> that is not written for X-windows in the first place.
>> 
> 
> I get that, but Windows has its own way of doing something similar on 
> the local screen. A Windows applications will issue some instructions 
> to draw a window on a screen. It would have been nice if Microsoft had 
> thought of a way to issue those instructions on a remote PC/terminal, 
> just like with X-Windows.

X is an RPC protocol.   For the flexibility of remote displays, X adds 
substantial complexity to the software design (and vulnerabilities, in 
various cases), and this slows the display performance.  When you don't 
have to marshall and transfer your client display requests to a 
separate display server and then unmarshall and display the requests at 
the display server, while also maintaining a path to get keyboard and 
mouse responses back, you can go faster.   As an example of this, 
VWS/UIS was far more responsive and far lighter-weight than was X on 
the same hardware.  With the local-only design, you're dealing with 
getting stuff into the frame buffer, not with a very complex 
intermediate RPC layer.

If you've not already done so, please watch that Wayland video for some 
background on the X RPC.

For Microsoft Windows and Apple OS X, the complexity of the RPC and the 
rest of the network transport is largely avoided with RDP/VNC/ARD.  
Local users get an optimized display, and better performance — yes, in 
general getting to at least 60 fpm is getting easier as the hardware 
improves and the software is optimized.  But vendors of 
graphics-intensive servers and products don't want to add impediments 
to applications getting to what is the generally-accepted minimal frame 
rate, with enough headroom left for whatever the application is doing.

Vendors also tend to use display APIs as application lock-ins, 
WindowsAPI with its various display-related frameworks, and Apple with 
UIKit and AppKit for iOS and OS X.  Or with the (few) private 
DECwindows calls, for OpenVMS.  (About the only one of those 
OpenVMS-private DECwindows-related bits that was notable was the SVN 
stuff.  OpenVMS locked folks in with clustering and system services and 
RTL calls, much as Microsoft used its APIs.  But I digress.)

More portable code tends to use GTK+ or Qt 
<http://www.wikivs.com/wiki/GTK_vs_Qt>.

There are various less- and more-portable frameworks or whatever you're 
working on, too.  Game developers often seek a common cross-platform 
framework, maybe selecting <http://www.appcelerator.com/titanium/> or 
Unity or Unreal Engine, for instance.  (n.b. I do not expect to see any 
of the more advanced frameworks available on OpenVMS.)


>> Applications that are displayed over RDP does not know they are 
>> displayed using RDP. There are no "RDP-applications".
> 
> No, but with a Unix or VMS system, applications with a GUI interface 
> don't know if they are run locally using a graphics card, or remotely 
> on a X-Windows server.

No?  Neither X remote displays nor RDP/VNC/ARD remote displays are 
overtly visible — latencies aside — to the applications.  Yes, X has 
advantages in some areas, but the innards of X are accreted — various 
folks are simply bypassing more and more of what X was and is, and 
largely using it as an RPC.

In more general terms...  Much like a recent new friend here in 
comp.os.vms has ably demonstrated, getting tied to one technology or 
one solution or one approach can be... problematic.  Use what works for 
your environment, but expect changes, expect requirements to evolve, 
and expect the costs of various options to drive more than a few 
decisions, and to drive the appearance of new platforms and tools, and 
the decline and extinction of others.  Know what your risks and 
alternatives are — if you're tied to OpenVMS tightly and a port is 
impractical, then VSI had better succeed for you.  Right now, local 
graphics displays and RDP and x86-64 do pretty well, though some folks 
will always have different needs.   In a few years, who knows what 
we'll be using?  (If VSI really gets rolling, they — like VMS once did 
— might just be able to drive some of these changes.  Rather than 
reacting to and "just" following the changes.  But VSI needs to get to 
viable revenues, first.)


-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list