使用 Nvidia-340.107 驱动程序时 WineHD 崩溃

使用 Nvidia-340.107 驱动程序时 WineHD 崩溃

我在执行《帝国时代 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 和模拟桌面(视觉上没有任何变化)获得了非常好的效果

相关内容