hi, i fixed this problem for my nvidia gforce fx5200 under ubuntu 8.04 with gnome AND LATEST BINARY NVIDIA DRIVER INSTALLED (important!)
i got the same problem as you, as the game started, the screen became black, so i had to press <control+alt+backspace>to leave it.
but let me tell you how i solved it:
in ubuntu there is a tool for giving the monitor explicit values for different resolutions named "gtf", which reads it out from the connected monitor.
as the default_settings.cfg-file tells us, the standard resolution for first time starting the game is 800x600 (at my installation it was the case):
<Screen Width="800" Height="600" FullScreen="true" Vsync="false" />,
another relevant line for our problem from this file is the following line:
<Physics PhysicsAccuracy="2" UpdatesPerSec="60.000000" />
so far, so good!
now i tried to generate a modeline by typing into the console:
gtf 800 600 60
output:
Modeline "800x600_60.00" 38.22 800 832 912 1024 600 601 604 622 -HSync +Vsync
the problem is, that the xorg.conf-file cannot use this entries in that format, so we have to change it
a little into:
Modeline "800x600@60" 38.22 800 832 912 1024 600 601 604 622
(remember that this line only is for MY monitor and can be different at yours!)
now we have to put this line into our xorg.conf file, but to the right place:
from /etc/X11/xorg.conf (open it with root-rights, DO NOT FORGET TO FIRST SAVE THE OLD FILE AT A DIFFERENT PLACE!):
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown" # this may be different but right
ModelName "Unknown" # this may be different but right
HorizSync 30.0 - 110.0 # this may be different but right
VertRefresh 50.0 - 150.0 # this maybe different but right
Option "DPMS"
Modeline "800x600@60" 42.11 800 840 920 1040 600 601 604 623 # This is the relevant line!!
EndSection
below that section, there is another one:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600@60" "640x480" # this is relevant too!!(look @ the "@"-sign in this line followed by the framrate of "60")
EndSubSection
EndSection
this way we can do it for each resolution our monitor provides and the game can use.
after editing the xorg.conf, dont forget to save it and restart your X-server by pressing <control+alt+backspace>.
if your "new" X comes up, all should be fine and the game should run with correct grafix.
if X does not come up and you be shure you entered all right, then copy the backup of the xorg.conf back to its old path. after that X will be fine again but the game still won't fit. here my help ends.
p.s.: i am NOT a supporter from frictional games, i wrote this text just for private help. thank you 4 reading and good luck!!