Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions

NeXT Computer, Inc. -> Emulation / Virtualization

Title: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on January 02, 2025, 03:14:47 AM
Hey, for anyone using VirtualBox to run their OpenStep/NextStep/Rhapsody VM, I updated the VBoxVideo driver to support widescreen resolutions. So if you are running it a modern modern or laptop, these new resolutions should make it a closer fit for the screen.

I tested all the resolutions in the list (bold are widescreen):
"Height:1080 Width:1920 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height:1050 Width:1680 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 900 Width:1440 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 800 Width:1280 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 768 Width:1366 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height:1200 Width:1600 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height:1024 Width:1280 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 864 Width:1152 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 768 Width:1024 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 600 Width: 800 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 480 Width: 640 Refresh: 60Hz ColorSpace: RGB:888/32";
"Height: 768 Width:1024 Refresh: 60Hz ColorSpace: RGB:555/16";
"Height: 600 Width: 800 Refresh: 60Hz ColorSpace: RGB:555/16";
"Height: 480 Width: 640 Refresh: 60Hz ColorSpace: RGB:555/16";


I tried to make it run at 1920x1200 but it booted a blue screen. Same with 2560x1440. So I think 1920x1080 is the highest we will get out of the VirtualBox VGA emulation. If you want to try it yourself (and let me know if something goes terribly wrong :o) then you can find the compiled version here: https://github.com/jeffreybergier/VBoxVideo/blob/mac-resolutions/build/VBoxVideo-1.1.config.tar

I am not sure if the owner of this repo is open to pull requests or even still around for these things, but if they are, I created a PR at this URL: https://github.com/vcarosadev/VBoxVideo/pull/1

-Jeff,

Also, Happy New Year!
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: user217 on January 02, 2025, 04:39:53 AM
That's amazing! I've never been able to get VMware to go above 1280x768. Clearly it's time to jump ship.
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: pTeK on January 02, 2025, 03:03:11 PM
Open source for the win  8)

I can't see how much RAM you set for the Video Memory? 16MB minimum?.

As for the .img file, it would have just been a blank 1.44MB floppy disk that has the driver on it. If you check the driver install floppy disks for intel NextSTep and just copy the driver in there so that the user can select it when installing NeXTSTEP from a fresh install. I think the directory is /private/drivers/i386/ I can't boot Virtual box on this Lubuntu set up as the kernal has been updated so I need to update Virtual Box. Or just replayce your VBox.config directory with his one on the floppy disk.

Excellent work.
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on January 02, 2025, 08:12:36 PM
My vram is set at 32MB. Not sure if it makes a difference, so I set it high so that there would not be a problem with high resolutions.

I didn't know making a disk would be that simple. But then my question is, why is the rhapsody disk separate?
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: wmlive on January 02, 2025, 08:31:21 PM
Quote from: jeffberg on January 02, 2025, 08:12:36 PMI didn't know making a disk would be that simple. But then my question is, why is the rhapsody disk separate?

Formatting and contents differ: 

