DungeonDefenders 无法在 Ubuntu 12.10 64 位上启动

DungeonDefenders 无法在 Ubuntu 12.10 64 位上启动

我使用的是 Ubuntu 12.10 64bit,带有 Gnome3 和 fglrx-updates 图形驱动程序。驱动程序运行良好,例如 Grimrock(wine)、OilRush 或 Rochard。现在,我购买了 HumbleIndieBundle7 并想玩 DungeonDefenders。我提取了存档并在该文件夹中找到了 ./DungeonDefenders 脚本。当我启动此脚本时,游戏的闪屏出现,持续几秒钟后再次消失。然后程序结束。通过终端我可以看到以下输出:

chocobai@pfubuntu:~/Arbeitsfläche/DungeonDefenders$ ./DungeonDefenders
Dungeon Defenders: Installed in '/home/chocobai/Arbeitsfläche/DungeonDefenders'.
*** glibc detected *** ./DungeonDefenders-x86: free(): invalid pointer: 0x0a9e9118 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x75ee2)[0xf7224ee2]
/home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/libSDL2-2.0.so.0(+0xb8072)[0xf7590072]
/home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/libSDL2-2.0.so.0(SDL_VideoQuit+0x6e)[0xf756f2de]
/home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/libSDL2-2.0.so.0(SDL_QuitSubSystem+0x16d)[0xf74e1f3d]
/home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/libSDL2-2.0.so.0(SDL_Quit+0x28)[0xf74e2018]
./DungeonDefenders-x86[0x9aff07b]
/lib/i386-linux-gnu/libc.so.6(+0x32f51)[0xf71e1f51]
======= Memory map: ========
08048000-0a4b5000 r-xp 00000000 08:03 37486660                           /home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/DungeonDefenders-x86
0a4b5000-0a4b6000 r-xp 0246c000 08:03 37486660                           /home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/DungeonDefenders-x86
0a4b6000-0a502000 rwxp 0246d000 08:03 37486660                           /home/chocobai/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries/DungeonDefenders-x86
0a502000-0a5e2000 rwxp 00000000 00:00 0
0a9be000-0ba5b000 rwxp 00000000 00:00 0                                  [heap]
f0b56000-f0d56000 rwxs ef586000 00:05 9778                               /dev/ati/card0
f1100000-f11b2000 rwxp 00000000 00:00 0
f11b2000-f1200000 ---p 00000000 00:00 0
f1300000-f13ab000 rwxp 00000000 00:00 0
f13ab000-f1400000 ---p 00000000 00:00 0
f14c1000-f14c2000 ---p 00000000 00:00 0
f14c2000-f1cc2000 rwxp 00000000 00:00 0
f1cc2000-f1cc3000 ---p 00000000 00:00 0
f1cc3000-f24c3000 rwxp 00000000 00:00 0
f2600000-f2621000 rwxp 00000000 00:00 0
f2621000-f2700000 ---p 00000000 00:00 0
f27ff000-f2800000 ---p 00000000 00:00 0
f2800000-f3000000 rwxp 00000000 00:00 0                                  [stack:20940]
f3000000-f3021000 rwxp 00000000 00:00 0
f3021000-f3100000 ---p 00000000 00:00 0
f3129000-f3169000 rwxs 00027000 00:05 9778                               /dev/ati/card0
f3169000-f316a000 ---p 00000000 00:00 0
f316a000-f396a000 rwxp 00000000 00:00 0                                  [stack:20936]
f396a000-f396b000 ---p 00000000 00:00 0
f396b000-f416b000 rwxp 00000000 00:00 0                                  [stack:20935]
f419f000-f41a0000 rwxp 00000000 00:00 0
f41a0000-f41a7000 r-xs 00000000 08:01 1312550                            /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
f41a7000-f48a7000 rwxs 00006000 00:05 9778                               /dev/ati/card0
f48a7000-f4b27000 rwxp 00000000 00:00 0
f4b27000-f4b75000 r-xp 00000000 08:01 417564                             /usr/lib32/fglrx/libatiadlxx.so
f4b75000-f4b77000 rwxp 0004e000 08:01 417564                             /usr/lib32/fglrx/libatiadlxx.so
f4b77000-f4b87000 rwxp 00000000 00:00 0
f4bac000-f6dbb000 r-xp 00000000 08:01 417567                             /usr/lib32/fglrx/dri/fglrx_dri.so
f6dbb000-f6ed0000 rwxp 0220e000 08:01 417567                             /usr/lib32/fglrx/dri/fglrx_dri.so
f6ed0000-f6f9b000 rwxp 00000000 00:00 0
f6f9b000-f6f9f000 r-xp 00000000 08:01 1313273                            /usr/lib/i386-linux-gnu/libXxf86vm.so.1.0.0
f6f9f000-f6fa0000 r-xp 00003000 08:01 1313273                            /usr/lib/i386-linux-gnu/libXxf86vm.so.1.0.0
f6fa0000-f6fa1000 rwxp 00004000 08:01 1313273                            /usr/lib/i386-linux-gnu/libXxf86vm.so.1.0.0
f6fa1000-f6fa3000 r-xp 00000000 08:01 1313796                            /usr/lib/i386-linux-gnu/libXss.so.1.0.0
f6fa3000-f6fa4000 r-xp 00001000 08:01 1313796                            /usr/lib/i386-linux-gnu/libXss.so.1.0.0
f6fa4000-f6fa5000 rwxp 00002000 08:01 1313796                            /usr/lib/i386-linux-gnu/libXss.so.1.0.0
f6fa5000-f6fae000 r-xp 00000000 08:01 1313187                            /usr/lib/i386-linux-gnu/libXrandr.so.2.2.0
f6fae000-f6faf000 r-xp 00008000 08:01 1313187                            /usr/lib/i386-linux-gnu/libXrandr.so.2.2.0
f6faf000-f6fb0000 rwxp 00009000 08:01 1313187                            /usr/lib/i386-linux-gnu/libXrandr.so.2.2.0
f6fb0000-f6fb2000 r-xp 00000000 08:01 1313185                            /usr/lib/i386-linux-gnu/libXinerama.so.1.0.0
f6fb2000-f6fb3000 r-xp 00001000 08:01 1313185                            /usr/lib/i386-linux-gnu/libXinerama.so.1.0.0
f6fb3000-f6fb4000 rwxp 00002000 08:01 1313185                            /usr/lib/i386-linux-gnu/libXinerama.so.1.0.0
f6fb4000-f6fb9000 r-xp 00000000 08:01 1312921                            /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0
f6fb9000-f6fba000 r-xp 00004000 08:01 1312921                            /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0
f6fba000-f6fbb000 rwxp 00005000 08:01 1312921                            /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0
f6fbb000-f6fc3000 r-xp 00000000 08:01 1312775                            /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
f6fc3000-f6fc4000 r-xp 00007000 08:01 1312775                            /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
f6fc4000-f6fc5000 rwxp 00008000 08:01 1312775                            /usr/lib/i386-linux-gnu/libXrender.so.1.3.0
f6fc5000-f6fce000 r-xp 00000000 08:01 1313181                            /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
f6fce000-f6fcf000 r-xp 00008000 08:01 1313181                            /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
f6fcf000-f6fd0000 rwxp 00009000 08:01 1313181                            /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
f6fd0000-f7014000 rwxp 00000000 00:00 0
f7014000-f7019000 r-xp 00000000 08:01 1312733                            /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
f7019000-f701a000 r-xp 00004000 08:01 1312733                            /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
f701a000-f701b000 rwxp 00005000 08:01 1312733                            /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
f701b000-f701d000 r-xp 00000000 08:01 1312731                            /usr/lib/i386-linux-gnu/libXau.so.6.0.0
f701d000-f701e000 r-xp 00001000 08:01 1312731                            /usr/lib/i386-linux-gnu/libXau.so.6.0.0
f701e000-f701f000 rwxp 00002000 08:01 1312731                            /usr/lib/i386-linux-gnu/libXau.so.6.0.0
f701f000-f703f000 r-xp 00000000 08:01 1312735                            /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
f703f000-f7040000 r-xp 0001f000 08:01 1312735                            /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
f7040000-f7041000 rwxp 00020000 08:01 1312735                            /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
f7041000-f7173000 r-xp 00000000 08:01 1312737                            /usr/lib/i386-linux-gnu/libX11.so.6.3.0Abgebrochen
chocobai@pfubuntu:~/Arbeitsfläche/DungeonDefenders$  

