Debian 12 - 使用 Lutris 和 Steam Proton 时游戏启动时崩溃

Debian 12 - 使用 Lutris 和 Steam Proton 时游戏启动时崩溃

我最近安装了 Debian Stable 12,试图恢复我的 2009 年 Dell Vostro A860 - 一台配备 Pentium DC T2390 CPU、Intel GMA X3100 集成显卡和 2Gb RAM 的笔记本电脑。为了最大限度地提高性能,我使用 i3wm,没有安装额外的 DE。

然后我安装了 flatpak Steam 和 flatpak Lutris,以获得最新的库,但在 proton 和 wine 下运行游戏时遇到了问题,这给了我以下错误:

卢特里斯:

2023-07-24 11:26:57,291: ['glxinfo', '-B'] command failed: Command '['glxinfo', '-B']' timed out after 5 seconds
2023-07-24 11:26:57,462: No available glxinfo output
2023-07-24 11:26:57,463: Invalid glxinfo received
2023-07-24 11:32:30,409: Starting Lutris 0.5.13
2023-07-24 11:32:31,448: glxinfo is not available on your system, unable to detect driver version
2023-07-24 11:32:31,449: GPU: 8086:2A02 1028:029A (i915 drivers)
2023-07-24 11:39:58,233: Runtime disabled by system configuration
2023-07-24 11:39:59,205: Unable to load libGLX_nvidia.so.0
2023-07-24 11:39:59,206: Unable to locate libGLX_nvidia
2023-07-24 11:39:59,353: Runtime disabled by system configuration
2023-07-24 11:39:59,389: Runtime disabled by system configuration
Started initial process 42 from gamemoderun /home/kostya/.var/app/net.lutris.Lutris/data/lutris/runners/wine/lutris-fshack-7.2-x86_64/bin/wine /home/kostya/Games/battlefield-1942/drive_c/Program Files/EA Games/Battlefield 1942/BF1942.exe
Start monitoring process.
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
fsync: up and running.
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
2023-07-24 11:40:21,026: ['glxinfo', '-B'] command failed: Command '['glxinfo', '-B']' timed out after 5 seconds
2023-07-24 11:40:21,026: No available glxinfo output
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
X Error of failed request:  GLXBadFBConfig
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  0 ()
  Serial number of failed request:  338
  Current serial number in output stream:  338

蒸汽:

GameAction [AppID 240, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 240, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 240, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 240, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 240, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 240, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=240 -- /home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Counter-Strike Source/hl2.exe' -steam -game cstrike\0
Game process added : AppID 240 "/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=240 -- /home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Counter-Strike Source/hl2.exe' -steam -game cstrike", ProcID 699, IP 0.0.0.0:0
chdir "/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Counter-Strike Source"
ERROR: ld.so: object '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 240, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 240, ActionID 1] : LaunchApp changed task to Completed with ""
WARNING: discarding _NET_WM_PID 975 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1267 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 975 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1267 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 975 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1267 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
Proton: Upgrading prefix from None to 8.0-104 (/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/compatdata/240/)
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
ThreadGetProcessExitCode: no such process 899
                                             ThreadGetProcessExitCode: no such process 892
                                                                                          ThreadGetProcessExitCode: no such process 702
                                                                                                                                       CGlibContextManager: g_main_context_iteration() exceeded budget, deferring outstanding requests to the next frame
                        ThreadGetProcessExitCode: no such process 904
                                                                     Game process updated : AppID 240 "/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=240 -- /home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/kostya/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Counter-Strike Source/hl2.exe' -steam -game cstrike", ProcID 896, IP 0.0.0.0:0
                                                                                       Setting breakpad minidump AppID = 240
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198143773553 [API loaded no]
terminate called after throwing an instance of 'dxvk::DxvkError'

尽管如此,通过 Steam 安装的本机游戏(例如 CS 1.6)运行得非常好。到目前为止,我已经尝试通过 APT 安装 wine,安装新的 mesa 驱动程序(32 位和 64 位),在终端中执行“export MESA_GL_VERSION_OVERRIDE=...”,通过 ProtonUp 安装 lutris 特定的 wine 版本,安装 nvidia 驱动程序(以修复libGLX_nvidia.so.0 错误)并且显然需要大量重新启动。

这是我的 glxinfo 输出:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_get_drawable_type, GLX_EXT_libglvnd, GLX_EXT_no_config_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_ATI_pixel_format_float, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_no_config_context, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
    GLX_NV_float_buffer, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_no_config_context, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) 965GM (CL) (0x2a02)
    Version: 22.3.6
    Accelerated: yes
    Video memory: 384MB
    Unified memory: yes
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) 965GM (CL)
OpenGL version string: 2.1 Mesa 22.3.6
OpenGL shading language version string: 1.20
...

我在互联网上研究了解决方案,但没有找到任何与我的具体问题相对应的解决方案。任何帮助将不胜感激,并感谢您花时间阅读我的帖子。

答案1

经过一些广泛的研究,结果表明应用程序无法在 proton/wine 下运行的原因是 DXVK。

这是因为 DXVK 和 VKD3D 都将 DirectX 调用转换为 Vulkan,不幸的是,Vostro A860 的特定 iGPU - GM965/GL960 不支持 Vulkan,根据这篇英特尔文章: https://www.intel.com/content/www/us/en/support/articles/000005524/graphics.html

为了解决这个问题,我尝试使用PROTON_USE_WINED3D=1 %command%启动参数运行 Proton 游戏,该参数将 DirectX 调用转换为 OpenGL,但就目前情况而言,大多数游戏根本不支持此功能,因此我无法运行“Counter- 《Strike: Source》既不是 Proton 的,也不是原生的,没有崩溃或视觉故障,使得这款 15 岁奇迹的游戏变得不可能。

相关内容