Proton: 地平线零黎明(1151640)

创建于 2020-08-07  ·  421评论  ·  资料来源: ValveSoftware/Proton

相容性报告

  • 出现兼容性问题的游戏名称:地平线零黎明
  • 游戏的Steam AppID:1151640

系统信息

  • GPU:GTX 1080 Ti
  • 驱动程序/ LLVM版本:nvidia 440.100
  • 内核版本:5.7.6
  • Gist链接到完整的系统信息报告
  • 质子版本:5.0.10-RC4

我确定:

  • [X]我尚未找到该游戏的现有兼容性报告。
  • [X]我已检查系统是否有可用的更新。

Note: current NVIDIA driver is the latest version available in RPMFusion for Fedora 32

病征

游戏无法开始-弹出对话框,提示“不幸的是游戏崩溃了”,但未提供任何错误详细信息。

Screenshot from 2020-08-07 11-11-08

再生产

只需通过Steam开始游戏。
steam-1151640.log

Game compatibility - Unofficial

最有用的评论

感谢Paul的修补程序以及Hans-Kristian的不懈努力,我们已经找到了解决之道。
https://www.winehq.org/pipermail/wine-devel/2020-August/172365.html
https://www.winehq.org/pipermail/wine-devel/2020-August/172366.html

RADV / ACO:
Screenshot_20200825_202131

AMDGPU-PRO:
Screenshot_20200825_175256

在AMDGPU-PRO上这是不稳定且缓慢的,虽然在RADV / ACO上看起来很稳定且性能很好,但在视觉上更容易出现毛刺(尽管两者都是)。 但是,嘿。

如果有人想知道,可以使用当前的proton-tkg头,基于5.15.2r7(aaea13a1)进行。
编辑:目前在Nvidia上存在阻止问题。

所有421条评论

这里同样的问题。 相同的错误框,仅此而已。

系统信息

  • GPU:GeForce GTX 1080 Ti
  • 驱动程序/ LLVM版本:NVIDIA 440.95.01
  • 内核版本:5.4.0-7634-泛型
  • Gist链接到完整的系统信息报告:
  • 质子版本:5.0-9

进一步的注释显示,如果您单击“是”或“否”发送报告,则日志会有所不同。
这是两种情况的日志:

单击“否”以发送崩溃报告时记录:
steam-1151640-no_crash_report.log

单击“是”以发送崩溃报告时记录:
steam-1151640-yes_crash_report.log

编辑:出于好奇,我尝试使用最新的GloriousEggroll / proton-ge-custom版本,结果似乎相同。
如果可以帮助任何人,请登录此处: proton_5.9-GE-5-ST_steam-1151640.log

这里同样的问题。 相同的错误框,仅此而已。
steam-1151640.log
Steam系统信息

查看每个人的日志,这似乎是发生错误的常见现象。

warn:debugstr :OutputDebugStringA“在线程'Main'(0)中的指令位置000000007B00FC3Eh \ n \ n调用堆栈:\ n基本地址:0x000140000000 \ n0。0x00007BCDAC6CRtlVirtualUnwind \ n 1中发生了未知的未处理异常(C06D007Eh)。0x00007BCDAF82 RtlVirtualUnwind \ n 1。 \ n2。0x00007BCDB2FENtRaiseException \ n 3“

我有相同的问题,质子日志中也有同一行,以及错误cpu_context_win.cc:144]非x64上下文

与其他用户提到的问题相同。 但是,我仍然在更新结果,以防进一步找到根本原因。

系统信息
steam-1151640_GE_5.9-5_ST.log
steam-1151640_Proton509.log
steam-1151640_Proton509_next.log

同样在这里
系统信息

这里同样的问题。

同样在这里

我认为,“错误cpu_context_win.cc:144]非x64上下文”是崩溃报告崩溃的原因,而不是hzd。
当您在询问是否发送错误报告时单击否时,您将获得截然不同的质子记录。
然后警告:debugstr :OutputDebugStringA“初始化DLMalloc堆\ n”可能看起来像邪恶的女巫,这导致了所有这一切。
steam-1151640.log

也只有dx12。 这也可能无济于事。

我会看到相同的弹出窗口。.我尝试了多个版本的proton,包括proton-ge和proton-tkg ..

我有同样的问题

然后警告:debugstr :OutputDebugStringA“初始化DLMalloc堆\ n”可能看起来像邪恶的女巫,这导致了所有这一切。
steam-1151640.log

不是。 这些日志有很多信息,可能还不够。

其实你可以看一下

fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
warn:debugstr:OutputDebugStringA "Initializing DLMalloc Heap\n"

并认为这可能会导致失败。 但是,很可能是鲱鱼。

同样,诸如“ execute_cfa_instructions”,“ raise_exception”,“ dump_unwind_info”之类的东西都可以出现在正在运行的游戏中。 日志还可能带来其他挑战,因为日志条目会出现在不同的位置。

dx12也有修复程序和警告出现,但这可能意味着也可能不意味着任何重要。

fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 3840, may be inaccurate.
fixme:dxgi:dxgi_adapter_QueryVideoMemoryInfo Returning fake video memory info.
fixme:dxgi:dxgi_adapter_SetVideoMemoryReservation iface 0xd97f40, node_index 0, segment_group 0, reservation 0x180000000 stub!
warn:d3d12_device_CheckFeatureSupport: Shader cache features not supported.fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x55.
fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x56.
fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x73.

解决这个问题可能需要几个月甚至更长的时间。 只是取决于问题和数量。

这里同样的问题。 相同的错误框。
steam-1151640.log
steam-sysinfo.txt

我为此日志添加了一些其他调试通道,希望它们会有所帮助。

steam-1151640.zip
sysinfo.txt

我为此日志添加了一些其他调试通道,希望它们会有所帮助。

steam-1151640.zip
sysinfo.txt

确实有帮助。 以前的日志,我认为这里没有其他日志显示该对话框-发行者没有,我检查了另外两个,然后再提供您提供的这个大日志。

您会在我上面发布的dx12信息的[edit:3k]行[大概是2.7或2.8k]中找到该崩溃对话框

"warn:d3d12_device_CheckFeatureSupport: Shader cache features not supported"
fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x56

由于其大部分时间介于两者之间,因此很可能在dx12或之前发生(我没有进一步研究)。

错误对话框。

0150:Ret  PE DLL (proc=0x11007bb8,module=0x11000000 L"amd_ags_x64.dll",reason=THREAD_ATTACH,res=(nil)) retval=1
0150:Starting thread proc 0x140375730 (arg=0x4fc5500)
0150:Call user32.MessageBoxW(00000000,141b588b0 L"Unfortunately the game has crashed.\nDo you want to help us fix the issue by sending a crash report?",141b59dc0 L"Error",00040014) ret=1403757c8

因此,看起来大部分日志是崩溃的最终结果。 我在其中包括amd dll行,只是因为它旁边,它可能没有任何意义。

我也在Windows 10上尝试了该游戏,它也无法运行,显示完全相同的对话框。

但是,在出现“不幸的是,游戏已崩溃...”错误之前,它会显示不同的对话框,指出游戏只能在驱动程序版本27上运行。这是NVidia DirectX驱动程序版本,并且该版本支持DirectX12 Ultimate,我无法这样做。无法安装在我运行Windows 10的计算机上,因为...原因...

因此,我认为Proton崩溃的原因基本上是因为Proton中没有DirectX 12 Ultimate支持,或者该游戏的Proton前缀中没有使用DX dll,或者因为我在Linux(440.100)上具有NVidia驱动程序没有提供实现/模拟DX12 Ultimate或其他地方所需的功能(我不太熟悉Wine / Proton的所有堆栈,以便能够更精确地指出这一点)。

只是我的2美分,以为它可能会有所帮助。

因此,我认为Proton崩溃的原因基本上是因为Proton中没有DirectX 12 Ultimate支持,或者该游戏的Proton前缀中没有使用DX dll,或者因为我在Linux(440.100)上具有NVidia驱动程序没有提供实现/模拟DX12 Ultimate或其他地方所需的功能(我不太熟悉Wine / Proton的所有堆栈,以便能够更精确地指出这一点)。

当然可以。 尽管我相信《死亡搁浅》是使用该版本的Decima引擎和dx12的唯一其他游戏,并且该游戏一直在与Proton的下一版本一起使用,尽管这似乎很不稳定,而且并非没有问题。

VKD3D仍在开发中,但他们还指出440.100是可与dx12一起使用的,可能还需要更高版本的驱动程序。 我不确定有人在这里使用Nvidia Vulkan开发人员beta驱动程序进行过测试。

但是,绝对有可能每个人都需要等待VKD3D进行改进并拥有可以使用它的驱动程序。 应该及时发现。

这很可能是dx12的问题,我收到“ fixme

看来我们必须等待vkd3d取得更多进展。

这很可能是dx12的问题,我收到“ fixme

看来我们必须等待vkd3d取得更多进展。

您可以通过在vkd3d中添加一些行来摆脱这些错误。 没关系。 将dxcompiler.dll从tools目录复制到可执行文件的目录确实使它显示加载屏幕,但是它仍然崩溃并显示相同的消息,因此它并不是真正有用。

我注意到进行了一些调试,该错误消息来自通用异常处理程序。 除了游戏崩溃以外,它不表示幕后发生的事情。

@Danacus所说,初始错误很可能是由于缺少dxcompiler.dll (来自@korodarn的日志-谢谢!):

00bc:Call KERNEL32.LoadLibraryExA(141e94fc0 "dxcompiler.dll",00000000,00000000) ret=1416abd49
...
00bc:Ret  KERNEL32.LoadLibraryExA() retval=00000000 ret=1416abd49
00bc:Call KERNEL32.GetLastError() ret=1416abd57
00bc:Ret  KERNEL32.GetLastError() retval=0000007e ret=1416abd57
00bc:Call KERNEL32.RaiseException(c06d007e,00000000,00000001,0021e290) ret=1416abd9d

如果有人将dxcompiler.dll从工具目录复制到可执行文件的目录(并如Danacus所述进入加载屏幕)可以提供WINEDEBUG=+relay,module,seh,timestamp日志,则可能会帮助您找到解决方法:)(记得要压缩它,否则会非常大哈哈)

我不认为它必须加载屏幕,但是日志确实看起来有些不同,所以也许它将很有用,也许没有用。
steam-1151640_2.zip

@korodarn不知道这是否会有所帮助,但是请尝试安装本机d3dcompiler_47protontricks 1151640 d3dcompiler_47 ):

73612.804:00bc:Call d3dcompiler_47.D3DCreateBlob(0000022c,0021e360) ret=1401f327e
73612.804:00bc:Ret  d3dcompiler_47.D3DCreateBlob() retval=00000000 ret=1401f327e
...
73612.804:00bc:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1400f0787 ip=1400f0787 tid=00bc

steam-1151640_1.zip
我将d3dcompiler_47以及上载之前的运行复制到了可执行文件文件夹中。 我之前就拉过拉链,所以就在这里

*我知道这可能与安装不完全相同,因为我没有更改设置,因此我正在验证它是否使用了此文件,然后将尝试重新运行。

我猜想这可能与崩溃原因有关:

warn:d3d12_swapchain_set_display_mode: Failed to find closest matching mode, hr 0x887a0001.
...
err:d3d12_swapchain_resize_target: Failed to set display mode, hr 0x887a0001.
...
73337.021:00bc:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1400f0787 ip=1400f0787 tid=00bc

上面还有一些警告消息,不确定它们是否相关:


日志中的d3d12修复程序

fixme:d3d12_rtv_desc_create_rtv: NULL resource RTV not implemented.
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "a7c87623f47cdb58f8e2d75445db3985", desc 000000000021E3E0, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E3A0 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "a7c87623f47cdb58f8e2d75445db3985", pipeline 00000000008EC1F0 stub!
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "2537307d2151a4df271e4f83d59bb13a", desc 000000000021E7A0, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E760 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "2537307d2151a4df271e4f83d59bb13a", pipeline 00000000008ECC80 stub!
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "21027ab47f814a59b74aac09a0de8a03", desc 000000000021E7A0, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E760 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "21027ab47f814a59b74aac09a0de8a03", pipeline 00000000008ED710 stub!
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "27b94cf050813cc52a0b50f27d19c573", desc 000000000021E740, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E700 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "27b94cf050813cc52a0b50f27d19c573", pipeline 00000000008EE1A0 stub!

仍然对我崩溃。

假设它一文不值,并给intersectRaven一个低质量帖子的休息时间,因为该补丁包括“有些玩家遇到启动崩溃。补丁1.01修复了部分但不是全部崩溃”。

该修补程序仅应在您可以运行时使您受益。

但是,在该游戏运行之前,它仍然可能需要Proton / Wine / VKD3D / etc等修复程序。

通过将上游vkd3d中的某些提交樱桃挑选到阀门树中,可以修复“未处理的功能”错误,还可以通过简单地添加缺少的格式(不是很难的方式来修复“未处理的格式”错误)(不难,这些在vulkan中受支持的格式您只需要添加正确的映射)。
之后,游戏会抱怨缺少DXIL支持。 不幸的是,即使您在vkd3d中启用了dxil-spirv,您仍然无法获得比加载屏幕更多的信息,因为它会失败,并显示来自dxil-spirv的“ [ERROR] UNKNOWN unimplemented”。 我尝试更深入,但是这些东西(vulkan / spirv / llvm)超出了我的头脑,我什至不确定我到目前为止所做的事情是正确的。 无论如何,我认为该游戏需要DXIL,而dxil-spirv还不够。

好吧,有坏消息和好消息。 最近更新了dxil-spirv,现在似乎完成了图形初始化,现在输入已损坏。 游戏试图加载“ Windows.Gaming.Input”,但失败。 似乎这是一种WinRT / UWP API,但我在wine中找不到很多对此的引用,因此不确定下一步是什么。

编辑:在葡萄酒中发现了一些有趣的东西,并做了一些存根,希望它以后会崩溃,但事实是一样的,我认为这个游戏现在已经被葡萄酒的基本缺失特性所阻止。

@ nyz93您可以发布到目前为止对HZD所做的更改吗,也许我这个周末能找些时间并添加所有缺少的WinRT / UWP内容。

