Here is why I think Steam fails on my machine:
The issue: Half of the time Steam fails to start, with this helpful message, and no wine output: memstd.cpp (148) : Assertion Failed: 0 Then it goes into the minidump and writes a 3G file on my disk or so that I need to erase.. ===========
It seems like it tries to reserve 200 MB of memory via VirtualAlloc, and then subsequently commit a small portion of that (again through VirtualAlloc). Then it fails some sort of assertion.
It doesn't seem to check the retval of the first alloc, which fails about half of the time in wine_anon_mmap (mmap() call) with ENOMEM. If the allocation succeeds, Steam proceeds to run. If it fails, Steam dies with the message above.
This is a machine with 1G memory. How much memory does one need to run Steam? Isn't this supposed to be a Virtual allocation...Why does it work one time, and not the other... The manpage for mmap() says ENOMEM can occur if the process exceeds its allowed number of mappings. Is this relevant?