scgtrp's blog

VBox Guest Additions: A slightly late final progress report

Blog post by scgtrp on Mon, 2011-09-05 18:33

As everyone has probably gathered from the first sentence of most of the other posts, GSoC 2011 is now over. I accomplished some of the goals I had for the last quarter, but was unable to get GCC2 support to work. The compiler is different enough to not work with the same options, and even after adding a GCC2 tool definition to kBuild I found that it was too old to compile some of the VirtualBox code. Various workarounds I tried for this proved unhelpful, so the additions will currently only compile and run on a GCC4 or GCC4 hybrid Haiku.

On a more positive note, there is now an (unaccelerated) video driver for VirtualBox which supports screen resizing. 2D acceleration would be possible, but would require changes to app_server (reporting changed areas of the screen to accelerants) that would not have fit in my timeline. I do plan to implement this eventually.

Also, a few people requested the ability to remove VBoxTray from the right-click menu on the replicant, so this is now possible.

While I do plan to continue working with Haiku, I currently am taking a break due to classes having just started.

VBox guest additions: 3/4 term report

Blog post by scgtrp on Thu, 2011-08-04 04:12

New status report:
major feature dropped; bugs fixed;
did some screen research.

At the start of the third term, it was pointed out to me that Haiku does not actually support hardware 3D acceleration, and to add it would be a larger project than I have the time (or knowledge) for. Therefore, I've had to drop host-accelerated OpenGL from the planned features. I'm somewhat annoyed by this, but looking back it was probably a bit too ambitious anyway, and I'm not convinced I could have finished it in time.

As a result of this quite large decrease in scope, I decided to mentally revise the timeline and spend most of my coding time in the third quarter fixing some of the annoying bugs that had been following me around for a while:

  • Icons can now be dragged around without having to disable MPI first.
  • VBoxService no longer implodes on exit.
  • vboxsf no longer refuses to load on hosts that are running VBox 3 (but symlinks will not work properly as VBox 3 didn't support them).

I've also added guest control support for executing programs - see $(VBoxManage help guestcontrol) for usage instructions. Note that you'll have to set a password on your Haiku user account to use this if you haven't already, as VBox's guest control requires authentication.

This leaves screen resizing, which will be my primary focus in these last few weeks, followed by a bit of cleanup and finally sending a patch off to the VBox people.

VBox Guest Additions: midterm status report

Blog post by scgtrp on Fri, 2011-07-15 11:30

Shares fully working!
Slightly slow, but usable.
Clipboardy stuff too.

I've now fixed most of the bugs in the guest additions, to the point that what's done so far is mostly usable - the only major bugs remaining are some random crashes in VBoxService that I've not been able to reproduce, and an inability to drag icons when mouse pointer integration is enabled. (Thanks to kallisti5 for finding both of these.) I also have replaced VBoxApp (which currently handles clipboard sharing) with VBoxTray, a replicant which serves the same purpose but can be autoloaded by Deskbar.

At my mentor's request, I've also added some installation instructions to the repository, as the build/install process is currently a bit complex. I intend to rewrite those instructions in the form of a makefile in the near future; this wasn't really a priority before because there wasn't much there for people to build.

The big task for this next part, though, is the video driver. This will include both OpenGL support and automatic screen resizing. The emulated video card is based on a 3dfx card, so I will hopefully be able to use large parts of the existing 3dfx accelerant, but I've still left myself a lot of time for this as these things are always a bit more complex than I predict. I plan to spend any leftover time on getting things to run a bit faster if possible.

VBox guest additions: status; second quarter goals

Blog post by scgtrp on Fri, 2011-06-17 01:49

During the first few weeks of GSoC, I've gotten vboxsf, the shared folders module, mostly working, though I'm a bit behind where I'd like to be due to unexpected things repeatedly coming up both in physical-land and on my development setup. All supported functionality is working when accessed from the terminal - at this point I'm just optimizing and working on a bug where looking at a shared folder the wrong way in Tracker causes the kernel to panic. Mouse pointer integration, the other thing I had in my schedule for the first quarter, is now working; therefore finishing up the last few bits of vboxsf will be one of my main goals in the next few weeks.

The other goal I have now is time synchronization. It turns out this is more important than I thought - I didn't take into account how many things depend on timestamps being set to reasonable values, and my Haiku installation is at this point very confused as to what t