@ lyra00,您必须安装dxil-spirv并使用--with-dxil-spirv构建此vkd3d 。 至于如何将其放入质子中,我不是100%肯定我使用的是EGS副本,常规葡萄酒5.14分期和带有空前缀(仅来自winetricks的vcrun2015

@ nyz93 :好的,我想我已经在Proton本地实现了您的更改(通过buildsystem集成)。 我目前正在构建和测试它,当它工作时,明天我将在我的github帐户上创建一个公共FORK。 然后,我运行此WinRT / UWP东西。 希望那是那里最后缺少的东西。

您是否尝试过使用vkd3d-质子叉? 自分叉以来,它在winehq的官方vkd3d存储库之前有大量提交。

有趣的vkd3d-质子叉已经集成了dxil-spirv,因此也许最好使用它而不是直接将其添加到质子中。

你好

这应该已经整合到TKG质子中。

https://github.com/Frogging-Family/wine-tkg-git/releases

与HansKristian&Doitsujin的vkd3d质子单机的最新开发人员版本来- https://github.com/HansKristian-Work/vkd3d

好的,我正在开发Proton HZD Fork,在其中添加@ nyz93(感谢他)的所有更改。
我正在运行他的vkd3d更改,但是在使用默认Steam运行时构建dxil-spirv时遇到了麻烦。

@fsyy可悲的是我无法编译TKG Proton(如此多的合并冲突O_o),但与标准Proton的唯一区别是默认情况下“ --with-dxil-spirv”为ON,所以我不值得沿着那条路走。
我会坚持使用Proton-5.0-next,并在需要时从Wine-5.x中进行樱桃采摘更改。

这是我创建的叉子,当您具有HZD特定解决方案时,可以添加PR。
https://github.com/lyra00/Proton
当我们运行HZD时,我们可以将更改贡献给原始质子。

我打算做的事情:

  • [x]派生https://github.com/HansKristian-Work/vkd3d-proton并应用@ nyz93更改。
  • [x] Fork Proton,将子模块更改为Forked vkd3d-proton
  • [x]添加子模块dxil-spirv
  • []将dxil-spirv集成到Proton构建系统中
    >-[]了解如何在wine / linux上运行WinRT / UWP
    要么
    >-[]将“ Windows.Gaming.Input”写入“ DirectInput”包装器
  • [] ...

我希望下周末可以进入WinRT / UWP的内容。

这个游戏要注意的一件事是它有很多错误。 即使在Windows中,每10分钟左右崩溃一次,也有很多麻烦。 终于有了reddit帖子,我终于找到了使它停止在Windows中执行该操作的方法,而且我不确定其中的哪一部分真正修复了该问题,但是自从我遵循了这一系列操作之后,我没有遇到崩溃,并且认为在这里注意可能会有所帮助

仅对HZD禁用Windows Defender中的Control Flow Guard
启用大页面
如果您使用的是最新的Windows版本(v2004或19041.xxx),请确保启用HAGS。
有一个名为“ Intelligent Standby List Cleaner”的程序,该程序会根据某些参数随时间清除备用内存,获取并确保其在后台运行。

其中,似乎已注意到HAGS可以为其他人修复崩溃,因此我认为这可能是最重要的部分。 当然,希望与此同时再次发布补丁,使我们中的更多人无需在Windows中进行此类设置。

感谢Paul的修补程序以及Hans-Kristian的不懈努力,我们已经找到了解决之道。
https://www.winehq.org/pipermail/wine-devel/2020-August/172365.html
https://www.winehq.org/pipermail/wine-devel/2020-August/172366.html

RADV / ACO:
Screenshot_20200825_202131

AMDGPU-PRO:
Screenshot_20200825_175256

在AMDGPU-PRO上这是不稳定且缓慢的,虽然在RADV / ACO上看起来很稳定且性能很好,但在视觉上更容易出现毛刺(尽管两者都是)。 但是,嘿。

如果有人想知道,可以使用当前的proton-tkg头,基于5.15.2r7(aaea13a1)进行。
编辑:目前在Nvidia上存在阻止问题。

恭喜小伙子们! 因此,这是使用动态DX12到Vulkan(SPIR-V)转换器吗?

回复https://github.com/ValveSoftware/Proton/issues/4125#issuecomment -680129597

现在,我很好奇它在nvidia GPU上的外观。 Nvidia驱动程序比AMD的故障少。

@ Galcian79它的渲染与AMDGPU-PRO类似。 漂浮的岩石,植物,遗失的物体等,但到处没有线条。 虽然不确定稳定性。

nvidia用户,在这里不起作用,与以前相同的错误。

使用新的前缀登录:

https://gist.github.com/fsyy/587f85abfea2a3ca2b993afe531c561e

系统规格:

https://gist.github.com/fsyy/b6b4a73f60114d0cd1c40ecef95c83c2

起初它对我不起作用,但是将vkd3d-proton编译为dll并将dll覆盖设置为native确实可行。 我不知道为什么@ Tk-Glitch的PKGBUILD的本地vkd3d-质子不起作用。

@Danacus与独立的dll构建相比,共享库的功能有限。 各种d3d12游戏都需要使用独立版本,因为它可以绕过某些葡萄酒限制。

@ Tk-Glitch哦,知道了。 谢谢!

有哪些限制?

2020年8月26日,星期三,下午4:40 Daan Vanoverloop
[email protected]写道:
>

@ Tk-Glitch哦,知道了。 谢谢!

-
您收到此消息是因为您已订阅此线程。
直接回复此电子邮件,在GitHub上查看或取消订阅。

@ Tk-Glitch我已使用您的vkd3d-git PKGBUILD安装vkd3d-proton。
然后,我用_use_vkd3dlib="false"编译了proton-tkg _use_vkd3dlib="false"并再次尝试了HZD,但它仍然崩溃。

我也尝试过(如https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-680883714中所述)编译vkd3d-proton并在wineprefix中复制dll的system32和syswow64内部,并在winecfg添加覆盖d3d12.dll到本地的

我需要更改HZD的wineprefix中的某些内容吗? 使用mesa-aco-gitamdvlk而不是vulkan-radeon吗?

冒险的旁注:
该游戏需要本机d3dcompiler_47.dll(您可以从游戏目录中运行cp ./Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll .以“强制”使用它,因为默认情况下该游戏未启用)。

@ D3SOX显然当前的mesa-git阻止游戏运行。 mesa-aco-git现在也应该被弃用。 AMDVLK不适用于afaik游戏(-pro可以,但可能仅在Navi上可用,因为我尚未测试Vega或Polaris)。
在构建proton-tkg时,无需执行任何操作,默认情况下应使用本机d3d12.dll。 您也不需要安装vkd3d软件包即可使用独立的d3d12.dll。

@slapin例如,对于葡萄酒方面的D3D12CreateVersionedRootSignatureDeserializer实现,或者能够使用诸如DXVK这样的其他dxgi的需求。 汉斯·克里斯蒂安(Hans-Kristian)和Doitsujin更了解:stuck_out_tongue:

@ Tk-Glitch我切换回默认值mesa并用vulkan-radeon (和lib32软件包)替换了amdvlk ,并用您提供的命令复制了d3dcompiler_47.dll 。 现在游戏开始运行(我从中看到一个窗口),但仍然崩溃
image
终端输出: https :

尝试也复制dxcompiler.dll

尝试也复制dxcompiler.dll

我在cp Tools/ShaderCompiler/PC/1.0.2595/x64/dxcompiler.dll .内做了/steamapps/common/Horizon Zero Dawn但仍然存在相同的错误

dxcompiler.dll为我工作。 非常感谢! :+1:

嗨,有可能在一个新手友好的帖子中总结必要的步骤吗? 我一直在关注这个线程,但是我有点不理解从头开始构建Proton,在已经安装Steam和Proton的情况下,这似乎有些过头了。 我想我不是唯一的人,它对很多人都有用。 非常感谢您的出色工作!

嗨,有可能在一个新手友好的帖子中总结必要的步骤吗? 我一直在关注这个线程,但是我有点不理解从头开始构建Proton,在已经安装Steam和Proton的情况下,这似乎有些过头了。 我想我不是唯一的人,它对很多人都有用。 非常感谢您的出色工作!

您不需要构建Proton。 对我来说,它可以与TKG的最新Proton版本配合使用,并且可以将d3dcompiler_47.dll从内部的Tools目录复制到Horizo​​n Dawn可执行文件的目录中。 除此之外,质子和vkd3d开发人员还将解决随机崩溃和伪影问题。

您不需要构建Proton。 对我来说,它可以与TKG的最新Proton版本配合使用,并且可以将d3dcompiler_47.dll从内部的Tools目录复制到Horizo​​n Dawn可执行文件的目录中。 除此之外,质子和vkd3d开发人员还将解决随机崩溃和伪影问题。

我无法以这种方式运行它。 仍然有上述问题
我尝试卸载amdvlk lib32-amdvlk没有成功。
我用Steam验证了游戏文件并复制了2个dll
image

启动选项: PROTON_USE_WINED3D=1 RADV_PERFTEST=aco %command% (也可以在没有它们的情况下尝试)
质子版本: proton_tkg_5.16.r2.gf6495b29.release

Steam系统信息: https ://gist.github.com/D3SOX/5f08de587b6106c02a2436ba1b81bd99(IDK如果architectures.i386-linux-gnu.graphics-details.x11/vulkan.messagesarchitectures.x86_64-linux-gnu.graphics-details.x11/vulkan.messages下的这些错误是一个问题)

开始游戏时,我收到以下警告:
2020-09-02_09-56
单击是给我
image

steam终端输出: https :

@ D3SOX您是否尝试过构建vkd3d-proton并将生成的d3d12.dll复制到游戏的文件夹中? 也不需要使用PROTON_USE_WINED3D 。 您可能还想构建mesa-gitmesa-tkg (或添加一个用户存储库,如chaotic-aur并从那里安装)。 请注意,该游戏目前无法很好地玩。

@Danacus谢谢。 我删除了PROTON_USE_WINED3D ,编译了mesa-git并用它替换了mesa。 它删除了我以前安装的一堆其他软件包
image
我还将d3d12.dllvkd3d-proton/build.64/libs/d3d12/复制到可执行文件的目录中。

同样的问题。
新的蒸汽系统信息https://gist.github.com/D3SOX/639d889140f4c3393b215b495b5dcc89
新的steam终端输出: https :

感谢@intersectRaven ,此消息目前无法正常工作

wine: failed to load /home/USER/.local/share/lutris/runtime/steam/compatibilitytools.d/proton_tkg_5.16.r2.gf6495b29.release/dist/bin/../lib/wine/ntdll.dll.so: /lib/i386-linux-gnu/libc.so.6: version GLIBC_2.32 not found (required by /home/USER/.local/share/lutris/runtime/steam/compatibilitytools.d/proton_tkg_5.16.r2.gf6495b29.release/dist/bin/../lib/wine/ntdll.dll.so)

看起来Ubuntu的最新版本的libc是2.31,这是否意味着我会停留在libc6 2.32可用之前,或者我可以去修改引用的版本号? (不知道我会怎么做)。

此外,似乎该线程中的所有指令都针对Archlinux,我不认为这里使用的所有功能都具有Ubuntu等效功能吗? (例如,以构建mesa-git为例)

如果您能找到一些如何在Ubuntu上找到glibc 2.32的版本,则应该启动它。

在Manjaro上,切换到不稳定分支将在软件包管理器中显示它。

感谢@ mixalis1987 ,我下载了glibc 2.32的软件包,并尝试手动安装,但是效果不是很好。 两次重新安装Ubuntu之后,我认为最好等待正式版本或Proton更新,以先到者为准。

这就是在Nvidia上的样子,

在450.56.06上运行
Screenshot_20200905_105059
植物和岩石在漂浮,您无法前进到这一点,您必须将自己隐藏在根本不存在/根本没有渲染的高草丛中
Screenshot_20200906_024100

在此PR中修复了一些逐渐消失的岩石和草地问题: https :
在Nvidia RTX 2070上测试
Horizon Zero Dawn_Sun_Sep__6_09-24-00_2020

不幸的是,有些东西仍然漂浮和\或出现在错误的地方。
Horizon Zero Dawn_Sun_Sep__6_09-28-11_2020
Horizon Zero Dawn_Sun_Sep__6_09-36-05_2020

但这还没有现在那么糟糕。

该游戏尚无法玩。

Mesa-git + Proton-5.9-GE-6没问题
Capture du 2020-09-06 14-59-38

@Odelpasso哪里有Proton-5.9-GE-6?
在这里https://github.com/GloriousEggroll/proton-ge-custom/releases仅Proton-5.9-GE-5-ST可用。

这是VKx不和谐版本上的Google链接。

如果您遵循此线程中提到的步骤, wine-tkg可以正常工作。 最近对Mesa的承诺必须解决了图形问题。

编辑:如果有人想知道,这两行似乎已经使用Mesa RADV修复了所有这些图形故障。

@Odelpasso在哪里?

@Danacus我无法将wine-tkg建立在拱形上,需要执行哪些步骤?

@Odelpasso在哪里?

@Danacus我无法将wine-tkg建立在拱形上,需要执行哪些步骤?

质子(由GloriousEggroll在不和谐中发布): https :
image

葡萄酒吨

git clone https://github.com/Frogging-Family/wine-tkg-git.git
cd wine-tkg/wine-tkg-git
makepkg -si

@ D3SOX

质子(由不和谐的GloriousEggroll发布)

哦,我现在看到了,搜索不协调,真的很奇怪。

文件在所有者垃圾箱中? 钱币。 设法下载了它。

葡萄酒吨

是的,那就是我所做的,wine-tkg无法建立。 build()的错误会停止,或者使用脚本以无提示方式退出。

@戴安娜·尼特斯

葡萄酒吨

是的,那就是我所做的,wine-tkg无法建立。 build()的错误会停止,或者使用脚本以无提示方式退出。

如果愿意,可以为预构建的软件包添加chaotic-aur ,这比构建更容易。 我自己也构建wine-tkg遇到了一些问题。

@ D3SOX嗯,Google云端硬盘链接似乎已关闭。 它告诉我文件已被破坏。 有人可以要求GloriousEggroll正式发布吗? 不过,我想他有他的理由不这样做。

另外,我一直在广泛玩游戏,而且似乎随机冻结,即使我在设法处理本机vs DXVK dxgi.dll并迫使着色器重新编译后也设法使其运行而没有任何明显的图形问题。
有时,如果由于这种冻结而不得不终止进程,则重新出现浮动对象。 强制游戏重新编译其着色器缓存(部分地(通过弄乱dxgi.dll版本)或全部(通过删除PSOCache.bin或通过用备份覆盖它)来解决)浮动对象问题……嗯,直到游戏冻结再次随机并破坏了它在过程中的缓存。 我们希望这也能解决。 在使用VKD3D运行的其他游戏中,我也遇到过类似的冻结问题。

@RoyShapiro可以使用https://gdbypass.host/下载
但是他说

因为我今天早些时候做了另一个构建,今天早上我正在测试
我不打算将该建筑公开,所以我昨天在这里将其发布给一些人用radv进行测试

我仍在尝试使其完全启动

Screenshot_20200906_152955

开始! 有用! 到目前为止..等一下!

@DianaNites我不明白。 我们是否仅需要Proton.5.9-GE-6-ST即可开始游戏? 没有多余的DLL之类的东西吗?

@ mixalis1987

我做了线程其他地方提到的dll东西,但是没有它,我没有进行测试,并且由于疯狂的RAM要求和其他开放程序还没有加入游戏。 关闭其他程序并释放一些RAM后,我将看到它的真正工作原理。

@DianaNites谢谢。 我很快就会看看。

@DianaNites我不明白。 我们是否仅需要Proton.5.9-GE-6-ST即可开始游戏? 没有多余的DLL之类的东西吗?

如果没有从游戏目录中运行cp ./Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll . ,则即使使用Proton-5.9-GE-6,游戏也无法正常工作

不幸的是,在介绍或菜单(radv&amdvlk-pro,质子-tkg)短时间后,它总是对我崩溃。 :(

我知道了! 内置Proton-tkg,使用来自tools文件夹的dll,mesa-git就是这样! 但是,使用AMD硬件显然比NVIDIA更好。

一些轻微的,偶发的视觉故障,一些崩溃(但是这些崩溃可能是游戏本身造成的吗?),但总的来说,它确实可行! 准备好经常重新启动游戏,尽管这可能仅仅是游戏的错误。 为了使此工作取得了很大的进展,而且确实做到了!


屏幕截图

我没有意识到我必须自己隐藏UI,如此糟糕的屏幕截图:(

Horizon Zero Dawn_Sun_Sep__6_19-08-08_2020
Horizon Zero Dawn_Sun_Sep__6_19-03-04_2020

编辑:

在上面的屏幕截图之后不久,它一直在某个特定的部分崩溃,所有死者都躺在床上。

令人惊讶的是,我设法使用PCGamingWiki的提示修复了崩溃问题

这款游戏的运行情况似乎异常出色,我通过了孩子的Aloy部分,设法救了火,然后立即又崩溃了。 不过,那是一个半小时的好时光? 再次重新启动后,它可能会正常工作,十六进制编辑似乎已以某种方式修复了该持续崩溃。

我应该注意到,对于孩子后阿洛伊(Aloy aloy)的加载屏幕花费了很长时间,但是确实完成了。 我以为它挂了。

但是,请注意,在进行一些挖掘之后,十六进制编辑的指令可能有意触发崩溃。 例如,请参见此处

编辑:

重新启动后工作正常,又过了一两个小时才再次崩溃。 不过,仍然很难确定坠机是由于质子还是游戏。

这是在新补丁1.04上的,proton-tkg git master,mesa-git master,自昨天以来,这两个版本确实都有新提交。

编辑:还记得仍然使用tools文件夹中的dll。 如果它们确实在补丁程序中进行了更改,请重新复制它们,然后重新编号为idk,但是可以

1.04补丁自15分钟以来已经发布,它旨在修复更多的崩溃问题:
https://store.steampowered.com/newshub/app/1151640/view/2905340212273715393

崩溃修复:
修复了当用户创建新游戏并且其保存游戏位置已满时可能发生的崩溃
修复了与临时文件夹有关的启动崩溃
修复了战斗中可能发生的AI崩溃
修复了EventMessageHandler中的AI崩溃
修复了与WorldData采样有关的崩溃(调用堆栈将以WorldMapData :: SampleAtPixel结尾)
修复了当用户在“设置”菜单中更改滑块时立即退出的崩溃问题
修复了在照片模式下打开“问候”选项然后退出时会发生的崩溃
AI例程中可能导致崩溃的内存损坏的潜在修复程序
由线程问题引起的GPU挂起的潜在修复
修复了在Shader Model 6.0和6.1硬件上可能会导致崩溃的不匹配问题

自上一个补丁以来,游戏在启动时崩溃。与GE-6 +补丁1.03一起正常工作。

仍然适用于我的proton-tkg! 尝试切换到该@Odelpasso吗?

补丁程序对我没有帮助,仍然在菜单/介绍视频中崩溃,并带有质子-tkg或-ge。 在wine-tkg(带有本地d3d12.dll vkd3d)中,它在一开始就崩溃了。 两种情况下,Hitman 2 D3D12均可工作。

今天对https://github.com/HansKristian-Work/vkd3d-proton/commits/master的提交使游戏崩溃(没有显示任何内容,但是很明显,在此之前(游戏需要一段时间才能完成)将d3d12.dll恢复为昨天的版本可“解决”该问题。

如果其他人也有同样的问题,请向vkd3d提出问题(我想确保不仅是我自己)。

使用Proton-GE 5和6进行了再次测试,并带有VKD3D-Proton的最新更新和最新的VKD3D-Proton崩溃,因此@aufkrawall和@RoyShapiro可能是您的问题。 平分后,我发现3002d52ed404cdd65d2c57193fe9bdbdf683161c之后的提交导致崩溃,因此只需对该提交执行git reset,然后重新编译并将其复制到您的HZD目录。 到目前为止,在NVidia上重新编译着色器后,还没有出现浮动的东西。 即使在“偏爱表现”上,也仍然很不稳定。

屏幕截图

Horizon Zero Dawn_Tue_Sep__8_23-44-28_2020
Horizon Zero Dawn_Tue_Sep__8_23-50-04_2020
Horizon Zero Dawn_Tue_Sep__8_23-55-28_2020

@intersectRaven

二等分之后,我发现3002d52ed404cdd65d2c57193fe9bdbdf683161c之后的提交导致崩溃

因此,不仅是我的问题。 不过,感谢您的提示,因为这意味着它不是今天的所有提交,只是在那之后。
不过,我认为我们应该让Hans-Kristian知道。

他们似乎正在添加新功能,因此可能会在一段时间内出现问题。 不知道是否应该让他们知道它们是否已经存在,因为它们可能仍在开发中。 忘记提及在GE-5上,它在达到启动优化的100%之后仍然崩溃。 GE-6很好。 仅供参考@aufkrawall,因为您可能正在使用GE-5。

我看到了@intersectRaven 。 不过,我已经用Control and Resident Evil 2 GE-6测试了相同的dll,没有崩溃。 似乎比其他因素更具体地影响HZD。 我希望他们会注意到。

更新:正如您所预料的那样,已经注意到了。 https://github.com/HansKristian-Work/vkd3d-proton/commit/cea17b2440de66a9c1c1978ff297e59abddaa4d1为我修复了崩溃问题。

这个新的提交可能会修复它,HZD提交使用其功能。

现在重新编译和测试

编辑:

确实可以确认它仍然很棒!

@DianaNites确实如此,我刚刚测试过。

我没有用,尝试了所有建议的操作和其他操作(关闭esync / fsync等)。 :(
你们能在不崩溃的情况下切换到全屏模式吗? 立即为我崩溃。

Steam的冗长性在我看来也不太明显:


>>> Adding process 2454 for game ID 1151640
Allocator AssetMemory: Creating new region at [0x00000001c0000000:0x0000000200000000]
Installing breakpad exception handler for appid(gameoverlayui)/version(20200903211816)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
[0908/184711.659545:INFO:crash_reporting.cc(270)] Crash reporting enabled for process: renderer
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
[ERROR]: There is no candidate for ladder merging.
[ERROR]: There is no candidate for ladder merging.
RecordSteamInterfaceCreation (PID 2391): SteamUtils009 / Utils
RecordSteamInterfaceCreation (PID 2391): SteamController007 / Controller
RecordSteamInterfaceCreation (PID 2391): SteamInput001 / Controller
movies:mono/MQ1_Intro_at_the_Hovel.bk2 took 106.51017754 ms to start
movies:mono/mq1_intro_at_the_hovel.bk2 took 910.31704427 ms to open
 took 0.00372095 ms to release
pid 2325 != 2324, skipping destruction (fork without exec?)
Game removed: AppID 1151640 "", ProcID 2391 
Game 1151640 created interface STEAMUSERSTATS_INTERFACE_VERSION011 / 
Game 1151640 created interface SteamController007 / Controller
Game 1151640 created interface SteamFriends017 / 
Game 1151640 created interface SteamInput001 / 
Game 1151640 created interface SteamInput001 / Controller
Game 1151640 created interface SteamUser020 / 
Game 1151640 created interface SteamUser020 / User
Game 1151640 created interface SteamUtils009 / 
Game 1151640 created interface SteamUtils009 / Utils
Game 1151640 method call count for IClientUser::BLoggedOn : 1
Game 1151640 method call count for IClientUser::GetSteamID : 2
Game 1151640 method call count for IClientFriends::GetPersonaName : 1
Game 1151640 method call count for IClientUtils::GetAppID : 14
Game 1151640 method call count for IClientUtils::RecordSteamInterfaceCreation : 10
Game 1151640 method call count for IClientUtils::GetSteamUILanguage : 1
Game 1151640 method call count for IClientUserStats::RequestCurrentStats : 1
Game 1151640 method call count for IClientUserStats::GetAchievement : 79
Game 1151640 method call count for IClientUserStats::GetAchievementDisplayAttribute : 158
Uploaded AppInterfaceStats to Steam
Exiting app 1151640
No cached sticky mapping in ActivateActionSet.

你们能在不崩溃的情况下切换到全屏模式吗? 立即为我崩溃。

@aufkrawall是的,对我来说,更改全屏模式也会立即崩溃,但是无论如何它都是在无边框全屏模式下启动的,所以我不必担心太多。

您还需要在启动选项中使用PROTON_LOG=1 %command%来获得体面的日志,该日志位于您的主目录中。

除此之外,这款游戏现在对我来说非常有效,而且我的进步很好。 一次崩溃,也许每个小时左右? 令人烦恼,并且无法保存到处产生的焦虑感,但是很难从游戏还是质子中分辨出来。

但是,在运行基准测试时,我确实注意到了一个极其奇怪的问题。 即使我有大量的可用RAM,它也像疯了似地分配交换,使基准性能甚至比现在低。


屏幕截图

Screenshot_20200908_132008
Screenshot_20200908_132338
Screenshot_20200908_131942

但是,重启后似乎似乎停止这样做了,回到了基准报告的“正常” 12 FPS。 不过,实际的游戏内性能比更好。


屏幕截图

Screenshot_20200908_134459

你们可以分享您的Wine版本吗?

提示:关闭游戏中的V-Sync,这会导致CPU和PC上的低性能问题
即使在本机Windows上也可以使用GPU。
尝试通过启用它。 图形驱动程序中的应用程序配置文件。
无法告诉您,我使用Nvidia,您使用AMD。

Am Di.,8. Sept. 2020 um 21:07 Uhr schrieb Diana [email protected]

你们能在不崩溃的情况下切换到全屏模式吗? 立即崩溃
为了我。

@aufkrawall https://github.com/aufkrawall是的正在更改全屏
也为我设置了即时崩溃功能,但它以无边框全屏模式开始
模式,所以我不用太担心。

您还需要在启动选项中使用PROTON_LOG = 1%command%来获得
体面的日志,它将放在您的主目录中。

除此之外,这款游戏现在对我非常有用,而且我还在进步
很好一次崩溃,也许每个小时左右? 烦人,无能为力
来保存焦虑症的产生,但很难从游戏中分辨出来
或质子。

在运行基准测试时,我确实注意到了一个极其奇怪的问题,
虽然。 即使我有足够的可用RAM,它也正在分配交换
像疯了一样,使基准性能甚至比现在低。
屏幕截图

[image:Screenshot_20200908_132008]
https://user-images.githubusercontent.com/5275194/92517372-8d14a780-f1e4-11ea-908f-85e3bfcc94c4.png
[image:Screenshot_20200908_132338]
https://user-images.githubusercontent.com/5275194/92517377-8e45d480-f1e4-11ea-96c8-d6f9129ca031.png
[image:Screenshot_20200908_131942]
https://user-images.githubusercontent.com/5275194/92517380-8f770180-f1e4-11ea-8618-f30855c8fc62.png

不过,似乎在重启后便停止了该操作,回到了
基准报告的“正常” 12 FPS。 游戏中的实际表现为
更好。
屏幕截图

[image:Screenshot_20200908_134459]
https://user-images.githubusercontent.com/5275194/92517492-bfbea000-f1e4-11ea-94c1-bf6f08df6cbf.png

-
您收到此消息是因为您已订阅此线程。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-689077992
或退订
https://github.com/notifications/unsubscribe-auth/AJWSJOPVTOKHFPVXYJLERRDSEZ6HPANCNFSM4PXXJIQA

有几种启用垂直同步的方法:

  • Xorg配置中的TearFree选项
  • mangohud可以在游戏上强制进行垂直同步
  • 如果您不介意延迟,则合成器也可以添加垂直同步

我不明白我怎么了...
我是唯一遇到此问题的人。

@Odelpasso尝试像@DianaNites一样输出质子日志,以便有人可以对其进行检查,甚至可以为您指明正确的方向。

steam-1151640.zip
随附我的质子记录,该记录用于在非官方的GE-6-ST下加载或启动新游戏时崩溃。 游戏确实加载到菜单上,并显示徽标,但过去没有任何效果。

我记得,我尝试过最新版的TKG,如果记得的话,它的发行版是5.16+,结果也一样,加载时游戏崩溃约2 / 3-3 / 4。 我尝试使用脚本自己编译tkg,但在修补补丁程序时遇到错误,提到76个大头钉中有16个失败-将拒绝保存到文件patch / patchinstall.sh.rej
不幸的是,如果没有指南,我还没有足够的能力去克服这一点,而且我没有时间去寻找某个地方是否有指南。

到目前为止所采取的步骤已到达我的日志
1)使用应用程序exe将dxcompiler和d3dcompiler_47移到文件夹中
2)使用protontricks将d3d12.dll设置为native(直到没有尝试,我才这样做,并且两次都得到相同的结果,所以我不知道这在两个方向上是否有区别)

@Odelpasso尝试像@DianaNites一样输出质子日志,以便有人可以对其进行检查,甚至可以为您指明正确的方向。

这是我的游戏日志。
steam-1151640.log

在Pascal(GTX 1070)上,使用相同的proton-tkg-5.16.r12将Nvidia驱动程序从450.56.06升级到450.56.11,已修复了浮石和长草未渲染的问题,因此可以完成本教程。 播放了一个小时而没有崩溃,并且由于无法使控制器正常工作而停止了播放。

我设法按照应有的方式运行。 没有文物。 解决方案与我在此处对《战地风云5》应用的解决方案相同。

我的系统:
显卡:AMD RX580 8GB
CPU:Intel i7 4770(Haswell)
操作系统:Arch Linux
内核:5.8.7-13-tkg-pds
葡萄酒: Frogging-Family / wine-tkg-git

编译最新的vkd3d-proton d3d12.dll。

Screenshot_20200910_093131

@rizzini我做了WINEPREFIX=/run/media/nico/DATA_SSD/SteamWindowsLib/steamapps/compatdata/1151640/pfx /usr/share/steam/compatibilitytools.d/proton_tkg_makepkg/dist/bin/winecfg并将d3d12Native (Windows)
就像您提到的问题一样。

我正在使用
GPU:AMD RX480 8GB
处理器:AMD Ryzen 9 3900X(Zen2)
操作系统:Arch Linux
内核5.8.8-14-tkg-upds (带有fsync)

我还编译了proton-tkg-git (版本为5.16.r19.g88e6b6c6-1 )并在Steam中使用它进行游戏
作为启动参数,我使用PROTON_LOG=1 VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:usr/share/vulkan/icd.d/radeon_icd.i686.json %command%
(由于我也安装了AMDVLK,因此强制使用RADV)

我比以往任何时候都更进一步,因为在重命名drive_c/users/steamuser/My Documents/Horizon Zero Dawn之后,我现在看到左下角的加载指示器和自定义鼠标光标,但是现在出现此错误:
image

将其重命名为Horizon Zero Dawn并重新启动后,它在Saved Game文件夹中做了一些奇怪的事情,还删除了保存游戏中的文件。
image
以前看起来像这样:
image

主文件夹中的Steam日志:
steam-1151640.log

@ D3SOX ,您做对了,但是在查看日志时,似乎Proton仍在使用Horizo​​n Zero Down可执行文件夹中的d3d12.dll。 尝试将其删除,并仅将其保留在1151640/pfx/drive_c/windows/system32/文件夹中。

日志的第2312行:

2111.427:00bc:00c0:trace:loaddll:load_native_dll Loaded L"Z:\\run\\media\\nico\\DATA_SSD\\SteamWindowsLib\\steamapps\\common\\Horizon Zero Dawn\\d3d12.dll" at 0x6f7c0000: native

这是我的d3d12.dll 。 以防万一。

编辑:我从未见过那些保存游戏错误。 尝试备份和删除,仅用于故障排除。

@rizzini我克隆了vkd3d-proton并将其构建为“简单方式”,因此我认为我的DLL应该很好
我将x64构建复制到可执行文件的文件夹中,并将其替换在SysWOW64
System32我用x86构建替换了d3d12.dll 。 因此,我认为它是同一个DLL文件,因此从那里加载它不是问题吗? 还是我必须将x64构建复制到System32

对于保存游戏:问题是我试图删除它们,但是随后出现保存游戏错误。 如果不删除它们,只会崩溃。 (我认为这些文件可能与某些文件有关,因为我已经在Windows下玩过游戏了)

但是,我从可执行文件目录中删除了它,仍然崩溃。 日志:
steam-1151640.log

我使用mesa-tkg-git版本20.3.0_devel.128249.5e9e4573835-1 。 可能也是一个问题。 您使用哪个台面版本?

@ D3SOX

在64位计算机上,64位程序将其文件存储在C:\ Program Files中,并且系统范围的C:\ WindowsSystem32文件夹包含64位库。 32位程序将其文件存储在C:\ Program Files(x86)中,并且系统范围的文件夹为C:\ WindowsSysWOW64。
资源

因此,您必须将x64版本放入System32,将x86版本放入SysWOW64。 另外,我认为Horizo​​n根本不需要x86版本(但是拥有它可能很好)。 就是说,通常,当使用错误的版本时,该游戏根本不应该工作(存在另一个错误),而不是争论已保存的游戏。 因此,我认为除此之外可能还有另一个问题。

@RoyShapiro噢,感谢您的澄清。 我只是假设系统32 = 32位库。
我已经交换了他们。 仍然崩溃。 日志: steam-1151640.log

@ D3SOX
警告:这可能对您没有帮助。 请先备份葡萄酒(质子)前缀!
如果说崩溃是指实际崩溃,而不是保存游戏问题,那么我知道这是一个漫长的尝试,我不确定这是否对您有帮助,但是...
从日志中,我可以看到您正在使用内置的dxgi.dll。 现在,应该完全没问题,但是我发现有时它与DXVK中的一个更好地工作。 忽略旧的警告,即他们不能一起工作,它已在一段时间前修复。 因此,可能您可以尝试将DXVK(带有dxgi)安装到相同的前缀中(显然首先要对该前缀进行备份,因此您无需重做任何操作,如果它没有帮助),然后将dxgi.dll设置为本地到(如果DXVK没有自动设置)。 最好使用最新的DXVK版本以获得最佳兼容性。
如果不起作用,只需从备份中恢复前缀即可。 同样,这不是必须的,您自己承担风险。
另外,请检查游戏是否已更新到最新版本,我听说旧版本在由于奇怪的字符而找不到保存的游戏路径时出现了保存游戏的问题。 据说是非拉丁人,但谁知道游戏可能使用过什么系统调用。

@RoyShapiro我从大师那里编译了DXVK并做了WINEPREFIX=/run/media/nico/DATA_SSD/SteamWindowsLib/steamapps/compatdata/1151640/pfx ./setup_dxvk.sh install
再次在前缀中打开winecfg,并添加dxgi.dll作为Native (Windows)
日志: proton-dxvk-steam-1151640.log

但是,在我启动游戏后,它注意到它用/usr/share/steam/compatibilitytools.d/proton_tkg_makepkg/dist/lib64/wine/dxvk/的DLL的符号链接替换了DLL,因此我用x64构建替换了其中的DDL,然后重新启动了它。
仍然崩溃。 日志: steam-1151640.log

如何检查游戏是否为最新版本? 我认为Steam会自动将其保持最新状态,并且“下载”下没有更新。

@ D3SOX如果Steam没有可用的新更新,则它应该是自动更新的,除非您有意禁用了更新,即节省带宽。 有人这样做了,并且在以前的版本中有一个已保存的游戏错误,因此,当像这样的废话进行时,最好排除这种情况。

是的,日志现在显示使用的本机dxgi.dll。

这很奇怪。 无视这篇文章的先前版本,我有些困惑。 RADV和AMDVLK,当前使用的是哪一个? Arch Wiki建议您可以在两者之间切换。 资源。 也许您可以尝试另一个。

罗伊·萨皮罗(RoyShapiro)
我想我是最新的:
image
我添加了VK_ICD_FILENAMES env变量,因为@ Tk-Glitch表示它不适用于AMDVLK。 但是我认为这是没有必要的,因为当我将其删除时,日志中还会显示AMD RADV POLARIS10 (ACO)而与amdvlk无关。
当前的Steam系统信息: https :
我不明白为什么这么多人开始运行它,甚至对我来说都没有开始。

@ D3SOX这确实很奇怪。 您是否尝试过使用此线程前面建议的非官方GloriousEggroll的Proton版本6代替TKG的版本? 我听说它对某些人有用。 是的,它需要下载上述GD技巧,但最后我检查了它是否仍然有效。
所有这些修复程序我们仍处于未知领域。 即使您确实可以运行该游戏,它也会时不时冻结,对我来说大约是每10到30分钟一班,其他一些人报告说可以玩一个小时。 但这仍然是“篝火到篝火的手指交叉”的经历。

@ D3SOX @RoyShapiro

我通过运行游戏,仅使用tkg的质子,并将d3dcompiler_47.dll复制到游戏的根目录,然后我决定从pfx重新开始,将其删除并尝试重新启动。

效果:我遇到了相同的保存游戏错误,可以通过手动创建目录“ Horizo​​n Zero Dawn / Saved Game”来解决,但是从那时起,它一直崩溃,看到黑色的加载屏幕。

@ D3SOX

您是否已经尝试了ge-6-st质子?

您应该尝试一下,因为我使用它,所以我的游戏正在运行。

@fsyy是否必须复制任何DLL文件或仅按原样使用GE-6-ST?

我只是使用ge-6-st并从〜/ .steam / steam / steamapps / common / Horizo​​n Zero Dawn / Tools / ShaderCompiler / PC / 10.0.18362.0 / x64 /复制了d3dcompiler_47.dll到〜/ .steam / steam / steamapps / common /地平线零黎明。

我没有将d3d12.dll复制到游戏目录,也没有将其设置为winecfg中的本机库。

我使用的是nvidia卡(最新的Beta驱动程序450.56.11),仍然有漂浮的岩石和树木,游戏在这里崩溃了很多(10-30分钟),但是它可以启动并且可以玩。

@fsyy啊,感谢您清理

@fsyy是的,我尝试了GE-6-ST,但我什至没有开始。 可能应该再次使用干净的wineprefix进行测试

如果它不使用新的前缀运行,则可以在此处发布另一个质子日志。

@fsyy

您在上面的文章中写了关于DXVK的信息,这没关系,因为Horizo​​n Zero Dawn仅适用于DX12,因此您需要vkd3d-质子。 但这应该已经在那些质子构建中建立了。

我刚刚尝试了它,因为@RoyShapiro建议了它

如果它不使用新的前缀运行,则可以在此处发布另一个质子日志。

是的,我稍后再做

@fsyy @ D3SOX只是为了澄清:我建议尝试在安装了DXVK的前缀中运行,因为虽然游戏本身不使用低于DX12的任何东西,但VKD3D-Proton本身确实利用了在DX12中实现的功能。名为dxgi.dll的库,也由DXVK使用和提供。 在某些用例中,与Wine \ Proton捆绑在一起的版本相比,DXVK提供的版本可能提供更多的兼容性。 例如,用DXVK版本替换此确切的库正是为我解决了浮动岩石问题的方法。 因此,虽然我们不知道到底是什么原因导致@ D3SOX出现游戏问题,但仍有

罗伊·萨皮罗(RoyShapiro)

您使用什么版本的质子(葡萄酒)?

@fsyy当前为Proton-5.9-GE-6-ST。 就是说,我从源代码构建d3d12.dll,所以我不使用Proton-GE随附的d3d12.dll,并且如上所述,我还手动安装了DXVK 1.7.1。

@RoyShapiro我们该怎么做? 我已经有了GE 6,但是自定义d3d12怎么获得?

@ mixalis1987它是从vkd3d-proton来源编译的。

@intersectRaven哦,谢谢。 然后我们将其放入systemc32并在winecfg ..中设置为native?

似乎可以预期的性能。 我可以使用以前在线程中链接的GE 6和d3d12.dll进行“播放”,但是在中等gfx中,使用Ryz 5 1600和GTX-1080和450.66驱动程序(pop_os)可获得25fps

我还想问一下大家都看过的动画是否在“慢动作”上? 它也可以在我的机器上播放,但这是我唯一的抱怨,但是可以预期,因为我之前在修复《 Falden Jedi》之前就曾经历过这种情况。

@intersectRaven不确定,有点。 只有一些东西,草毛等,但是,我认为这是AA的事情,因为我在具有某些AA模式的幽灵侦查荒野中得到了相同的结果

@botrosco谢谢。 我现在在Steam覆盖中启用了FPS,并且在我的机器上也获得了20-30fps。 我正在9750H和RTX2070上玩,因此可能是需要Proton / VKD3D解决的优化问题。

@intersectRaven啊,好的。 很高兴知道它不仅是我。

得到它的工作! 当她成年并离开小屋时,游戏会在过场动画中冻结。 无法超越。

屏幕截图

Horizon Zero Dawn_Sat_Sep_12_19-35-30_2020
Horizon Zero Dawn_Sat_Sep_12_19-38-35_2020
Screenshot_2020-09-12_19-36-34

[系统]
操作系统:Manjaro Linux 20.1 Mikah
拱门:x86_64
内核:5.8.6-1-MANJARO
台式机:XFCE
显示服务器:x11

[中央处理器]
供应商:AuthenticAMD
型号:AMD Ryzen 9 3900X 12核处理器
物理核心:12
逻辑核心:24

[记忆]
内存:31.4 GB
交换:0.0 GB

[图形]
供应商:NVIDIA Corporation
OpenGL渲染器:GeForce GTX 1080 Ti / PCIe / SSE2
OpenGL版本:4.6.0 NVIDIA 440.100
OpenGL核心:4.6.0 NVIDIA 440.100
OpenGL ES:OpenGL ES 3.2 NVIDIA 440.100
Vulkan:受支持

当她成年时,需要更新nvidia驱动程序才能通过小屋。 现在我可以克服了。 不知道白色边框是什么。
Screenshot_2020-09-13_20-33-10

我还没来得及这么慢,但我正在使用NVIDIA,我也可以确认相同类型的非全屏无边框问题@ mixalis1987我以为我是唯一拥有这种特殊功能的人问题。 它是无边界的,但与上面粘贴的图片完全有些偏移。 另外,如上所述,当我切换到全屏模式时,它会崩溃。 我也正在运行Manjaro 20 xfce。 直到最近我还没有时间去弄它。 只是想感谢所有比我聪明的人。 你们都摇滚!

不得不说,一旦随机崩溃得以解决,我实际上可以看到自己一直玩到最后。 即使带有白色边框。
@ 77boaz您的图形设置是什么? 当我第一次开始游戏时,该游戏会自动设置为终极游戏,并以“慢动作”播放,将设置更改为“原始”,从而为我整理了游戏。

所以我双重启动Windows,主要是为了比较Steam中的Linux / Windows。 在Linux中,我可以在原始版本上运行游戏,而性能/帧数不会过分下降,尽管我现在在键入此代码时再次将游戏弄坏了,因为我搞砸了proton-tkg构建,proton-ge构建和其他东西。 Windows 10我可以最大以1080p的分辨率运行它...到目前为止,我还没有4K显示器:) Windows版本暂时更好,但是在如此短的时间内在Linux上取得的进步是史诗般的! 再次向工作的人们大喊大叫! 我将等到以后在Linux的所有宏伟功能中发挥它:)耐心是一种美德:)

