LINUX.ORG.RU
ФорумGames

Skyrim зависает

 , ,


0

1

Доброго времени ! Систематически зависает намертво Skyrim. Запускаю на ноутбуке - две карточки (Radeon + Intel) в Ubuntu, PortProton. Не могу определить с чем конкретно связано зависание. Внезапно во время игры всё намертво зависает и ОС предлагает закрыть программу. С чем это связано и как исправить ?

Ответ на: комментарий от Vsevolod-linuxoid

У меня нет ярлыка skyrim.desktop. Все файлы игры просто установлены в каталог, ярлык я не создавал. Запускаю из каталога SkyrimSE.exe, открывается окно PortProton, затем запускаю игру.

TheDeckardCain
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Прошу вывод wine


DRI_PRIME=1 WINEPREFIX='/media/nikolay/ElementsLinux/Soft/Linux/PortProton/PortProton/prefixes/XACT' '/media/nikolay/ElementsLinux/Soft/Linux/Wine/wine-7.10-staging-amd64/bin/wine' '/media/nikolay/ElementsLinux/Games/Skyrim/The Elder Scrolls V Skyrim/SkyrimSE.exe'
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.10 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
00c8:fixme:imm:ImeSetActiveContext (0000000000455030, 0): stub
00c8:fixme:imm:ImmReleaseContext (0000000000010020, 0000000000455030): stub
002c:fixme:imm:ImeSetActiveContext (0000000000444650, 1): stub
002c:fixme:imm:ImmReleaseContext (0000000000010056, 0000000000444650): stub
0118:err:module:import_dll Library dsound.dll (which is needed by L"C:\\windows\\system32\\quartz.dll") not found
0118:err:module:import_dll Library dsound.dll (which is needed by L"C:\\windows\\system32\\devenum.dll") not found
0118:fixme:file:NtLockFile I/O completion on lock not implemented yet
0118:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0118:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0118:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0118:err:module:import_dll Library dsound.dll (which is needed by L"C:\\windows\\system32\\quartz.dll") not found
0118:err:ole:apartment_add_dll couldn't load in-process dll L"C:\\windows\\system32\\quartz.dll"
0118:err:ole:com_get_class_object no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
0118:err:module:import_dll Library dsound.dll (which is needed by L"C:\\windows\\system32\\quartz.dll") not found
0118:err:ole:apartment_add_dll couldn't load in-process dll L"C:\\windows\\system32\\quartz.dll"
0118:err:ole:com_get_class_object no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
0118:err:module:import_dll Library dsound.dll (which is needed by L"C:\\windows\\system32\\quartz.dll") not found
0118:err:ole:apartment_add_dll couldn't load in-process dll L"C:\\windows\\system32\\quartz.dll"
0118:err:ole:com_get_class_object no class object {cda42200-bd88-11d0-bd4e-00a0c911ce86} could be created for context 0x1
wine: configuration in L"E:\\Soft\\Linux\\PortProton\\PortProton\\prefixes\\XACT" has been updated.
0148:fixme:heap:RtlSetHeapInformation 00000000026D0000 0 000000000011F2B0 4 stub
0148:fixme:ver:GetCurrentPackageId (000000000011D740 0000000000000000): stub
0148:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0148:fixme:imm:ImeSetActiveContext (00000000002754B0, 1): stub
0148:fixme:imm:ImmReleaseContext (0000000000020060, 00000000002754B0): stub
0148:fixme:dxgi:dxgi_output_GetDisplayModeList iface 00000000002722B0, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0x1, mode_count 000000000011FB50, modes 0000000000000000 partial stub!
0148:fixme:dxgi:dxgi_output_GetDisplayModeList iface 00000000002722B0, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0x1, mode_count 000000000011FB50, modes 0000000000118DD0 partial stub!
0148:fixme:d3d:wined3d_swapchain_init The application requested more than one back buffer, this is not properly supported.
Please configure the application to use double buffering (1 back buffer) if possible.
018c:fixme:pulse:AudioSessionControl_RegisterAudioSessionNotification (000000000039A3C0)->(00000000621CA638) - stub
019c:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",00000000628AFCF4): stub
019c:fixme:avrt:AvSetMmThreadPriority (0000000012345678)->(1) stub
0178:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts.
01a4:fixme:rawinput:RegisterRawInputDevices Unhandled flags 0x230 for device 0.
01d0:fixme:winhttp:set_option unimplemented option 84
... повторяется
0148:fixme:ole:CoInitializeSecurity 0000000000000000, -1, 0000000000000000, 0000000000000000, 0, 3, 0000000000000000, 0, 0000000000000000 stub
0148:fixme:wbemprox:client_security_SetBlanket 000000006123FE40, 0000000001C59B40, 10, 0, (null), 3, 3, 0000000000000000, 0
0148:fixme:wbemprox:client_security_Release 000000006123FE40
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0050:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0050:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
01cc:fixme:winhttp:request_set_option unimplemented option 84
01d4:fixme:winhttp:request_set_option unimplemented option 84
01d8:fixme:winhttp:request_set_option unimplemented option 84
01c8:fixme:winhttp:request_set_option unimplemented option 84
01e4:err:winediag:ntlm_check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
01e4:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
019c:fixme:avrt:AvRevertMmThreadCharacteristics (0000000012345678): stub
018c:fixme:pulse:AudioSessionControl_UnregisterAudioSessionNotification (000000000039A3C0)->(00000000621CA638) - stub
0178:err:d3d:wined3d_context_gl_reacquire Acquired context 00000000002E1010 instead of 000000015D6735D0.

