Jump to content

SoftGPU - successor to VBEMP with 2d/3d (software) acceleration


Recommended Posts

  • 2 years later...

Posted

SoftGPU now works on real hardware, not just virtual machines, since it now includes support for any VESA VBE 2.0 compatible GPU and can now be considered a successor to VBEMP with some sort of 2d/3d acceleration, albeit purely software based.

I've tested the newest version (v0.8.2025.53 special edition available for donators) on my ThinkPad X230 and DOS windows work quite well (tested only text applications) and windows are not as laggy as with VBEMP.

In 3DMark2001 SE I got... 241 points :P

Would be nice to have more tests done by others on real hardware.
Download it here:

https://github.com/JHRobotics/softgpu/releases/tag/v0.8.2025.53

No need for ISO, ZIP works just fine.

 

  • pangoomis changed the title to SoftGPU - successor to VBEMP with 2d/3d (software) acceleration
Posted

Its not a problem, just a curiosity, but I noticed the dependency on the Winsock 2 Dll. Does it actually use Winsock, or is that just a default dependency from the building tool chain's configuration?

Posted (edited)
On 8/5/2025 at 8:50 PM, SweetLow said:

Pure VESA 2D driver does not use WS2.

 

The MESA LLVM uses it, or its just a soft dependency?

I am glad the 2D VESA doesn't need it. That would be scary.

EDIT: I guess I'll find out soon enough. I'll test it out on the next machine I setup.

Its a pretty interesting project. I've wondered if the source for rloew's Win9x multi-core API came came out, if projects like this could use it (or it's ideas).

I can't count the times I've though something like this should be possible. Its kinda great that someone has taken the time to keep polishing it into a reality. 

Edited by awkduck
adding thoughts
Posted

This honestly sounds perfect for those old 915 and 945 chipset machines :)

Now, they can be repurposed into semi-functional 9x machines. The unofficial chipset driver by lone and Windows 3.1 HDA driver maybe hit-and-miss, but now there's a chance. ^O^

  • 5 weeks later...
Posted
On 8/6/2025 at 4:21 AM, awkduck said:

I've wondered if the source for rloew's Win9x multi-core API came came out, if projects like this could use it (or it's ideas).

I can't count the times I've though something like this should be possible. Its kinda great that someone has taken the time to keep polishing it into a reality. 

Well, it would certainly be interesting to see his code, but it is not necessary since the mechanisms for starting the processor/core are known. here are some simple examples:

https://board.flatassembler.net/topic.php?t=13498

https://board.flatassembler.net/topic.php?t=21093

And the absolute best example:

https://github.com/WindowsNT/asm

And it is possible to use something like that for GPU emulation and that would be it, that would be the end of the story.

But to be able to use something like that in the ring 3 space of a 9x system - to enable multithreaded applications to truly take advantage of multiprocessor/multicore systems,

this would require modification of a large part of the kernel.

Posted
On 9/10/2025 at 11:20 PM, ABCDEFG said:

And it is possible to use something like that for GPU emulation and that would be it, that would be the end of the story.

But to be able to use something like that in the ring 3 space of a 9x system - to enable multithreaded applications to truly take advantage of multiprocessor/multicore systems,

this would require modification of a large part of the kernel.

Hi @ABCDEFG,

Just checking to see that I've got you right.

You're saying, we could used an extra core, for the software GPU. You are also clarifying, that this is different from truly taking advantage of a multiprocessor/multicore system; which we cannot do.

This I 100% agree with. Thanks for pointing that out, so we  don't get lots of hopeful multicore win9x questions.

I dream of taking a couple year holiday, and doing something fun with these, and other, ideas. I've been wondering if I could host a VST server (something similar to MuLab Plugin [used to be called Mux], or VSTHost) on the available cores (one host each). Each host being available to any Midi capable (potentially audio route-able) DAW. It would have to be a "from scratch" project. Hard to get motivated for something like that, with only "occasional" weekends available. Going into it, there are ALOT of problems with such a goal. Might get reduced to one core being a SoundFont/GigaSample server (headless); something like LinuxSampler. But, in the end, I'd be one of the few, or the only person, to ever use it.

PipeDreams. But, SoftGPU sparks a little fame under my chair.

@FantasyAcquiesce,

I did compile some MMX/SSE1,2 software rendering Mesa binaries (I think you are encouraged to use the included non sse3+/Avx binary, for older machines [i915]). The included binary, without AVX, doesn't include SSE. On an Pentium M 1.2ghz, Unreal Gold "with Wine3D" was almost acceptable @ 640x480 & 800x600 both 32bit. The binaries I built only seemed marginally better; however, they scored noticeably better with the included OpenGL benchmarks (the Unreal game engine probably taps out any boost the SSE (and assembly optimized) builds ?may? potentially provide).

So yeah! On a faster CPU, there may be a bit of hope for some older machines (the included Mesa [softpipe] probably being sufficient).

I'm not sure they were worth my time. But if any one wants to test these older Mesa builds, I could upload them somewhere. I've also noticed slightly faster load times, with older versions of Wine3d. But, nothing huge.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...