@ mixalis1987我已经在使用Original了,但对我来说它仍在进行“慢动作”。 我也期待着随机崩溃能解决的问题。 在调查之后,似乎与“ RE2:VkBufferView创建会导致VKD3D的问题中的可用内存#266溢出”相同。 希望可以尽快解决。

我设法还原了哈希映射的提交,它现在似乎正在正确释放内存。 如果有人想尝试自己编译的VKD3D-Proton源,则要还原的提交是:

daf9f5c69fb69ab87672e61ee6c71ec2fb16d218
5a9d132b20de854f751d4c606c9546e6c34f5c4c
73d578e5abe5658bd8f9cca330a2f7a8f48e0465
684c658e22930f3f77488f77afb590d6889920a4

按照特定顺序还原它们,以使其完全还原。 到目前为止,这是我玩过的最长的戏,在我变得疲倦之前还没有挂在我身上。 这绝不是解决方法。 如果您不想在没有崩溃的情况下玩游戏,那么最多是一种解决问题#266而无需重写哈希图实现的方法,尽管即使这样也无法保证。

@intersectRaven我不明白我们要如何处理这些提交。 只是再次构建vkd3d?

@ mixalis1987只需使用git revert <_commit i =“ 5”>然后使用通常的构建vkd3d,副本等来还原它们。

@intersectRaven所以

git revert -n(提交的提交号码)?

@ mixalis1987是的

但是只是不还原错误的提交51d2a3bad2dacc40653fd8b9d43dea7ba0109e65吗?

@intersectRaven最终测试了您关于在HZD上还原提交的建议。 可以确认它“有效”。 连续打了三个小时十五分钟后,最终陷入僵局。 在四十分钟左右的时间里还进行了一次alt-tab捕获。 似乎没有哈希图,游戏创建的资源会在很长一段时间后丢失。 随之而来的是它们溢出导致内存泄漏。 与RE2相同的情况,除了它似乎还导致帧率随时间衰减。 正如您所说,这绝不是解决方法,哈希表存在是有原因的。 但是,这是一个非常不错的临时创可贴,可以使HZD变得可玩,直到出现更好的解决方案为止;毕竟,连续玩一个或多个游戏至少三个小时,而不是仅仅十分钟,通常比人们愿意玩的更多会话。 但是,我希望VKD3D-Proton团队能尽快提出适当的hashmap实现重构。

@Odelpasso我刚刚恢复了@intersectRaven发布的内容。 4次提交。

你好@RoyShapiro
您可以发布您的dll吗? 谢谢 :)

@intersectRaven最终测试了您关于在HZD上还原提交的建议。 可以确认它“有效”。 连续打了三个小时十五分钟后,最终陷入僵局。 在四十分钟左右的时间里还进行了一次alt-tab捕获。 似乎没有哈希图,游戏创建的资源会在很长一段时间后丢失。 随之而来的是它们溢出导致内存泄漏。 与RE2相同的情况,除了它似乎还导致帧率随时间衰减。 正如您所说,这绝不是解决方法,哈希表存在是有原因的。 但是,这是一个非常不错的临时创可贴,可以使HZD变得可玩,直到出现更好的解决方案为止;毕竟,连续玩一个或多个游戏至少三个小时,而不是仅仅十分钟,通常比人们愿意玩的更多会话。 但是,我希望VKD3D-Proton团队能尽快提出适当的hashmap实现重构。

是的由于实施了哈希映射以便更好地利用内存以进行重用,所以这很棘手。 问题是HZD似乎不喜欢重用事物。 大声笑。 对此没有简单的解决方案,因此此“创可贴”只是...一种用于玩HZD数小时而不会崩溃的创可贴,仅适用于本游戏。 我认为解决此问题的方法更多地是在Guerrila而不是VKD3D上,因为这可能是一个优化问题,因为它们的引擎实例化了许多不可重用的对象。 当然,如果VKD3D开发人员可以找到其他解决方案,那也将是一个很好的选择,因为更多非优化游戏将受益。

@intersectRaven恐怕游击队正在修理“坏”端口时已经被绑住了,尽管这可能与他们在Windows上发生的某些崩溃有关,但我怀疑他们会调查一下它任何时候很快。 另外,包括我在内的一些人似乎对其他游戏(例如RE2)也有相同的问题,因为它已经很成熟了,几乎可以肯定不会打补丁,而且问题似乎很特殊。 但是,VKD3D或更确切地说是VKD3D-Proton的创建目的是引用它们:“性能和兼容性是重要的目标”。 因此,似乎迟早他们将不得不解决一些问题。 但这是学术性的。 不幸的是,我对Graphics API领域并不熟悉,否则我很乐意伸出援手。

@intersectRaven恐怕游击队正在修理“坏”端口时已经被绑住了,尽管这可能与他们在Windows上发生的某些崩溃有关,但我怀疑他们会调查一下它任何时候很快。 另外,包括我在内的一些人似乎对其他游戏(例如RE2)也有相同的问题,因为它已经很成熟了,几乎可以肯定不会打补丁,而且问题似乎很特殊。 但是,VKD3D或更确切地说是VKD3D-Proton的创建目的是引用它们:“性能和兼容性是重要的目标”。 因此,似乎迟早他们将不得不解决一些问题。 但这是学术性的。 不幸的是,我对Graphics API领域并不熟悉,否则我很乐意伸出援手。

同样在这里。 我只能根据VKD3D的问题页面上的问题对问题进行粗略的调查。 好像在哈希图之前一样,内存在使用后会立即释放吗? 哈希图通过预先分配内存或其他方式避免了实例化新对象的麻烦。 这就是为什么我有“ vkd3d:不要在描述符更新中对视图进行引用计数”的原因。 因为似乎不需要使用视图破坏代码,所以哈希表恢复了,因为哈希映射不需要它。 无论如何,我对如何解决这个问题还不了解,所以这只是我的肮脏方法,至少可以延长比赛时间。 我确信他们正在幕后进行这项工作,因为他们首先已经在问题中发现了问题,这表明他们已经意识到了问题。

@intersectRaven我看了介绍哈希图的代码,似乎前面的代码只是实例化了“松散”对象,即创建一个指针,然后在函数终止时“忘记”它。 据我所知,此操作并没有完全释放内存,因为该对象仍然存在,但是“挂起”。 最终,系统的垃圾回收例程选择了它的气味,如果没有东西引用它,则将内存标记为未使用。 (d3d12_desc_destroy在“请勿引用计数视图”的许多地方进行了编辑,它是在结构上调用的函数,似乎不是对象析构函数,因此需要由api故意调用。)我可能是错误的,自从我用C语言编写任何东西以来已经有一段时间了。使用哈希图可以使VKD3D跟踪其创建的所有对象,因此它们都不是松散的,因此不会被删除(除非标记为以某种方式删除)。 因此,内存永远不会被释放,因为HZD或RE2之类的游戏似乎都不会发出这样的指令(显然,真正的D3D12具有它自己的垃圾收集例程,这就是RE2在Windows上不挂机的原因)。 最终它堵塞了。 因此,如果我的松散解释某种程度上是正确的,那么“创可贴”就可以工作,因为松散的不可重复使用的对象不会像“散列图”那样“绑在一起”,而散列图只需要知道可以安全丢弃的内容即可。并正常工作。 再一次,我可能从根本上是错的。

mo

你好@RoyShapiro
您可以发布您的dll吗? 谢谢 :)

抱歉,但是我不确定发布其他人项目的WIP二进制文件在技术上是否合法。

@RoyShapiro
VKD3D是开源的,所以我认为这是合法的:)

我想我做错了。 我仍然经常在20至30分钟内崩溃
我用git revert还原了提交。 然后做了

./package-release.sh master /您的/目标/目录--no-package

获取dll。 是对的吗?

@ mixalis1987还原确实对您

编辑:如果您的默认文本编辑器是NANO,而不是VIM,则只需按Ctrl + X并回答No(如果它提示您保存文件)。

罗伊·萨皮罗(RoyShapiro)
好。 这发生过。

git revert 5a9d132b20de854f751d4c606c9546e6c34f5c4c
自动合并libs / vkd3d / vkd3d_private.h
自动合并libs / vkd3d / resource.c
[master e88011a]还原“ vkd3d:摆脱描述符自旋锁”。
更改2个文件,插入15个(+)

并且对于其余的提交相同,只是不同的文件发生了明显的改变:) NANO出现了,我按了ctrl + x并退出了,但没有要求我保存任何内容。 希望没错。
我现在是否只运行“ ./package-release.sh master / your / target / directory --no-package”?

@ mixalis1987如果它全部工作了四遍,那就可以了。 只是不要忘记目标文件夹不应该存在,否则它可能会抱怨它已经建立,并且您希望它重新构建。

@RoyShapiro是的,我总是删除旧文件夹。 谢谢。

@ mixalis1987还原确实对您

编辑:如果您的默认文本编辑器是NANO,而不是VIM,则只需按Ctrl + X并回答No(如果它提示您保存文件)。

可能是您遇到了另一个导致崩溃的错误。 此“修复”用于:
“ vkd3d_create_vk_buffer_view:无法创建Vulkan缓冲区视图,vr -2。
崩溃之前质子日志中的错误消息,这是导致屏幕输出冻结的崩溃。 如果您的HZD直接因错误消息而崩溃,则可能是更固有的HZD错误之一,因此不会受到此“修复”的影响。 如果发布运行日志,则更好。

在简介/菜单中,使用1.05崩溃的速度更快。

在简介/菜单中,使用1.05崩溃的速度更快。

您可以尝试最新的Proton-GE。 自从您在简介/菜单中崩溃时,它与我对VKD3D所做的创可贴无关,根据我的经验,GE在运行更多游戏时更加稳定。 此版本还将我的FPS提高到40-50。

立即使用5.9-GE-6-ST崩溃并在此处清除前缀。 在wine- / proton-tkg中,其他所有内容始终对我有用,成功启动的任何游戏均发生0次崩溃(基本上包括我尝试过的所有游戏,至少经过一点儿摆弄)。 就是这个混蛋废话港...

立即使用5.9-GE-6-ST崩溃并在此处清除前缀。 在wine- / proton-tkg中,其他所有内容始终对我有用,成功启动的任何游戏均发生0次崩溃(基本上包括我尝试过的所有游戏,至少经过一点儿摆弄)。 就是这个混蛋废话港...

我可以说很多会崩溃的游戏。 并非每个游戏都可以使用您所知的Wine。 如果您看的话,Proton git上有很多问题。 无需翻录游戏。 开发人员正在修补它。 其余的问题都与质子/葡萄酒有关。 大多数游戏甚至不只是dx12。 这对于Wine来说是新的,它将有很多问题是游戏所不负责的。 使用酒的副作用。