我可以看到脚本正在执行此文件夹中的二进制文件,名称中带有 x86。我想知道游戏是否与 64 位系统不兼容?它似乎试图执行其他架构的二进制文件。这是我可以解决的问题吗?还是我应该联系 Humble 支持?或者我做错了什么?Scrips 看起来像这样:

#!/bin/sh

# this script is for Linux!

FindPath()
{
    X=`which "$1"`
    Y=`readlink -e "$X"`
    dirname "$Y"
}

if [ "${DUNDEF_DATA_PATH}" = "" ]; then
    DUNDEF_DATA_PATH="`FindPath "$0"`"
fi

echo "Dungeon Defenders: Installed in '$DUNDEF_DATA_PATH'."
cd "$DUNDEF_DATA_PATH/UDKGame/Binaries"

exec ./DungeonDefenders-x86 "$@"

我无法想象这款游戏只能在 32 位上运行,而他们却没有告知客户。感谢您的建议。

PS:除了 x86 二进制文件外,此文件夹中没有其他替代方案:

chocobai@pfubuntu:~/Arbeitsfläche/DungeonDefenders/UDKGame/Binaries$ ls
DungeonDefenders-x86  libopenal.so.1  libSDL2-2.0.so.0  xdg-open

答案1

我昨天又试了一次,还是不行,直到我尝试将游戏直接保存在用户文件夹中。现在可以了,但不能在全屏模式下使用,也不能在线使用。游戏文件夹的名称似乎无关紧要,因此您可以隐藏它并创建一个桌面文件来启动它。

相关内容