sarah-walker-pcem / pcem

PCem
http://pcem-emulator.co.uk
GNU General Public License v2.0
1.47k stars 204 forks source link

Cannot get voodoo on Linux #177

Open Raviu56 opened 1 year ago

Raviu56 commented 1 year ago

Describe the bug I've build pcem on Linux, added required roms from It should have all needed roms including those required by voodoo but I cannot get voodoo graphics enabled whatever I do. It's always inactive Screenshot_20220916_171700

Also, pcem does not save all configurations like cpu type - defaults to i486SX/16- and memory size, it always defaults to 4 cpu_mem

To Reproduce Steps to reproduce the behavior:

  1. build cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release . && ninja
  2. run ./src/pcem
  3. Add new configuration, try to change graphics and activate voodoo

Emulator configuration Shown on screenshots

Host machine

ruben-balea commented 1 year ago

Please edit your comment and remove the link to the ROMs because it's not allowed to post links to copyrighted materials here. Remember to delete the previous revisions of that comment too, see how to do it here

I've no idea why that happens but that's not a ROM issue, the first 3dfx Voodoo had no BIOS at all because it wasn't a full video card but a 3D accelerator that didn't work on its own, it required a normal video card image to overlay the accelerated 3D graphics on, which could be windowed or full screen.

leilei- commented 1 year ago

Voodoos are PCI cards. The board emulated for the WinBIOS 486 has no PCI slots.

Raviu56 commented 1 year ago

Voodoos are PCI cards. The board emulated for the WinBIOS 486 has no PCI slots.

It works on older windows editions however, but ok, which board to use? What about resetting configurations and falling to 4MB ram always?

eddmanx commented 1 year ago

It works on older windows editions however

What does that even mean? You select the parts when the machine isn't running. The guest OS has nothing to do with it. If the selected board didn't have PCI slots, you cannot enable voodoo.

Posts like this are suited for the forum, not here.

If you cannot enable voodoo with any board, then that might be a bug.

The latest dev builds seem to have issues with settings getting reset to default, and also crashing. I'd say stick to v17.

ruben-balea commented 1 year ago

It works on older windows editions however, but ok, which board to use?

All Pentium boards (Socket 4, 5 and 7) Pentium Pro (Socket 8) Pentium II (Slot 1) have PCI slots. 486 Boards can use special 586 CPU's made to fit on early CPU sockets, like Intel Pentium OverDrive, AMD Am5x86 and Cx5x86 but only some late 486 boards had PCI slots, most had Vesa Local Bus (VLB) In PCem I think so far the only 486 board with PCI is the "Award SiS 496/497"

What about resetting configurations and falling to 4MB ram always?

The file ~/.pcem/pcem.cfg keeps some PCem settings including the paths to some directories, perhaps it's pointing to some directory not available on your system, open it and see if configs_path = points to a valid directory. Or just rename or delete it, PCem will create a new one. Also check that your user account has read and write permissions on all directories used by PCem, or try running it as root to see if it makes any change. If you happen to be new to Linux remember that in Linux paths and filenames are case-sensitive.

leilei- commented 1 year ago

FWIW there are actual WinBIOS 486 boards out there with VLB/ISA/PCI slots that'd support even a Voodoo2, but they're on chipsets that don't have data/documentation available. coughUMCcough