如果这只是导致游戏补丁说明中经常出现的众多崩溃问题之一,请不要感到惊讶。

如果这只是导致游戏补丁说明中经常出现的众多崩溃问题之一,请不要感到惊讶。

对于特定问题绝对有可能。

上面在此问题中讨论的内容解释了Wine / Linux方面是否存在问题。

一个人似乎可以正常运行的事实意味着任何一方都可能存在问题,但如果确切的问题没有在官方支持的操作系统上发生,我会依靠Wine / Linux来指责。

在Proton 5.9-GE-6-ST上使用驱动程序Nvidia 450.66在Ubuntu 20.04.1上进行游戏和测试-GTX 1650 4GB
https://youtu.be/8KVrk5GTl1Q

也许有人会需要它:

  1. 使用质子5.9-GE-6-ST
  2. 不要使用无边界模式会导致图形错误,树木和岩石飞扬。
  3. 我从网站使用Nvidia(beta)驱动程序450.66
  4. 如果游戏看起来像幻灯片,请将图形质量更改为原始。 您将在1920x1080分辨率下获得稳定的30 FPS
  5. 如果游戏没有开始,请再次单击“播放”。

@ArturWroblewski我目前在Linux Mint 20上,并且我已经尝试了您列出的所有内容,并将内核从5.4升级到5.8,但是该游戏仍然无法启动,并且出现了与该错误相同的错误。这个问题的开始。

如果与问题开始时相同,则与在32位上下文上运行有关。 根据其系统要求,此游戏需要64位。

@intersectRaven啊,有趣-我在64位计算机上,是否将wine前缀配置为错误? 我将如何将上下文更改为64位?

另外,以防万一这是一条切线,当我表示错误时不需要删除,我的意思是错误框出现了,“不幸的是,游戏崩溃了”,我没有看到任何错误日志,我也没有知道如何访问它们。

@intersectRaven啊,有趣-我在64位计算机上,是否将wine前缀配置为错误? 我将如何将上下文更改为64位?

另外,以防万一这是一条切线,当我表示错误时不需要删除,我的意思是错误框出现了,“不幸的是,游戏崩溃了”,我没有看到任何错误日志,我也没有知道如何访问它们。

最好张贴日志,因为仅通过通用崩溃消息很难看到实际的问题。 如果您使用的是Steam,请在游戏的属性中单击“设置启动选项”,然后输入:

PROTON_LOG=1 %command%

该日志将位于您的主目录中。 如果您不使用Steam,则不熟悉如何输出日志。

谢谢! 这是我的日志,同样的事情再次发生:
steam-1151640.log

谢谢! 这是我的日志,同样的事情再次发生:
steam-1151640.log

您可以尝试安装winbind吗? 我看到了一个以前与它相关的错误,但是我不确定这是否是导致崩溃的原因。
err:winediag:SECUR32_initNTLMSP 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.

是的,尽管该错误已不在日志中,但并不能解决。 这是新的日志,以防万一:
steam-1151640.log

@drwhut
当我将屏幕显示从无边界更改为全屏时,我也遇到类似的错误。 (他在结尾处的视频中)您知道如何通过更改配置文件中的条目将窗口模式更改为全屏吗?

抱歉,无法提供帮助。
我只是在protondb上读到游戏无法正常工作,我想检查一下它是否正确,并且才刚刚开始:)

抱歉,较长的视频如果有人想查看最佳设置,请参阅:
https://www.youtube.com/watch?v=8KVrk5GTl1Q&t=2423s全屏游戏,原始预设,1920x1080,游戏效果很好!

如果您想看飞行的石头和树木,请单击此处:
https://youtu.be/8KVrk5GTl1Q?t=1779

我测试的几乎所有内容都是视频。

========================

与游戏没有直接关系的其他信息:
在安装Nvidia驱动程序时,我的系统坏了。 而且我必须重新安装ubunu,以便我可以进行全新安装的测试。

动作顺序:

  • 安装新的Ubuntu 20.04.1安装
  • 从Nvidia 450.66网站安装新驱动程序

我安装了Lutris(https://lutris.net/)

执行标准命令以运行任天堂Swich仿真器和Steam:

sudo add-apt-repository多宇宙
sudo apt更新
sudo apt安装Steam
sudo apt-get更新-y
须藤apt-get install -y libudev-dev
须藤apt-get install -y libinput-tools
须藤apt-get install -y libinput-dev
须藤apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
须藤apt-get install libqt5webenginewidgets5
须藤apt-get install -y libzip-dev

从Proton 5.9-GE-6-ST复制https://github.com/GloriousEggroll/proton-ge-custom/releases

安装游戏并启动它

其余的在视频上

是的,尽管该错误已不在日志中,但并不能解决。 这是新的日志,以防万一:
steam-1151640.log

您有450.66 NVidia驱动程序吗? 我在您的日志中也看到了不支持的版本功能,因此可能是您使用的是过时的GPU驱动程序。

是的,我已经安装了那些驱动程序:
nvidia-driver

@drwhut
我有一个非游戏问题。 我的问题更多。 如何从站点安装Nvidia驱动程序?

经常出问题。 这是安装新驱动程序的作用:

下载NVIDIA-Linux-x86_64-450.66.run
标记为可执行

sudo systemctl隔离多用户目标
ls
光盘下载
ls
须藤./NVIDIA-Linux-x86_64-450.66.run
马上重启
sudo现在重启
英伟达

而且,如果我设法安装它,则不能多次登录。 计算机站在登录屏幕上。

是的,尽管该错误已不在日志中,但并不能解决。 这是新的日志,以防万一:
steam-1151640.log

您有450.66 NVidia驱动程序吗? 我在您的日志中也看到了不支持的版本功能,因此可能是您使用的是过时的GPU驱动程序。

我注意到它也在使用内置的D3DCOMPILER_47 dll。 您可以尝试将“工具”目录中的一个复制到HZD可执行文件目录吗?

只是添加了一点,使用Linux Mint 20,显卡驱动程序ppa,Proton 5.9-GE-6-ST中的Nvidia 450.66,游戏在启动时崩溃。

steam-1151640.log

@ArturWroblewski我从PPA安装了它们:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-450

是的,尽管该错误已不在日志中,但并不能解决。 这是新的日志,以防万一:
steam-1151640.log

您有450.66 NVidia驱动程序吗? 我在您的日志中也看到了不支持的版本功能,因此可能是您使用的是过时的GPU驱动程序。

我注意到它也在使用内置的D3DCOMPILER_47 dll。 您可以尝试将“工具”目录中的一个复制到HZD可执行文件目录吗?

哦,我的天哪! 非常感谢! 编译着色器已经到了,我将在之后答复!

只是添加了一点,使用Linux Mint 20,显卡驱动程序ppa,Proton 5.9-GE-6-ST中的Nvidia 450.66,游戏在启动时崩溃。

steam-1151640.log

您的错误可能与此行有关:
err:vkd3d_bindless_state_init: Insufficient descriptor indexing support.

不幸的是,我不知道该如何解决。 另外,您是否复制了我上面提到的d3dcompiler内容?

@drwhut幸运的家伙。 我拥有相同的GPU(1650),但笔记本电脑却无法启动游戏。 如果我将启动选项留空,则仅显示错误消息窗口。 如果我使用prime-run启动它,错误消息将显示在黑色的游戏窗口中。

@drwhut幸运的家伙。 我拥有相同的GPU(1650),但笔记本电脑却无法启动游戏。 如果我将启动选项留空,则仅显示错误消息窗口。 如果我使用prime-run启动它,错误消息将显示在黑色的游戏窗口中。

不知道这是否有所作为,但是我没有1650,我有2070 Super。

@drwhut对不起,我误以为您是@ArturWroblewski

@intersectRaven
我对这个游戏只有一个问题。 我无法重新打开全屏。 您可以在视频结尾处看到。
https://youtu.be/8KVrk5GTl1Q?t=3178

你能帮我吗? 有趣的是,我设法做到了一次,但现在我不知道怎么做:(

steam-1151640_nor.log
steam-1151640.log

我将把它留给任何想知道它以使游戏正常运行的人:

  • 使用Proton 5.9-GE-S-ST ,有关如何安装的说明在此处
  • 如果您使用NVIDIA驱动程序,请将其更新为版本450.66 。 如果您使用的是Ubuntu,则可以使用graphics-drivers PPA来获取它们:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-450
  • Horizon Zero Dawn/Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll复制到Horizon Zero Dawn/d3dcompiler_47.dll ,在可执行文件旁边。
  • 可选:我不确定这是否会真正影响任何东西,但是我也将内核从5.4升级到5.8

但是,截至目前对我来说:

  • 对我而言,Ultra上1080p的性能简直是幻灯片。
  • 游戏以无边界模式开始,但是尝试切换到全屏模式只会在一分钟导致我崩溃。
  • 其他人也说过,无边距在分钟内会出现小故障(例如,飞舞的石头和树木),因此当前的解决方法是切换到窗口模式。

@intersectRaven
我对这个游戏只有一个问题。 我无法重新打开全屏。 您可以在视频结尾处看到。
https://youtu.be/8KVrk5GTl1Q?t=3178

你能帮我吗? 有趣的是,我设法做到了一次,但现在我不知道怎么做:(

steam-1151640_nor.log
steam-1151640.log

不能在那帮你。 据我所知,设置文件是游戏保存目录中的二进制文件,因此您无法手动对其进行修改。 对于我而言,我只是在无边界条件下运行,这需要大约运行1或2次才能消失,直到再次重新启动PC。 您对与无边界相关的浮动对象的想法使我想在将计算机设置为窗口后重新启动计算机,以便测试浮动对象是否完全消失。 如果您的想法成立,它应该消除运行1-2次的需要。

@ ngoquang2708在我看来,我也有同样的问题@drwhut ,他找到了解决方法
问题:

@ArturWroblewski我目前在Linux Mint 20上,并且我已经尝试了您列出的所有内容,并将内核从5.4升级到5.8,但是该游戏仍然无法启动,并且出现了与该错误相同的错误。这个问题的开始。

发表@drwhut
我将把它留给任何想知道它以使游戏正常运行的人:.......................... ......

@drwhut
我要补充一点,如果在无边界模式下您“飞石成树”,请将模式更改为窗口(将选项从无边界滑动到窗口)

@intersectRaven
我从没想过运行几次会减少浮动对象。

如果我从设置了“全屏”的Windows版本复制了配置文件,该怎么办。 因为我知道我的全屏正常工作。 我有记录。 https://youtu.be/8KVrk5GTl1Q?t=2102

而且没有飞石和树木:)

可以分享您的文件吗? 我没有Windows,也无法切换到全屏模式。

@ mozo78我不知道这是否行得通。 但是,如果可以,我将共享它使用

给我,我会尽力的:)

从昨天开始,最新的radv mesa(可能尚未发布)或最新的nvidia驱动程序似乎可以或确实应解决一个或多个可能的问题。

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 “使用radv的Horizo​​n Zero Dawn图形损坏”,“ spirv:修复直接跳到合并块的发射开关案例”

https://www.nvidia.com/cn/download/driverResults.aspx/163518/zh-cn “修复了SPIR-V优化中的一个错误,该错误可能导致条件块无法执行。”

455.23.04不能完全解决飞行中的障碍物。

@ArturWroblewski
仍在等待您的个人资料。

mo
很抱歉延迟,但是我在Windows上运行游戏时遇到问题。 游戏工作。 在栏上的缩略图中,我看到它可以正常工作,因为迷你屏幕发生了变化。 但是游戏中的图片不能全屏显示。 他甚至不在窗户里。 好像他在第二台显示器上一样。 但我没有第二台显示器。 我无法激活此游戏窗口。

奇怪的。 在Windows 10 Ryzen 1700 + GTX 1650上进行测试

@ ngoquang2708

幸运的家伙。 我拥有相同的GPU(1650),但笔记本电脑却无法启动游戏。 如果我将启动选项留空,则仅显示错误消息窗口。 如果我使用prime-run启动它,错误消息将显示在黑色的游戏窗口中。

也许您应该尝试使用Prime Render而不是Bumblebee。 大黄蜂用于opengl,葡萄酒将vulkan用于dx12(vkd3d)。 使用Prime渲染,您甚至不需要在游戏的启动选项中添加任何内容,因为使用vulkan,系统会自动选择视频卡(nvidia而不是intel)。 HZD尚未通过质子与其他游戏进行过测试。

mo
很抱歉延迟,但是我在Windows上运行游戏时遇到问题。 游戏工作。 在栏上的缩略图中,我看到它可以正常工作,因为迷你屏幕发生了变化。 但是游戏中的图片不能全屏显示。 他甚至不在窗户里。 好像他在第二台显示器上一样。 但我没有第二台显示器。 我无法激活此游戏窗口。

奇怪的。 在Windows 10 Ryzen 1700 + GTX 1650上进行测试

嗯,这很有趣-在Linux上有效,在Windows上却不:)

@ mozo76
这是分辨率文件。 但是它什么也没做。

复制文件,否则可能无法启动游戏。

出于好奇,我建议您从“首次运行原始”目录中复制文件。 游戏从左侧栏中开始,您需要制作一个完整的窗口。

profile.zip

我设法使游戏再次在全屏模式下变得无刺,然后运行正常(但是我不知道我是如何做到的,这取决于飞行器),没有飞行物体。 就像您在窗口模式下运行然后在游戏中更改为无边框一样,我也没有飞石。 你的飞石怎么样?

非常感谢你! 不幸的是,文件对您说的没有帮助:(
是的,我有飞行的植物和石头。 我认为这是NVIDIA的问题。

我有飞行的植物和石头,但是当我重新启动游戏时它们已经固定。 我有Nvidia。

以前,在加载已保存的游戏后诱使飞行物体时,我尝试了以下操作:

1)在LocalCacheDX12中删除PSOCache.bin,然后让游戏重做“优化”。
2)在游戏启动后立即通过“加载游戏”菜单加载之前足够的保存,直到飞行物体消失,然后重新加载最新的保存。
3)使用不同版本的dxgi.dll运行游戏(例如从DXVK 1.7,然后从DXVK 1.7.1,反之亦然)。

但是,在阅读@intersectRaven的帖子后,如下所示:

我只是在无边界上运行,这需要大约运行1或2次才能消失,直到再次重新启动PC。

@ mixalis1987,如下所示:

我有飞行的植物和石头,但是当我重新启动游戏时它们已经固定。 我有Nvidia。

事实证明,只是几次重新启动游戏,例如加载保存,查看飞行物体,退出程序并再次启动几次,直到飞行物体消失似乎每次都会有所帮助

看起来,如果游戏未正确终止,则飞行物体最常出现,这可能是因为游戏冻结而您杀死了进程,或者是当游戏看起来干净地退出时随机出现的,但实际上它只是在退出时无声地崩溃了。

如果其他任何人遇到飞行物体并以其他方式解决问题,请与我们分享您的经验!

是的,我刚刚重新加载了游戏,现在一切正常!

屏幕截图

3
5

@ mozo78 @RoyShapiro请确认是否与您相同。

飞行物体仅处于无边界模式。

我从未在窗口模式下看到飞行的物体。
即使在重新启动计算机并以“窗口”模式启动游戏之后,我也没有任何飞行物体。

视频显示了重新启动PC后的第一次运行。
https://youtu.be/OPPQXeRI_rg
我加载了3次以确保没有任何显示。

我的最后一个屏幕是无边距模式,嗯...

@ mozo76我承认,当我在窗口模式下开始游戏然后更改为无边界模式时,我也没有这些飞行物体。

恐怕要切换到窗口模式,因为游戏有时会卡在框架周围,并且不想覆盖整个屏幕。 很难运行它。

mo
我承认有时在模式之间切换时也会遇到问题。 如下图所示。 因此,切换时,我按照上面的视频设置参数。

重新启动游戏后,游戏是否以全屏模式启动? 因为我总是在窗口模式下运行,然后切换到无边界模式。 为了避免截图效果不全屏。

Zrzut ekranu (323)

是的,效果是一样的。 我无法在Mint Cinnamon 20.0上全屏运行。 在大多数情况下,在带有KDE的Arch上,游戏运行良好。 首先以“窗口模式”运行,然后切换到“无边界”对我而言无济于事。 这是Arch上的热门产品,却从未在Mint Cinnamon上使用。

对我而言,从窗口模式过渡到无边界模式仅适用于此配置。 我不知道为什么。 但是,如果我将任何参数更改为照片中以外的其他参数,则将具有上一张图像的边框。
Zrzut ekranu (324)
Zrzut ekranu (325)

我明天试试看:)

从昨天开始,最新的radv mesa(可能尚未发布)或最新的nvidia驱动程序似乎可以或确实应解决一个或多个可能的问题。

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 “使用radv的Horizo​​n Zero Dawn图形损坏”,“ spirv:修复直接跳到合并块的发射开关案例”

https://www.nvidia.com/cn/download/driverResults.aspx/163518/zh-cn “修复了SPIR-V优化中的一个错误,该错误可能导致条件块无法执行。”

不错的收获。 快速浏览NVidia BETA更改日志时,我没有看到。 我将在我的计算机上尝试使用该驱动程序。

@ArturWroblewski切换到全屏模式后尚未看到任何浮动对象,但尚未确认。 可能很容易是a幸。 我并不是每次都崩溃,只是在游戏崩溃后才得到它们,即使如此,也不是每次都得到它们。 它在全屏模式下确实崩溃了一次,因此它不会对此造成影响,但是到目前为止没有浮动对象。

从昨天开始,最新的radv mesa(可能尚未发布)或最新的nvidia驱动程序似乎可以或确实应解决一个或多个可能的问题。

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 “使用radv的Horizo​​n Zero Dawn图形损坏”,“ spirv:修复直接跳到合并块的发射开关案例”

https://www.nvidia.com/cn/download/driverResults.aspx/163518/zh-cn “修复了SPIR-V优化中的一个错误,该错误可能导致条件块无法执行。”

我刚刚在455.23.04上启动了HZD,并且在重新编译所有着色器后出现了浮动的东西。 另外,这是在窗口模式下,因此没有修复。 似乎有一些更鲜艳的色彩。 不过,由于我在快速移动过程中遇到了一些卡顿现象,因此似乎还没有达到最佳状态,但这可以归因于它仍然是BETA。

是的,我是455.23.04,那里也有飞行物。

@ leao666我已经知道该游戏仅使用DX12,而DX12仅在Linux中使用Vulkan。 我使用prime-run只是为了确定。 它与大黄蜂无关。 它只是“强制” OpenGL和Vulkan的PRIME Offload渲染的命令。 某些仅OpenGL的游戏需要该命令才能使用PRIME卸载渲染,否则它将使用iGPU进行OpenGL。

如果它使情况变得更糟,那很有趣。 至少它表明驱动程序正在严重影响它。

具有所有模式的配置文件。 当某人更改为“全屏”且无法启动游戏时很有用。 只需将选定的配置文件与显示图像的分辨率和设置从zip文件复制到路径即可,例如。:

/home/user_name/.steam/debian-installation/steamapps/compatdata/1151640/pfx/drive_c/users/steamuser/我的文档/地平线零黎明/已保存的游戏/个人资料

地平线零黎明完整版profile.dat.zip

只想重新发布,如果您在玩了几分钟后遇到崩溃,并且质子日志中有错误提到:
"vkd3d_create_vk_buffer_view: Failed to create Vulkan buffer view, vr -2."

只需编译我推送到Github的标记为personal的vkd3d代码即可。 如果您不知道如何还原自己,它已经具有还原功能。

另外,请使用:

git clone --recursive

进行克隆,以便也提取子项目。

它没有建立:
meson.build:41:0: ERROR: Include dir ./subprojects/Vulkan-Headers/include does not exist.

它没有建立:
meson.build:41:0: ERROR: Include dir ./subprojects/Vulkan-Headers/include does not exist.

发出:

git pull --recurse-submodules

仅克隆主项目时会发生这种情况。

是的,它有效,谢谢:)

你好
我一直在尝试按照说明进行操作,但现在看来情况比我刚开始时更糟(用于与Proton 5.9 GE 6 ST一起启动游戏,并在编译着色器后崩溃,现在根本无法启动)。

据我了解,我有两个(相关的)问题:

  • Wine(使用wine-5.17升级)不会让我将d3d12.dll作为本机添加到我的前缀中(我DL并构建了vkd3d-proton,因为Vulkan Headers太旧了,所以出现了一些问题,但是我手动对其进行了更新,这似乎工作))。 据我了解,wine应该检测到它是独立安装的,但没有安装。 (通过软件包管理器安装,我应该克隆存储库并从头开始构建它以添加vkd3d支持吗?)

  • 根据Proton日志(无法发布日志,不确定原因),我缺少dxgi.dll以及d3d12.dll,我认为d3d12.dll问题将在得到Wine添加后得到解决,而不是确定dxgi.dll

12980.305:00bc:00c0:err:module:import_dll Library dxgi.dll (which is needed by L"M:\\xavier\\.steam\\debian-installation\\steamapps\\common\\Horizon Zero Dawn\\d3d12.dll") not found 12980.305:00bc:00c0:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f0525370000: builtin 12980.305:00bc:00c0:err:module:import_dll Library d3d12.dll (which is needed by L"M:\\xavier\\.steam\\debian-installation\\steamapps\\common\\Horizon Zero Dawn\\HorizonZeroDawn.exe") not found 12980.305:00bc:00c0:err:module:import_dll Library dxgi.dll (which is needed by L"M:\\xavier\\.steam\\debian-installation\\steamapps\\common\\Horizon Zero Dawn\\HorizonZeroDawn.exe") not found

使用Pop!_OS 20.04 focus,Ryzen 5 3600X,AMD Radeon RX 5700 XT,Mesa 20.3.0-devel。

谢谢 !

你好
我一直在尝试按照说明进行操作,但现在看来情况比我刚开始时更糟(用于与Proton 5.9 GE 6 ST一起启动游戏,并在编译着色器后崩溃,现在根本无法启动)。

据我了解,我有两个(相关的)问题:

  • Wine(使用wine-5.17升级)不会让我将d3d12.dll作为本机添加到我的前缀中(我DL并构建了vkd3d-proton,因为Vulkan Headers太旧了,所以出现了一些问题,但是我手动对其进行了更新,这似乎工作))。 据我了解,wine应该检测到它是独立安装的,但没有安装。 (通过软件包管理器安装,我应该克隆存储库并从头开始构建它以添加vkd3d支持吗?)
  • 根据Proton日志(无法发布日志,不确定原因),我缺少dxgi.dll以及d3d12.dll,我认为d3d12.dll问题将在得到Wine添加后得到解决,而不是确定dxgi.dll

