protonscr

WON/Retail versions of GoldSrc games incorrectly detect memory under Proton

protonopen
ValveSoftware/Proton#6931 · opened 2023-07-16 by suprstarrd · updated 2026-05-29 · 17 comments · github
1 matching comments, n / p to jump
Ssuprstarrd 2023-07-16 github

Compatibility Report

  • Name of the game with compatibility issues: Half-Life
  • Steam AppID of the game: N/A

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-13986811572144570368.log

Symptoms

The name of the game is listed at the top as Half-Life, since that's the most generic/popular game to put "all GoldSrc games" under, but I'm led to believe that this applies to any GoldSrc game that does a memory check, which only applies to WON/Retail versions of these games (as best as I can tell!)

  • When running Half-Life: Uplink, I get an error that says Your system reported only -0.00K of physical memory, Half-Life requires at least 16MB.
  • When running Gunman Chronicles, I get an error that says Your system reported only -0.00K of physical memory, Gunman Chronicle requires at least 16MB. (It does actually say "Gunman Chronicle" - the last S is dropped 🙃)

I'm going here to report this issue / ask for support because this has been incredibly hard to find any support for. This problem only happens to me under Proton.

Reproduction

  1. Run a GoldSrc game from a retail disc
    a. Run the installer through a Proton-enabled non-Steam shortcut
    b. Change the target of the shortcut to where the game is installed (hl.exe/cs.exe/gunman.exe/etc.)
    c. Run the game through the same shortcut
  2. See the error occur
Llichtmetzger 2023-11-12 github

If it helps with tracking the issue down, this also happens with the retail release 1.1.1.0 on Windows XP 64bit.

Here's an old forum post talking about this issue in the Steam release.
https://gamebanana.com/threads/110062

Right click on Half-Life in steam games, click properties, and then Set Launch Options. Then, i typed in -heapsize 1048576

Maybe that works? :)

Llichtmetzger 2023-11-12 github

I was able to start the game on XP64 by limiting its max RAM usage to 2GB (putting /MAXMEM=2048 into the boot.ini).

So that seems to be the problem causing the game to report -0.00K of memory. I don't know if it's possible to do something like this in Proton, though.

Llichtmetzger 2023-11-12 github

Found a solution to get around this error. There's a "Half-Life WON Resolution FOV MP3 Patch" on moddb. This mainly enables widescreen resolutions for the old WON versions of HL1 and BlueShift.

It also gets rid of the error:

The patch also fixes the error about the game requiring at least 16 MB of physical memory that occurs on some systems.

https://www.moddb.com/downloads/half-life-won-resolution-fov-mp3-patch

Bbillbeans 2026-01-31 github

Found a solution to get around this error. There's a "Half-Life WON Resolution FOV MP3 Patch" on moddb. This mainly enables widescreen resolutions for the old WON versions of HL1 and BlueShift.

It also gets rid of the error:

The patch also fixes the error about the game requiring at least 16 MB of physical memory that occurs on some systems.

https://www.moddb.com/downloads/half-life-won-resolution-fov-mp3-patch

This worked nicely for a Half-Life GOTY disc, but for a pure Half-Life: Counter-Strike retail disc it doesn't help - a dialog window pops up telling you that your Half-Life exe has been tampered with and to check for viruses/reinstall.

Bbillbeans 2026-01-31 github

Update: I got it working by first updating Counter-Strike with the 1.005 patch (may have not been necessary, but I wanted to ensure compatibility with WON2 servers):
https://www.patches-scrolls.de/patch/1942/7/44617/download

I then used the Half-Life patch from moddb link above. Specifically, I extracted the files in the Half-Life/v1.1.1.0 folder into the game dir, replacing hw.dll. Then I launched the game with hl.exe -game cstrike

Works, but for some reason the "New Game" and "Training" entries in the main menu are greyed out. I don't know what 'New Game' is for, but I know there's a training mission on classic cstrike and I'd like to be able to play it.

Ffreezer255 2026-04-19 github

I have exactly the same problem.
I did install the Half-Life CD Version with Lutris and I get the message that my system has -0.00k physical memory but in german because I have the german version.

I don´t want to use the moddb patch because he changes the resolution modes and FOV and other things.
For those people like me who want to have the og retro feeliing with using the original disc and play without custom pacthes is there a solution ?
(Of course without using a retro PC.)

Maybe proton can use the method of the moddb patch without the other stuff ?

I also set the compatibility mode in wine to Windows XP and Windows 98 without success and use this command -heapsize 1048576 as launch option.

This problem appears when using wine but also in proton because I also did test it with proton.

Bbillbeans 2026-04-20 github

I don´t want to use the moddb patch because he changes the resolution modes and FOV and other things.

I believe he only changes those modes if you use them. I still play the game at 1024x768 resolution with that patch, so it doesn't change anything related to FOV. The only other changes he really makes is a fix for the music and fixing the memory issue.

However, I would still like to know how to play without the patch too, because it would be helpful knowledge for general retro game troubleshooting with Proton. Also, the issue still persists with the WON versions of Counter-Strike and I'm sure other Goldsrc games, which didn't get a patch. As I noted above, the patch doesn't work with any pre-1.5 versions of CS.

Ffreezer255 2026-04-27 github

Ok if I use in lutris the runner wine staging or proton-cachyos the game starts and the error message disapears.
But the new problem is I it doesn`t work in fullscreen I need to set my desktop resolution to a 4:3 aspect ratio resolution and than I have fullscreen ingame.Also there is no CD Music ingame,

Bbillbeans 2026-04-28 github

But the new problem is I it doesn`t work in fullscreen I need to set my desktop resolution to a 4:3 aspect ratio resolution and than I have fullscreen ingame