TheDeckardCain
() автор топика
Ответ на: комментарий от Kron4ek

Приветствую ! Как нет Vulkan, мы же разбирали в предыдущих сериях - Чёрный экран Medieval 2 total war (Proton, Ubuntu 22.04), Краш Napoleon Total War (Proton, Ubuntu 20.04). DXVK в PortProton включается автоматически, как я понимаю. А в wine-7.10-staging-amd64 он вообще есть ? Я понял нет, поэтому я добавил файлы библиотек согласно инструкции. Всё запускается уже с DXVK, но теперь жуткая раскадровка. FPS 6-10. Есть предположение, что всё таки проблема в другом…

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

У PortProton есть какие-нибудь логи с выводом Wine? Нужен вывод Wine в момент зависания игры, иначе узнать причину зависания не получится. Даже с выводом не факт, что получится, но хотя бы есть шанс.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Да, есть лог. Удалось поймать момент, но он по всей видимости не оставляет следов

# User overides db and var settings...
---------------------------------------
WINEDLLOVERRIDES=d3d12,libvkd3d-proton-utils-3,libvkd3d-shader-1=n;d3d11,d3d10core,d3d9,dxgi,dxvk_config=n;steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,winemenubuilder.exe=;beclient,beclient_x64=b,n;nvapi,nvapi64,nvml,nvcuda=
------------------------------------
Log WINE:
gamemodeauto: 
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
wineserver: using server-side synchronization.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (2).
00cc:err:xrandr:xrandr14_get_adapters Failed to get adapters
00c4:err:openxr:get_vulkan_extensions Could not create key, status 0x2.
00c4:err:xrandr:xrandr14_get_adapters Failed to get adapters

TheDeckardCain
() автор топика
Ответ на: комментарий от Kron4ek

Плюс есть логи такие

SkyrimSE_dxgi.log


info:  Game: SkyrimSE.exe
info:  DXVK: v1.10.1-async
info:  Found config file: /media/nikolay/ElementsLinux/Soft/Linux/PortProton/PortProton/data/dxvk.conf
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
warn:  OpenVR: Failed to initialize OpenVR
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 14.0.1, 256 bits)
info:  AMD RADV ICELAND:
info:    Driver: 22.1.0
info:    Vulkan: 1.3.211
info:    Memory Heap[0]: 
info:      Size: 1792 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 2871 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:  Intel(R) HD Graphics 520 (SKL GT2):
info:    Driver: 22.1.0
info:    Vulkan: 1.3.211
info:    Memory Heap[0]: 
info:      Size: 1914 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0xf

SkyrimSE_d3d11.log

