Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Dolenc

#1
Voodoo4/5 Setup and tweaking / Re: Driver
11 June 2023, 14:38:54
Setting a virtual machine for driver compile

Theres plenty of way how to approach this, this is one of them.

I use a virtual machine (VirtualBox) running WinXp sp3 to compile 3dfx stuff. Benefits being, still using an older OS to avoid compatibility issues, but still working on a new(er) machine, with its higher resolution, multiple monitors, network access, very easy to install software, mount .iso-s and just generally fast. And if you "botch" something in the OS, you just clone a clean, already setup instance and continue.

Used this for all glide versions so far and minivdd driver. For MesaFx I tend to use win10.

1. Oracles VirtualBox can be downloaded ->here<-. Your system has to have virtualization support and enabled in bios, usually by default.
Download and install.

2. Create a new virtual machine
Enter a name for it, select a folder where the virtual HDD and settings will go, select a WinXp 32bit version. Next...





2.1 Set memory size this system can use, I tend to give 4096MB. Next...



2.2 Create a virtual hdd, leave default settings, vid, Dynamically allocated, 10GB is fine.



Virtual instance is created.

3. Start it, browse to your winXp.iso image, from which you will install the OS, Start...


3.1 WindowsXp installation will commence! Go through the install procedure, same as on actual hardware.
Create a partition from that 10GB and format it to ntfs.




After a minute or so and a few restarts, were in! Configure whatever needs configuring (language, date/time) from inside the od. Sound should be working, inputs should be fine, resolution should be a small window.

4. Now the fun part... Configuring it for ease of life.

From the MenuBar go to Devices / Insert Guest Additions CD image...



This will mount some extra utility cd, that contains additional drivers and utilities. It will help with window scaling, sharing folders, usb drivers and so on... Must install.
 
It will either autoplay or if it doesnt, go to my computer and run the installation disc. 



After the restart, we can now rescale the window or go fullscreen and it will dynamically adjust.
You can see an aditional oracle icon next to the clock.

4.1 From the MenuBar go to Devices / Shared Clipboard and set it to Bidirectional. Do the same for Drag and Drop. This will enable shared "copy paste" between you host machine and the guest virtual one.



4.2 On your host pc, create a folder, you will use for sharing data between host and guest machine. I have it like "F:\Virtualka\SharedFolder"

From the MenuBar select Devices / Shared Folders / Shared Folders Settings



Click on the plus folder icon, set path to your shared folder and check Auto-mount and Make Permanent



Save/ok. Now if you check under My Computer. You will see the newly attached network folder. Convinient way to share files between systems.



4.3 For installing from .iso images aka mounting virtual cds.
From MenuBar, select Devices /Optical Drives / Choose a disk file...




Select the .iso from the host machine. It will be mounted as a "disk drive" in the virtual guest system.



This is the easiest way to install software needed from .iso-s. But before you go ham installing... Do one more thing.

4.4 Install common software
- 7zip
- Notepad++
- Whatever you need for every system

5. Make a copy of your clean virtual machine, before you start installing SDK-s.
Close the running virtual machine, MenuBar File/ Close /save the machine state



From the VirtualBox Manager window, right click on your clean installation and Clone it. Name it FreshInstall or something, so you dont forget which one to always start with.




So when (not if) you **** up your installation, you always have a clean one, ready to clone again and go!



Thats it... Fast, safe, easy to restore

#3
Added glide to github, so all changes will be documented.
Same plan for other parts of the driver or anything 3dfx related I will do, slowly...

https://github.com/NejcDolicanin/3dfx_glide
#4
Think you 2 deserve a couple of screenshots

Heretic II v1.07




#5
QuoteOriginally posted by Dolenc
- Fixed occasional lock-up on game start

I still got lockups occasionally on game start.
What it turned out to be the problem is Agp aperture size, I had it at 256mb, so set that to 32mb, v5 has no agp texturing anyway, no more problems for the last 2 weeks.

One game that doesnt work, that I tried, is Sin. It works with 6.3 mesaFx, You can use that mesafx version, just put in the game folder and if you want to use a different resolution, use glide override, it will force it(also patch the game ofc).