Try launching the game in Gamescope with -w 1024 -h 768 -f -- parameters (or whatever you desired game resolution is)

Also there is no CD Music ingame,

Do you have all 32 bit versions of gstreamer packages installed?

Ffreezer255 2026-04-28 github

Ok thanks with gamescope it works.I can play with black borders or stretch the game to 2k with gamescope.
I made a mistake by saying the error message goes away with proton cachyos.
No the error message only disapears with the wine staging runner,

Bbillbeans 2026-04-29 github

I'll have to try wine-staging, if you can really launch without getting the memory bug that's a great acheivment. FYI Kron4ek builds wine-staging and he's already on version 11, which is supposedly a huge performance improvement over the others: https://github.com/Kron4ek/Wine-Builds/releases

Another problem I noticed is transitioning from the pause screen to the game, especially when saving, causes you to temporarily lose control of the mouse. One fix I came up with was setting the Wine prefix to 'emulate a virtual desktop' via winecfg at 800x600 resolution - the game feels much more responsive this way, but you're stuck with the lower resolution which makes the HUD look way too big IMO. If you try setting the emulated desktop dimensions any larger the pause menu will actually fail to fill the window borders and your mouse will constantly lose control as you move it outside of the borders.

Bbillbeans 2026-05-24 github

Taking another crack at this and it's been driving me crazy. I want to play the very first Half-Life build, aka version 1.0.0.5, and it's 100% a problem with the Steam runtime isolation preventing the game from properly detecting my system memory.

I can get to the main menu using my system Wine, but it has several problems preventing me from getting in-game. When adding DXVK to the prefix and dgvoodoo to the game dir, this is the closest I got to actual gameplay, but there is a problem with the mouse where it continuously moves in the last direction you pointed it in, making gameplay virtually impossible. I emulated a virtual desktop at 640x480 dimensions, which I found produces the best results with the OpenGL driver on my 1.1.1.0 build with the FOV patch, but the FOV patch is not available for builds before v1.0.1.6.

Ffreezer255 2026-05-24 github

Did you try wine staging ? I installed half-life in lutris with the lutris script for the goty version. Propably it works because it is not the first Release version like yours.

Bbillbeans 2026-05-27 github

I spent another night working on this, and didn't make much progress. I did try compiling wine-staging from source and this is what I've concluded:

It's not actually the Steam runtime causing the memory issue, because the same low memory bug happens when using Proton a la Kron4ek's builds and even his wine-staging-tkg build.

The mouse movement is a problem with having Wine emulate a virtual desktop, and I'm not sure how to fix it. If I turn off the virtual desktop, I can get in-game and it plays perfectly, but I can't pause or it completely freezes.

I installed from my original CD then used this patcher to remove the CD check, since the game tells me it can't validate the disc when it's mounted with cdemu (this does not bypass the key code).

I should also mention that the main menu appears black in many spots - sometimes just the text is replaced by black boxes and other times the entire background. I've learned this is related to ddraw. If I set the in-game resolution to windowed mode the menus render properly, but then I'm stuck playing the game in a window, and the previously mentioned mouse movement issues persist.

I almost have the game working. If I can just figure out the mouse movement issue then I can play in a virtual desktop and access the pause menus, even if they are mostly blacked-out. I may try Lutris' wine-staging next, since Lutris bundles it's own runtime that may assist me.

Bbillbeans 2026-05-27 github

@freezer255 You have wine-staging in your Lutris install? I don't see it in mine.

Edit: Nvm. I just had to install wine-staging with apt.

Bbillbeans 2026-05-28 github

I give up for now. Lutris makes no difference for me.

I can get the game itself to play perfectly with wine-staging set to Windows XP, dxvk and dgvoodoo 2.79.3 with the x86 Windows and 3dfx dlls dropped into the game folder, and then Half-Life's graphics settings to 640x480 OpenGL with the 3Dfx Mini Driver. I also have the virtual desktop turned OFF now, and I launch the game in Gamescope with 640x480 game dimensions. If I start up the Hazard Course with these settings, the game plays perfectly, but I cannot pause. If I emulate a virtual desktop, that doesn't work either now; I can pause, but I cannot return to the game. So I'm just completely at a loss for now. The pause menu uses GDI and DDraw, but I haven't been able to find a compatability version of these libraries that will make it work properly.

If I could only get Proton to pass through the proper system memory to the game I could play it perfectly that way, like I do on my GOTY install.

Bbillbeans 2026-05-29 github

I got everything except the menu render working now using wine-staging and nglide in the prefix.

  • Mouse control inside the virtual desktop magically started working for me. First, I installed vkd3d in the prefix and that fixed it. But then I started fresh in another prefix and it was working there too. Only difference is I checked "Always capture the mouse in full screen windows" in winecfg, so maybe that was it.
  • The error regarding switching back from the game to the pause menu was a mismatch between dgvoodoo's ddraw and DXVK, I think. It's some kind of conflict between going from the game's 3Dfx rendering back to the main menu's GDI/ddraw, which causes a stack overflow.
  • If I play the game in a vanilla prefix, DX surfaces like spray decals and blood are semi-transparent and flickering. The only way I've been able to fix this is by adding some kind of 3Dfx/Voodoo compatibility layer and then enabling the 3Dfx mini driver in the game's OpenGL settings.
  • This time, I used nGlide by running the installer in the prefix. Everything in the game works perfectly now, but there are still many glitches on the pause menus. Dropping in dgvoodoos ddraw.dll fixes the menu on first launch, but then you can't ever pause while in-game because there will be no picture if you try to resume.

Proton versions

DLLs