How I got the VBoxSDL interface working for VirtualBox 4.3.12 x64.
A long time ago, ever since I read the VirtualBox user manual I saw the VboxSDL interface mentioned.
Chapter 9. Advanced topics
Works nice, on Linux, It seems you can get native full-screen on any supported resolution in a VM.
We need to run it in a command line /terminal.
In this example I use an exising VM of Windows XP called simply "xp"
VBoxSDL --startvm "vm-name"
Don't start the VM here,
This window was just to see the VM names: we won't use the normal interface because that one works, we know it.
To start the VM called "xp" with the SDL interface, use the command like this:
Big chance for that to fail since we dn't have a path variable for that location.
VBoxSDL --startvm "xp"
So to be safe, the full command wil work like this:
So we try that vboxsdl command line on Windows, here x64, in a cmd window, assuming that we run from the install of VirtualBox in Program Files. Used VirtualBox here in example is 4.3.12 64bit.
"%programfiles%\Oracle\VirtualBox\VBoxSDL.exe" --startvm "xp"
We get this famous result:
(notice version number)
Hmmm... Direct what?
After searching that up, we find out that the official Windows version of provided VBoxSDL.exe isn't maintained or is outdated. The sdl.dll that is provided on Windows misses a dependency to msvcr80.dll (why?!) but I assume that's not the only reason why it's failing. It's still in the user manual and I guess some people will like to use that (maybe don't wan't to buy VMware Workstation to use exclusive mode, yet, if VBox can do stretched full-screen as well).
To fix this on Windows:
-> either use custom build files (1) that work in older versions (see zip 4.3.12 x64) or apply an environment variable (2) SDL_VIDEODRIVER = windib
(1) Version 4.3.12 x64 custom build
Luckily I got tired of all this useless stuff and built VBox 4.3.12 from source (crazy decision, but they provide a manual for that too) with a more recent SDL version and it seems that the built one works well on Windows! Using the whole OSE build isn't recommended because all files are unsigned (unless you pay for driver signatures...) but you can use the official release (already signed) and just replace the SDL with the one built.
Getting it running fast and easy:
Install the official VirtualBox, here Windows x64, 4.3.12...
To ease things up, I used the new built SDL.dll and VBoxSDL.exe and replaced the ones from the original install in Program Files with the new (two) files.
Then firing up that command line again gives:
(notice version number: OSE)
That window gets directly followed by a VM window in the SDL interface.
Click inside the vm window. To switch from there to full screen using keyboard shortcuts, use: <hostkey> + f (hostkey is usually right-ctrl).
You can turn of the VM with the power button from the guest OS, or use <hostkey> + h to initiate a guest shutdown.
VBoxSDL - Keyboard controls:
<hostkey> + f -> Switch to full screen / restore to previous view
<hostkey> + h -> Press ACPI power button
<hostkey> + n -> Take a snapshot and continue execution
<hostkey> + p -> Pause / resume execution
<hostkey> + q -> Power off
<hostkey> + r -> VM reset
<hostkey> + s -> Save state and power off
<hostkey> + <del> -> Send <ctrl><alt><del>
<hostkey> + <F1>...<F12> -> Send <ctrl><alt><Fx>
* by default, the <hostkey> is right ctrl
To directly launch a VM in fullscreen:
Until they decide to provide a decent build of the VBoxSDL interface on Windows, this is the only way to get it working (replace the files with working ones).
Now that it works I just hope they don't remove it in future versions.
The zip is VirtualBox 4.3.12 64bit, the 32bit one wasn't tested since I don't have it available.
For those interested and those who know the vboxsdl from Linux, you can use the provided files from zip attachment.
Install the official VirtualBox 4.3.12 x64 for Windows: (backup) and replace the SDL.dll and VBoxSDL.exe with the new files.
Files I provided here are OK.
In case you need to check the zip's checksums:
(2) recommended workaround
See the environment variable workaround post:
No need to replace any files.
SDL Error: 'DirectInputDevice::SetDataFormat: Invalid parameters'Error is gone after creating a windowsenvironment variable called 'SDL_VIDEODRIVER' with a value of 'windib'
Now we can use VBoxSDL in the latest versions of VirtualBox.
The provided zip below is for version 4.3.12 x64 ONLY.
That solution is no longer recommended and doesn't work for other versions.
The SDL interface was indeed missing, for some specific cases, tons of times people needed stretched full-screen mode on smaller resolution, for older apps and games, but each time the VM used some crappy screen resolution or aspect ratio...
Native full-screen was needed for some tests so I'm glad I got that running now.
I might not be able to do this for future releases since each time you need to build it again, but it seems to work for now, enjoy the moment.