12980.305:00bc:00c0:err:module:import_dll Library dxgi.dll (which is needed by L"M:\\xavier\\.steam\\debian-installation\\steamapps\\common\\Horizon Zero Dawn\\d3d12.dll") not found 12980.305:00bc:00c0:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f0525370000: builtin 12980.305:00bc:00c0:err:module:import_dll Library d3d12.dll (which is needed by L"M:\\xavier\\.steam\\debian-installation\\steamapps\\common\\Horizon Zero Dawn\\HorizonZeroDawn.exe") not found 12980.305:00bc:00c0:err:module:import_dll Library dxgi.dll (which is needed by L"M:\\xavier\\.steam\\debian-installation\\steamapps\\common\\Horizon Zero Dawn\\HorizonZeroDawn.exe") not found

使用Pop!_OS 20.04 focus,Ryzen 5 3600X,AMD Radeon RX 5700 XT,Mesa 20.3.0-devel。

谢谢 !

很奇怪,因为Proton发行版(GE,TKG,Steam)通常都有这些。 也许您需要重置Proton使用的前缀。 上面的某个人通常将其张贴在此处,因此您可以尝试删除它,并让Proton为您重新创建它。

感谢@intersectRaven的提示,它现在正在运行,它花了几次尝试才能通过初始过场动画而没有崩溃,但是我到达了第一个检查点。

非常感谢@ArturWroblewski共享其个人资料数据,因此游戏无法从默认设置开始。

显然切换到全屏模式会使游戏崩溃。 我正在运行无边界,但仍然有一个标题栏(??),即使我用protontricks激活了xinput,我的xbox控制器也无法识别。 因此它可以玩,但远非最佳。

steam-1151640.log

(最后发现,NoScript阻止了我之前上传我的日志文件)

@Chipsse ,我很高兴可以提供帮助。
我也有这个问题。 窗口栏在无边界模式下不会消失。
您可以观看此视频。 https://youtu.be/8KVrk5GTl1Q

在此视频中(最后)可以看到正确的从窗口切换到无边界的切换。
https://youtu.be/OPPQXeRI_rg

我在窗口模式下运行游戏(通过视频进行设置),然后切换到无边框模式。 这样我就可以全屏显示了。 对我来说,这是迄今为止拥有全屏显示屏的唯一途径。

如果有人知道如何解决它或它所依赖的内容,我正在询问信息。

至于控制器,我还没有检查。 我只是没想到要检查。 :)

这个链接对我来说真的很黑! 这里有任何模组可以检查并删除帖子吗? @ kisak-valve

我仍然有几次随机崩溃。 有人想出一种方法来应对这些吗?

谢谢@ArturWroblewski ,不幸的是它对我不起作用,我仍将标题栏放在顶部。 :(

我试图在Steam设置中强制使用控制器,但这似乎没有任何改变。 我的日志中提到无法启动wineusb服务,但是由于游戏从我的鼠标和键盘接收到输入,因此我认为问题出在其他地方。

220.187:005c:0068:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000142 220.203:0030:0034:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114

原来标题栏是一个Gnome问题,我使用扩展名对其进行了修复(https://github.com/poehlerj/no-title-bar,以防其他人需要它)。

仍然不知道如何使控制器正常工作,但我一口气就完成了序幕,零崩溃,我没有注意到漂浮的石头或草。 基准绝对谋杀了我的FPS,但实际的游戏性能还是不错的(1440p时为55/60 FPS)。 奇怪的是,与“原始”相比,使用“高质量”预设进行基准测试时,可以获得更好的结果。

再次感谢您的帮助 ! 如果有人发现造成控制器问题的原因,我很乐意知道修复方法。

可能会产生这样的猜测,即仅关注wineusb条目就不会存在。

只是添加了一点,使用Linux Mint 20,显卡驱动程序ppa,Proton 5.9-GE-6-ST中的Nvidia 450.66,游戏在启动时崩溃。
steam-1151640.log

您的错误可能与此行有关:
err:vkd3d_bindless_state_init: Insufficient descriptor indexing support.

不幸的是,我不知道该如何解决。 另外,您是否复制了我上面提到的d3dcompiler内容?

是的,复制了dll,仍然没有变化。
vkd3d_bindless_state_init错误仍然存​​在

我会放弃,申请退款,然后等到没有很多问题的时候开始运行;-)

对我来说,它运行在Mint 20和450.66上。 很奇怪...

经过一番摸索,看起来我仍然可以在无边距模式下看到标题栏,除非:

  • 游戏分辨率与启动前的显示器分辨率匹配
  • 游戏是通过Steam而非Lutris启动的
  • 没有其他应用全屏显示
  • 图形预设需要在启动时位于“原始”位置,但可以在游戏运行后更改。

控制器仍然没有运气,这真的很奇怪。 Steam看到了控制器,按下中央的“向导”按钮会在终端中显示一条消息,提示它正在加载控制文件,并且(至少在Nioh中)我什至可以在实际游戏之前在启动器中使用该控制器,当我被击中时会发出隆隆声。 但是当我按下控制器按钮时什么也没有。

我不明白自己所缺少或做错的事情。 以前,我可以使用它来构建proton-tkg并复制dll,但是现在使用_Proton-5.9-GE-6-ST_我再也无法启动游戏了。 (例如,我回到原始的崩溃屏幕)我正在运行manjaro,并且我先前为上述安装了mesa-git,从而摆脱了浮石的问题... :(

@ 77boaz当我将分辨率/设置更改为错误的值时,我遇到了此问题,并且游戏无法再开始。 解:

尝试将选定的配置文件与显示图像的分辨率和设置从zip文件复制到路径,例如。:

/home/user_name/.steam/debian-installation/steamapps/compatdata/1151640/pfx/drive_c/users/steamuser/我的文档/地平线零黎明/已保存的游戏/个人资料

资料下载:
https://github.com/ValveSoftware/Proton/files/5250675/Horizo​​n.Zero.Dawn.Complete.Edition.profile.dat.zip

我建议检查配置文件:
1920x1080窗口式50hz原始

谢谢做到了! 有趣的是,我实际上对整个pfx文件夹进行了核对,以尝试开始清理...我也在双重引导Windows以进行比较等。我想蒸汽云会从Windows保存设置吗? 蒸汽云很棒! 除了当您要在两者之间移动时? :)

@ 77boaz实际上,云会同步保存目录,并且有解决方案信息会同步。 呵呵 :)。
但这有点危险,因为如果您在家中有多台PC,那么如果您在一台4k上运行而另一台却不能在4k上运行怎么办,否则会有些混乱。

但仅用于计算机之间的配置同步。

啊.. Duh你是对的。 我知道有些游戏会全部同步,有些只会同步保存。 无论如何它现在正在运行,谢谢! 我等不及要解决全屏问题了。 我仍然会在这两者之间。.我只喜欢看到所取得的进步等。再次感谢大家的努力! :)

很高兴地向您报告,该游戏可以从头到尾进行,而且我可能会觉得很有趣,包括DLC。
我要感谢所有为实现这一目标做出贡献的人!

它的好,坏和丑陋...

Horizon Zero Dawn_Wed_Sep_23_02-20-22_2020

除了让游戏首先运行(Proton GE 6是最好的)之外,我唯一主要的抱怨是:
1)漂浮的岩石(重新启动游戏> = 3次可修复这些问题。)
2)随机冻结@intersectRaven的VKD3D还原将大多数播放会话延长到几个小时。)
3)性能下降(完全可以预期。在RTX 2070上,我以1440p〜40-50恒定fps的速度运行了所有低点,但在Medium上以1440p网格)。

所有这些对于该线程来说都是已知的,我很高兴地告诉我,我还没有遇到其他主要问题。
一旦我觉得它很有趣,就备份wine前缀并阻止更新,这样它就不会开始表现异常。

我希望每个有问题的人都不要放弃。 仅仅一个多月,游戏就从无到有提高到了无与伦比的水平。 未来的更新肯定会使它变得更好。

我正在使用Proton-5.9-GE-6-ST 。 无需将d3dcompiler_47.dll复制到游戏文件夹中,我仍然可以使用@ArturWroblewski上传的profile.dat文件首次启动游戏(之前从未启动过)。 谢谢!
我使用First Run Original profile.dat文件,游戏以Windowed模式启动。 每当我尝试将设置切换为Fullscreen ,游戏就会崩溃。 我想这与Fullscreen模式有关。
我的GPU是GTX 1650,驱动程序版本450.66。

大家好,
我注意到,当我的图形驱动程序得到更新时,游戏会重新编译着色器。 那是预期的行为吗? 还是可以(应该?)解决的问题?

您好@Chipsse ,这对于使用视频卡的所有软件都是普遍适用的。

感谢@ kisak-valve,对于题外话感到抱歉。

我解决了控制器问题,因此我想分享一下,以防其他人遇到同一问题,Steam Overlay是元凶。 我在Steam选项中将其全局禁用,因为它容易引起问题,而且我从不使用它,但是在这种情况下,控制器显然无法工作。 不确定是HZD还是Proton问题。

@ mozo78是否有从intersectRaven编译的库?
如果有它们,可以分享吗?

mo

  1. 该游戏在DualShock 4 V2上运行良好。 在打开控制器后,游戏立即检测到它。 没问题。
  2. 我的游戏仍然每15至20分钟崩溃一次。 您在哪里替换了此文件? 在游戏/前缀目录或质子目录5.9中。 对于版本64还是常规版本? 请写出我应该复制该路径的路径,因为我看不到任何差异。

如果复制到前缀,质子将再次覆盖它。
afaik它有一个脚本可以将那些dll复制到前缀中。 如果有帮助,则应将其放入质子中,以便将其复制过来。

我将此库放在根目录(游戏的exe所在)中。

@fsyy
我同意你的看法。 如果我将文件夹复制到前缀。 运行后,该文件已还原为原始文件。
所以我替换了质子5.9-ST-6文件夹中的文件...但是我的游戏不断崩溃:(

mo
我会尝试。 希望对我有帮助。 您的游戏崩溃了吗?

我认为RoyShapiro是这样写的。

谢谢你的提示。

此外,游戏冻结。 它对我来说非常顺利。 玩起来很有趣。

@ArturWroblewski
嗨!
您似乎报告说该游戏同时为您“崩溃”和“冻结”。 这是两种不同的情况,可能会引起混乱。

可能应该冻结”是指同一张图片无限期地没有错误消息出现,因此游戏的必须手动终止进程。 正是这种冻结使“还原的”文件有助于延迟(但不幸的是不能消除)。

相反,如果看到一条实际的错误消息,则这是一个完全不同的问题,也就是说,就我们目前所知,这超出了还原所更改的任何范围,并且可能与VKD3D不相关。 通常,这可能表明游戏本身存在问题,但仍然没有帮助。

,您可能会两者兼而有之。 如果您有双重启动设置,请检查它是否也会在Windows中崩溃。 如果是这样,则游戏可能与您的硬件有关,因此您需要等待游戏的更新。 如果不是,则可能与质子有关。 同时,您可以尝试更新游戏,驱动程序以及所有常用的东西。

@RoyShapiro你对我写的东西是正确的,我可能误导了你。 游戏冻结。 和音频继续。
对困惑感到抱歉。

我在窗口模式下运行游戏,没有任何问题。 并且游戏在20分钟后冻结。 虽然游戏运行良好,但效果很好,我真的不能抱怨任何事情。
我目前正在Ubuntu 20.04.1上使用PS4游戏手柄

仅作报告-该游戏在Proton GE 5.9-6上,在2080 Ti上,驱动程序为450.66上运行稳定。

我唯一的问题是切换到全屏模式时,游戏崩溃。 有任何解决方法和/或方式运行它吗?
另外,我设法以全屏模式运行基准测试,因此我认为切换到全屏模式时导致崩溃的原因不大。

我认为Wine中的全屏和无边框之间没有任何区别,除了alt + tab行为。 在两种情况下都要求合成器关闭/取消重定向,并触发页面翻转以实现正确的vsync。 因此,您不应该为此而烦恼,除非由于某种原因,游戏中怪异的模糊升级错误更频繁地发生在无边界的情况下。

我认为Wine中的全屏和无边框之间没有任何区别,除了alt + tab行为。 在两种情况下都要求合成器关闭/取消重定向,并触发页面翻转以实现正确的vsync。 因此,您不应该为此而烦恼,除非由于某种原因,游戏中怪异的模糊升级错误更频繁地发生在无边界的情况下。

从技术上讲,G-Sync / Free-Sync仅适用于全屏/完全无边框,我担心H:ZD不能完全无边框,因此会有区别。

@ArturWroblewski
应当指出的是,游戏仍然冻结,问题实际上是“何时”和“多久一次”。 使用正确的“还原”文件,取决于您的运气,游戏将在冻结前的10分钟到8小时以上的任何时间运行。 因此,一次又一次尝试,您可能会得到20分钟,然后是一个小时左右,然后是5-7小时,然后又是20分钟,但大多数情况下是小时以上。 没有“还原的”文件,它几乎总是在10-15分钟内冻结。 有些人报告说可以播放多达一个小时而无需还原,但是我还不能重现。 我们尚未确切确定为什么会这样,但是由于该错误通常与资源分配有关,因此您的系统在任何给定时刻可用的总可用RAM和VRAM数量之类的因素可能会或可能不会。
AFAIK,您没有自己还原和编译d3d12.dll。 如果每次都在20分钟内冻结,而几乎没有变化,则很可能是错误的文件。 送给您文件的人可能上传了错误的文件。 尽管您可以要求对方确保他们给了您刚编译的文件,但目前唯一可以确定的方法是自己编译。 使用@intersectRaven的fork \ repo是最简单的方法(无需还原任何内容)。

编辑:路径问题!
需要将文件写入“ System32”文件夹,然后在Wine(Proton)配置中需要将其设置为“ native”。 否则,质子将不会“看到”它。 如果覆盖文件,请将其放置在将覆盖“ System32”版本的位置(对于GE 6,默认值为/ dist / lib 64 / wine / vkd3d-proton)。 二进制文件本身应该是x64-这令人困惑。
如果这不起作用,请尝试按照@ mozo78的建议将其放置在游戏的目录中,但有人报告说,这会使游戏对他们造成严重崩溃,因此请注意。 它可能有效,但这不是正确的解决方案。 正确的方法是将其放在“ System32”中。

报告更多问题-岩石和其他道具飞起来,游戏无法玩(因为您无法隐藏:))-并且这种情况随机发生。 此外,_borderless window_不会填满整个屏幕,因此它不使用G / Free-Sync。

恐怕太不稳定了,这对我来说是一笔退款-可能在等待更好的支持。

在2080 Ti,450.66-Ubuntu 18.04.3-3440x1440上运行。

这是Proton-5.9-GE-6-ST二进制版本的重新打包,其中包含并包含了intersectRaven的vkd3d修复程序。 您应该能够仅将此质子与HZD一起使用,并且一切顺利。

使用AMD卡的Fedora 32用户也可能会喜欢使用官方Fedora规范文件进行的Mesa git重建,该源来自昨天的master ,可修复许多图形故障和性能问题。

如果可以使用,我做了一些说明。 两者都应用后,HZD对我来说运行得非常好。 仍然崩溃,通常是上述其他图形冻结。 重新启动GDM大部分时间无需重新启动即可解决该问题,有时崩溃会比这困难得多。 但是,在这两者之间可以播放相当长的时间,并且图形设置从1440超宽的5700XT上的Original进行了调整。

显然要小心,不要相信来自互联网上陌生人的随机下载。 不过,我想您是否对此感兴趣。

编辑添加:使用X11,以全屏窗口/无边框模式开始游戏,我能够更改工作区并再次返回以使游戏正确地进入无边界状态。

编辑2:我只是意识到我没有更新.vdf,以便Steam在上传之前可以识别其他名称。 我只是手动跳线GE-6-ST。 :)上面的链接是固定的。

编辑3:我显然不擅长发布质子生成? 我想我会继续工作。 无论如何,我认为我这次确实修复了它,以下是一些屏幕截图,显示了它的工作原理:

Screenshot from 2020-09-26 13-18-23
Screenshot from 2020-09-26 13-18-09

发布二进制文件时,还可以发布指向补丁的链接吗?
不好意思,但是运行二进制文件时有些犹豫,没有差异(或者我可以重建自己)。

自从上次更新补丁集以来,由于Wine的漂移,我未能成功完成Proton-GE的全面重建,而且二等分法花费了很长时间,因此我没有打扰。 那只是intersectRaven的个人分支重建,而d3d12.dll换成了GloriousEggroll自己的Proton-5.9-GE-6-ST二进制发行版

Mesa重建完全是Mesa git master(带有这些发行版所来自的仓库中的F32 .spec补丁)。

我希望将以上帖子更新得更加清楚。

@solacelost

  1. 感谢您使用Proton 5.9 Solance Edition。
    我承认Proton 5.9 Solance Edition上的游戏还没有冻结。 但是我一直都有飞行的物体。 我重新启动了游戏30次,但仍然有飞行物。 如果不是立即开始游戏,则5分钟后就会出现。
  1. 使用Proton-5.9-GE-6-ST时,最大两次重启后,飞行物体消失。 而且他们在比赛期间一直没有飞行物(直到游戏在约20分钟后冻结)

3.我试图在Proton-5.9-GE-6-ST和Proton 5.9 Solance Edition之间切换。
多次。 当我打开Proton 5.9 GE-6-ST时,优化过程需要很短的时间,并且没有飞行物体(完美)。 切换到Proton 5.9 Solance Edition之后,优化大约需要10分钟,并且我有很多飞行的物体。

@solacelost

  1. 感谢您使用Proton 5.9 Solance Edition。
    我承认Proton 5.9 Solance Edition上的游戏还没有冻结。 但是我一直都有飞行的物体。 我重新启动了游戏30次,但仍然有飞行物。 如果不是立即开始游戏,则5分钟后就会出现。
  2. 使用Proton-5.9-GE-6-ST时,最大两次重启后,飞行物体消失。 而且他们在比赛期间一直没有飞行物(直到游戏在约20分钟后冻结)

3.我试图在Proton-5.9-GE-6-ST和Proton 5.9 Solance Edition之间切换。
多次。 当我打开Proton 5.9 GE-6-ST时,优化过程需要很短的时间,并且没有飞行物体(完美)。 切换到Proton 5.9 Solance Edition之后,优化大约需要10分钟,并且我有很多飞行的物体。

据我从上面的帖子中可以看出,这与Nvidia硬件有关,并且自人们开始运行以来就一直存在。 我不知道该如何为您提供帮助,因为Nvidia驱动程序是专有的二进制blob,社区中没有人可以对此做任何事情。

@solacelost我对您的Proton版本感兴趣,以测试@ArturWroblewski关于飞行物体没有在NVidia卡上

@solacelost我对您的Proton版本感兴趣,以测试@ArturWroblewski关于飞行物体没有在NVidia卡上

罗伊·萨皮罗(RoyShapiro)
https://random-crap-29179.s3.us-east-2.amazonaws.com/Proton-5.9-solace-edition.tgz

伙计们,有人在NVIDIA Bug Tracker上提出了问题吗?

@solacelost

以下是测试的记录。 您可以按章节在视频中找到测试所在的位置。 Yotube电影说明中包含的互动章节(链接)。

https://youtu.be/7_Hdd7AK33Q

===================质子5.9-GE-6-ST =================

00:00开始-优化游戏-大约使用Proton 5.9-GE-6-ST 1分钟30秒
02:37游戏在Proton 5.9-GE-6-ST上运行正常,但在13分钟后冻结
14:20开始游戏。
15:44游戏在Proton 5.9-GE-6-ST上运行正常,但12分钟后死机

=================== Proton 5.9 Solance Edition ==================

27:44检查版本是否已正确设置为Proton 5.9 Solance Edition
29:18优化游戏-大约使用Proton 5.9 Solance Edition,耗时8分钟30秒
38:58游戏在Proton 5.9 Solance Edition上运行正常,但可以看到飞行的物体。
40:38重新启动!!! 游戏在Proton 5.9 Solance Edition上运行正常,但从开始10分钟后您可以看到飞行的物体
49:54从那一刻起,开始出现飞行物体。
52:48重新启动!!! 游戏在Proton 5.9 Solance Edition上运行良好,但可以看到飞行的物体。
53:27加载保存的游戏!!! 游戏在Proton 5.9 Solance Edition上运行良好,但可以看到飞行的物体。
54:14加载保存的游戏!!! 游戏在Proton 5.9 Solance Edition上运行良好,但可以看到飞行的物体。
54:27加载保存的游戏!!! 游戏在Proton 5.9 Solance Edition上运行良好,但可以看到飞行的物体。
55:59重新启动!!! 游戏在Proton 5.9 Solance Edition上运行良好,但从开始5分钟后您可以看到飞行的物体
59:49从那一刻起,开始出现飞行物体。

===================质子5.9-GE-6-ST =================

1:03:48 Cange质子到Proton 5.9-GE-6-ST
1:04:35开始-优化游戏-大约使用Proton 5.9-GE-6-ST 1分钟30秒
1:06:37游戏在Proton 5.9-GE-6-ST上运行正常

似乎Proton 5.9-GE-6-ST导致游戏死机。

Solance不会但会导致飞行物体。

@solacelost

我也一样 Proton-GE-6-ST在短时间播放后会导致冻结。

Solance版本没有冻结,但一段时间后石头和其他东西开始漂浮。

目前,最好的解决方案是从Proton 5.9 Solance Edition复制d3d12.dll,并用它替换Proton 5.9 GE-6-ST中的d3d12.dll。

更换

Proton-5.9-GE-6-ST \ dist \ lib64 \ winevkd3d-protond3d12.dll

\ Proton-5.9-Solution-edition \ dist \ lib64 \ winevkd3d-protond3d12.dll

然后用Proton-5.9-GE-6-ST加载HZD,打包替换掉的d3d12.dll。

这样可以解决冻结问题,并且在大多数情况下,浮动岩石等都没有问题,假设在第一次加载时,您就没有此类问题。

解决方法建议对Reddit中的Artur_W表示感谢。

@Cxpher
我确定。 到目前为止,游戏已经连续运行了4个小时,没有冻结,也没有飞行物体(石头和树木)。 多亏了Proton 5.9 Solance Edition的d3d12.dll与Proton 5.9-GE-6-ST的混合

通过链接下载带有d3d12.dll的Proton 5.9-GE-6-ST:
https://drive.google.com/file/d/1MjaifwahNgnw6tQ1jv6OqaWv94eRKoR6/view?usp=sharing

Proton-5.9-GE-6-ST \ dist \ lib64 \ winevkd3d-protond3d12.dll

Proton-5.9-GE-6-ST \ dist \ lib \ winevkd3d-protond3d12.dll

