我曾在 Ubuntu 的几个早期版本上运行过 Doom 3,但最近我全新安装了 Ubuntu 12.04 64 位,在尝试启动游戏时出现错误。
我安装了最新的专有 ATI 驱动程序,以及支持 32 位所需的“ia32-libs”包。我收到以下错误:
DOOM 1.3.1.1304 linux-x86 Jan 16 2007 21:58:02
found interface lo - loopback
found interface eth0 - 192.168.1.2/255.255.255.0
------ Initializing File System ------
Loaded pk4 /usr/local/games/doom3/base/game00.pk4 with checksum 0xf07eb555
Loaded pk4 /usr/local/games/doom3/base/game01.pk4 with checksum 0x51c6981f
Loaded pk4 /usr/local/games/doom3/base/game02.pk4 with checksum 0xf3ec6f7
Loaded pk4 /usr/local/games/doom3/base/game03.pk4 with checksum 0x5d4230ea
Loaded pk4 /usr/local/games/doom3/base/pak000.pk4 with checksum 0x28d208f1
Loaded pk4 /usr/local/games/doom3/base/pak001.pk4 with checksum 0x40244be0
Loaded pk4 /usr/local/games/doom3/base/pak002.pk4 with checksum 0xc51ecdcd
Loaded pk4 /usr/local/games/doom3/base/pak003.pk4 with checksum 0xcd79d028
Loaded pk4 /usr/local/games/doom3/base/pak004.pk4 with checksum 0x765e4f8b
Loaded pk4 /usr/local/games/doom3/base/pak005.pk4 with checksum 0x8ffc3621
Loaded pk4 /usr/local/games/doom3/base/pak006.pk4 with checksum 0x95b65ab
Loaded pk4 /usr/local/games/doom3/base/pak007.pk4 with checksum 0x666bdb3c
Loaded pk4 /usr/local/games/doom3/base/pak008.pk4 with checksum 0x23ae5993
Current search path:
/home/klusacek/.doom3/base
/usr/local/games/doom3/base
/usr/local/games/doom3/base/pak008.pk4 (3 files)
/usr/local/games/doom3/base/pak007.pk4 (38 files)
/usr/local/games/doom3/base/pak006.pk4 (48 files)
/usr/local/games/doom3/base/pak005.pk4 (63 files)
/usr/local/games/doom3/base/pak004.pk4 (5137 files)
/usr/local/games/doom3/base/pak003.pk4 (4676 files)
/usr/local/games/doom3/base/pak002.pk4 (6120 files)
/usr/local/games/doom3/base/pak001.pk4 (8972 files)
/usr/local/games/doom3/base/pak000.pk4 (2698 files)
/usr/local/games/doom3/base/game03.pk4 (2 files)
/usr/local/games/doom3/base/game02.pk4 (2 files)
/usr/local/games/doom3/base/game01.pk4 (2 files)
/usr/local/games/doom3/base/game00.pk4 (2 files)
game DLL: 0x0 in pak: 0x0
Addon pk4s:
file system initialized.
--------------------------------------
----- Initializing Decls -----
------------------------------
------- Initializing renderSystem --------
using ARB renderSystem
renderSystem initialized.
--------------------------------------
5206 strings read from strings/english.lang
Couldn't open journal files
execing editor.cfg
execing default.cfg
couldn't exec DoomConfig.cfg
couldn't exec autoexec.cfg
5206 strings read from strings/english.lang
----- Initializing Sound System ------
sound system initialized.
--------------------------------------
----- R_InitOpenGL -----
Setup X display connection
dlopen(libGL.so.1)
dlopen(libGL.so.1)
idRenderSystem::Shutdown()
signal caught: Segmentation fault
si_code 1
Was in fatal error shutdown: Unable to initialize OpenGL
Trying to exit gracefully..
glxinfo | grep direct 的输出如下:
direct rendering: Yes
GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete,
GL_ARB_draw_indirect, GL_ARB_draw_instanced,
GL_EXT_copy_buffer, GL_EXT_copy_texture, GL_EXT_direct_state_access,
任何帮助,将不胜感激。
谢谢
答案1
我让它运行了!问题出在我的 ATI 视频驱动程序和配置上。我按照以下出色的指南删除并安装了最新的(今天刚刚发布的)ATI 驱动程序:
此外,我的系统运行速度比以前更快了 xD。感谢大家的回复。
答案2
您还需要运行 24bpp 桌面。如果您使用 glxinfo 命令,您将在视觉效果列表中看到 24bpp 模式:
$ glxinfo [..] visual x bf lv rg d st 颜色缓冲区 ax dp st 累积缓冲区 ms cav
id dep cl sp sz l ci b ro rgba bf th cl rgbas ns beat
0x21 24 tc 0 32 0 ry . 8 8 8 0 4 24 8 16 16 16 16 0 0 无 [..]
打开终端类型:
glxinfo
看看你是否在 24bpp 的桌面上
如果你使用的是 24bpp 桌面,请尝试以下操作:
LD_PRELOAD=/usr/lib/libGL.so.1
指向 libGl 的正确位置。