距离上次在Ubuntu 9.10系统中正常运行CS已经有好久了,所以今天想找出无法正常运行的问题所在。
安装完毕之后,首次可以正常运行,默认视频模式设置为OpenGL模式,画面及其粗糙。等重新设置后,CS游戏会自动重新启动,发生错误并直接 退出,同时在CS的根目录生成一个类似“Steam__95459__2010_1_19T9_51_47C3986.mdmp”名称的错误日志文件。由 于没有机会重新再次设置,所以变得非常麻烦,且如果首次没有设置为窗口模式,会把系统的分辨率搞坏,因此我没少重新启动系统。所以无论成功与否,第一次设 置最好设置为窗口模式。我开始每次重新设置都卸载重新安装CS程序,后来我找到简单的方法了,下面简单介绍一下。
如果你对wine的目录结构以及工作原理很清楚,那么wine中注册表文件就应该很清楚在哪里。
~/.wine/user.reg
~/.wine/system.reg
~/.wine/userdef.reg
这里使用到的是~/.wine/user.reg,我最后设置成功后的CS注册表文件如下:
[Software\\Valve\\CounterStrike] 1263897658
"Full Name"="Half-Life: Counter-Strike"
"InstallPath"="Z:\\game\\CS1.6"
[Software\\Valve\\Half-Life\\Settings] 1263901829
"CrashInitializingVideoMode"=dword:00000000
"EngineD3D"=dword:00000001
"EngineDLL"="hw.dll"
"io"="1058891060"
"Key"="1234567890123"
"ScreenBPP"=dword:00000020
"ScreenHeight"=dword:00000288
"ScreenWidth"=dword:00000480
"ScreenWindowed"=dword:00000001
"User Token 2"=""
"User Token 3"=""
"ValveKey"="5RP2E-EPH3K-BR3LG-KMGTE-FN8PY"
"yeK1"=""
"yeK2"=""
[Software\\Valve\\Steam] 1263900782
"Language"="English"
"Rate"="20000.000000"
"Skin"=""
路径可能不尽相同,如果设置失败且无法启动,你可以尝试修改CrashInitializingVideoMode的值为 dword:00000001,这样重新启动的时候会提示无法使用视频模式,并自动转为software模式,设置的结果是为了让CS程序不自动退 出。"ScreenWindowed"=dword:00000001的意思是窗口模式,00000000则是全屏模式。如果不可以,你可以删掉这几段代 码试试。
最后我显卡模式设置为D3D模式,成功启动游戏,画面效果也算可以。但当退出再重新启动游戏,声音会变成噪音,ubuntu其他声音设备并不受 影响,所以最后我判断是wine的问题。在网络上搜寻一番之后,得出解决方法,手动设置wine的声音驱动,命令行里输入winecfg,选择Audio 选项卡,默认选的是ALSA Driver,我把ALSA Driver去掉,并选中OSS Driver,启动游戏后声音正常。