我们只能链接DLL吗?

我遇到一个奇怪的问题,即关闭VSync后,菜单可以正常工作,但是一旦加载到游戏中,每个图形设置的速度都会达到5FPS。 在启用或不启用VSync的情况下都会发生这种情况(菜单上的速度大约为10FPS)。 这是在GNOME 3.36上的Wayland中。

在GNOME Xorg中,游戏加载时周围有一个20像素的边框,显示了我的桌面,当我加载到保存文件时,X被冻结了,迫使我抓住另一个TTY杀死它。

R7 3800X和RX 5600 XT,mesa-git和amdgpu。 仅使用Steam的60毫秒脉冲启动选项。 5.9-GE-6-ST(即将添加.dll并查看是否有帮助)。

Proton 5.9 Solance Edition的d3d12.dll

Proton-5.9-GE-6-ST \ dist \ lib64 \ winevkd3d-protond3d12.dll
Proton-5.9-GE-6-ST \ dist \ lib \ winevkd3d-protond3d12.dll

https://drive.google.com/file/d/12a5mlHJfrr_MynPDmJe6wwEn7gAb0Jfb/view?usp=sharing
在Nvidia显卡上测试。 我尚未检查它如何在AMD上工作。

DLL交换并不能解决我的问题,尽管我不确定它是否会首先解决。 我注意到在尝试渲染游戏时,我的CPU或GPU都无法扩展,就像某种东西在阻止或不以某种方式“连接”一样,这就是为什么要经历这些低FPS的原因。 质子测井仪不知道要检查什么以查看其发生的原因?

更新至我的特定问题(也许在这里某处提到)。 设置帧限制会使帧变得疯狂。 我将它们设置为无限制,并且可以正常播放。 但是,即使替换了该DLL之后,我仍然会得到随机的黑屏,从而锁定了整个会话,从而强制进行了强制重新启动(无法alt标签等)。 在X或Wayland上也会发生相同的事情(在X上更快,因为当游戏最终加载时它完全锁定了,但是我可以TTY杀死gnome会话,然后在X上重新启动它,而我无法在Wayland上启动它)。

该游戏已连续运行4小时,没有冻结,也没有飞行的物体(石头和树木)。
多亏了Proton 5.9 Solance Edition的d3d12.dll与Proton 5.9-GE-6-ST的混合
链接上的游戏性证明: https :

通过链接下载带有d3d12.dll的Proton 5.9-GE-6-ST:
https://drive.google.com/file/d/1MjaifwahNgnw6tQ1jv6OqaWv94eRKoR6/view?usp=sharing
Proton-5.9-GE-6-ST \ dist \ lib64 \ winevkd3d-protond3d12.dll
Proton-5.9-GE-6-ST \ dist \ lib \ winevkd3d-protond3d12.dll

如果您不想下载整个250MB Proton,则只能从Proton 5.9 Solance Edition下载d3d12.dll。
https://drive.google.com/file/d/12a5mlHJfrr_MynPDmJe6wwEn7gAb0Jfb/view?usp=sharing

在Nvidia显卡上测试。 我尚未检查它如何在AMD上工作。

我已经使用d3d12 dll尝试了上述Proton,自购买以来我可以第一次运行该游戏,但有故障和低fps。

系统信息

GPU: AMD Navi 10 Radeon RX 5700 XT
Driver/LLVM version: RADV 20.1.7
Kernel version: 5.8.6-1

全蒸汽系统信息:
https://gist.github.com/QUASARFREAK/45d9f21fed44212ef156797f1627d221

屏幕截图:
https://imgur.com/a/cYFWP0Z

@QUASARFREAK在玩了这么多分钟后还是还是因为小故障和低FPS而仍然崩溃? 我关闭了VSync,没有帧限制,并且设置为中等(运动模糊关闭),并且帧始终为65-80,但是即使更换了d3d12.dll并使用5.9-,我在10-20分钟之间的任何时间都遇到了严重崩溃。 GE-6-ST。

嗨,我已经尝试了一些方法,但几秒钟后仍然崩溃: https :
我自己制作了proton-ge,并使用了预编译的6和7版本。 构建了vkd3d并将其放入proton-ge / dist / lib和lib64文件夹。 也将它们放在前缀的system32(64位)和SysWOW64(32位)中,可能不知道是否需要这样做。 在打开Mangohud并将脉冲音频设置为60毫秒的情况下开始游戏,否则我的声音会产生回声。 还尝试了profile.dat存档,以测试不同的分辨率。
每次它运行并在一段时间后崩溃。

我在这里错过了什么东西吗?
系统是Ryzen 9 3900X / Vega 64-台面稳定的Manjaro Budgie

补充一下,我的叉子主要用于NVidia GPU。 对于AMD GPU,图形损坏的修复程序是最新的mesa-git,因此您也需要这样做才能避免图形损坏。

我在NVIDIA公司工作,漂浮物体经常在这里。 我尝试了稳定版和Beta Vulkan驱动程序。 我很高兴听到AMD的最终解决方案。

@ mozo78奇怪。 重新启动游戏一两次后,它应该会稳定下来。 无论如何,我们将不得不等待VKD3D开发人员永久修复它。

我很好奇这是驱动程序还是VKD3D问题。

解决了我的问题,它现在可以正常工作:必须更新为mesa-git!

因此,问题出在NVIDIA的驱动程序中。

顺便说一句,这是我编译的d3d12.dll,您可以将其复制到HZD目录。 请告知浮动信息,因为我正在VKD3D中进行SPIRV转换期间尝试解决此问题。

https://cloud.intersectraven.tech/s/GpnzKo264mqwoCP

现在还可以。 可能是偶然的,但我会注意的:)

到目前为止,我还无法启动HZD,启动时会崩溃。
我正在使用mesa-git,Proton-5.9-GE-6-ST,构建的vkd3d-proton-master并覆盖Proton-5.9-GE-6-ST/dist/lib(64)/wine/vkd3d-proton的x64-和x86-d3d12.dll

请告知浮动信息,因为我正在VKD3D中进行SPIRV转换期间尝试解决此问题。

@intersectRaven我不确定您为什么还要打扰,Hans-Kristian确认这是星期一左右Nvidia驱动程序中的错误,最后一个Vulkan dev beta驱动程序明确在此更改日志中提及此错误:

修复了障碍优化中的错误,该错误使某些背对背副本可以无序运行

因此,任何尝试在Nvidia上播放HZD的人都应升级到455.22.04或等到此修复程序到达稳定分支为止。

到目前为止,我还无法启动HZD,启动时会崩溃。

@TheHooly在游戏的可执行文件旁边是否有d3dcompiler_47.dll (可能还有dxcompiler.dll )? 还可以考虑发布使用PROTON_LOG=1创建的日志,否则猜测出什么问题将花费很长时间。

我在游戏文件夹中有内置的d3d12.dll (x64),在错误地将其复制到此处后,忘记将其从那里删除了,现在将其删除。
不幸的是,我已经从Proton的lib64文件夹复制了d3dcompiler_47.dll ,并从游戏本身的Horizon Zero Dawn/Tools/ShaderCompiler/PC/1.0.2595/x64复制了d3dcompiler_47.dll dxcompiler.dll
http://ix.io/2zCB

请告知浮动信息,因为我正在VKD3D中进行SPIRV转换期间尝试解决此问题。

@intersectRaven我不确定您为什么还要打扰,Hans-Kristian确认这是星期一左右Nvidia驱动程序中的错误,最后一个Vulkan dev beta驱动程序明确在此更改日志中提及此错误:

修复了障碍优化中的错误,该错误使某些背对背副本可以无序运行

因此,任何尝试在Nvidia上播放HZD的人都应升级到455.22.04或等到此修复程序到达稳定分支为止。

到目前为止,我还无法启动HZD,启动时会崩溃。

@TheHooly在游戏的可执行文件旁边是否有d3dcompiler_47.dll (可能还有dxcompiler.dll )? 还可以考虑发布使用PROTON_LOG=1创建的日志,否则猜测出什么问题将花费很长时间。

很高兴知道。 顺便说一句,他在哪里张贴? 将来,我只建议所有人更新到455.22.04或等待官方驱动程序。 我的个人分支仍将存在,但仅用于解决由于hashmap耗尽内存而导致的内存崩溃。 :笑脸:

同样,对于使用AMD的用户,此修复程序已反向移植到Mesa 20.1,并包含在Mesa 20.1.9版本中,因此一旦发行版更新到该版本,就无需编译mesa-git。 :笑脸:

可以使用fsync确认游戏可以在Gentoo上的Mesa 20.2.0上玩。 d3dcompiler_47.dll包括本机覆盖和Proton-5.9-GE-6-ST是必需的。
我越来越近了。 30-60fps,具体取决于RX Vega 64上1440p ultra的情况,并带有超频和3900X。 我的xbox控制器拒绝使用此游戏,mangohud出于某种原因也拒绝使用。

来自Proton的@TheHooly d3dcompiler_47.dll几乎肯定不会工作,复制游戏本身附带的那个(它在Tools的某个地方,就像dxcompiler.dll )。 但是,日志并没有提及它始终被加载,因此游戏可能在尝试使用它之前就死了。

假设您使用的是AMD,则ACO存在一个已知问题,但它会导致GPU完全死机,而不仅仅是启动时的简单崩溃。 明天,我将尝试更好地查看您的日志,但是我本人正在使用Nvidia,对不起,我可能无法为您提供帮助。

顺便说一句,他在哪里张贴?

@intersectRaven在VKx Discord服务器上。

游戏打开一个黑色窗口,并为我旋转了左下角的加载符号,但随后崩溃:

Ubuntu 20.04.1
Proton-5.9-Solution-edition
从HZD工具目录复制的dxcompiler.dll和d3dcompiler_47.dll
使用1920x1080 Windows 50hz配置文件

raevol<strong i="10">@jabberwock</strong>:~$ glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.8
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
raevol<strong i="11">@jabberwock</strong>:~$ lshw -c video
WARNING: you should run this program as super-user.
  *-display                 
       description: VGA compatible controller
       product: Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci<strong i="12">@0000</strong>:01:00.0
       version: c7
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=amdgpu latency=0
       resources: irq:135 memory:c0000000-cfffffff memory:d0000000-d01fffff ioport:e000(size=256) memory:dfd00000-dfd3ffff memory:c0000-dffff
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.

日志: https

您好@mickeylyle ,就像您之前在评论中提到的那样,请在此游戏中使用mesa 20.1.9或更高版本。 您可以使用Oibafkisak-mesa等PPA来获取系统的更新的台面版本。

VKx

谢谢。 我一直在寻找他们的不和谐之处,以便了解他们的发展情况。 :微笑:

谢谢@ kisak-valve,很抱歉错过了!

我安装了您的PPA,并在Proton-5.9-social版本和Proton-5.9-GE-6-ST上都尝试了该游戏。 两者都使我通过了SIE和Guerrilla徽标,后者甚至让我看到了菜单背景的几帧,但都在崩溃后立即崩溃。

https://gist.github.com/mickeylyle/699fcbe5f136178edccabab2d6c08ca3

自从我上次发表评论以来,游戏获得了2GB的更新(Shader-Pre-Caching),现在我可以在崩溃之前短暂地看到加载屏幕。
在新日志中,我看到一个条目,它现在从游戏的根文件夹加载d3dcompiler_47.dll
http://ix.io/2zFK

@TheHooly这看起来非常可疑(第一条消息和最后一条消息):

264:warn:d3d12_swapchain_acquire_next_vulkan_image: Failed to acquire next Vulkan image, vr -1000001004.
264:warn:select_vk_format: Failed to find Vulkan swapchain format for DXGI_FORMAT_R10G10B10A2_UNORM.
264:warn:d3d12_swapchain_create_vulkan_swapchain: Buffer count 2 is not supported (3-16).
264:warn:d3d12_swapchain_create_vulkan_swapchain: Swapchain dimensions 1920x1080 are not supported (3828-3828 x 2129-2129).

也许尝试使用DXVK的dxgi.dll吗?

如果游戏中的某些窗口几何图形或缓冲区假名导致“无法解释的”崩溃(如果不是不合理的资源管理),我不会感到惊讶,因为游戏例如有时在Windows上仍然存在怪异的模糊升级错误。 我基本上尝试了所有可以想像的东西,并且其他所有游戏(如《魔兽世界》 D3D12或《杀手2》 D3D12)都能正常运行,不会崩溃。 但是,在菜单中显示几秒钟后,该东西总是崩​​溃。

它不会崩溃,它运行得很好。 您必须仔细按照说明进行操作。

基本上没有任何说明可以使用干净的前缀和最新的Proton-GE,这要归功于protontricks。 无论如何,我阅读了该主题中的所有评论并尝试了所有建议。 游戏补丁甚至使情况变得更糟。 当使用相对于分辨率/窗口模式的“错误”配置时,它甚至可能更早崩溃,但是由于ArturWroblewski的努力,这似乎并不是它最终在此处失败的原因。

质子日志:
steam-1151640.log

谢谢,但是没有什么我会错过的。

顺便说一句。 mesa-git和amdvlk-pro之间没有区别,游戏在进入菜单之前(或在菜单中)崩溃完全相同。

如果删除了前缀并保存了云,则有时需要在前缀用户的“我的文档”文件夹中创建“地平线零黎明”目录,否则游戏将崩溃。 我看不到该部分经常被引用,但是我个人经历过。 :微笑:

是啊谢谢。 我偶然发现了这几次,因此我禁用了HZD的云同步,然后删除了前缀。

您是否尝试过创建文件夹?

好了,游戏可以使用当前的干净前缀成功创建它,并且我已经测试了ArturWroblewski提供的所有配置。 :(

我看到有人提到Windows上一个奇怪的模糊升级错误。 我也遇到了它,并通过在可执行文件属性的兼容性选项卡中的“在高DPI设置上禁用显示缩放”或类似设置(例如,将“替代高DPI缩放行为设置为”应用程序”)解决了该问题。
该游戏确实确实使用了一种奇怪的窗口管理方法,例如调用“ SetProcessDpiAwarenessContext”系统例程来设置其DPI感知,而根据良好实践,应改为使用应用清单。
也就是说,是否有人在全屏\无边界窗口方面遇到问题,试图在Wine \ Proton设置中启用“模拟虚拟桌面”?

我只想评论在系统上运行此游戏是否成功。 我目前正在使用Proton-5.9-GE-6-ST运行台面20.3.0_devel.128992.447cef4a71d-1。 我唯一要做的就是将"Horizon Zero Dawn/Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll"复制到根"Horizon Zero Dawn"文件夹。

我应该提到我正在运行所有AMD硬件。 Ryzen 9 3900XT和Radeon RX 5700 XT。 我还没有发现任何浮动纹理,崩溃或类似的东西。

基于@ Develon5543的报告,删除了我从Tools复制的dxcompiler.dll,以及从该线程先前的指令中安装的profile.dat,这使我在菜单中又找到了几帧! 但是随后又坠毁了。

https://gist.github.com/mickeylyle/db6e2476d901c8ccc8b6310fe58356d6

@ Develon5543您甚至不必复制d3dcompiler_47,我的构建中内置了一个protonfix可以为您完成(与运行winetricks d3dcompiler_47 ),但是您需要在系统上安装wine和winetricks在我的作品中使用质子修正。

无关:
在具有455.23.04驱动程序的Nvidia 1660 Super上进行了测试,可以确认没有更多的浮动。

@GloriousEggroll很抱歉,我正在努力使我的工作

有推荐的Wine版本运行吗? 我在Ubuntu 20.04.1上为您节省了滚动时间。

还有办法“重新开始”吗? 我知道我可以卸载游戏,但这会删除前缀吗? 如果不重新下载60 GB的游戏数据,是否可以重新开始?

@GloriousEggroll很抱歉,我正在努力使我的工作

有推荐的Wine版本运行吗? 我在Ubuntu 20.04.1上为您节省了滚动时间。

还有办法“重新开始”吗? 我知道我可以卸载游戏,但这会删除前缀吗? 如果不重新下载60 GB的游戏数据,是否可以重新开始?

不,卸载游戏通常不会删除前缀。 根据需要安装“ protontricks”(基本上是质子化的葡萄酒技巧),然后在终端中使用“ protontricks --gui”。 选择您想要的游戏,在这种情况下为Horizo​​n。 然后在菜单中选择“默认wineprefix”,然后选择“删除前缀”。

我已将叉基于最新的VKD3D-Proton进行了哈希表还原。 在地图上玩了20多分钟,杀死了Grazers,所以我应该正确地进行还原。 :pray:您可以在这里下载:

https://cloud.intersectraven.tech/s/gMLxRTxirraFEN9

@GloriousEggroll我使用rtx 2080和455.23.04进行了测试。 使用Proton-5.9-GE-7-ST,游戏立即崩溃。 使用此处的配置https://reddit.com/r/linux_gaming/comments/j1xeup/horizo​​n_zero_dawn_complete_edition_works_on/我到处都有浮动,游戏无法进行。 除了d3dcompiler_47.dll文件,您还配置了什么?

@Saancreed vulkan beta驱动程序未修复任何问题。

更新-保存实际上也保存了浮动对象。 我用“ Solution Edition”重新开始保存,并且浮动框消失了。

Update2-漂浮的岩石仍然存在,但是现在大多数东西都在地面上。

@trialism您可以尝试455.22.04 Nvidia驱动程序吗? 我不确定该修补程序是否为455.23.04,因为该驱动程序已针对3000系列支持发布,因此该修补程序可能尚未在此处正确应用。 或者,如果您无法更新(或降级或其他原因,因为这些版本与那些beta版本:smile:很奇怪),请尝试我昨天发布的d3d12.dll,它不是基于最新的VKD3D-Proton。

@trialism我在1660超级驱动程序上为这些驱动程序使用了清晰的前缀,并且在没有任何问题的情况下运行了ootb。 我没有使用任何自定义配置。 需要进一步说明的是,我从保存中继续前进,没有浮石。

-edit-我刚刚再次尝试了已完成的发布版本-d3d12从昨天起对intersecraven的git进行了d3d12更改,并且也面临崩溃。 现在研究它。

-edit2-刚刚在我的amd钻机上尝试使用干净的前缀和全新下载,并立即将其启动。 绝对没有问题。 将仔细检查我的nv装备上的nvidia驱动程序

-edit3-它与我的最新发行版中的某些补丁更新有关,这是nvidia驱动程序不喜欢的。 我测试了两个驱动程序版本,但没有运气。 恢复为GE-6,然后启动。 现在调查原因。

-edit4-找到了错误的补丁。 这是待定的上游葡萄酒补丁之一。 麻烦告知作者并更新我的版本

你好。 我无法按照mozo78提供的说明成功运行HZD(对此深表感谢)。 我已经附上了日志。 具体来说,一旦文字SONY ENTERTAINMENT开始消失,我将在黑色加载屏幕之后崩溃。

我还要补充一点,我使用了kisak-mesa。 glxinfo给了我一个20.1.5的台面版本。 如果这还不够,我会请求协助进一步更新。

谢谢。

steam-1151640.log

更新了我的GE版本,进行了测试,并可以在nv和amd上工作:
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-7-ST

AMD用户需要台面20.1.9或更高版本,Nvidia用户需要455.22.04 beta或更高版本

@GloriousEggroll 455.23.04
您可以编辑NVIDIA驱动程序版本。 它必须是Vulkan beta 455.22.04,而不是455.23.04。
感谢新的惊人发布!

更新了我的GE版本,进行了测试,并可以在nv和amd上工作:
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-7-ST

AMD用户需要台面20.1.9或更高版本,Nvidia用户需要455.22.04 beta或更高版本

ang! 我忘了推动今天上午进行的合并,汉斯·克里斯蒂安(HansKristian)修复了全屏选项! 无论如何,我刚刚将它推到了我的叉子上,这样任何想要编译它的人都可以这样做。 同样,使用PERSONAL分支。 :微笑:

@GloriousEggroll 455.23.04
您可以编辑NVIDIA驱动程序版本。 它必须是Vulkan beta 455.22.04,而不是455.23.04。
感谢新的惊人发布!

两种版本都可以,都可以测试。

我测试了455.23.04,实际上有浮动对象。 该错误已在Vulkan beta 455.22.04中修复。

也许455.23.04刚刚进行了“部分”修复,从而大大降低了发生浮动的可能性? 我记得我曾经经历过一次,但此后再也没有经历过,所以我倾向于相信该修正已经存在于455.23.04中,因为我从VKx不和谐中得知损坏可以保存在保存文件中。 邓诺当然可以。 我确定的是455.22.04,在我之前可以模拟的任何情况下都不会发生。 :微笑:

我用最新的5.9-GE-7-ST尝试了455. 22.04驱动程序,它能正常工作,谢谢! 它也可以与全屏和freesync一起使用,altabbing可以,并且没有视觉伪像。 我只遇到一个问题:20分钟后,我的VRAM泄漏了,游戏停止了工作。

我用最新的5.9-GE-7-ST尝试了455._22.04_驱动程序,它能正常工作,谢谢! 它也可以与全屏和freesync一起使用,altabbing可以,并且没有视觉伪像。 我只遇到一个问题:20分钟后,我的VRAM泄漏了,游戏停止了工作。

嗯...由于删除了支持代码,因此我在销毁中省去了一部分,并且我不希望重新实现它,因此对于某些我的ASSUME VRAM低的设备可能需要这样做。 您只需要验证多少个VRAM? 在这里插入“在我的机器上工作过”的通常程序员借口:笑:

我用最新的5.9-GE-7-ST尝试了455._22.04_驱动程序,它能正常工作,谢谢! 它也可以与全屏和freesync一起使用,altabbing可以,并且没有视觉伪像。 我只遇到一个问题:20分钟后,我的VRAM泄漏了,游戏停止了工作。

@trialism如果可以改善您的状况,您可以尝试一下吗? 只需将相关的dll复制到您的HZD目录中,以免覆盖与GE捆绑在一起的dll。
https://cloud.intersectraven.tech/s/wG9eyH8eScxJeQ5

@intersectRaven我有8GB。 我将尝试用该DLL运行HZD一段时间。

@intersectRaven在1440p和100%分辨率比例下玩了一个小时后没有崩溃! VRAM确实从6.9GB攀升至7.7GB,但仍在工作。

我观察到了两件事(与崩溃无关):如果我在运行时alttab,游戏将暂时失去vsync,但如果我在切换窗口之前暂停它,则不会发生。 失去vsync(双向vs翻转模式)后,如果我暂停游戏并两次alttab可以重新获得它。
另一件事是cpu瓶颈-我的50-60Fps下降大部分来自单核利用率高。 该游戏没有使用大多数核心,但它推动了我的ryzen 3600,通常达到4.4GHz。

@intersectRaven在1440p和100%分辨率比例下玩了一个小时后没有崩溃! VRAM确实从6.9GB攀升至7.7GB,但仍在工作。

我观察到了两件事(与崩溃无关):如果我在运行时alttab,游戏将暂时失去vsync,但如果我在切换窗口之前暂停它,则不会发生。 失去vsync(双向vs翻转模式)后,如果我暂停游戏并两次alttab可以重新获得它。
另一件事是cpu瓶颈-我的50-60Fps下降大部分来自单核利用率高。 该游戏没有使用大多数核心,但它推动了我的ryzen 3600,通常达到4.4GHz。

高兴听到。 我认为您的vsync问题将在HansKristian的下一个VKD3D-Proton PR中解决。 合并后,我也会将其合并到我的fork中。

不,卸载游戏通常不会删除前缀。 根据需要安装“ protontricks”(基本上是质子化的葡萄酒技巧),然后在终端中使用“ protontricks --gui”。 选择您想要的游戏,在这种情况下为Horizo​​n。 然后在菜单中选择“默认wineprefix”,然后选择“删除前缀”。

有没有非质子技巧可以做到这一点? 对使用一些pipx黑客技术不感兴趣。

不,卸载游戏通常不会删除前缀。 根据需要安装“ protontricks”(基本上是质子化的葡萄酒技巧),然后在终端中使用“ protontricks --gui”。 选择您想要的游戏,在这种情况下为Horizo​​n。 然后在菜单中选择“默认wineprefix”,然后选择“删除前缀”。

有没有非质子技巧可以做到这一点? 对使用一些pipx黑客技术不感兴趣。

您始终可以手动删除前缀的文件夹。

您始终可以手动删除前缀的文件夹。

谢谢,我很感激! 立即尝试构建新的GE。 “优化游戏”步骤的运行速度更快。

这里还是没有运气。 徽标崩溃。

steam-1151640.log

大家好

我在使用ryzen 5 2400g和rx480 4gb gpu的低端系统上拥有Arch Linux最新的内核和Wine阶段5.18

我也使用最新的mesa-git驱动程序,并尝试了上面的所有选项

GE版本5.9-7
GE版本5.9-6
Tkg-质子5.18.r3

我已经尝试过运行此游戏,无论我用什么质子建造,它都会显示sony徽标,然后guerilla徽标开始播放介绍电影,然后崩溃并显示错误框。 有时它会崩溃回到桌面甚至冻结,然后将我带出登录屏幕。

steam-1151640.log
我已附上我的蒸汽日志,希望对您有所帮助。

大家好,

使用Pop!_OS 20.04,Mesa 20.2.99和AMD,我使用Proton 5.9-GE-7-ST和@intersectRaven的d3d12.dll创建了一个新的pfx文件。

该游戏在大多数情况下都可以正常运行,没有浮石或任何东西,FPS相当稳定,但我仍然死机,这使我感到困惑。 这似乎是随机发生的,但几乎总是在我在库存或地图中时才发生。 奇怪的是,它看起来不像我习惯的那种冻结,声音不会无休止地循环播放,但仍能正常播放,我有一个可以控制的可见鼠标光标,但是Mangohud告诉我我的FPS在某处在0到2之间,并且我的延迟时间超出了图表。 因此,看起来好像不是突然冻结,而是我的系统至少在图形上停止了。

我无法发布质子日志,因为它超过了100MB(!! ??),但是我有大约3万行

264:fixme:d3d12_swapchain_present: Unimplemented flags 0x200.

随后是一个部分,重复了数千行

252:fixme:d3d12_swapchain_present: Unimplemented flags 0x200. 216:warn:d3d12_resource_init: Ignoring optimized clear value. 216:warn:d3d12_resource_init: Ignoring optimized clear value. 216:warn:d3d12_resource_init: Ignoring optimized clear value. 216:warn:d3d12_resource_init: Ignoring optimized clear value. 216:fixme:d3d12_swapchain_present: Unimplemented flags 0x200. 216:fixme:d3d12_swapchain_present: Unimplemented flags 0x200. 368:warn:d3d12_pipeline_state_init_graphics: Unused input element 1. 368:warn:d3d12_pipeline_state_init_graphics: Unused input element 2. 368:warn:d3d12_pipeline_state_init_graphics: Unused input element 3. 372:warn:d3d12_pipeline_state_init_graphics: Unused input element 1. 372:warn:d3d12_pipeline_state_init_graphics: Unused input element 2. 372:warn:d3d12_pipeline_state_init_graphics: Unused input element 3. 216:warn:d3d12_pipeline_state_init_graphics: Unused input element 1. 216:warn:d3d12_pipeline_state_init_graphics: Unused input element 2. 216:warn:d3d12_pipeline_state_init_graphics: Unused input element 3. 216:warn:d3d12_pipeline_state_init_graphics: Unused input element 1. 216:warn:d3d12_pipeline_state_init_graphics: Unused input element 2.

然后行37000至约120万是重复

252:warn:d3d12_command_list_OMSetRenderTargets: RTV descriptor 2 is not initialized. 264:fixme:d3d12_pipeline_state_get_or_create_pipeline: Extended dynamic state is supported, but compiling a fallback pipeline late! 256:fixme:d3d12_swapchain_present: Unimplemented flags 0x200. 268:warn:d3d12_command_list_OMSetRenderTargets: RTV descriptor 0 is not initialized. 268:warn:d3d12_command_list_OMSetRenderTargets: RTV descriptor 1 is not initialized. 268:warn:d3d12_command_list_OMSetRenderTargets: RTV descriptor 2 is not initialized.

不知道那里出了什么问题,任何建议将不胜感激!

@ Milas227@mickeylyle

您是否尝试过将@ArturWroblewski profile.dat放置在您的葡萄酒前缀HZD目录中? (有关线程中较高指令的说明),对于我和我来说,我认为许多其他游戏会在全屏模式下崩溃,这是默认设置。 替换配置文件数据允许以窗口模式或无边界模式启动,并避免此特定的崩溃。 我不是100%知道是什么导致了您的问题,但是如果您还没有尝试过,那么值得尝试。

@Chipsse遇到的问题与我遇到的问题相同,但即时消息位于Arch和GNOME 3.38 Wayland上(发生在3.36处)。

刚要自己张贴质子日志并看到您的帖子。 我的同样的错误。

@Chipsse我的游戏已经在窗口模式下运行,所以我认为这不是问题。 我之前尝试过profile.dat,并没有什么不同。

我尝试将@intersectRaven的d3d12.dll添加到@GloriousEggroll的Proton-5.9-GE-7-ST中,但我仍然在同一位置崩溃。 它确实重新运行了“优化游戏”步骤。

大家好。
在尝试更新台面后,很难启动游戏。 当前游戏无法打开。 当我单击播放时,音频会单击,但屏幕不会改变。 我一直盯着蒸汽库,直到游戏自行关闭。 我没有崩溃报告。 我尝试重新安装游戏“酒”,“ kisak-mesa”。 在此之前,我能够通过崩溃报告到达游戏崩溃之前的游戏加载屏幕。 谁能帮助我回到我的起点?
steam-1151640.log

所有人,如果您想将驱动程序升级到455稳定版,就不要再出现浮动了。 坚持使用455.22.04 Vulkan beta。 在漂浮物消失之前重新启动HZD 3次。 自问题以来,我一直对此表示怀疑:

修复了障碍优化中的错误,该错误使某些背对背副本可以无序运行

在发行说明中未指定。

是的,这正是我的观察。 我仔细检查了更改日志,但没有找到障碍优化修复程序,因此暂时坚持455.22.04是一个好主意。

@intersectRaven我已升级到455.28,并且没有浮动。 我玩了两次游戏3个小时。 只是一个想法:我从一开始就没有参加比赛,但是也许你参加了,那才是开始出现花车的地方?

@trialism我通常从上一次

@intersectRaven我已升级到455.28,并且没有浮动。 我玩了两次游戏3个小时。 只是一个想法:我从一开始就没有参加比赛,但是也许你参加了,那才是开始出现花车的地方?

我实际上不玩游戏。 我总是在洞穴之后加载相同的保存:)

