Overview
Just some reasons why the Software renderer might be better for more dated graphics. I use it because of these reasons.
Please read
1. Right click on Half-Life in your Steam library and click on properties and then set launch options. Add -w 800 into the box and click OK. Your screen resolution should now be set to 800×600.
2. (needs more testing) Create a custom resolution of 512×512 in your AMD/NVIDIA control panel. It’s still really small but large enough to navigate the options. One time I had a 512×512 custom resolution and when I first switched to software my resolution was set to that.
If you are having any other problems like crashing in fullscreen then read the section near the bottom of the guide.
Reasons
Color bit depth is reduced. Bit depth is unknown for now, but it’s probably 16 bit.
If you have pixelated textures in OpenGL, then you may notice that the sky isn’t pixelated. Well, Software mode does that. Take a look at the sky:
Picture of the sky in OpenGL (look closely)
In OpenGL, lighting has “infinite precision” but while in Software, lighting’s “precision” is only per texture pixel, but the lightmap itself is not pixelated.
Self explanatory, decals are perfectly aligned with the pixels on the textures. This is similar to Reason 3. Take a look at the blood decals here:
Picture of the decals in OpenGL (and a tentacle going into the ground lol)
For models such as scientist, barney, gibs, etc. have their polygons less precisely placed on the screen. This appears to be an integer operation which makes the vertices snap to the nearest pixel.
Some people have reported that OpenGL messes with textures with dimensions that aren’t a power of 2 (16, 32, 64, 128, 256, 512, etc.) such as health/suit chargers, computer panels, etc. They appear to be slightly blurred horizontally or vertically. I didn’t have this problem in OpenGL but I did in Hammer.
Software completely uses your CPU for rendering, so if your GPU processes slower than your CPU, performance may be increased as a result of Software mode. If you had like an Intel HD Graphics and a Ryzen 9 3900X then you will have more FPS in Software renderer. If you had something like a Radeon RX 560 and FX 6300 then it will be way way less.
Instead of water waving, it’s completely flat, but it has a nice ripple effect instead. I kind of wish this was in OpenGL because it looks really cool.
This one doesn’t count that much because you can do it in OpenGL with the command “gl_texturemode GL_NEAREST” but in Software mode pixelation is a little bit better (read reason 2, 3, 4, and 6).
Thanks to bruh for finding this out.
In OpenGL, random tiling does work but it doesn’t work right. I don’t know how to explain it but it looks like this in OpenGL:
[i.imgur.com]
You can also notice that there are seams.
While in Software, it looks correct and there are no seams:
[i.imgur.com]
Drawbacks
When you’re in fullscreen, you will get really weird jittering/stuttering in most of your screen. Forcing vertical sync does not fix this and there doesn’t seem to be a way to fix it. A workaround is to have a very high FPS. It doesn’t matter what refresh rate your monitor is. I recommend at most 1000 FPS.
Add the following command to your launch options: +fps_max 1000
In case you didn’t read the previous section (why wouldn’t you, that’s the whole point of this guide), Software mode uses your CPU to render the game, so performance can be heavily affected by other apps running, so you can get a lot of lag. You could also have more FPS but for most PCs it will run worse. I had 20 FPS on 1920×1080 resolution with a crappy FX 6300, just like how it was like back in 1998. But again, set your res… MANJUSTREADTHEFIRSTSECTION
WHYDIDYOUCOMEHEREIFYOUDIDN’TEVENREADTHEREASONS???!!!
If you’re having problems or it’s not working
You need to locate your Half-Life exe file (hl.exe) and open up its properties. Go into the compatibility tab and enable “Run this program in compatibility mode for:” and set it to something ranging from Windows 95 to Windows XP SP3. If you want to you can also change the color to 8 bit or 16 bit and run it as admin. The color option does work while the game is loading but then Half-Life seems to override it.
Note: I have no idea if these work.
If it’s falling back to OpenGL: -soft
If the screen is too small or the game is crashing on startup: -w (number) -h (number)
Recommended 4:3 resolution: -w 640 -h 480
Fallback recommended 4:3 resolution: -w 800 -h 600
Recommended 16:9 resolution: -w 1280 -h 720
If for some weird reason it’s not working in fullscreen then you can try forcing it: -full
If your OS/computer just hates fullscreen then you can use: -sw
Still crashing? Maybe you need to force a refresh rate: -freq (number)
Please set this to your monitor’s refresh rate or 60 (unless you have a rare 30/40 Hz monitor or something). Do not set it higher than your monitor’s refresh rate (unless you’re an overclocker).
The Valve wiki says -freq will most likely only work on CRT monitors so you may have to change your refresh rate in your graphics control panel/display adapter properties if you have a LCD/OLED/plasma monitor.
-heapsize 131072
-nomsaa
Here’s what I recommend: -soft -full -w 640 -h 480 -freq 60 -nomsaa
Maybe it’s working for me fine because I’m lucky, or it could be the CPU that you have. There’s nothing I can do about that unfortunately.
Conclusion
This guide may be updated in the future.
BigNoob out