$ strings NEXTSTEP_VBoxVideoDriver.img | head -n 5
fPSf
[fXf
NEXTSTEP boot1 v3.3.3.8
X.XX
Read error
[snip]
$ strings Rhapsody_VBoxVideoDriver.img | head -n 5
fPSf
[fXf
Rhapsody boot1 v5.0.41.1
Read error
[snip]

To access their contents in Linux, mount the disk images as follows:

# mount -o loop,ufstype=nextstep -t ufs NEXTSTEP_VBoxVideoDriver.img /mnt/
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on January 02, 2025, 08:37:06 PM
Interesting. I wonder if I can just mount each of the existing images as read/write in OpenStep and then replace the file and unmount?

I wonder if OpenStep can even read the rhapsody one.

Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: pTeK on January 02, 2025, 09:16:30 PM
Quote from: jeffberg on January 02, 2025, 08:12:36 PMMy vram is set at 32MB. Not sure if it makes a difference, so I set it high so that there would not be a problem with high resolutions.
I don't know how much RAM you need for each resolution but 32MB seems like a safe amount. Did you check with the Virtual Box source code that it supported those resolutions and if the Video Ram Frame Buffer is still located as the same address ?

Quote from: jeffberg on January 02, 2025, 08:12:36 PMI didn't know making a disk would be that simple. But then my question is, why is the rhapsody disk separate?
I think Rhapsody disk is separate because of CPU endian format for the file system.

PPC Rhapsody supports NeXTSTEP and OpenSTEP HDD partitions, Intel Rhapsody does not support NeXTSTEP/OPENSTEP HDD partitions as they use same endian format as original NeXT hardware (Which PPC supports natively) which is slower for intel as it has to convert on the fly.

https://github.com/evolver56k/Darwin-0.3/blob/master/boot-2/i386/libsaio/sys.c Here is an example which is the i386 boot loader which is used to read files of the boot disk/driver disk and convert on the fly.
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on January 05, 2025, 02:36:35 AM
Thanks for looking up all this info. Since I don't have a Rhapsody install to test, I don't think I will try to make progress on making the images. But let's see if the owner of the repo responds and asks for them. That might give me motivation. 🤪
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: pTeK on April 05, 2025, 09:28:30 PM
I think the VirtualBox driver only supports the VESA drivers and the only widescreen supported driver that shows up for now (Could change in the future) is 1920x1080 RGB:888/32 only which you discovered. There is also the smaller 1152x865 in 888/32, 555/16 and 256/8.
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: user217 on May 15, 2025, 01:17:13 AM
Quick note about using this on Rhapsody. With VBoxVGA, the mode list is:

I am not brave enough to try 1600x1200, but 1280x1024x32 is working just fine. I've only been able to get 1024x768 in VMware, so this is a big upgrade for me still.
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on May 16, 2025, 07:41:36 PM
Rhetorica, that list looks wrong. Those are all 4:3 resolutions. Are you sure the custom driver got installed?
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: user217 on May 17, 2025, 01:33:46 PM


Lo and behold, I mixed up my files and wasn't using the updated version. :) Thanks!

Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on May 27, 2025, 02:59:50 AM
Looks awesome! Also to be clear, is OpenStep 5.1, Mac OS X Rhapsody? Or is this some other thing I have never heard of before?
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: user217 on May 27, 2025, 01:22:31 PM
Quote from: jeffberg on May 27, 2025, 02:59:50 AMLooks awesome! Also to be clear, is OpenStep 5.1, Mac OS X Rhapsody? Or is this some other thing I have never heard of before?

It is indeed Rhapsody DR2 :) I recently spent some time exploring how much of it could still be restored to a pre-Apple look (https://www.nextcomputers.org/forums/index.php?topic=5967). (DR1, which also accepted your driver, looks even better, mainly on account of scrollbars working more correctly.)
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: user341 on May 27, 2025, 04:51:45 PM
Quote from: Rhetorica on May 27, 2025, 01:22:31 PMIt is indeed Rhapsody DR2 :) I recently spent some time exploring how much of it could still be restored to a pre-Apple look (https://www.nextcomputers.org/forums/index.php?topic=5967). (DR1, which also accepted your driver, looks even better, mainly on account of scrollbars working more correctly.)

Super interesting. I was looking at your oddities thread more for the weirdness in art, which is a cool topic itself.

But now that I think of it, maybe you should start new OPENSTEP 5.1 how-to thread?

If you can make DR2, or even some later build, work with all the old OPENSTEP and NEXTSTEP apps, perhaps its more modern infrastructure would make it a better VM for all of us that love NeXT'ing?

I dislike the classic macOS look too much to deal with that, but if you can get either the classic NS3.3/OS4.2 look (or even the 4.0beta look), I could see trying to get that to be a daily driver! For example, I wonder if you could get browsers working on such a system solving our long suffering SSL issues and get a relatively more native browser working?

Anyway, kudos on that thread. It's fun.
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: user217 on May 27, 2025, 06:52:37 PM
I'm glad you're enjoying the thread.

Quote from: zombie on May 27, 2025, 04:51:45 PMIf you can make DR2, or even some later build, work with all the old OPENSTEP and NEXTSTEP apps, perhaps its more modern infrastructure would make it a better VM for all of us that love NeXT'ing?

I dislike the classic macOS look too much to deal with that, but if you can get either the classic NS3.3/OS4.2 look (or even the 4.0beta look), I could see trying to get that to be a daily driver! For example, I wonder if you could get browsers working on such a system solving our long suffering SSL issues and get a relatively more native browser working?

Unfortunately as I quickly found most NEXTSTEP apps won't run on Rhapsody DR2, only those that were compiled against OPENSTEP. (Which makes the case of Configure.app rather confusing, since it retains the original UI...) It seems the transition to 5.0 is a hard cut-off for compatibility between the old world of NeXT and the new world of Apple.

There is strong evidence that vintage Netscape was compiled on some version of Rhapsody, as I found here (https://www.nextcomputers.org/forums/index.php?topic=5884.msg33520#msg33520), but it's still an X11 app, and definitely wouldn't solve anyone's SSL problems considering how ancient it is. (And to be honest, I don't even know of where to find a Rhapsody-friendly X server. Maybe CUB-X 5.0 will run with some grease, since it claims to target OPENSTEP.)

As I've noted recently in the oddities thread, DR1 is actually much NeXTier than DR2; it has Clock.app, the traditional filesystem layout, and doesn't mess up scrollbars or Terminal.app when the Mac look is turned off.

Maybe we can start by using this thread (https://www.nextcomputers.org/forums/index.php?topic=4092) to bring the 5.3 kernel to 5.0...
Title: Re: Updated VBoxVideo driver for VirtualBox to support Widescreen Resolutions
Post by: jeffberg on June 05, 2025, 12:14:43 AM
Sorry. I misposted.

Go to top  Forum index