VOGONS


First post, by theshinyknight

User metadata
Rank Newbie
Rank
Newbie

Really happy that someone made CSMWrap; as it makes it easier to run old OS on new hardware; as old hardware is getting harder to find and won't last forever.

Although one thing that I noticed is that it can support ROM files from GPUs that can be loaded to support old DOS mode and 2d/3d in old OS via VGA emulation of sort (not necessarily emulation, since some GPU still have old VGA bios fallback mode).

Does this means that it is possible to load a ROM from an old GPU, like a voodoo3, and run it on a modern AMD/Nvidia GPU/APU ? I looked around trying to gather info but the thing is not really that well explained. I wish there is a way to not have to deal with lack of drivers for modern hardware in old OS; so you can get the best output possible.

Reply 1 of 3, by zyzzle

User metadata
Rank Member
Rank
Member

No, I don't think so. It refers only to the VGA BIOS ROM, which I think can be up to 64kb.

I'd like to run the .ROM of my "new" old machines which has an onboard Intel HD 620 graphics VGA ROM (vBIOS). This has VESA3 and some HD modes in its VESA list, which I think is generated dynamically based upon whether the monitor you're using is 4:3 or 16:9 and / or supports high resolutions. I can get the binary data of this ROM saved as a file.

I can't figure out how to get rid of the SeaBIOS vbios and inject my vBIOS code into its place. And, that also apparently requires recompiling CSMWrap, which I don't have the proper toolchain to accomplish.

Reply 2 of 3, by theshinyknight

User metadata
Rank Newbie
Rank
Newbie

I see, so there is no way to actually "emulate" via rom a GPU in those environments for new video cards.

Bummer; we can run PCem and emulate GPUs, and would be awesome if we could do a pass-through in old OS and emulate a GPU using a more modern one.

Guess I am back to my original original hardware for that period then, until things will change.

Reply 3 of 3, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

I think VGA BIOS is kind of like HAL implementations. OS and software only knows about VGA specs, and vendors wrap their hardware around defined API calls.

Sadly, with newer video cards that still contain a VGA BIOS, vendors only support a bare minimum of functionalities that are needed for modern-day OSes for basic functionality, and that's it. From my own experience AMD Southern Islands and nVidia Kepler are the last generations still suitable for decent DOS usage. VGA BIOS functionalities become progressively worse after that point.

On the other hand, UEFI GOP is only accessible during boot-time, and only its framebuffer will remain available afterwards. This restriction affects CSMWrap as well, so there's going to be a limit on how much can be achieved without using any actual video driver.

Open source video drivers exist for Linux. For example, with AMD there's "radeon" for older cards and "amdgpu" for newer ones; With nVidia there's "nvidia-open" for Turing and onwards, and "nouveau" for older ones.

This is not going to be a trivial task, however, even only for functions necessary to replicate VGA BIOS behaviors, as I'm yet to see any other OS (e.g. Haiku) to ever develop a video driver that's comparably usable.