info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Device properties:
info:    Device name:     : AMD RADV ICELAND
info:    Driver version   : 22.1.0
info:  Enabled device extensions:
info:    VK_AMD_memory_overallocation_behavior
info:    VK_AMD_shader_fragment_mask
info:    VK_EXT_4444_formats
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state
info:    VK_EXT_host_query_reset
info:    VK_EXT_memory_priority
info:    VK_EXT_robustness2
info:    VK_EXT_shader_demote_to_helper_invocation
info:    VK_EXT_shader_stencil_export
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_create_renderpass2
info:    VK_KHR_depth_stencil_resolve
info:    VK_KHR_draw_indirect_count
info:    VK_KHR_driver_properties
info:    VK_KHR_external_memory_win32
info:    VK_KHR_image_format_list
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_float_controls
info:    VK_KHR_swapchain
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 1
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 0
info:    fragmentStoresAndAtomics               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderStorageImageExtendedFormats      : 0
info:    shaderStorageImageReadWithoutFormat    : 1
info:    shaderStorageImageWriteWithoutFormat   : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:  VK_EXT_4444_formats
info:    formatA4R4G4B4                         : 1
info:    formatA4B4G4R4                         : 1
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_extended_dynamic_state
info:    extendedDynamicState                   : 1
info:  VK_EXT_host_query_reset
info:    hostQueryReset                         : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_demote_to_helper_invocation
info:    shaderDemoteToHelperInvocation         : 1
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_buffer_device_address
info:    bufferDeviceAddress                    : 0
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:  DXVK: Read 6490 valid state cache entries
info:  DXVK: Using 2 compiler threads
info:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  1130x635
info:    Image count:  3
info:    Exclusive FS: 1
info:  Setting display mode: 1130x635@60
info:  Setting display mode: 1130x635@60
err:   D3D11RasterizerState: Antialiased lines not supported
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_FIFO_KHR
info:    Buffer size:  1130x635
info:    Image count:  4
info:    Exclusive FS: 1
TheDeckardCain
() автор топика

Он может в лёгкую зависать по сто раз на день по чисто внутренним причинам. Это ж Бесезда. В лог при этом не пишется ничего, потому как – а что ты запишешь в лог, когда у тебя глубоко в потрохах рендеринга сцены race случился?

Например, не так давно под голым вайном (не протон) SSE вис на каждый чих после обновления nvidia, похоже ему претили даже ничтожные задержки на перекомпиляцию шейдеров.

pr849
()
Ответ на: комментарий от Jameson

Попробовал, не помогло. Хотя вроде показалось, что зависание наступило позднее обычного. Опять таки точно определить момент и с чем он связан не удаётся…

Кстати, игра почему-то не видит дополнения, которые установлены и имеются в каталогах. Как это исправить ?

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

игра почему-то не видит дополнения, которые установлены и имеются в каталогах. Как это исправить?

Купить в steam и честно играть через proton\proton-ge. Пишут что из коробки работает. Я сам в него не играю, не люблю фентезийный колдунизм с мечемашеством.

Jameson ★★★★★
()
Ответ на: комментарий от Kron4ek

Может ли быть проблема связана с глюком оперативной или видеопамяти ? Дело в том, что у меня в Ubuntu периодически намертво зависает сама система причём проблема кочует от версии к версии, что ядра, что самой ОС. Замечено, что это наступает при продолжительной работе без перезагрузки, когда SWAP забивается.

TheDeckardCain
() автор топика
Ответ на: комментарий от Kron4ek

Может ли проблема быть с нагревом GPU ? Думаю, что, наверное, почти все зависания уже происходят при нагреве. То есть GPU успевает разогреться. В таких случаях при повторном запуске GPU может довольно быстро повториться зависание. В качестве гипотезы… Хотя я пробовал выставлять макс. настройки и тестировать, зависания не происходило в моменте. Ноут без пыли.

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Может быть связано и с оперативной памятью, и с багом ядра, и с багом Mesa и много с чем другим.

Может ли проблема быть с нагревом GPU ?

Вряд ли. При перегреве GPU обычно происходит занижение частот (троттлинг), и если это не сбивает температуру, тогда экстренное выключение системы.

При занижении частот у игры бы, по идее, просто сильно просела производительность.

Ты можешь помониторить температуру и частоты (ядер и видеопамяти) своей видеокарты и узнать, происходит у тебя троттлинг или нет и зависает ли игра именно в моменты троттлинга.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 3)
Ответ на: комментарий от Kron4ek

Удалось сузить круг ситуаций, которые приводят к зависанию. В основном при активном перемещении между локациями (быстрый переход между городами, вход и выход в помещения). Если довольно часто совершать такие переходы, то в течение 10-15 минут обязательно наступает зависание. Есть идеи ?)

Что проверяли:

  1. Несколько версий игры.
  2. Обновление драйверов mesa.
  3. Многочисленные изменения настроек в самой игре.
  4. Разные версии Proton, Wine.
  5. Настройки Proton.
TheDeckardCain
() автор топика
Последнее исправление: TheDeckardCain (всего исправлений: 1)