I have "future plans" to use newer mesa, but in 6.3+ they changed some things and glide part needs some rework, so somedayTM.




More rune in action
https://youtu.be/gFsCs6DKLYs
#6
Since someone asked, where are the glide sources.

Koolsmokys
https://www.3dfxzone.it/koolsmoky/glide.html
   
Sourceforges latest development glide version, that Sezero pushes forward.
This one is nice, since you can peek at the history of commits.
https://github.com/sezero/glide
   
Sourceforge, last release is 30303
https://sourceforge.net/projects/glide/

To get development branch use CVS

cvs -d :pserver:anonymous@glide.cvs.sourceforge.net:/cvsroot/glide -z6 co -P -r glide-devel-branch Glide3
(note: use Glide3 with capital G -- that will get both glide3x and swlibs)

To get an older version, if you need it
CVS Get date
cvs -d :pserver:anonymous@glide.cvs.sourceforge.net:/cvsroot/glide -z6 co -D "2007-02-15" -P -r glide-devel-branch Glide3
#7
In thanks, you get some screenshots









So atleast I didnt break the screenshot function.
Game does run a bit too slow, causes lots of tearing.

And unreal-ated, but still some.
For ease of searching patches for games and troubleshooting, a good the best source is https://www.pcgamingwiki.com. You can find windescreen info, which graphics and sound api the game supports, inputs, troubleshooting. Really good place, where I always check first. You get used to their design and lots of info provided at first sight.

Some more patches I use:

Quake2 Unofficial v3.24 Patch, adds some more settings, resolutions and music, so cd doesnt have to be use.
http://www.markshan.com/knightmare/downloads.htm

Quake 3 palleted textures and hor+ patch
https://www.vogons.org/viewtopic.php?f=5&t=38810

Half-life, for won version, adds music, additional resolutions (oh the warp screens!)
https://community.pcgamingwiki.com/files/file/1228-half-life-won-resolution-fov-mp3-patch/

Fakk2 fov patch, resolution in autoexec.cfg same as any quake3 engine game
https://www.wsgf.org/dr/heavy-metal-fakk2

Unreal tournament (for free fps set detailed textures to false in game preferences for glide)
https://github.com/alexstrout/foxWSFix-UT99

For more, you know where to look.
#8
3dfx Wide driver v1.1
https://easyupload.io/o4h16z
(link expires in 30 days)

Supports vsa-based cards, no v3, for win98.
Extract, read readme.txt - Extra notes, run setup.exe.



Version 1.1
- Fixed occasional lock-up on game start
- Added back sse2 texture downloads, that were removed from v1.0
- Fixed eventual crash from switching between windowed and fullscreen in glide
- Alt-tab wont crash openGl games anymore
#9
There are 2 problems currently with v1.0 (ofc theres more, but this 2 bother me)

- Sometimes it will lock-up on game start, kinda big problem ;). I fixed it once, clearly not. Could be related just to my system configuration, still...
- Switching between windowed and fullscreen will eventually cause a crash

It will have to wait a couple of weeks, have to do some other stuff first, but think I have an idea whats going on, fixes will go in v1.1.

If someone tests the driver and you have issues, write it here and add what gpu and cpu was used.

----
Well time management at its finest... For the first issue, good news I found where it happens. Bad news, where it happens, mesa.
Second issues fixed, need to be more careful porting newnew glide stuff. Also added back sse2 texture download stuff(partial) that I blamed for the first issue.

----
Think the first issue is resolved too. Had to build mesafx with the glide lib of the actual glide.dll that Im using. You learn something new everyday.

Ill wait till tomorrow, to test some more, if Im not prematurly celebrating, but I think this is it.

Also alt-tab issue crashing the game got resolved during the proces. It still wont minimize the game, but it also wont crash it anymore.

Looks stable as it should be now.
Some more testing and if confirmed, Ill upload the v1.1
#10
Please restrain yourself from further ****posting.