@Chipsse感谢您提出的建议,我已将proton-ge 5.9-7绑在一个干净的前缀中,不幸的是,使用@ArturWroblewski配置文件没有帮助。

但是,当它冻结时,它把我带到登录屏幕,当我检查我的xsession日志时,出现此错误

amdgpu:没有足够的内存来提交命令

我认为这些游戏吃掉了所有的录像带和外壳,使amdgpu驱动程序崩溃,并检查了地平线Twitter提要,他们说正在开发1.06补丁。

是的,这正是我的观察。 我仔细检查了更改日志,但没有找到障碍优化修复程序,因此暂时坚持455.22.04是一个好主意。

我可以确认,随着对驱动程序455.28的更新,浮动项目的出现已增加。 它并非每次都发生,但有时比其他时间更频繁。 我将再次还原到驱动程序455.22.04。

有解决办法吗?
20201011095334_1

即使在照片模式下,这些故障也会跟随相机。 发生在所有质子版本,Proton-5.9-GE-7-ST和proton-tkg上。

[System]
OS:              openSUSE Tumbleweed
Arch:            x86_64
Kernel:          5.8.14-1-default
Desktop:         KDE
Display Server:  x11

[CPU]
Vendor:          AuthenticAMD
Model:           AMD Ryzen 9 3900X 12-Core Processor
Physical cores:  12
Logical cores:   24

[Memory]
RAM:             31.3 GB
Swap:            3.7 GB

[Graphics]
Vendor:          X.Org
OpenGL Renderer: AMD Radeon RX 5700 XT (NAVI10, DRM 3.38.0, 5.8.14-1-default, LLVM 10.0.1)
OpenGL Version:  4.6 (Compatibility Profile) Mesa 20.1.8
OpenGL Core:     4.6 (Core Profile) Mesa 20.1.8
OpenGL ES:       OpenGL ES 3.2 Mesa 20.1.8
Vulkan:          Supported

可能是Mesa,所以我等待更新并报告。

@HolySoap

Mesa 20.1.8

如在该线程中多次提到的:

AMD users need mesa 20.1.9 or higher, Nvidia users 455.22.04 beta

@GloriousEggroll
Ups为此感到抱歉,但是无论如何,谢谢!

由于某些原因,游戏将在安装驱动器的根目录上执行空闲空间检查(Z:对于Proton,默认为Z),这对应于/或Linux上的根分区通过标准的质子/葡萄酒环境。

如果您在该分区(最可能是根分区)上的空间不足2 GB,即使游戏不太可能使用它(相对于它检查可能真正使用的目录的空间),游戏也会拒绝启动显示类似于以下的消息:

image

致命存储2GB

@GloriousEggroll我可以确认Proton-5.9-GE-8-ST已修复全屏崩溃,但是在显示徽标后,我仍然遇到崩溃。

我使用的是AMD CPU(和GPU),因此尝试了clearcpuid内核启动参数,但这没有任何效果。 附带的日志没有它。 我确实注意到我的内存使用率在崩溃前从50%变为100%。

steam-1151640.log

@GloriousEggroll我也尝试过proton-5.9-ge-8,并且在徽标后也崩溃了。

我也尝试过clearcpuid内核启动选项,但也没有任何影响。

但是,当我检查系统日志时,我确实注意到崩溃之前内核发生了内存不足错误。 不确定是否有帮助,但所有信息都是好信息。

我的系统是ryzen 5 2400g,rx480 4gb vram,16gb ddr4。

@ Milas227您可以发布PROTON_LOG吗? 有人更有可能用日志来实际查明问题,而不是没有日志,因为有太多变量要考虑。

@intersectRaven我不好! 抱歉

根据要求附加日志
steam-1151640.log

那么,谁有机会使用最新的Proton版本进行测试?
https://github.com/ValveSoftware/Proton/releases/tag/proton-5.13-1b

自从我继续在金属世界中进行探索以来,还没有测试过我的“确定触发内存不足错误方法”。 我在完成这个Deathbringer时正在使用它,因此可以玩。 如果稍后还会发生崩溃,我将进行测试。

可以确认它仍然与5.13在同一位置对我崩溃。

steam-1151640.log

编辑:我只有4gig的视频ram和8演出的系统ram。 这可能是问题吗?

有人用Proton GE 5.9 ST 8体验慢动作的游戏性吗? 完全不能玩这个游戏。

它适用于质子5.13,但我的速度约为15 fps。 我有GTX 960,所以它有些过时了,但仍然比最低规格(GTX 780)好。 在低或中设置中,结果相同。 因此,目前暂时无法播放。

@Skiski GTX 960与GTX 680/770相当(或稍慢)。 在大多数情况下,GTX 780更快。 最重要的是,游戏的整体运行状况很差,与本地人相比,nvidia上的atm情况更糟。 您的结果似乎与预期的差不多。

刚安装它并尝试与Proton 5.13-1一起运行,但出现错误:

err:module:import_dll Library mfc140.dll  (which is needed by L"Z:\\disk3\\SteamLibrary\\steamapps\\common\\Horizon Zero Dawn\\HorizonZeroDawn.exe") not found

我应该尝试重新安装质子5.13吗? Proton丢失时不应该下载所需的VC运行时吗?

更新我

复制此类文件(_mfc140.dll_-32和64位版本),然后运行游戏。
我在2080 Ti,455.23.04、64 GiB RAM和I7-8700k上播放3440x1440,详细信息_Ultra_-在Ubuntu 20.04上。

这些是问题:

  • 在动画场景中,声音会crack啪作响,角色的声音很容易变得不同步
  • 通常经过15分钟后,游戏硬崩溃(看起来分配了8GiB以上的VRam然后停止了steam-1151640.log 。 在运行基准测试并使用较少的VRAM时也会发生这种情况,因此与VRAM无关。
  • 可以使用PS4垫,但是将触觉设备检测为_mouse_,因此游戏认为我正在使用键盘-解决方法,请使用键盘上的“ M”键进入地图。

不幸的是,由于严重崩溃,游戏无法玩(除非每15分钟保存一次,否则游戏无法进行)

在我的个人电脑上,Ultra的性能低于:
HZD_Ultra_perf

@Emanem尝试使用@intersectRaven的d3d12.dll,请参见上文,他最近发表的一篇文章中有一个下载链接,将其复制到System32(首先备份您的文件),并在Proton的wine设置中设置为native。 这应该将崩溃前的播放时间随机延长到通常可播放的数量(这取决于您的硬件和其他随机事物,但在良好的情况下,通常大部分时间会超过几个小时)。 如果对您不起作用,则只需还原备份,然后将设置放回原来的位置即可。
PS一些用户报告说Proton覆盖了其自定义文件。 请参考上面的帖子,了解如何解决此问题。

@RoyShapiro感谢您的提示,不确定我是否想从互联网上下载_dll_并盲目替换我PC上的文件。
@intersectRaven您可以共享更改的差异/补丁吗? 很高兴自己重新编译它。

总的来说,我也可以等待Valve(或Nvidia,如果这是驾驶员的问题)的官方修复,因为大多数游戏玩家都使用Nvidia,并且该游戏现在是“ _the list_”的一部分。

@Emanem抱歉,如果要领先于@intersectRaven ,请查看他的页面,您可以编译他的fork vkd3d-proton存储库。 我没有立即提及它,因为很多人似乎只是想玩游戏而可能不知道自己如何制作东西。

@ Milas227您可以发布PROTON_LOG吗? 有人更有可能用日志来实际查明问题,而不是没有日志,因为有太多变量要考虑。

@intersectRaven
我经历了完全相同的游戏崩溃事件,但是对我来说,它们是随机的(崩溃时间从最少15分钟到最多2小时)。 这里附上我最新的steam-1151640.log 。 不知道我的报告是否会有所帮助。

以下是我的规格:
Proton:Proton GE 5.9 ST 8(安装后无任何调整)
操作系统:Debian GNU / Linux bullseye / sid
内核:5.8.7
CPU:AMD锐龙Threadripper 2990WX 32核
GPU:NVIDIA GeForce GTX 1080 Ti
GPU驱动程序:NVIDIA 455.22.04
内存:64 GB

@LordDaveTheKind您的崩溃似乎正是我遇到的问题。 您是否已经下载了我的dll或从repo的个人分支编译了该文件? 至少应将您的下限延长到15分钟以上。

@intersectRaven-首先,感谢您对此进行调查。 我认为我们应该编译名为_personal_的分支吗? 我们应该执行哪个构建? d3d12.dll_是_native_还是_cross?

另外,我是否可以请您总结一下您所做的更改? 同样,我只是Vulkan和图形方面的业余爱好者,想了解更多此_fix_。

@Emanem是的。 只需使用简单的方法。 基本上,我将错误追溯到用于视图对象创建的哈希映射缓存的实现,因此我将其还原。 开发人员由于无法复制它而难以修复。 这基本上是这里的唯一障碍。 如果HansKristian可以复制它,则此错误将在一夜左右消失。

@Emanem是的。 只需使用简单的方法。 基本上,我将错误追溯到用于视图对象创建的哈希映射缓存的实现,因此我将其还原。 开发人员由于无法复制它而难以修复。 这基本上是这里的唯一障碍。 如果HansKristian可以复制它,则此错误将在一夜左右消失。

@intersectRaven是否需要构建_dll_或_so_? 我猜我们应该编译为_dll / PE_,对吗?

感谢您的解释-了解_easy_使其崩溃的原因,不知道为什么“ _开发人员由于无法复制它而难以修复。_”。
我们是否已使用其他日志修改了源代码,这可能会对开发人员有所帮助?

更新

设法设置了一个虚拟机来构建dll,花了我1个小时...将尝试测试DLL,但看起来质子脚本决定覆盖我的自定义库...如上所述,您需要弄清楚它。 。是的,得到了​​_floaties_ :)

更新2

创建了一个新的Proton配置文件以使用您的库和测试。 可以确认,使用Proton 5.13-1b库,游戏每15分钟会崩溃一次。 稍后将报告您的库...

更新3

确认您的补丁后,游戏崩溃的频率不像香草质子5.13-1b那样频繁。
如果人们有兴趣使用它,我已经使用自定义d3d12创建了一个简单的自定义

我们是否需要构建_dll_或_so_? 我猜我们应该编译为_dll / PE_,对吗?

您必须将其编译为dll / PE,因为HZD需要OpenExistingHeapFromAddress (或至少在1.01中曾经使用过),而.so版本无法实现。

设法设置了一个虚拟机来构建dll,花了我1个小时...

您可以使用mingw-w64工具链交叉编译它们,检查发行版是否提供了该文件(Arch在官方存储库中包含大多数软件包,但mingw-w64-tools除外;此软件包是必需的,因为它提供了widl ,但在AUR中可用)。 当然,要比VM减轻头痛。

看起来质子脚本决定覆盖我的自定义库...

最简单的解决方案是将d3d12.dll复制到HorizonZeroDawn.exe d3d12.dll旁边,并将WINEDLLOVERRIDESd3d12=n 。 这样,它将在Proton复制到前缀System32目录之前加载。 无需创建Proton的单独副本即可替换一个库:stuck_out_tongue:

是的,得到了​​_floaties_ :)

是的,仍然需要Vulkan Dev驱动程序来修复该问题。

但是您可能已经知道了大多数。 您也可以尝试使用DXVK的dxgi.dllWINEDLLOVERRIDES='dxgi=n' ,用;分隔多个替代),它_可能_有助于提高稳定性。

我自己,我正在尝试在AMD Ryzen 7 3750H和GTX 1660 TI Mobile上玩,它现在相当稳定,而6 GB的VRAM……对于这个游戏来说不算多,在“ Favor Performance”预设使用率约为4-5 GB,但是HZD的内置基准测试工具仍然声称CPU是这里的瓶颈。 除了游戏似乎以某种方式限制了自身,因为CPU利用率仅为50%左右。 任何想法为什么会这样? 还是这完全是针对您的游戏,而对于你们来说,游戏也仅使用一半的CPU处理能力? 首先,我使用的是Proton 5.13,但是_outside_ Soldier Runtime。


一些截图显示了问题

Screenshot_20201018_212818

(实际上,这是在“原始”预设上,但是禁用了运动模糊,因此VRAM使用率要高一些。)

Screenshot_20201018_213142

而且游戏似乎相信它以1920×1080的分辨率运行,但这是我的桌面分辨率,游戏本身在1600×900的窗口中……

@LordDaveTheKind您的崩溃似乎正是我遇到的问题。 您是否已经下载了我的dll或从repo的个人分支编译了该文件? 至少应将您的下限延长到15分钟以上。

@intersectRaven
我编译并部署了您的vkd3d-proton版本,它实际上似乎运行良好。 到目前为止,我还没有机会进行广泛的测试。 我会通知你的。

干杯,
戴夫

@intersectRaven崩溃是否同时在Nvidia和/或AMD和/或英特尔上发生?
如果是,那么缓存本身可能就是-或驱动程序可能不喜欢重复使用缓存的元素(在多个线程之间?)。

快速浏览了缓存代码(来自github的最新消息),除非关键元素无法执行查找(即,不将Vk函数的所有输入都用作_key elements_),否则可能是驱动程序的问题?

@doitsujin @ HansKristian-Work(已提交哈希查找代码的带标签的人) @intersectRaven

首先让我写一遍,我对Valve / Codeweavers开发人员非常感谢-我只是一个业余爱好者,我希望以下内容能对您有所帮助。

使用H:ZD重现崩溃非常容易; 如果您在Nvidia 455.23.04(在3440x1440分辨率下使用我的机箱2080 Ti)和Ubuntu 20.04(在18.04上)上运行,则只需运行具有_Ultimate Quality_设置的游戏集成基准,第二次它很有可能崩溃/卡住。
_好消息_(如果可以这样称呼)是,这似乎不是线程问题,而仅仅是资源(?driver?)相关的问题-实际上,在日志中添加了以下关键代码,放慢速度,但是无论如何都会发生问题。

我在vkd3d的主版本中添加了_cache_日志(请参阅vk_cache_log.patch.txt-只需将硬编码的日志文件替换为您选择的路径)。 这会打印出访问缓存和哈希以及底层关键数据的信息,以尝试了解正在发生的情况。 此外,它还会在未命中(即需要创建资源)或缓存命中时打印出行为。

  • 缓存似乎有效(至少使用H:ZD)。 在运行基准测试时,我们获得了86%的点击率,这完全不错
  • 当我们传递非常大的偏移量时,崩溃似乎与_vkCreateBufferView_中的缓冲区视图的创建有关(41514912)
  • 在崩溃之前,在具有相似参数的同一个vkBuffer上创建缓冲区视图时,出现了一系列类似的失败-好像另一个线程试图在同一个缓冲区上创建多个视图,但是失败了,尽管如此,它尝试了约10次
  • 值得注意的是,崩溃/阻止的调用要求创建一个视图,但格式与之前失败的视图不同(后者确实返回_false_但代码继续执行,该代码只是阻止了此渲染线程)
  • 失败的同一线程(日志中为208)设法在上一次调用之前获取缓存的vkBufferView
  • 函数vkd3d_view_map_create_view中的一个退出条件中有一个小错误,当我们return NULL;但我们之前没有释放锁时-再次出现问题,但这是一个小缺陷

