距离上次在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,启动游戏后声音正常。
官方如是介绍这个ALSA Driver声音驱动问题:“默认情况下声音问题会在运行程序时体现出来。确保winecfg中只有一个声音设备被选中。ALSA应该可以使用,但是仍然在某些游戏中出问题或者运行缓慢, 这里有一个关于这个问题的补丁:http://kcat.strangesoft.net/wine_thread_prio.diff 但是通过使用OSS并选择: winecfg -> Sound -> Hw acceleration -> Emulation 也可以修补这个声音问题。倘若你使用的是 alsa oss emulation 内核模块。(注意:使用 aoss 实用程序并不能解决这个问题;你必须载入 snd-pcm-oss 模块。)“
最后我发现美中不足就是菜单的字体很模糊,网上说要使用宋体(simsun.ttc),可我已经在Ubuntu中装了这个字体的。后来得知 wine并不会自动调用新安装的字体,这个字体需要拷贝到wine的虚拟的系统目录中才可以。搜索了一下,找到了自己安装的字体在~/.fonts/s /simsun.ttc,所以我只需要执行下面命令即可。
cp ~/.fonts/s/simsun.ttc ~/.wine/drive_c/windows/Fonts/simsun.ttc
倘若你的这个位置没有字体文件,则需要从windows中的c:\windows\fonts\位置拷贝这个文件到~/.wine/drive_c/windows/Fonts/目录。放好字体文件,再次启动游戏,画面字体清晰多啦!
CS是什么?
全名Counter Strike,又名Half-Life,中文名称半条命,曾经风靡全球的一款射击类游戏,执行程序名称为cstrike.exe或hl.exe。