VNC or RDP in VirtualBOX OSE

Discussions related to using the OSE version of VirtualBox.
Post Reply
safl
Posts: 2
Joined: 1. Mar 2009, 16:00

VNC or RDP in VirtualBOX OSE

Post by safl »

Hey People,

I'm a student doing an academic project, the project uses a modified version of Virtualbox OSE.
As everybody knows then the RDP server is removed from the OSE version.

The project now needs some similar functionality, so I am looking for pointers on how to integrate XRDP or a VNC server as a substitute for the removed RDPserver server into virtualbox OSE.

All I need is visual output and being able to provide keyboard and mouse input. No fancy local printer / usb features. Just the very basic remote access features.

I would like to know:

* Time estimates for an experienced c++ programmer.
* Where to get started in the code base.
* Whether such an implementation could be merged into VirtualBox OSE when proven stable?

Kind Regards,
Simon A. F. Lund
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Post by TerryE »

What is missing from VBox is the PDM module that provides the host side VMM support for an RDP mapped display. In principle there is nothing stopping you implementing RDP or VNC client-side. This does assume that you can boot and initialise the desktop services, which will take a little playing around if you want to be truly headless.

Answering your Qs
  • Time estimates for an experienced c++ programmer. Don't know. How long is a piece of string? It depend on your level of experience and the amount of Open source code that you can reuse.
  • Where to get started in the code base? The VBox OSE code is downloadable as is various VNC implementations.
  • Whether such an implementation could be merged into VirtualBox OSE when proven stable? There is no reason why not if it meets the appropriate licence conditions.
PS: You will find that the source code contains the VBoxHeadless and also the VBox/Devices/Graphics/DevVGA*.* code. It is this last set that you would need to clone and reconnect directly to a VNC server. Because of the VBox PDM architecture, this could just be a pluggable add-on.
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
safl
Posts: 2
Joined: 1. Mar 2009, 16:00

Re: VNC or RDP in VirtualBOX OSE

Post by safl »

Thank you for taking time to answer my questions.

I've now been fiddling around with the VBox code (especially VBoxHeadless) and I did a quick and dirty implementation of InternalFramebuffer and attached it to the machine display in VBoxHeadless with display->setFramebuffer(aScreen, myFramebuffer).
This gives access to a VRAM area with display information that I assume i can forward to a VNC server.

I now have two questions that I hope you (or someone else) will answer:
  • I did the fiddling described above before reading your hint on cloning DevVGA*, so I wonder whether my approach is completely off track
  • For input redirection to a VNC server should i then clone DrvKeyboardQueue.cpp / DrvMouseQueue.cpp and get the input from the VNC server?
Once again, thank you for your time.
Post Reply