问题:尽管缓存具有很高的命中率,但值得在性能上明智吗? 锁定和管理哈希映射的成本值得吗?

我已经附加了完整的压缩日志(未压缩的700 MiB vkd3d.log.tar.xz.zip-这是xz文件,而不是zip)和最后10000行( vkd3d-tail.log

我希望这可以有所帮助,如果您认为这很垃圾,那么就浪费时间道歉。

更新我

扩展日志以在调用vkCreateBufferView之前打印出来,结果如下:

ThID: 248   Got it: 0000000055E69648
ThID: 248   map:000000000084CDD8    hash: 3513745393    key: VKD3D_VIEW_TYPE_BUFFER 140231365012824 000000006F980F98 10306000 262144
ThID: 248   Got it: 00000000562F8AE8
ThID: 248   map:000000000084CDD8    hash: 3513745393    key: VKD3D_VIEW_TYPE_BUFFER 140231365012824 000000006F980F98 10306000 262144
ThID: 248   Got it: 00000000562F8AE8
ThID: 248   map:000000000084CDD8    hash: 3513745393    key: VKD3D_VIEW_TYPE_BUFFER 140231365012824 000000006F980F98 10306000 262144
ThID: 248   Got it: 00000000562F8AE8
ThID: 200   map:000000000084CDD8    hash: 236646252 key: VKD3D_VIEW_TYPE_BUFFER 140231365012824 000000006F981890 0 1703936
ThID: 200   Got it: 000000005683EA18
ThID: 200   map:000000000084CDD8    hash: 3744403955    key: VKD3D_VIEW_TYPE_BUFFER 140231365012824 000000006F981890 24863000 96256
ThID: 200   Proceeding to create
ThID: 200   vkCreateBufferView(284069520, {140231365012824, 140230682214498, 24863000, 96256})

并可以确认这是驱动程序锁定(函数调用vkCreateBufferView不返回)。

我的猜测是,我们将耗尽内存/资源来跟踪所有缓冲区视图。 那时我们有483951个缓存的缓冲区视图和166261个专门用于该缓冲区的缓冲区(该缓冲区和特定格式为32771个)-如果我们在驱动程序中遇到硬限制,我不会感到惊讶-在此之前,在日志中看到对vkCreateBufferView的调用开始返回!= VK_SUCCESS (请参阅附件日志vkd3d-detailed.log-其中11个失败,然后是锁定)。

我认为我们应该控制缓存并限制它,也许吗?

当vulkan着色器出现时,是否有人在H:ZD启动时遇到崩溃
产生了?
对我来说,它消耗了所有RAM,并与蒸汽一起死亡。

2020年10月21日,星期三,3:23 PM Emanem [email protected]写道:

@doitsujin https://github.com/doitsujin @ HansKristian-Work
https://github.com/HansKristian-Work (已承诺的带标签的人
哈希查询代码)

首先让我写我对Valve / Codeweavers非常感谢
开发人员-我只是一个业余爱好者,希望以下内容可以对您有所帮助。

使用HZ:D重现崩溃非常容易; 如果你继续
Nvidia 455.23.04(在3440x1440分辨率下为我的Case 2080 Ti)和Ubuntu
20.04(也是18.04),只需运行与Ultimate集成的游戏基准质量设置和第二次设置很可能会崩溃。
好消息(如果可以这样称呼)是,这似乎并没有
是一个线程问题,而仅仅是一个与资源(驱动程序)相关的问题-在
在下面这样的关键代码中添加日志的事实,会稍微减慢它的速度
下来,但是无论如何,问题都会发生。

我已将缓存日志添加到vkd3d的主版本中(请参阅
vk_cache_log.patch.txt
https://github.com/ValveSoftware/Proton/files/5415675/vk_cache_log.patch.txt

  • 只需将硬编码的日志文件替换为您选择的路径即可)。 这个
    打印出访问缓存和哈希以及底层关键数据到
    尝试了解发生了什么。 此外,它还会打印出来
    在未命中(即需要创建资源)或高速缓存命中时的行为。
  • 缓存似乎有效(至少使用HZ:D)。 跑步时
    基准,我们可以得到86%的命中率,这是不坏
  • 崩溃似乎与缓冲区视图的创建有关
    vkCreateBufferView内部,当我们传递很大的偏移量时
    (41514912)
  • 在撞车事故发生之前,有一些类似的故障
    在具有相似参数的相同vkBuffer上创建缓冲区视图-外观
    就像另一个线程尝试在同一个缓冲区上创建多个视图,但是
    它失败了,但是尝试了10次
  • 值得注意的是,崩溃/阻止的呼叫要求创建一个
    视图,但格式与之前失败的视图不同(
    后者确实返回false但代码仍在进行,这只是阻止
    此渲染线程)
  • 失败的同一线程(日志中为208)设法获取一个
    在最后一次调用之前缓存的vkBufferView
  • 函数的一个退出条件中存在一个小错误
    vkd3d_view_map_create_view,当我们返回NULL时; 但我们不释放
    之前的锁-再次不是问题,而是次要缺陷

问题:尽管缓存具有很高的命中率,但值得吗
表现明智? 锁定和管理哈希映射的成本值得吗?

我已经附上了完整的压缩日志(未压缩的700 MiB
vkd3d.log.tar.xz.zip
https://github.com/ValveSoftware/Proton/files/5415679/vkd3d.log.tar.xz.zip
)和最后10000行(vkd3d-tail.log
https://github.com/ValveSoftware/Proton/files/5415676/vkd3d-tail.log

希望对您有所帮助,如果您认为这是垃圾,请为
时间浪费了。

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-713530577
或退订
https://github.com/notifications/unsubscribe-auth/AAABPU6GAI7HBC4OGKYLFVTSL3HFLANCNFSM4PXXJIQA

生成vulkan着色器时,是否有人在H:ZD启动时遇到崩溃? 对我来说,它消耗了所有RAM,并与蒸汽一起死亡。

我也一样只是禁用了Vulkan着色器,所以效果很好。

@LordDaveTheKind您的崩溃似乎正是我遇到的问题。 您是否已经下载了我的dll或从repo的个人分支编译了该文件? 至少应将您的下限延长到15分钟以上。

我可以确认它更稳定。 数小时内无任何崩溃或中断的工作。
在Graphic Settings(游戏图形设置)中,在1440p分辨率下,性能为40〜50fps,分辨率分辨率为70%。

有人在徽标后崩溃中工作吗? 请随时与我联系,我们很乐意为您进行调试或测试。

@intersectRaven嗨! 最近有一个对vkd3d-proton的拉取请求(https://github.com/HansKristian-Work/vkd3d-proton/pull/318),据说已经解决了哈希图问题,现在已标记为已关闭。 但是,尽管我看到《生化危机2》有所改进,但HZD仍然对我(RTX 2070、456.71驱动程序)冻结了崩溃,就像在此更新之前(在播放时间10-30分钟之后)一样。 您能否重新测试并确认?

是的我已经在他们的Discord上提到了这一点,以便开发人员知道。 它是否改善了游戏时间? 对我来说,尽管它仍然崩溃了,但是它确实有所改进,因为我可以在“确定性崩溃路线”上玩更长的时间。 HZD确实很难调试。

我可以想象@intersectRaven ...

PR确实应该消除了为原始缓冲区类型创建和维护VkBufferView对象的需要。 我猜游戏仍然有可能散布唯一类型的缓冲区视图(需要验证),该视图仍必须使用VkBufferView。 如果确实如此,那么我们就无能为力了。 较早的描述符实现(并且只有可行的“修复”)在CPU上极其缓慢,以至于我们获得30%的GPU利用率。

@ HansKristian-Work您好,感谢您调查此问题。 不幸的是,如果一个AAA游戏(即使它是公认的低质量端口)也可以做到这一点,并且考虑到只会有更多DX12独家游戏,这是一个严重的问题,恕我直言,值得解决。 尽管按项目标准认为它不可行,但许多控制台模拟器都为顽固的游戏提供了“ Hacks”选项,这些游戏都有类似这样的附带情况。 我可以真诚地建议,如果找不到合适的解决方案,则可以选择实施“边缘案例修复”或“黑客”或类似vkd3d的附件,以制作特定的游戏以牺牲特定游戏的优化为代价进行工作? 我特别不建议使用vkd3d的分支版本,因为在这种情况下,每次更新核心代码库时都必须重新建立基础,这将阻止它们使用与所说的“ hacks”无关的更新版本的其他新功能。

PS我是否正确理解,如果上述情况属实,则游戏垃圾邮件会缓冲不遵循以下语句的视图:
((desc->Format == DXGI_FORMAT_UNKNOWN && desc->Buffer.StructureByteStride) || !!(desc->Buffer.Flags & D3D12_BUFFER_SRV_FLAG_RAW))
从理论上讲,应该吗?

是的,如果该条件失败,则它是一个类型化的缓冲区视图,并且我们被迫创建一个新的VkBufferView(除非可以证明无法再访问它,否则请保持活动状态直到结束),这是一个难题如果没有看到偏移量/大小/格式,则不会在每帧中引入〜30k +锁。 我将需要验证这是否是引发问题的原因,并希望我们能找到一种解决方法,以某种方式异步垃圾收集未使用的VkBufferViews。 虽然不确定这将如何工作...

@ HansKristian-Work感谢您的确认。 我当时在考虑垃圾回收解决方案。 我最初的想法是保留一些非干扰性的统计信息,以统计创建了多少种类型的缓冲区(例如数组),并使用DXGI_FORMAT枚举作为索引(只要它不超出记录的值)。 另请参阅每帧/秒创建多少种类型的缓冲区。 然后有一个阈值,类似于在防DDoS预防机制中使用的阈值。 如果创建了太多特定类型的缓冲区,则可以对其进行进一步研究。 因此,无需锁定任何东西,直到我们拥有一个我们认为可疑的值(某些类型的缓冲区会迅速创建,但在某个时间范围内不会被删除)作为某些类型的缓冲区可能需要检查的“证明”。 抱歉,如果该解决方案听起来很幼稚,那么这个话题对我来说是新的。

实际上,这里也可以使用偏移缓冲区系统。 猜猜毕竟不是那么暗淡。

实际上,这里也可以使用偏移缓冲区系统。 猜猜毕竟不是那么暗淡。

确实,_does_游戏可以很快创建

附言当前的@intersectRaven补丁确实可以工作,但是游戏每隔1小时或移动太多时需要重置,否则它会变慢。

https://github.com/HansKristian-Work/vkd3d-proton/pull/349是正在运行的PR,应该可以解决OOM问题。 我讨厌这一切,但猜想我们别无选择。 我再也没有看到垃圾邮件,并且似乎可以正确呈现。

这也困扰着“死亡搁浅”(go如图),该游戏也没有看到垃圾邮件。

@ HansKristian-Work编译了此PR,RTX 2070、456.71驱动程序,包括50分钟以上的时间+包括Alt + Tab(用于使问题更快地发生),到目前为止没有问题! 很好! 谢谢!

编辑:此PR似乎也大大减少了微卡现象,这在游戏重新编译缓存后非常普遍。

将其与主代码合并还是编译最新的git代码就足够了? 我不知道该如何编译PR ...

的目的是将其合并,是的。 待审核和更多测试。

谢谢 :)
会很高兴有人分享他的lib :)

@ mozo78 vkd3d-proton-standalone-r2836.9f01ff72-1-x86_64.pkg.tar.gz

提取包并从usr/share/vkd3d-proton/x64取出d3d12.dll usr/share/vkd3d-proton/x64 。 另外,如果您使用的是Arch,则只需使用pacman -U安装此软件包,即可在常规Wine前缀中使用,就像使用DXVK一样。

非常感谢你!

HansKristian-Work / vkd3d-proton#349是飞行中的PR,应该可以解决OOM问题。

这使我的崩溃从“游击队”徽标之后移到了“索尼”徽标期间。 但是游戏在崩溃之前并不会占用我所有的内存! :)

steam-1151640.log

@mickeylyle
在您的日志中,有以下条目:
2171.498:00bc:00c0:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\D3DCOMPILER_47.dll" at 0000000014C60000: native
您是否从HZD的Tools \ ShaderCompiler \ PC \ 10.0.18362.0x64d3dcompiler_47.dll复制了d3dcompiler_47.dll到游戏的根目录?
即Horizo​​nZeroDawn.exe的位置? 似乎质子正在尝试加载默认的d3dcompiler_47,而不是HZD自己的已知问题。 如果没有,请尝试这样做。
_If_没有帮助,然后直觉告诉我,您可能会遇到媒体播放(即预渲染的双层电影)问题,该游戏用于徽标和菜单背景。

编译了分支,并且游戏连续运行了3个小时都没有崩溃(2080 Ti和455.23.04)。

我在某些位置了一些帧,但是我正在播放最大化了……就渲染像素而言,它几乎是4K的60%。

HZD是否真的对Nvidia 455.28有问题?
我找不到从455开始安装任何其他版本的正确方法。
AFAIK,基于Ubuntu的发行版将不会安装从Nvidia网站下载的驱动程序。

在这里,我运行的是HZD的Epic Games版本,仍然停留在OP发布的崩溃对话框中。

您也可以在Ubuntu上安装NVIDIA Vulkan beta驱动程序。

HZD是否真的对Nvidia 455.28有问题?
我找不到从455开始安装任何其他版本的正确方法。
AFAIK,基于Ubuntu的发行版将不会安装从Nvidia网站下载的驱动程序。

在这里,我运行的是HZD的Epic Games版本,仍然停留在OP发布的崩溃对话框中。

是。 仍然有可能在其上产生伪影(即,漂浮物)。 只需等待较新的455.38发行即可。 那有完整的障碍修复。

您是否从HZD的Tools \ ShaderCompiler \ PC \ 10.0.18362.0x64d3dcompiler_47.dll复制了d3dcompiler_47.dll到游戏的根目录?
即Horizo​​nZeroDawn.exe的位置? 似乎质子正在尝试加载默认的d3dcompiler_47,而不是HZD自己的已知问题。 如果没有,请尝试这样做。

尚未解决,请参阅附件日志。

_If_没有帮助,然后直觉告诉我,您可能会遇到媒体播放(即预渲染的双层电影)问题,该游戏用于徽标和菜单背景。

以前,我经过徽标后才能看到菜单背景的前几帧。 有什么办法可以测试/调试吗?

steam-1151640.log

(免责声明-Linux noob正在工作)
完成了我在这里看到的所有步骤。
复制了DLL的游戏根文件夹。
台面的东西到位。 (在这里找到指南)
我尝试过的Proton版本:
5.0-9(此版本在启动时使HZD崩溃)
5.13-1(此版本运行HZD持续20秒)

还下载了5.9-GE-6-ST,5.9-GE-7-ST,5.9-GE-8-ST,但是我在Steam设置-> Steam-Play或游戏中的下拉菜单中找不到它们属性->强制使用特定的*

我已经将这些Proton文件夹复制到.steam / steam / compabilitytools.d以及/ steamapps / common文件夹中(我在那里找到了Proton 5.0文件夹,所以我想为什么不这样做)但是当我进入时,找不到它蒸汽,是的,我确实重启了蒸汽以及整个PC几次。

还获得了窗口模式预设文件。

第一次启动并配置了游戏,让我玩了40分钟-然后在该崩溃弹出窗口中崩溃了。
之后,我就可以开始游戏并继续玩20秒钟。 (我每次启动3-4次,因为它往往会在加载屏幕上崩溃)

系统:
流行!
锐龙5 1600x
8GB DDR4
Radeon RX 580 8GB
微星游戏加最大B450

@nodrugz

您是否解压缩了下载的软件包? 如果您只是将tar.gz拖放到该文件夹​​中,它将无法正常工作。
如果是,您是否安装了Lutris? 根据您安装Steam的方式,您可能会进行两次安装,最有可能在/home/USER/.steam/debian-installation下和/home/USER/.local/share/lutris/runtime/steam下。 Lutris将在其运行时目录中使用一个文件,如果将该文件放在另一个安装目录中,则该文件将不会在另一个安装目录中看到。
另外,如果您通过Lutris运行Winesteam,则仍被认为是另一种安装。

@Chipsse
提取包裹并将其放入
/home/USER/.steam/debian-installation/compabilitytools.d/

/home/USER/.steam/steam/steamapps/common/

我没有安装lutris。
我是不是该 ?

另外:5.8内核有什么区别。

@nodrugz

没必要,但整理游戏和轻松调整设置非常有帮助,特别是如果Steam不是您唯一的游戏来源,那么Glorious Eggroll Proton前叉页面上也有说明将其与Lutris结合使用(https://github.com/ GloriousEggroll / proton-ge-custom)
您可以尝试其他一些操作:
您是否遵循Glorious Eggroll的所有指示,并且具有所有必要的依赖关系?
您是否安装了Linux原生版本的Steam或Wine版本?
如果您单击链接/home/USER/.steam/root,那将带您到哪里?

@nodrugz不要忘记将dist文件夹的内容移到自定义Proton文件夹下的一层,因此您将具有以下路径:

  • compabilitytools.d / Proton-5.9-GE-8-ST / bin
  • compabilitytools.d / Proton-5.9-GE-8-ST / lib
  • 等等

@nodrugz

抱歉,响应时间太长,.steam / root /链接将您带到的目录中的兼容性工具.d中有什么? 这是您已经放置ProtonGE文件的文件夹吗? 如果没有,请尝试将它们放在这里。 您也可以尝试通过Pop!_Shop重新安装Steam,看看是否有帮助。

@Chipsse

不用担心,自上次更新以来,我先擦拭了高清并安装了majaro,然后安装了Steam,然后安装了proton-5.6-GE
意识到这一点,并让HZD“运行”。
首映电影口吃并顺畅。
开始游戏时会出现大量图形异常。

现在,我需要从HansKristian-Work上找到安装台面驱动程序和VKD3D的指南,以使我对初学者来说有点不完整。

问题:
Proton-5.9-GE是否包含与Proton-5-6-GE相同的内容以及更多更新?

安装具有DXVK支持的GPU驱动程序

nVidia GPU
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader

AMD GPU
sudo pacman -S lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader

英特尔GPU
sudo pacman -S lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader

安装酒
须藤pacman -Syu
sudo pacman -S wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg错误alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

安装Lutris
须藤pacman -S lutris

安装Steam
须藤吃豆子-S steam

https://www.youtube.com/watch?v=ibge7-4sitQ中找到了

mabye,这可以帮助别人。

steam-1151640.log

有人看到那里有帮助吗?
更确切地说,我应该寻找什么?

我在启动徽标时崩溃,正在显示发送崩溃报告的弹出窗口。 我正在使用LTS内核和mesa-git驱动程序运行Arch Linux。 我的硬件是Intel i9 CPU和AMD RX 580 GPU。 我已将d3dcompiler_47复制到与可执行文件相同的文件夹中。 我的质子版本是Proton-5.9-GE-8-ST。

steam-1151640.log

感谢所有参与使游戏现在可玩的人(上次我检查我们是否即将启动游戏)! 据我所知,剩下的问题是性能问题(例如缓冲区的垃圾邮件和FPS通常很低),我是否正确地说? 解决其余问题方面进展如何?

@Zephranoid您是否尝试过最新的Proton,如5.13-1? 据我所知,已经合并了许多修复程序。

@drwhut质子5.13-1崩溃,根本不显示任何窗口,也不显示任何错误消息。 这是该日志:
steam-1151640.log

感谢所有参与使游戏现在可玩的人(上次我检查我们是否即将启动游戏)! 据我所知,剩下的问题是性能问题(例如缓冲区的垃圾邮件和FPS通常很低),我是否正确地说? 解决其余问题方面进展如何?

在我找到徽标后,游戏仍然崩溃。

感谢所有参与使游戏现在可玩的人(上次我检查我们是否即将启动游戏)! 据我所知,剩下的问题是性能问题(例如缓冲区的垃圾邮件和FPS通常很低),我是否正确地说? 解决其余问题方面进展如何?

由于OOM问题,在大多数情况下,AMD(5700XT)上的游戏在不到2分钟的时间内仍然崩溃,但这是众所周知的。

NVidia的情况要好一些:2060年我会得到30分钟左右的时间,直到FPS从〜45下降到〜16。

由于OOM问题,在大多数情况下,AMD(5700XT)上的游戏在不到2分钟的时间内仍然崩溃,但这是众所周知的。

不适合我,HZD只是一个示例,该示例会在一段时间后导致我的整个PC崩溃,但这是由于Mesa Vulkan驱动程序有问题,并将在20.3版中修复。

现在可以在原始环境中运行。 根本没有github hack。
Linux Mint 20.0配合
内核:5.4.0-53
带Nvidia驱动程序的GTX 1070:455.38
气门质子化:5.13-1
Steam Beta Client具有对Linux游戏的更好支持。 我不知道版本。
...但是我只玩了一会儿(小女孩进了山洞)。 因为我没有好的硬件(20-25 fps),所以我不得不减少游戏中的硬件选项。
我真的认为不可能在Linux上运行游戏。 我很开心。

与5.13-2完美搭配; 很棒的家伙!

Nvidia 2080 Ti(455.38),Ubuntu 20.04

我只是在上面的报告之后买了游戏,它也对我有用。 能够玩2个小时,零崩溃或问题。
Nvidia 1650,Arch Linux最新稳定的内核和驱动程序(所有最新信息),Proton 5.13-2。 没有定制。

不幸的是,游戏仍然对我崩溃。 崩溃是在徽标之前,现在,我可以进入菜单几秒钟了。 RX570(4GB),最新的稳定内核和Mesa 20.2.2,Proton 5.13-2。

使用质子5.13-2和台面20.2-2,我现在可以通过徽标,并在崩溃前稍微进入电影剪辑屏幕,但是现在却出现错误“ vkd3d无法将默认内存分配给系统内存”,所以我想这就是原因我所有的系统内存都被吃光了,游戏崩溃了?

RX480(4GB)
16GB DDR4 3200

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

AwesamLinux picture AwesamLinux  ·  3评论

kforney picture kforney  ·  3评论

Dakunier picture Dakunier  ·  3评论

ghost picture ghost  ·  3评论

AwesamLinux picture AwesamLinux  ·  3评论