Not everything will be to your liking, and thats just fine ;)
#11
Its made to run 5min, enough for a benchmark run or one good screenshot! I can guarantee that! For more you can send your complaints to support@nvidia.com :P
#12
And there we go.

3dfx Wide driver v1.0
https://easyupload.io/znl3ry
(link expires in 15 days, @Glide please, put it somewhere and edit the post)

Supports vsa-based cards, no v3, for win98.
Extract, read readme.txt - Extra notes, run setup.exe.




Some additional info, because I noticed some confusion.

OpenGl
Additional resolutions are added to the included MesaFx opengl icd (also glide).
There is no override for openGl. If the game supports it, if the driver supports it, it will run.
Glide override will check if request came from openGl and even if you have it set in 3dfx tools, it will ignore it.

If you are going to use another icd, it does not have these resolutions. So you will not have them.
Glide override feature will force it, because (atleast what I tested) other icds dont bother telling glide they are opengl.
But will either be letterboxed or crash in a short time.

Use Default OpenGl renderer in games settings, not 3dfx one if the game has that setting.
It will default to the one installed with the driver.

MiniGl, you should not use - ever, even with other drivers. This was a stop-gap solution for 3dfx, that gave them time to complete theirs full openGl icd. And it should be forgoten in history.

General rule, unless you have some compatibility issues with some old games. You should not use any other icd, this one is kinda the best ;)


MesaFx force 16bit
These two controls are enabled by default in the driver. Disable them to get default MesaFx behaviour.



MesaFxs default behaviour will default textures and pixelformat to 32bit, unless the game specifies it wants 16bit.
Quake 3 is a good example, that can do both. So no need here.
Quake 2 is a good example, that does nothing. Thats why it was made.

As a general rule, you should leave them disabled. If you are experiencing any performance issues with the game, try textures first, then pixel format.


Glide resolution override
This is a hack-ish solution, that will replace the games resolution with the one provided in 3dfx tools, when preparing the framebuffer.



As explained in openGl section, you can leave this on and it wont bother openGl or d3d games.



For Unreal engine games it works as expected, for others, no guarantee.
Fov has to be adjusted if the game doesnt do it automaticly.

If the game uses fov of 90 at 4:3. Then you will get the same scale with fov 106 at 16:9 and fov 121 at 21:9 aspect ratio. But consider fov a bit of a personal prefference, I use 130 for 21:9.

There are also some 4:3 resolutions on the list, idea being to force higher, when game is limited to very low one. Havent found one so far that worked.

General stuff
V5 5500 uses digital sli and 2pix per clock rendering. Up to a point - resolution. At 1600x1200 and higher it will disable 2px rendering and switch to analog sli (6000 series only has analog). So its "sweetspot" is at lower resolutions than that.
For 16:9 thats 1600x900 and for 21:9 thats 1920x800.

If you get, so called, pink sli lines, it means its just too much for the poor sli to handle, that can accur with higher resolutions and 32bit color. Use 16bit color and you are good to go, even at 1920x1080.
#13
And a small update whats happenung!

Latest greatest glide source, has some issues under win98, I never solved that registry path problem and some more issues appeared for 6k cards. So I decided to change the glide3 source to koolsmokys one, it also runs a bit faster under 98. For XP the new one is still preffered.

The plan is to slooowly port changes from the new one to this one, but first I want to have a milestone 1.0. And as always there were some problems with this one too. I had them, Anthony who kindly tests my builds, didnt have them...

I found out where the problem is, with sse2 optimizations having some issues, so Im slowly porting the lastest one to it, now that I know where the problem is.
#14
Theres no correct aspect ratio. Cards/drivers are not made for it.

The Math behind (most) 3D games - Perspective Projection
https://www.youtube.com/watch?v=U0_ONQQ5ZNM
#15
Is the 3dfx Voodoo 5 5500 a 21:9 card?
https://youtu.be/QCqaPek9ovU

Anyway Im about done, waiting for some confirmation that it installs correctly on 6k and v4 and this will have to do for v1.0!
If Ill do more fixed eventually it will go into the next version.