我在执行《帝国时代 II - 征服者》时遇到了麻烦,而不是 WineHD 上的高清版本。
我目前使用的是 Ubuntu 18.04.02,nvidia-driver 是 340.107(我的 GPU 是 Geforce GT 230M)。
奇怪的是,如果我设置 nouveau 驱动程序,一切都会“正常”运行,除了: - GPU 温度升至 100°C,而 nvidia 驱动程序则证明温度更“正常” 75°C - 无论我设置了哪种 Wine 配置,游戏总是在一个小的窗口中启动,而不是全屏启动。
我想使用更高效的 nvidia 驱动程序,但是当我运行相同的 .exe 时出现此错误:
Unhandled exception: page fault on write access to 0x7c002fd4 in 32-bit code (0x7caab2ea).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7caab2ea ESP:0033b300 EBP:00000014 EFLAGS:00210202( R- -- I - - - )
EAX:7d84ad20 EBX:7c002fd4 ECX:7d84ad20 EDX:00000000
ESI:7cb24ad0 EDI:7c0005f9
Stack dump:
0x0033b300: f7f17940 7c0008b4 00000149 0008c408
0x0033b310: 7c202490 00000000 f7f17940 00000012
0x0033b320: 00000016 7c1bd230 7c00082c 7caac52c
0x0033b330: 7c0008b4 00000014 7cb249c0 7c1bd230
0x0033b340: 00000000 f7f17040 f7f17940 00000285
0x0033b350: f7f17504 f7c4bb96 7cea93d8 0000000a
Backtrace:
=>0 0x7caab2ea glGetTexGenivOES+0xffffffff() in libgl.so.1 (0x00000014)
1 0x7caac52c glGetTexGenivOES+0xffffffff() in libgl.so.1 (0x7c00082c)
2 0x7cab4e95 glGetTexGenivOES+0xffffffff() in libgl.so.1 (0x7cab1610)
3 0x7ca8cb25 glGetTexGenivOES+0xffffffff() in libgl.so.1 (0x7c1ba020)
4 0xf7eff79d _dl_find_dso_for_object+0xffffffff() in ld-linux.so.2 (0x7c1ba020)
5 0xf7eff8de _dl_find_dso_for_object+0xffffffff() in ld-linux.so.2 (0xff94bcf0)
6 0xf7f03855 _dl_find_dso_for_object+0x9e4() in ld-linux.so.2 (0x0033b668)
7 0xf7c4bc20 getfsent+0x42d0f() in libc.so.6 (0xf7f17504)
8 0xf7f02fe6 _dl_find_dso_for_object+0x175() in ld-linux.so.2 (0xf7f17504)
9 0xf7b12c65 GLIBC_2+0xc64() in libdl.so.2 (0xff94bcf0)
10 0xf7c4bc20 getfsent+0x42d0f() in libc.so.6 (0x0033b9d8)
11 0xf7c4bcd0 getfsent+0x42dbf() in libc.so.6 (0x0033b9d8)
12 0xf7b133c1 GLIBC_2+0x13c0() in libdl.so.2 (0x0033b9d8)
13 0xf7b12d28 GLIBC_2+0xd27() in libdl.so.2 (0x0033b9d8)
14 0xf7d3d65f wine_dll_load+0xffffffff() in libwine.so.1 (0x0033b9d8)
15 0x7dd3c838 X11DRV_ClipCursor+0x5537() in winex11 (0x0033bbe8)
16 0x7bc8af6e RtlRunOnceExecuteOnce+0x4d() in ntdll (0x0033bc38)
17 0x7b47bf61 InitOnceExecuteOnce+0x20() in kernel32 (0x0033bc68)
18 0x7dd400f7 X11DRV_ClipCursor+0x8df6() in winex11 (0x0033bc98)
19 0x7dd2f424 ImeGetImeMenuItems+0x903() in winex11 (0x0033bcb8)
20 0x7e7e6f7e __wine_get_wgl_driver+0x4d() in gdi32 (0x0033bce8)
21 0x7e138337 wined3d_buffer_incref+0xffffffff() in wined3d (0x0033be38)
22 0x7e178777 wined3d_decref+0x796() in wined3d (0x0033c1c8)
23 0x7e17c073 wined3d_device_create+0x222() in wined3d (0x0033c1e8)
24 0x7e1f42f1 wined3d_create+0x50() in wined3d (0x0033c218)
25 0x7e280cd4 DirectDrawCreateClipper+0x7a3() in ddraw (0x0033c3d8)
26 0x7e2919e1 DirectDrawCreateClipper+0x114b0() in ddraw (0x0033c418)
27 0x7e292354 DirectDrawCreate+0x53() in ddraw (0x0033c458)
0x7caab2ea glGetTexGenivOES+0xffffffff in libgl.so.1: movl %eax,0x0(%ebx)
Modules:
Module Address Debug info Name (126 modules)
PE 400000- 7e6000 Export age2_x2
PE 1050000- 110a000 Deferred language_x1_p1
PE 9dc0000- 9e52000 Deferred language
PE 10000000-1005e000 Deferred language_x1
PE 5e080000-5e0bb000 Deferred dplayx
PE 6ad80000-6ad95000 Deferred miniupnpc
ELF 7826c000-7a800000 Deferred libnvidia-glcore.so.340.107
ELF 7a800000-7a93e000 Deferred opengl32<elf>
\-PE 7a820000-7a93e000 \ opengl32
ELF 7ac00000-7ac86000 Deferred riched20<elf>
\-PE 7ac10000-7ac86000 \ riched20
ELF 7b400000-7b7f8000 Dwarf kernel32<elf>
\-PE 7b420000-7b7f8000 \ kernel32
ELF 7bc00000-7bd00000 Dwarf ntdll<elf>
\-PE 7bc10000-7bd00000 \ ntdll
ELF 7c000000-7c004000 Deferred <wine-loader>
ELF 7c066000-7c18f000 Deferred oleaut32<elf>
\-PE 7c080000-7c18f000 \ oleaut32
ELF 7c28f000-7c370000 Deferred libgcrypt.so.20
ELF 7c370000-7c400000 Deferred libsystemd.so.0
ELF 7c45e000-7c476000 Deferred libgpg-error.so.0
ELF 7c476000-7c48c000 Deferred liblz4.so.1
ELF 7c48c000-7c4e7000 Deferred libdbus-1.so.3
ELF 7ca0e000-7cb25000 Dwarf libgl.so.1
ELF 7cf3a000-7cf66000 Deferred liblzma.so.5
ELF 7cf66000-7cf7e000 Deferred libresolv.so.2
ELF 7cf7e000-7d009000 Deferred libgmp.so.10
ELF 7d009000-7d03f000 Deferred libhogweed.so.4
ELF 7d03f000-7d063000 Deferred shcore<elf>
\-PE 7d050000-7d063000 \ shcore
ELF 7d06f000-7d078000 Deferred libffi.so.6
ELF 7d078000-7d07d000 Deferred libkeyutils.so.1
ELF 7d07d000-7d0b9000 Deferred libnettle.so.6
ELF 7d0b9000-7d0ce000 Deferred libtasn1.so.6
ELF 7d0ce000-7d24f000 Deferred libunistring.so.2
ELF 7d24f000-7d26d000 Deferred libidn2.so.0
ELF 7d26d000-7d3bb000 Deferred libp11-kit.so.0
ELF 7d3bb000-7d3c8000 Deferred libkrb5support.so.0
ELF 7d3c8000-7d3cd000 Deferred libcom_err.so.2
ELF 7d3cd000-7d402000 Deferred libk5crypto.so.3
ELF 7d402000-7d4de000 Deferred libkrb5.so.3
ELF 7d4de000-7d4f2000 Deferred libavahi-client.so.3
ELF 7d4f2000-7d500000 Deferred libavahi-common.so.3
ELF 7d500000-7d696000 Deferred libgnutls.so.30
ELF 7d696000-7d6ea000 Deferred libgssapi_krb5.so.2
ELF 7d6ea000-7d77d000 Deferred libcups.so.2
ELF 7d78e000-7d7a2000 Deferred riched32<elf>
\-PE 7d790000-7d7a2000 \ riched32
ELF 7d849000-7d84e000 Deferred libnvidia-tls.so.340.107
ELF 7d895000-7d8b3000 Deferred libgcc_s.so.1
ELF 7d8d8000-7d990000 Deferred msvcrt<elf>
\-PE 7d8f0000-7d990000 \ msvcrt
ELF 7d990000-7d9ff000 Deferred shlwapi<elf>
\-PE 7d9a0000-7d9ff000 \ shlwapi
ELF 7d9ff000-7da94000 Deferred gdiplus<elf>
\-PE 7da10000-7da94000 \ gdiplus
ELF 7da9b000-7dad3000 Deferred uxtheme<elf>
\-PE 7daa0000-7dad3000 \ uxtheme
ELF 7dad3000-7dada000 Deferred libxfixes.so.3
ELF 7dada000-7dae6000 Deferred libxcursor.so.1
ELF 7dae6000-7daf9000 Deferred libxi.so.6
ELF 7daf9000-7dafd000 Deferred libxcomposite.so.1
ELF 7dafd000-7db0a000 Deferred libxrandr.so.2
ELF 7db0a000-7db16000 Deferred libxrender.so.1
ELF 7db16000-7db1d000 Deferred libxxf86vm.so.1
ELF 7db1d000-7db21000 Deferred libxinerama.so.1
ELF 7db21000-7db2b000 Deferred librt.so.1
ELF 7db2b000-7db46000 Deferred libbsd.so.0
ELF 7db46000-7db4d000 Deferred libxdmcp.so.6
ELF 7db4d000-7db51000 Deferred libxau.so.6
ELF 7db51000-7db7d000 Deferred libxcb.so.1
ELF 7db7d000-7dcc7000 Deferred libx11.so.6
ELF 7dcc7000-7dcdc000 Deferred libxext.so.6
ELF 7dd01000-7dd91000 Dwarf winex11<elf>
\-PE 7dd10000-7dd91000 \ winex11
ELF 7dedb000-7df0d000 Deferred libexpat.so.1
ELF 7df0d000-7df58000 Deferred libfontconfig.so.1
ELF 7df58000-7df77000 Deferred libz.so.1
ELF 7df77000-7dfb1000 Deferred libpng16.so.16
ELF 7dfb1000-7e06e000 Deferred libfreetype.so.6
ELF 7e093000-7e0be000 Deferred iphlpapi<elf>
\-PE 7e0a0000-7e0be000 \ iphlpapi
ELF 7e0be000-7e0f5000 Deferred ws2_32<elf>
\-PE 7e0d0000-7e0f5000 \ ws2_32
ELF 7e0f5000-7e10f000 Deferred wsock32<elf>
\-PE 7e100000-7e10f000 \ wsock32
ELF 7e10f000-7e260000 Dwarf wined3d<elf>
\-PE 7e120000-7e260000 \ wined3d
ELF 7e260000-7e2d7000 Dwarf ddraw<elf>
\-PE 7e270000-7e2d7000 \ ddraw
ELF 7e2d7000-7e322000 Deferred dsound<elf>
\-PE 7e2e0000-7e322000 \ dsound
ELF 7e322000-7e346000 Deferred imm32<elf>
\-PE 7e330000-7e346000 \ imm32
ELF 7e346000-7e38c000 Deferred usp10<elf>
\-PE 7e350000-7e38c000 \ usp10
ELF 7e38c000-7e4c9000 Deferred comctl32<elf>
\-PE 7e390000-7e4c9000 \ comctl32
ELF 7e4c9000-7e4f5000 Deferred msacm32<elf>
\-PE 7e4d0000-7e4f5000 \ msacm32
ELF 7e4f5000-7e57a000 Deferred rpcrt4<elf>
\-PE 7e500000-7e57a000 \ rpcrt4
ELF 7e57a000-7e6d5000 Deferred ole32<elf>
\-PE 7e590000-7e6d5000 \ ole32
ELF 7e6d5000-7e74e000 Deferred advapi32<elf>
\-PE 7e6e0000-7e74e000 \ advapi32
ELF 7e74e000-7e87d000 Dwarf gdi32<elf>
\-PE 7e760000-7e87d000 \ gdi32
ELF 7e87d000-7ea86000 Deferred user32<elf>
\-PE 7e890000-7ea86000 \ user32
ELF 7ea86000-7eb3f000 Deferred winmm<elf>
\-PE 7ea90000-7eb3f000 \ winmm
ELF 7eb3f000-7eb6b000 Deferred msvfw32<elf>
\-PE 7eb40000-7eb6b000 \ msvfw32
ELF 7eb6b000-7eb7f000 Deferred libnss_files.so.2
ELF 7eb7f000-7eb9a000 Deferred libnsl.so.1
ELF 7eb9a000-7eba8000 Deferred libnss_nis.so.2
ELF 7eed9000-7efdb000 Deferred libm.so.6
ELF 7efe6000-7f000000 Deferred version<elf>
\-PE 7eff0000-7f000000 \ version
ELF f7b12000-f7b17000 Dwarf libdl.so.2
ELF f7b17000-f7cf3000 Dwarf libc.so.6
ELF f7cf3000-f7d12000 Deferred libpthread.so.0
ELF f7d16000-f7d20000 Deferred libnss_compat.so.2
ELF f7d37000-f7eee000 Dwarf libwine.so.1
ELF f7ef0000-f7f18000 Dwarf ld-linux.so.2
Threads:
process tid prio (all id:s are in hex)
0000000e services.exe
00000023 0
00000020 0
0000001b 0
00000013 0
00000010 0
0000000f 0
00000011 winedevice.exe
00000018 0
00000017 0
00000016 0
00000012 0
00000019 plugplay.exe
0000001d 0
0000001c 0
0000001a 0
0000001e winedevice.exe
00000026 0
00000022 0
00000021 0
0000001f 0
00000024 explorer.exe
0000002a 0
00000029 0
00000028 0
00000027 0
00000025 0
0000002b (D) C:\Program Files (x86)\Age of Empires II\age2_x1\age2_x2.exe
0000002c 0 <==
System information:
Wine build: wine-4.0
Platform: i386 (WOW64)
Version: Windows 7
Host system: Linux
Host version: 4.15.0-45-generic
看来页面错误是由 libgl.so.1 引起的。该find /usr/ -iname "libgl.so.1" | xargs file
命令的输出为:
/usr/lib/x86_64-linux-gnu/libGL.so.1: symbolic link to libGL.so.340.107
/usr/lib/i386-linux-gnu/libGL.so.1: symbolic link to libGL.so.340.107
答案1
对于《帝国时代 II - 征服者》,而不是高清版本,我建议您使用 lutris:
(在终端):
ver=$(lsb_release -sr); if [ $ver != "18.10" -a $ver != "18.04" -a $ver != "16.04" ]; then ver=18.04; fi
echo "deb http://download.opensuse.org/repositories/home:/strycore/xUbuntu_$ver/ ./" | sudo tee /etc/apt/sources.list.d/lutris.list
wget -q https://download.opensuse.org/repositories/home:/strycore/xUbuntu_$ver/Release.key -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install lutris
您可以关闭该终端并点击“开始”并搜索“Lutris”并启动它。
然后去这里:https://lutris.net/games/age-of-empires-ii-the-conquerors/(使用 Firefox 或 Chrome,而不是 Chromium)
单击所需版本的安装按钮。它将在 lutris 中启动安装过程。
按照安装程序。
测试它的运行情况。
最后,您可以调整特定安装的 Wine 设置,使其运行得更好。我使用 Wine 版本:proton 3.17-beta 和模拟桌面(视觉上没有任何变化)获得了非常好的效果