Proton: Horizon Zero Dawn (1151640)

Criado em 7 ago. 2020  ·  421Comentários  ·  Fonte: ValveSoftware/Proton

Relatório de Compatibilidade

  • Nome do jogo com problemas de compatibilidade: Horizon Zero Dawn
  • Steam AppID do jogo: 1151640

Informação do sistema

  • GPU: GTX 1080 Ti
  • Versão do driver / LLVM: nvidia 440.100
  • Versão do kernel: 5.7.6
  • Link para o relatório completo de informações do sistema como Gist
  • Versão do Proton: 5.0.10-RC4

Eu confirmo:

  • [X] que não encontrei um relatório de compatibilidade existente para este jogo.
  • [X] que verifiquei se há atualizações disponíveis para o meu sistema.

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

Sintomas

O jogo não inicia - uma caixa de diálogo aparece dizendo "Infelizmente, o jogo travou" sem fornecer detalhes do erro.

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

Reprodução

Basta iniciar o jogo através do Steam.
steam-1151640.log

Game compatibility - Unofficial

Comentários muito úteis

Graças aos patches de Paul e aos esforços contínuos de Hans-Kristian, estamos chegando a algum lugar.
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

Isso é instável e lento no AMDGPU-PRO e, embora pareça estável e o desempenho seja muito bom no RADV / ACO, é visualmente mais problemático (embora ambos sejam). Mas hey, é alguma coisa.

Caso alguém esteja se perguntando, isso foi feito com o cabeçote atual do proton-tkg, baseado no teste 5.15.2r7 (aaea13a1).
Edit: Existem problemas de bloqueio na Nvidia atualmente.

Todos 421 comentários

Mesmo problema aqui. Caixa de erro idêntica e nada mais.

Informação do sistema

  • GPU: GeForce GTX 1080 Ti
  • Versão do driver / LLVM: NVIDIA 440.95.01
  • Versão do kernel: 5.4.0-7634-genérico
  • Link para o relatório completo de informações do sistema como Gist :
  • Versão do Proton: 5.0-9

Um comentário mais abaixo notou que os logs são diferentes se você clicar em "sim" ou "não" para enviar um relatório.
Aqui estão os registros para ambos os casos:

Log ao clicar em "não" para enviar relatório de falha:
steam-1151640-no_crash_report.log

Faça login ao clicar em "sim" para enviar relatório de falha:
steam-1151640-yes_crash_report.log

Edit: Por curiosidade, tentei com o mais recente lançamento GloriousEggroll / proton-ge-custom, com aparentemente o mesmo resultado.
Faça login aqui, caso isso ajude alguém: proton_5.9-GE-5-ST_steam-1151640.log

Mesmo problema aqui. Caixa de erro idêntica e nada mais.
steam-1151640.log
Steam Sys-info

Olhando os logs de todos, parece que este é um ponto comum onde ocorre o erro.

warn: debugstr : OutputDebugStringA "Ocorreu uma exceção não tratada desconhecida (C06D007Eh) no thread 'Main' (0) no local da instrução 000000007B00FC3Eh \ n \ nPilha de chamadas: \ nEndereço de base: 0x000140000000 \ n 0. 0x00007BCDAC6C RtlVirtualUnwind70000 RtlVirtualUnwind7000007BCDAC6C RtlVirtualUnwindlvdl \ nDA \ nDABlD \ nDA \ n 2. 0x00007BCDB2FE NtRaiseException \ n 3 "

Estou tendo o mesmo problema, a mesma linha também estava em meu log de prótons, junto com o erro cpu_context_win.cc:144] contexto não-x64

Mesmo problema mencionado por outros usuários. No entanto, ainda estou atualizando meus resultados, caso isso ajude ainda mais a encontrar a causa raiz.

Informação do sistema
steam-1151640_GE_5.9-5_ST.log
steam-1151640_Proton509.log
steam-1151640_Proton509_next.log

Mesmo problema aqui.

o mesmo aqui

Eu acho que "erro cpu_context_win.cc:144] contexto não x64" é o relator de falha travando e não o hzd.
Quando você clica em não ao ser solicitado a enviar o relatório de erro, obtém um registro de prótons muito diferente.
Em seguida, avise: debugstr : OutputDebugStringA "Inicializando o Heap DLMalloc \ n" talvez se pareça com a bruxa má que causou tudo isso.
steam-1151640.log

Também é apenas dx12. Isso também pode não ajudar muito.

Estou recebendo o mesmo pop-up .. Tentei várias versões do próton, incluindo próton-ge e próton-tkg ..

Estou tendo o mesmo problema

Em seguida, avise: debugstr : OutputDebugStringA "Inicializando o Heap DLMalloc \ n" talvez se pareça com a bruxa má que causou tudo isso.
steam-1151640.log

Não é. Esses logs têm muitas informações e possivelmente não o suficiente.

Ponto, na verdade, você pode olhar

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

e acho que isso poderia causar uma falha. Mas, é altamente provável que seja uma pista falsa.

Além disso, coisas como "execute_cfa_instructions", "raise_exception", "dump_unwind_info" podem estar presentes em um jogo funcional. Os logs também podem apresentar outros desafios, com entradas de log que aparecem em locais diferentes.

Também há fixme e avisos aparecendo para dx12, mas isso pode ou não significar algo importante também.

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.

É possível que isso leve meses ou mais para resolver. Depende apenas dos problemas e de quantos.

Mesmo problema aqui. Caixa de erro idêntica.
steam-1151640.log
steam-sysinfo.txt

Eu adicionei alguns canais de depuração adicionais para este log que serão úteis.

steam-1151640.zip
sysinfo.txt

Eu adicionei alguns canais de depuração adicionais para este log que serão úteis.

steam-1151640.zip
sysinfo.txt

Isso ajuda um pouco. Os registros anteriores, acho que nenhum outro registro aqui mostra a caixa de diálogo - o emissor não e eu verifiquei um outro fazendo dois antes deste grande que você forneceu.

Você obtém aquela caixa de diálogo de travamento dentro de [edit: 3k] linhas [provavelmente ~ 2.7 ou 2.8k] da informação dx12 que postei acima, notavelmente

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

Já que é principalmente lixo no meio, é provável que esteja acontecendo no dx12 ou antes (eu não olhei mais para isso).

A caixa de diálogo de erro.

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

Portanto, parece que grande parte do log é o resultado final de uma falha. Eu incluí a linha dll amd lá apenas porque está ao lado dela e pode não significar nada.

Também testei o jogo no Windows 10 e também não funciona, exibindo exatamente a mesma caixa de diálogo.

No entanto, antes do erro "Infelizmente o jogo travou ...", ele exibe uma caixa de diálogo diferente que diz que o jogo só será executado com a versão do driver 27. Esta é a versão do driver NVidia DirectX e essa versão suporta DirectX12 Ultimate, o que eu não consegui t instalar no computador que tenho o Windows 10 porque ... motivos ...

Então, presumo que a razão para esta falha no Proton é essencialmente porque não há suporte DirectX 12 Ultimate no Proton, ou DXs sendo usados ​​no prefixo Proton para este jogo, ou porque o driver NVidia que tenho no Linux (440.100) tem não fornecer recursos necessários para implementar / emular DX12 Ultimate, ou algum outro lugar (eu não estou realmente familiarizado com toda a pilha Wine / Proton para ser capaz de identificar isso com mais precisão).

Só meus 2 centavos, pensei que pudesse ajudar de alguma forma.

Então, presumo que a razão para esta falha no Proton é essencialmente porque não há suporte DirectX 12 Ultimate no Proton, ou DXs sendo usados ​​no prefixo Proton para este jogo, ou porque o driver NVidia que tenho no Linux (440.100) tem não fornecer recursos necessários para implementar / emular DX12 Ultimate, ou algum outro lugar (eu não estou realmente familiarizado com toda a pilha Wine / Proton para ser capaz de identificar isso com mais precisão).

Certamente é possível. Apesar de Death Stranding ser, eu acredito, o único outro jogo que está usando esta versão do motor Decima e dx12, e tem funcionado com a próxima versão do Proton, embora isso pareça ser duvidoso e não sem problemas.

VKD3D ainda é um trabalho em andamento, mas eles também observam que 440.100 é aquele que funciona com dx12 e também pode ser necessário um driver de versão superior. Não tenho certeza se alguém testou aqui com o driver beta do desenvolvedor Nvidia Vulkan também.

Mas, definitivamente parece possível que todos precisem esperar que o VKD3D melhore e tenha um driver que funcione com ele. Devo descobrir a tempo.

provavelmente é um problema dx12, eu recebo " fixme: d3d12_device_CheckFeatureSupport : Unhandled feature 0x13." antes de travar, em logs.

Parece que temos que esperar que o vkd3d progrida mais.

provavelmente é um problema dx12, eu recebo " fixme: d3d12_device_CheckFeatureSupport : Unhandled feature 0x13." antes de travar, em logs.

Parece que temos que esperar que o vkd3d progrida mais.

Você pode se livrar desses erros de maneira suja adicionando algumas linhas ao vkd3d. Não faz diferença. Copiar dxcompiler.dll do diretório de ferramentas para o diretório do executável faz com que ele mostre a tela de carregamento, mas ainda trava com a mesma mensagem, portanto, não é realmente útil.

Percebi, ao fazer alguma depuração, que a mensagem de erro é de um manipulador de exceção genérico. Não indica o que está acontecendo nos bastidores, exceto que o jogo travou.

Como @Danacus diz, o erro inicial provavelmente se deve ao fato de dxcompiler.dll estar faltando (do log de

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

Se alguém que copiou dxcompiler.dll do diretório de ferramentas para o diretório do executável (e chegou à tela de carregamento, como afirmou Danacus) puder fornecer um log WINEDEBUG=+relay,module,seh,timestamp , isso pode ajudar a encontrar uma maneira de contornar isso :) ( lembre-se de compactá-lo, caso contrário, ficará bem grande, haha)

Não acho que tenha chegado a carregar a tela, mas o log parece um pouco diferente, então talvez seja útil, talvez não.
steam-1151640_2.zip

@korodarn Não d3dcompiler_47 ( protontricks 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
Copiei o d3dcompiler_47 para a pasta executável, bem como a execução anterior ao que carreguei. Eu fechei antes, então está aqui

* Sei que isso pode não fazer exatamente a mesma coisa que a instalação, já que não alterei a configuração, então estou verificando se ele usou este arquivo e tentarei executar novamente depois.

Acho que isso pode estar relacionado à causa da falha, então:

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

Existem também algumas mensagens de aviso acima, não tenho certeza se são relevantes:


d3d12 fixmes no log

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!

Ainda trava para mim.

Suponha que não valha nada e dê à intersectRaven uma pausa para a postagem de baixa qualidade, já que o patch inclui "Alguns jogadores estão tendo travamentos de inicialização. O Patch 1.01 corrige alguns, mas não todos, desses travamentos."

Esse patch só deve beneficiá-lo quando você puder executá-lo.

Mas, ele ainda pode precisar de correções de Proton / Wine / VKD3D / etc antes que este jogo seja executado.

Selecionando alguns commits do upstream vkd3d na árvore de válvula, você pode corrigir os erros de "recurso não tratado" e pode corrigir os erros de "formato não tratado" simplesmente adicionando os formatos ausentes (não é difícil, esses são formatos suportados no vulkan você só precisa adicionar o mapeamento correto).
Depois disso, o jogo reclama da falta de suporte a DXIL. Infelizmente, mesmo se você habilitar o dxil-spirv no vkd3d, você ainda não conseguirá ir além da tela de carregamento porque ele falha com um "[ERROR] UNKNOWN unimplemented" que está vindo do dxil-spirv. Tentei ir mais fundo, mas essas coisas (vulkan / spirv / llvm) estão além da minha cabeça e nem tenho certeza se o que fiz até agora está correto. De qualquer forma, acho que esse jogo precisa de DXIL e dxil-spirv ainda não é suficiente.

Bem, existem más notícias e boas notícias. Houve uma atualização recente do dxil-spirv e agora a inicialização dos gráficos parece ter sido feita e agora a entrada está quebrada. O jogo tenta carregar "Windows.Gaming.Input" e não consegue. Parece que é algum tipo de API WinRT / UWP, mas não consigo encontrar muitas referências a isso no wine, não tenho certeza de qual é a próxima etapa aqui.

Edit: encontrei algumas coisas interessantes no wine e fiz alguns stubs esperando que travasse mais tarde, mas é o mesmo, acho que este jogo agora está bloqueado por recursos faltantes fundamentais do wine.

@ nyz93 você pode publicar suas alterações feitas até agora para o HZD, talvez eu encontre algum tempo neste fim de semana e adicione todas as coisas que faltam no WinRT / UWP.

@ lyra00 você deve instalar o dxil-spirv e construir este vkd3d usando --with-dxil-spirv . Sobre como colocar isso no próton, não tenho 100% de certeza se estou usando uma cópia EGS, wine 5.14-staging regular e um prefixo vazio com apenas vcrun2015 de winetricks.

@ nyz93 : OK, acho que tenho suas alterações implementadas no Proton localmente (com integração de buildsystem). No momento, estou construindo e testando e, quando funcionar, crio um FORK público na minha conta do github amanhã. Então eu coloco esse material WinRT / UWP em execução. Esperançosamente, essa é a última coisa que falta aqui.

Você já tentou com o garfo vkd3d-proton? Ele tem uma tonelada de commits à frente do repositório oficial vkd3d no winehq desde que foi bifurcado.

Interessante vkd3d-proton fork já tem o dxil-spirv integrado, então talvez seja melhor usá-lo em vez de adicioná-lo ao próton diretamente.

Oi,

isso já deve estar integrado nas construções de prótons TKG.

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

Vem com a última versão devel do vkd3d-proton autônomo de HansKristian & Doitsujin - https://github.com/HansKristian-Work/vkd3d

Ok, estou trabalhando em um Proton HZD Fork, onde estou adicionando todas as alterações feitas por @ nyz93 (um biiiig graças a ele).
Recebo as alterações do vkd3d em execução, mas tenho problemas para construir o dxil-spirv com o tempo de execução do Steam padrão.

@fsyy infelizmente não pude compilar o TKG Proton (tantos conflitos de fusão O_o), mas a única diferença para o Proton padrão é que "--with-dxil-spirv" está ativado como padrão, então não valeu a pena para mim seguindo esse caminho por mais tempo.
Vou ficar com o Proton-5.0-next e as mudanças seletivas do Wine-5.x quando for necessário.

Aqui está um Fork que criei, quando você tiver uma solução específica de HZD, poderá adicionar um PR.
https://github.com/lyra00/Proton
Quando temos o HZD em execução, podemos contribuir com as alterações para o Proton Original.

Coisas que eu fiz, planejando fazer:

  • [x] Fork https://github.com/HansKristian-Work/vkd3d-proton e aplicando as alterações de
  • [x] Fork Proton, mude o submódulo para o Forked vkd3d-próton
  • [x] Adicionar submódulo dxil-spirv
  • [] Integrar o dxil-spirv ao sistema de construção do Proton
    > - [] Descobrir como fazer o WinRT / UWP rodar no wine / linux
    ou
    > - [] Grave um "Windows.Gaming.Input" no Wrapper "DirectInput"
  • [] ...

Espero poder entrar no assunto do WinRT / UWP no próximo fim de semana.

Uma coisa a se notar neste jogo é que ele tem muitos bugs. Mesmo no Windows, tive muitos problemas com ele travando a cada 10 minutos ou mais. Eu finalmente descobri como fazer para parar de fazer isso no Windows graças a uma postagem no reddit, e não tenho certeza de qual parte disso realmente corrigiu, mas não tive um travamento desde que acompanhei esta série de coisas, e pensei que seria útil observá-lo aqui

Desative a proteção de fluxo de controle no Windows Defender apenas para HZD
Habilitar páginas grandes
Se você estiver usando a versão mais recente do Windows (v2004 ou 19041.xxx), certifique-se de ativar o HAGS.
Existe um programa chamado "Intelligent Standby List Cleaner", que limpa a memória standby ao longo do tempo com base em certos parâmetros, pegue-o e garanta que ele seja executado em segundo plano.

Destes, a HAGS parece ser apontada para corrigir as falhas de outros, então estou pensando que essa pode ser a parte mais importante. Claro que espero que um patch seja lançado novamente, o que torna as configurações como essa no Windows desnecessárias para mais de nós.

Graças aos patches de Paul e aos esforços contínuos de Hans-Kristian, estamos chegando a algum lugar.
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

Isso é instável e lento no AMDGPU-PRO e, embora pareça estável e o desempenho seja muito bom no RADV / ACO, é visualmente mais problemático (embora ambos sejam). Mas hey, é alguma coisa.

Caso alguém esteja se perguntando, isso foi feito com o cabeçote atual do proton-tkg, baseado no teste 5.15.2r7 (aaea13a1).
Edit: Existem problemas de bloqueio na Nvidia atualmente.

Parabéns rapazes! Então, isso está usando um conversor DX12 para Vulkan (SPIR-V) rápido?

Respondendo a https://github.com/ValveSoftware/Proton/issues/4125#issuecomment -680129597

Agora estou curioso para ver como ficará na GPU da nvidia. Os drivers da Nvidia são menos problemáticos do que os AMDs.

@ Galcian79 É renderizado de forma semelhante ao AMDGPU-PRO. Rochas flutuantes, plantas, objetos perdidos, etc., mas sem linhas por toda parte. Não tenho certeza sobre a estabilidade.

não funciona aqui, usuário da nvidia, mesmo erro de antes.

logar com um novo prefixo:

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

especificações do sistema:

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

Não funcionou para mim no início, mas compilar vkd3d-proton para uma dll e definir uma substituição de dll para nativo funcionou. Eu não sei por que o vkd3d-proton nativo do PKGBUILD do @Tk-Glitch não funcionou.

@Danacus A biblioteca compartilhada tem funcionalidades limitadas em comparação com a construção dll autônoma. Usar a versão autônoma é necessário para vários jogos d3d12 funcionarem, pois permite contornar algumas limitações do wine.

@ Tk-Glitch Oh ok, é bom saber. Obrigado!

quais limitações?

Na quarta-feira, 26 de agosto de 2020 às 16:40 Daan Vanoverloop
notificaçõ[email protected] escreveu:
>

@ Tk-Glitch Oh ok, é bom saber. Obrigado!

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub ou cancele a inscrição.

@ Tk-Glitch Eu usei seu vkd3d-git PKGBUILD para instalar o vkd3d-proton.
Então eu compilei proton-tkg com _use_vkd3dlib="false" e tentei HZD novamente, mas ainda travou.

Eu também tentei (como mencionado em https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-680883714) compilar vkd3d-proton e copiar o dll dentro de system32 e syswow64 dentro do wineprefix e adicionar uma substituição em winecfg para d3d12.dll para o nativo. Isso também não mudou nada.

Eu preciso mudar algo no prefixo de vinho do HZD? É possível que tenha algo a ver comigo usando mesa-aco-git ou amdvlk vez de vulkan-radeon ?

Sidenote para os aventureiros:
O jogo requer d3dcompiler_47.dll nativo (você pode executar cp ./Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll . do diretório do jogo para "forçar" o uso dele, o que o jogo não faz por padrão).

@ D3SOX Aparentemente, o chefe atual de mesa-git impede o jogo de rodar. mesa-aco-git deve ser descontinuado agora também. AMDVLK não funciona com o jogo afaik (-pro funciona, possivelmente apenas no Navi, pois não testei o Vega nem o Polaris).
O d3d12.dll nativo deve ser usado por padrão ao construir proton-tkg sem você fazer nada. Você também não precisa de um pacote vkd3d instalado para usar o d3d12.dll independente.

@slapin A necessidade de uma implementação D3D12CreateVersionedRootSignatureDeserializer do lado do vinho, por exemplo, ou ser capaz de usar um dxgi diferente, como o DXVK. Hans-Kristian e Doitsujin sabem melhor: stick_out_tongue:

@ Tk-Glitch Eu mudei de volta para o padrão mesa e substituí amdvlk por vulkan-radeon (e os pacotes lib32) e copiei d3dcompiler_47.dll com o comando fornecido. Agora o jogo roda (vejo uma janela nele), mas ainda trava
image
Saída do terminal: https://gist.github.com/D3SOX/8e2c25b21309f3b8584ef510baca43bd

Tente copiar dxcompiler.dll também.

Tente copiar dxcompiler.dll também.

Fiz cp Tools/ShaderCompiler/PC/1.0.2595/x64/dxcompiler.dll . dentro de /steamapps/common/Horizon Zero Dawn mas o mesmo erro persiste

O dxcompiler.dll funcionou para mim. Muito obrigado! : +1:

Olá, seria possível resumir as etapas necessárias em uma única postagem amigável para novatos? Eu tenho seguido este tópico, mas estou um pouco fora do meu alcance e a documentação do

Olá, seria possível resumir as etapas necessárias em uma única postagem amigável para novatos? Eu tenho seguido este tópico, mas estou um pouco fora do meu alcance e a documentação do

Você não precisa construir o Proton. Para mim, ele funciona com a última compilação do Proton do TKG e depois de copiar d3dcompiler_47.dll para o diretório do executável Horizon Dawn do diretório Tools dentro. Além disso, ainda há falhas aleatórias e problemas de artefatos que serão resolvidos pelos devs proton e vkd3d.

Você não precisa construir o Proton. Para mim, ele funciona com a última compilação do Proton do TKG e depois de copiar d3dcompiler_47.dll para o diretório do executável Horizon Dawn do diretório Tools dentro. Além disso, ainda há falhas aleatórias e problemas de artefatos que serão resolvidos pelos devs proton e vkd3d.

Eu não consigo fazer isso funcionar dessa maneira. Ainda tendo esse problema mencionado acima
Tentei desinstalar amdvlk lib32-amdvlk sem sucesso.
Eu verifiquei os arquivos do jogo com o Steam e copiei os 2 dll's
image

Opções de lançamento: PROTON_USE_WINED3D=1 RADV_PERFTEST=aco %command% (também tentei sem eles)
Versão do próton: proton_tkg_5.16.r2.gf6495b29.release

Informações do sistema Steam: https://gist.github.com/D3SOX/5f08de587b6106c02a2436ba1b81bd99 (IDK se esses erros em architectures.i386-linux-gnu.graphics-details.x11/vulkan.messages e architectures.x86_64-linux-gnu.graphics-details.x11/vulkan.messages forem um problema)

Recebo este aviso ao iniciar o jogo:
2020-09-02_09-56
Clicar em sim me dá
image

steam Saída do terminal: https://gist.github.com/D3SOX/6abf189507fa917a3f9834f8bf7104f4

@ D3SOX Você tentou construir vkd3d-proton e copiar o d3d12.dll resultante para a pasta do jogo? Usar PROTON_USE_WINED3D também não é necessário. Você também pode querer construir mesa-git ou mesa-tkg (ou adicionar um repositório de usuário como chaotic-aur e instalar a partir daí). Observe que o jogo atualmente não é muito jogável.

Obrigado @Danacus . Eu removi PROTON_USE_WINED3D , compilei mesa-git e substituí mesa por ele. Ele removeu um monte de outros pacotes que eu instalei anteriormente
image
Também copiei d3d12.dll de vkd3d-proton/build.64/libs/d3d12/ para o diretório do executável.

Mesmo problema.
Novas informações do sistema Steam https://gist.github.com/D3SOX/639d889140f4c3393b215b495b5dcc89
Nova saída de terminal steam : https://gist.github.com/D3SOX/9cebd1c65746d39166345514dee3729d

Obrigado @intersectRaven , não

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)

Parece que a versão mais recente do libc para o Ubuntu é 2.31, isso significa que estou preso até que haja um libc6 2.32 disponível ou posso apenas ir e alterar o número da versão onde quer que seja referenciado? (não tenho ideia de como eu faria isso).

Além disso, parece que todas as instruções neste tópico são voltadas para o Archlinux, eu não suponho que haja um equivalente no Ubuntu para tudo o que está sendo usado aqui? (como construir mesa-git, por exemplo)

Se você puder encontrar a versão da glibc 2.32 no Ubuntu, ele deve iniciar então.

No Manjaro, a mudança para o branch instável irá então mostrá-lo no gerenciador de pacotes.

Obrigado @ mixalis1987 , baixei o pacote para glibc 2.32 e tentei instalar manualmente, mas não deu muito certo. Depois de reinstalar o Ubuntu duas vezes, acho melhor esperar pelo lançamento oficial ou por uma atualização do Proton, o que ocorrer primeiro.

É assim que parece na Nvidia,

rodando em 450.56.06
Screenshot_20200905_105059
Plantas e pedras estão flutuando, você não pode progredir até esse ponto, você tem que se esconder na grama alta que não existe / não está renderizada
Screenshot_20200906_024100

Alguns dos problemas de pedra e grama que estão desaparecendo são corrigidos neste PR: https://github.com/HansKristian-Work/vkd3d-proton/pull/263
Testado em Nvidia RTX 2070
Horizon Zero Dawn_Sun_Sep__6_09-24-00_2020

Infelizmente, algumas coisas ainda flutuam e \ ou aparecem nos lugares errados.
Horizon Zero Dawn_Sun_Sep__6_09-28-11_2020
Horizon Zero Dawn_Sun_Sep__6_09-36-05_2020

Mas não é tão ruim quanto antes.

O jogo ainda não pode ser jogado.

Nenhum problema com Mesa-git + Proton-5.9-GE-6
Capture du 2020-09-06 14-59-38

@Odelpasso onde você consegue Proton-5.9-GE-6?
Aqui https://github.com/GloriousEggroll/proton-ge-custom/releases apenas Proton-5.9-GE-5-ST estão disponíveis.

Era um link do google disponível no discord VKx.

wine-tkg funcionará bem se você seguir as etapas mencionadas neste tópico. Um compromisso muito recente com o Mesa deve ter corrigido os problemas gráficos.

Edit: Caso alguém queira saber, essas duas linhas parecem ter corrigido todas essas falhas gráficas com Mesa RADV.

@Odelpasso Onde?

@Danacus Não consigo fazer o wine-tkg construir no arch, quais passos?

@Odelpasso Onde?

@Danacus Não consigo fazer o wine-tkg construir no arch, quais passos?

Proton (postado por GloriousEggroll na discórdia): https://drive.google.com/file/d/1OLp74WlIKSnOI6PphiiXwIySLpwOFj5j/view
image

Vinho-tkg:

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

@ D3SOX

Proton (postado por GloriousEggroll na discórdia)

Oh, eu vejo agora, a busca por discórdia estava sendo .. realmente estranha.

O arquivo está na lixeira dos proprietários? Oof. Mas conseguiu fazer o download.

Vinho-tkg:

Sim, foi o que eu fiz, wine-tkg não constrói. Um erro em build() e ele para, ou usando o script ele apenas fecha silenciosamente.

@DianaNites

Vinho-tkg:

Sim, foi o que eu fiz, wine-tkg não constrói. Um erro em build() e ele para, ou usando o script ele apenas fecha silenciosamente.

Você pode adicionar caótico-aur para pacotes pré wine-tkg .

@ D3SOX Hmmm, o link do Google Drive parece estar fora do ar. Isso me diz que o arquivo foi para a lixeira. Alguém pode pedir ao GloriousEggroll para publicá-lo oficialmente? Porém, imagino que ele tenha seus motivos para não fazer isso ainda.

Além disso, tenho jogado o jogo extensivamente e parece travar aleatoriamente, embora eu também tenha conseguido executá-lo sem nenhum problema gráfico perceptível depois de correr com dxgi.dll nativo vs DXVK e forçar a recompilação dos shaders.
Às vezes, se eu tiver que interromper o processo por causa desse congelamento, a coisa de objetos flutuantes reaparece. Forçar o jogo a recompilar seu cache de sombreador parcialmente (alterando as versões dxgi.dll) ou totalmente (excluindo PSOCache.bin ou substituindo-o por um backup) corrige o problema de objeto flutuante ... Bem, até o jogo congelar novamente ao acaso e corrompe o cache no processo. Vamos esperar que isso também seja corrigido. Tenho tido problemas de congelamento semelhantes em outros jogos que rodam com VKD3D.

@RoyShapiro Você pode baixar com https://gdbypass.host/
Mas ele disse

porque fiz outra construção hoje cedo que estava testando esta manhã
Eu não pretendia que essa construção fosse pública, postei aqui para algumas pessoas testarem com radv ontem

Ainda estou tentando lançá-lo

Screenshot_20200906_152955

Começa! Funciona! Até agora .. Espere e veja!

@DianaNites Não entendi. Precisamos apenas do Proton.5.9-GE-6-ST para iniciar o jogo? Nenhuma DLL extra ou algo assim?

@ mixalis1987

Eu fiz as dll mencionadas em outro lugar no tópico, mas não testei sem ela e não entrei no jogo ainda devido aos requisitos insanos de RAM e outros programas abertos. Depois de fechar os outros programas e liberar um pouco de RAM, verei como realmente funciona.

@DianaNites Ah, obrigado. Eu estarei dando uma olhada nisso em breve.

@DianaNites Não entendi. Precisamos apenas do Proton.5.9-GE-6-ST para iniciar o jogo? Nenhuma DLL extra ou algo assim?

Sem executar cp ./Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll . do diretório do jogo, o jogo não funciona mesmo com Proton-5.9-GE-6

Infelizmente, sempre trava para mim depois de um curto período de tempo na introdução ou menu (radv & amdvlk-pro, proton-tkg). :(

Eu fiz funcionar! Construiu o Proton-tkg, usei as dlls da pasta de ferramentas, mesa-git e pronto! Usar hardware AMD, entretanto, aparentemente se sai melhor do que NVIDIA.

Algumas falhas visuais menores e raros, alguns travamentos (mas aqueles poderiam ser do próprio jogo?), Mas em geral FUNCIONA! Esteja preparado para reiniciar o jogo com bastante frequência, embora possam ser simplesmente os bugs do jogo. Muito progresso foi feito para fazer isso funcionar e, FAZ!


Capturas de tela

Eu não percebi que tinha que esconder a IU sozinho, então imagens ruins :(

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

editar:

ele continua batendo em uma parte específica, logo após as imagens acima, a sala com todas as pessoas mortas nas camas.

Surpreendentemente, consegui consertar a falha , usando esta dica do PCGamingWiki

O jogo parece estar funcionando incrivelmente bem e eu superei a parte infantil do Aloy, consegui salvar no fogo e o jogo travou novamente. Mesmo assim, foi uma boa hora, hora e meia? Provavelmente funcionará bem depois que eu reiniciar novamente, a edição hexadecimal parece ter, de alguma forma, corrigido aquele travamento persistente.

Devo observar que a tela de carregamento para after child aloy demorou muito, mas acabou. Eu pensei que estava pendurado.

Esteja avisado, no entanto, que depois de algumas escavações, as instruções editadas por hexágono são possivelmente intencionais para acionar uma falha. Veja aqui , por exemplo.

editar:

Funcionou bem depois de reiniciar, demorou mais uma ou duas horas antes de travar novamente. Ainda é difícil dizer se a falha é do próton ou do jogo, no entanto.

Este foi no novo sistema transdérmico 1,04, protão-tkg mestre git, mestre mesa-git, ambos os quais não têm novas submissões desde ontem.

editar: lembre-se também de ainda usar as dlls da pasta de ferramentas. Copie-os novamente, idk se eles mudaram no patch, mas poderiam ter

O patch 1.04 está disponível há 15 minutos e visa corrigir ainda mais falhas:
https://store.steampowered.com/newshub/app/1151640/view/2905340212273715393

Correções de falhas:
Corrigida uma falha que poderia ocorrer quando os usuários criavam um novo jogo e seus slots de jogos salvos estavam cheios
Corrigida uma falha de inicialização relacionada à pasta temporária
Corrigido um acidente de IA que poderia ocorrer durante o combate
Corrigida uma falha de IA no EventMessageHandler
Corrigida uma falha relacionada à amostragem de WorldData (a pilha de chamadas terminaria em WorldMapData :: SampleAtPixel)
Corrigida uma falha em que os usuários desistiam instantaneamente ao alterar os controles deslizantes no menu Configurações
Corrigida uma falha que ocorria ao ter a opção “Saudações” aberta no modo de foto e, em seguida, saindo
Possível correção de corrupção de memória em rotinas de IA, o que poderia levar a travamentos
Possível correção de travamento da GPU causado por um problema de thread
Corrigida uma incompatibilidade que ocorreria no hardware Shader Model 6.0 e 6.1 que poderia levar a uma falha

O jogo trava no lançamento desde o último patch ... Funcionou corretamente com GE-6 + patch 1.03 ..

Ainda funciona para mim com proton-tkg! Tente mudar para aquele @Odelpasso ?

Patch não me ajudou, ainda trava no menu / intro vid com proton-tkg ou -ge. No wine-tkg (com d3d12.dll vkd3d nativo), ele trava logo no início. Hitman 2 D3D12 funciona em ambos os casos.

Os commits de hoje em https://github.com/HansKristian-Work/vkd3d-proton/commits/master estão fazendo com que o jogo trave para mim (sem exibir nada, mas, aparentemente, um pouco antes disso (o jogo leva algum tempo antes A reversão do d3d12.dll para a versão de ontem "corrige" o problema.

Se outra pessoa tiver o mesmo problema, registre um problema com vkd3d (quero ter certeza de que não sou só eu primeiro).

Testado novamente usando Proton-GE 5 e 6 com atualizações recentes no VKD3D-Proton e travamentos mais recentes do VKD3D-Proton, então talvez esse seja o seu problema @aufkrawall e @RoyShapiro. Depois de dividir ao meio, descobri que os commits após 3002d52ed404cdd65d2c57193fe9bdbdf683161c estão causando os travamentos, então apenas execute um git reset para esse commit e depois recompile e copie-o para o diretório HZD. Até agora, as coisas flutuantes não apareceram após a recompilação do shader no NVidia. Ainda irritado, embora em Favor Performance.

Capturas de tela

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

Depois de dividir ao meio, descobri que os commits após 3002d52ed404cdd65d2c57193fe9bdbdf683161c estão causando as falhas

Portanto, NÃO apenas o meu problema. Obrigado pela dica, porém, porque significa que não são TODOS os commits de hoje, apenas depois daquele.
Mesmo assim, acho que devemos avisar Hans-Kristian.

Eles parecem estar adicionando um novo recurso, então pode haver bugs por algum tempo. Não sei se eles devem ser informados ou se já estão, pois pode ser que o que eles estão adicionando ainda esteja em desenvolvimento. Esqueci de mencionar que no GE-5 ele ainda trava após atingir 100% de otimização de inicialização. GE-6 está bem. Para sua informação,

@intersectRaven entendo. Mesmo assim, testei a mesma dll com Control e Resident Evil 2, GE-6, sem travamento. Parece afetar o HZD mais especificamente do que outros. Espero que eles notem.

Atualização: Já percebi, exatamente como você previu. https://github.com/HansKristian-Work/vkd3d-proton/commit/cea17b2440de66a9c1c1978ff297e59abddaa4d1 corrigiu o travamento para mim.

Este novo commit pode corrigi-lo, a função em que está é usada por este commit HZD.

Recompilar e testar agora

editar:

Pode de fato confirmar que ainda funciona muito bem!

@DianaNites Sim , acabei de testar.

Não adiantou para mim, tentei todas as sugestões e outras coisas (esync / fsync desligado etc.). :(
Vocês podem mudar para o modo de tela cheia sem travar? Crash instantaneamente para mim.

A verbosidade do Steam também não parece muito reveladora para mim:


>>> 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.

Vocês podem mudar para o modo de tela cheia sem travar? Crash instantaneamente para mim.

@aufkrawall Sim, mudar os modos de tela cheia uma falha instantânea para mim também, mas começa no modo de tela cheia sem bordas de qualquer maneira, então eu não me preocupo muito.

Você também vai querer usar PROTON_LOG=1 %command% nas opções de inicialização para obter um log decente, ele estará em seu diretório home.

Fora isso, o jogo funciona muito bem para mim agora, e estou progredindo bem. Um acidente, talvez a cada hora ou assim? Irritante, e com a incapacidade de salvar em todos os lugares, induzindo ansiedade, mas difícil dizer se é do jogo ou do próton.

Eu percebi um problema extremamente bizarro ao executar o benchmark. Embora eu tivesse bastante RAM livre, ele estava se alocando para trocar como um louco, tornando o desempenho do benchmark ainda mais baixo do que já é.


Capturas de tela

Screenshot_20200908_132008
Screenshot_20200908_132338
Screenshot_20200908_131942

Pareceu parar de fazer isso após uma reinicialização, voltando aos 12 FPS "normais" relatados pelo benchmark. O desempenho real no jogo é melhor do que isso , no entanto.


Captura de tela

Screenshot_20200908_134459

Vocês podem compartilhar sua build Wine?

Dica: desligue o V-Sync no jogo, ele causa problemas de baixo desempenho na CPU e
GPU mesmo no Windows nativo.
Tente habilitá-lo via. Perfil do aplicativo em seu driver gráfico.
Não posso dizer como, estou usando Nvidia, você está usando AMD.

Am Di., 8. set. 2020 um 21:07 Uhr schrieb Diana notificaçõ[email protected] :

Vocês podem mudar para o modo de tela cheia sem travar? Falha instantaneamente
para mim.

@aufkrawall https://github.com/aufkrawall Sim, alterando a tela inteira
Modifica uma falha instantânea para mim também, mas começa em tela cheia sem bordas
modo de qualquer maneira, então eu não me preocupo muito.

Você também vai querer usar PROTON_LOG = 1% command% nas opções de inicialização para obter um
log decente, ele estará em seu diretório inicial.

Fora isso, o jogo funciona muito bem para mim agora, e estou progredindo
agradável. Um acidente, talvez a cada hora ou assim? Irritante e com incapacidade
para salvar a ansiedade em todos os lugares, mas é difícil dizer se é do jogo
ou do próton.

Eu notei um problema extremamente bizarro ao executar o benchmark,
Apesar. Embora eu tivesse bastante RAM livre, ele estava sendo alocado para trocar
como um louco, tornando o desempenho do benchmark ainda mais baixo do que já é.
Capturas de tela

[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

Pareceu parar de fazer isso após uma reinicialização, no entanto, voltando para o
12 FPS "normal" relatado pelo benchmark. O desempenho real no jogo é
melhor do que isso , no entanto.
Captura de tela

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

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-689077992 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/AJWSJOPVTOKHFPVXYJLERRDSEZ6HPANCNFSM4PXXJIQA
.

Existem várias maneiras de habilitar o V-Sync:

  • Opção TearFree na configuração do Xorg
  • mangohud pode forçar o V-Sync nos jogos
  • Se você não se importar com a latência, um compositor pode adicionar V-Sync também

Eu não entendo o que há de errado para mim ...
Eu sou o único com esse problema.

@Odelpasso tente @DianaNites fez para que alguém pudesse examiná-lo e talvez apontar a direção certa.

steam-1151640.zip
Em anexo está meu log de prótons para travar ao carregar ou iniciar um novo jogo sob o GE-6-ST não oficial. O jogo carrega no menu e os logotipos são exibidos, mas nada além disso funciona.

Eu tentei a última versão do TKG que era 5.16+ se bem me lembro, e teve o mesmo resultado lá com o jogo travando cerca de 2 / 3-3 / 4 durante o carregamento. Eu tentei compilar o tkg sozinho usando o script, mas recebo um erro durante a correção do hotfix, menciona 16 de 76 pedaços FALHOU - salvando rejeições no arquivo patches / patchinstall.sh.rej
Infelizmente não sou adepto o suficiente para passar daquele ponto sem um guia e não tive tempo de descobrir se havia um em algum lugar.

Passos dados até agora para chegar ao meu registro
1) Movidos dxcompiler e d3dcompiler_47 para a pasta com o aplicativo exe
2) Usei protontricks para definir d3d12.dll como nativo (não fiz isso até depois de tentar sem e obtive o mesmo resultado nas duas vezes, então não sei se isso fez alguma diferença em qualquer direção)

@Odelpasso tente @DianaNites fez para que alguém pudesse examiná-lo e talvez apontar a direção certa.

Este é o meu registro do jogo ....
steam-1151640.log

Em Pascal (GTX 1070) usando o mesmo proton-tkg-5.16.r12, atualizar os drivers da Nvidia de 450.56.06 para 450.56.11 consertou as rochas flutuantes e grama alta não renderizando, tornando possível terminar o tutorial. Jogado por uma hora sem travar e só parou por não conseguir fazer o controlador funcionar.

Consegui correr como deveria. Sem artefatos. A solução é a mesma que apliquei aqui para o Battlefield V.

Meu sistema:
GPU: AMD RX580 8 GB
CPU: Intel i7 4770 (Haswell)
SO: Arch Linux
Kernel: 5.8.7-13-tkg-pds
Vinho: Frogging-Family / wine-tkg-git

Compile o vkd3d-proton d3d12.dll mais recente.

Screenshot_20200910_093131

@rizzini eu fiz WINEPREFIX=/run/media/nico/DATA_SSD/SteamWindowsLib/steamapps/compatdata/1151640/pfx /usr/share/steam/compatibilitytools.d/proton_tkg_makepkg/dist/bin/winecfg e adicionei d3d12 como Native (Windows)
como no problema que você mencionou.

estou a usar
GPU: AMD RX480 8 GB
CPU: AMD Ryzen 9 3900X (Zen2)
SO: Arch Linux
Kernel 5.8.8-14-tkg-upds (com fsync)

Eu também compilei proton-tkg-git (a versão é 5.16.r19.g88e6b6c6-1 ) e usei-o no Steam para o jogo
Como argumentos de lançamento, eu uso 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%
(para forçá-lo a usar RADV, já que também tenho AMDVLK instalado)

Estou um passo além do que nunca porque agora vejo o indicador de carregamento no canto inferior esquerdo e o cursor personalizado do mouse depois de renomear drive_c/users/steamuser/My Documents/Horizon Zero Dawn mas agora recebo este erro:
image

Depois de renomear de volta para Horizon Zero Dawn e reiniciá-lo, ele fez algumas coisas estranhas na pasta Saved Game e também removeu os arquivos dentro dos jogos salvos.
image
Anteriormente, parecia assim:
image

Log do Steam da pasta inicial:
steam-1151640.log

@ D3SOX , você agiu certo, mas olhando para o seu log, parece que o Proton ainda está usando o d3d12.dll da pasta executável Horizon Zero Down. Tente excluí-lo e manter apenas o que está em sua pasta 1151640/pfx/drive_c/windows/system32/ .

Linha 2312 do seu registro:

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

Aqui está o meu d3d12.dll . Apenas no caso de.

Edit: Eu nunca vi esses erros de jogo salvo. Tente fazer backup e excluir, apenas para solução de problemas.

@rizzini Eu vkd3d-proton e o criei “do jeito mais simples”, então acho que minhas DLLs devem ficar bem
Copiei a compilação x64 para a pasta do executável e também a substituí dentro de SysWOW64 .
Em System32 substituí d3d12.dll pela minha construção x86 . Então eu não acho que seja um problema carregá-lo de lá, já que é o mesmo arquivo DLL? Ou tenho que copiar a compilação x64 em System32 ?

Para os jogos salvos: o problema é que tentei excluí-los, mas recebo o erro de salvar jogo. Sem excluí-los, ele apenas trava. (Acho que pode ter algo a ver com esses arquivos, já que joguei um pouco no Windows)

No entanto, eu o apaguei do diretório de executáveis ​​e ele ainda trava. Registro:
steam-1151640.log

Eu uso mesa-tkg-git version 20.3.0_devel.128249.5e9e4573835-1 . Também pode ser um problema. Qual versão do mesa você usa?

@ D3SOX

Em um computador de 64 bits, os programas de 64 bits armazenam seus arquivos em C: \ Arquivos de programas e a pasta C: \ WindowsSystem32 do sistema inteiro contém bibliotecas de 64 bits. Os programas de 32 bits armazenam seus arquivos em C: \ Arquivos de programas (x86), e a pasta do sistema é C: \ WindowsSysWOW64.
Fonte

Portanto, você deve colocar a versão x64 no System32 e a versão x86 no SysWOW64 de forma não intuitiva. Além disso, não acho que o Horizon precise da versão x86 (mas provavelmente é bom tê-la). Dito isso, normalmente, quando a versão errada é usada, o jogo não deve funcionar de todo (com um erro diferente), nem discutir sobre jogos salvos. Portanto, acho que pode haver outro problema além desse.

@RoyShapiro Oh, obrigado por esse esclarecimento. Eu simplesmente assumi o sistema de 32 = bibliotecas de 32 bits.
Eu os troquei. Ainda está quebrando. Registro: steam-1151640.log

@ D3SOX
Aviso: Isso pode ajudar você não. Por favor, faça um backup do prefixo vinho (próton) primeiro!
Se por travamento você quer dizer travamento real, e não o problema de salvar o jogo, então eu sei, é uma chance remota e não tenho certeza se isso irá ajudá-lo em alguma coisa, mas ...
Pelo log, posso ver que você está usando um dxgi.dll integrado. Agora, _deve_ estar totalmente bem, mas descobri que às vezes funciona melhor com o DXVK. Desconsidere o antigo aviso de que eles não funcionam juntos, ele foi corrigido há algum tempo. Então, provavelmente, você pode tentar instalar o DXVK (com dxgi) no mesmo prefixo (obviamente, faça um backup do prefixo primeiro, para que você não precise refazer nada, caso não ajude) e, em seguida, defina dxgi.dll como nativo para (se DXVK não configurá-lo automaticamente). É melhor usar a versão mais recente do DXVK para obter melhor compatibilidade.
E se não funcionar, apenas restaure seu prefixo do backup. Mais uma vez, _não deve ser necessário e você está fazendo isso por sua própria conta e risco.
Além disso, verifique se o jogo está atualizado para a versão mais recente. Ouvi dizer que as versões antigas apresentavam um problema de salvamento do jogo quando não conseguia encontrar o caminho dos jogos salvos devido a personagens estranhos nele. Supostamente não latino, mas quem sabe quais syscalls o jogo pode ter usado.

@RoyShapiro eu compilei DXVK do master e fiz WINEPREFIX=/run/media/nico/DATA_SSD/SteamWindowsLib/steamapps/compatdata/1151640/pfx ./setup_dxvk.sh install
Winecfg aberto no prefixo novamente e adicionado dxgi.dll como Native (Windows)
Log: proton-dxvk-steam-1151640.log

Mas depois que comecei o jogo, ele notou que substituía as DLLs por links simbólicos para as DLLs em /usr/share/steam/compatibilitytools.d/proton_tkg_makepkg/dist/lib64/wine/dxvk/ , então substituí as DDLs lá dentro pela minha construção x64 e comecei novamente.
Ainda está quebrando. Registro: steam-1151640.log

Como posso verificar se o jogo está atualizado? Acho que o Steam o mantém atualizado automaticamente e não há nenhuma atualização em Downloads.

@ D3SOX Deve ser atualizado automaticamente se o Steam não tiver novas atualizações disponíveis, a menos que você tenha desativado as atualizações de propósito, ou seja, para economizar largura de banda. Algumas pessoas fazem isso, e havia um bug de jogos salvos nas versões anteriores, então, ao passar pelos recados como esse, é melhor descartar essas coisas.

Sim, o log agora mostra um dxgi.dll nativo usado.

Isto é estranho. Desconsiderando a versão anterior deste post, tive algumas coisas confusas. RADV e AMDVLK, qual é usado atualmente? O Arch Wiki sugere que você pode alternar entre os dois. Fonte. Talvez você possa tentar o outro.

@RoyShapiro
Acho que estou atualizado:
image
Eu adicionei a variável VK_ICD_FILENAMES env porque @ Tk-Glitch disse que não funcionaria com AMDVLK. Mas não acho que seja necessário, pois quando eu o removo, o log também informa AMD RADV POLARIS10 (ACO) e nada sobre amdvlk
Informações atuais do sistema Steam: https://gist.github.com/D3SOX/130e718b1f2df4a17273ff31f1816de9
Não entendo por que tantas pessoas o colocaram em execução e nem mesmo para mim funciona.

@ D3SOX Isso é realmente estranho. Você já tentou usar o Proton versão 6 não oficial do GloriousEggroll sugerido anteriormente neste tópico em vez do TKG? Ouvi dizer que funciona para algumas pessoas. Sim, requer o referido truque GD para fazer o download, mas da última vez que verifiquei, ainda funcionou.
Ainda estamos em um território desconhecido com todas essas correções. Mesmo que você faça o jogo funcionar, ele tende a congelar de vez em quando, para mim é a cada 10-30 minutos, algumas outras pessoas relataram que conseguem jogar até uma hora. Mas ainda é uma experiência de "fogueira a fogueira cruzando os dedos".

@ D3SOX @RoyShapiro

Eu tinha o jogo rodando, usando apenas o proton do tkg, e copiando d3dcompiler_47.dll para o diretório raiz do games, então eu decidi recomeçar com o pfx, deletei e tentei reiniciá-lo.

Efeitos: eu tive o mesmo erro de salvar jogo, corrigido criando manualmente o diretório "Horizon Zero Dawn / Saved Game", mas desde então continua travando vendo a tela preta de carregamento.

@ D3SOX

você já tentou ge-6-st próton?

você deveria tentar, meu jogo está funcionando desde que eu o uso.

@fsyy Você teve que copiar algum arquivo DLL ou apenas usar GE-6-ST como está?

acabei de usar ge-6-st e copiei d3dcompiler_47.dll de ~ / .steam / steam / steamapps / common / Horizon Zero Dawn / Tools / ShaderCompiler / PC / 10.0.18362.0 / x64 / para ~ / .steam / steam / steamapps / comum / Horizon Zero Dawn.

Eu não copiei d3d12.dll para o diretório do jogo e também não o configurei como uma biblioteca nativa no winecfg.

Estou usando uma placa nvidia (driver beta mais recente 450.56.11) e ainda tenho pedras e árvores flutuantes, o jogo trava muito aqui (10 - 30 minutos), mas começa e pode ser jogado, mais ou menos.

@fsyy Ah, obrigado por esclarecer isso. Todo esse material com a dll d3d12 é meio confuso.

@fsyy Sim, experimentei o GE-6-ST e nem comecei. Provavelmente deveria testar novamente com um prefixo de vinho limpo

se não funcionar com um prefixo novo, talvez poste outro log de prótons aqui.

@fsyy

você escreveu sobre DXVK em seu post acima, isso não importa, pois Horizon Zero Dawn é apenas DX12, então você precisa de vkd3d-proton. Mas isso já deve estar configurado nessas construções de prótons.

Acabei de experimentar porque @RoyShapiro sugeriu

se não funcionar com um prefixo novo, talvez poste outro log de prótons aqui.

Sim, farei isso mais tarde algum dia

@fsyy @ D3SOX Só para esclarecer: sugeri tentar executar em um prefixo com DXVK instalado porque, embora seja verdade que o jogo em si não usa nada abaixo de DX12, o próprio VKD3D-Proton faz uso de funções implementadas em um biblioteca chamada dxgi.dll, que também é usada e fornecida pelo DXVK. Em alguns casos de uso, a versão fornecida pelo DXVK pode oferecer mais compatibilidade do que a fornecida com Wine \ Proton. Por exemplo, a substituição desta biblioteca exata pela versão do DXVK é exatamente o que resolveu o problema das rochas flutuantes para mim. Então, embora não saibamos exatamente o que está causando o problema de @ D3SOX com o jogo, havia uma boa chance de que isso pudesse ter um efeito positivo.

@RoyShapiro

qual versão de próton (vinho) você usa?

@fsyy Atualmente, Proton-5.9-GE-6-ST. Dito isso, eu construo o d3d12.dll a partir da fonte, então não uso o que vem com o Proton-GE e, como mencionado acima, também tenho o DXVK 1.7.1 instalado manualmente.

@RoyShapiro como fazemos tudo isso? Já tenho GE 6 mas o d3d12 customizado como chegamos?

@ mixalis1987 É compilado de fontes vkd3d-proton.

@intersectRaven Oh certo, obrigado. E que colocamos em systemc32 e definimos como nativo em winecfg .. certo?

Qual desempenho parece ser esperado. Eu posso "jogar" com GE 6 e d3d12.dll vinculados anteriormente no tópico e tem sido estável, no entanto, em gfx médio estou recebendo 25fps com drivers Ryz 5 1600 e GTX-1080 e 450.66 (pop_os)

Também gostaria de perguntar se as animações que todos vocês experimentaram parecem estar em "câmera lenta" ou não. É jogável na minha máquina também, mas essa é a única reclamação que eu tenho, mas pode ser esperado, já que eu experimentei isso antes com Fallen Jedi antes de ser consertado.

@intersectRaven Não tenho certeza, mais ou menos. Apenas algumas coisas, cabelo de grama etc. No entanto, acho que é uma coisa de AA, pois eu tenho o mesmo em terras selvagens de reconhecimento de fantasmas com alguns modos de AA

Obrigado @botrosco . Eu habilitei o FPS na sobreposição do Steam agora e obtenho 20-30fps na minha máquina também. Estou jogando em um 9750H e RTX2070, então pode ser uma coisa de otimização que precisa ser tratada com Proton / VKD3D.

@intersectRaven Ah, ok. É bom saber que não sou só eu.

Tenho que trabalhar! O jogo congela na cena em que ela se torna adulta e sai da cabana. Não consigo superar isso.

Capturas de tela

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

[Sistema]
SO: Manjaro Linux 20.1 Mikah
Arch: x86_64
Kernel: 5.8.6-1-MANJARO
Desktop: XFCE
Servidor de exibição: x11

[CPU]
Fornecedor: AuthenticAMD
Modelo: Processador AMD Ryzen 9 3900X de 12 núcleos
Núcleos físicos: 12
Núcleos lógicos: 24

[Memória]
RAM: 31,4 GB
Trocar: 0,0 GB

[Gráficos]
Fornecedor: NVIDIA Corporation
Renderizador OpenGL: GeForce GTX 1080 Ti / PCIe / SSE2
Versão OpenGL: 4.6.0 NVIDIA 440.100
OpenGL Core: 4.6.0 NVIDIA 440.100
OpenGL ES: OpenGL ES 3.2 NVIDIA 440.100
Vulkan: Suportado

É necessário atualizar o driver da nvidia para passar pela cabana quando ela for adulta. Agora posso superar isso. Não sei o que há com as bordas brancas.
Screenshot_2020-09-13_20-33-10

Não fui tão longe no jogo ainda com a lentidão e tal, mas estou usando NVIDIA e também posso confirmar o mesmo tipo de problema sem borda sem tela cheia @ mixalis1987 Eu pensei que era o único com isso questão. Não tem bordas, mas está ligeiramente deslocada exatamente como a imagem que você anexou acima. Além disso, como mencionado acima, ele trava quando alterno para tela inteira. Eu também estou executando o Manjaro 20 xfce. Eu não tive tempo para mexer com isso ultimamente. Só queria agradecer a todas as pessoas mais inteligentes do que eu que estão trabalhando nisso. Vocês todos arrasam!

Tenho que dizer que, uma vez que as falhas aleatórias foram corrigidas, eu poderia realmente me ver jogando até o fim. Mesmo com a borda branca.
@ 77boaz quais são suas configurações gráficas? O jogo foi definido automaticamente para o máximo quando eu comecei e estava jogando em "câmera lenta", alterando as configurações para "original" resolvido para mim.

Então eu inicializo o Windows duas vezes, principalmente para comparar Linux / Windows no Steam. No Linux eu posso rodar o jogo no Original sem nenhuma perda de desempenho / frame, embora eu atualmente tenha quebrado o jogo novamente ao digitar isso porque eu estava mexendo com builds proton-tkg, builds proton-ge e outras coisas ... On Windows 10 Posso rodar no máximo com 1080p ... Não tenho um monitor 4K ainda :) A versão Windows está muito melhor por enquanto, mas o progresso feito no Linux em tão pouco tempo é épico! Novamente, grite para o pessoal que está trabalhando nisso! Vou esperar para jogá-lo em toda a sua grandeza no Linux mais tarde :) Paciência é uma virtude :)

@ mixalis1987 Já estou no Original, mas ainda está em "câmera lenta" para mim. Também estou ansioso para ver quando as falhas aleatórias forem corrigidas. Depois de olhar para ele, parece ser o mesmo problema com "RE2: a criação do VkBufferView pode estourar a memória disponível # 266" nos problemas do VKD3D. Esperançosamente, isso pode ser resolvido em breve.

Consegui reverter os commits de hashmap e parece estar liberando a memória corretamente agora. Se alguém quiser tentar suas próprias fontes VKD3D-Proton compiladas, os commits para reverter são:

daf9f5c69fb69ab87672e61ee6c71ec2fb16d218
5a9d132b20de854f751d4c606c9546e6c34f5c4c
73d578e5abe5658 relevantf9cca330a2f7a8f48e0465
684c658e22930f3f77488f77afb590d6889920a4

Reverta-os nessa ordem específica para que seja revertido de forma limpa. Até agora, esta é a peça mais longa que tive que não me agarrou antes de ficar cansado. Isso não é de forma alguma uma solução. No máximo, é um método para resolver o problema # 266 sem reescrever a implementação do mapa hash se você quiser jogar sem travar, embora nem isso seja garantido.

@intersectRaven Não entendo o que devemos fazer com os commits. Basta construir o vkd3d novamente?

@ mixalis1987 Apenas reverta aqueles usando git revert <_commit i = "5"> e então a compilação usual vkd3d, cópia, etc.

@intersectRaven So

git revert -n (número do commit que você postou)?

@ mixalis1987 Sim.

Mas não reverter o mau commit 51d2a3bad2dacc40653fd8b9d43dea7ba0109e65?

@intersectRaven Finalmente comecei a testar sua sugestão de reverter commits no HZD especificamente. Pode confirmar que "funciona". Estou jogando há três horas e quinze minutos seguidos, mas congelei no final. Também peguei um depois de cerca de quarenta minutos em e alt-tabbing. Parece que sem o hashmap, os recursos que o jogo cria se perdem depois de um longo tempo. E com isso eles simplesmente transbordam, criando um vazamento de memória. Mesma situação com RE2, exceto que aparentemente também faz com que a taxa de quadros diminua com o tempo. Como você disse, isso não é uma correção, o hashmap estava lá por um motivo. No entanto, é um band-aid temporário muito bom para tornar HZD jogável até que uma solução melhor apareça, afinal jogar um jogo por mais ou menos três horas seguidas em vez de apenas 10 minutos é geralmente mais do que as pessoas estão dispostas a jogar sessão de qualquer maneira. Ainda assim, espero que a equipe VKD3D-Proton venha com um refator de implementação de hashmap adequado em breve.

@Odelpasso Acabei de reverter o que @intersectRaven postou. 4 confirmações.

Olá @RoyShapiro ,
Você pode postar sua dll? Obrigado :)

@intersectRaven Finalmente comecei a testar sua sugestão de reverter commits no HZD especificamente. Pode confirmar que "funciona". Estou jogando há três horas e quinze minutos seguidos, mas congelei no final. Também peguei um depois de cerca de quarenta minutos em e alt-tabbing. Parece que sem o hashmap, os recursos que o jogo cria se perdem depois de um longo tempo. E com isso eles simplesmente transbordam, criando um vazamento de memória. Mesma situação com RE2, exceto que aparentemente também faz com que a taxa de quadros diminua com o tempo. Como você disse, isso não é uma correção, o hashmap estava lá por um motivo. No entanto, é um band-aid temporário muito bom para tornar HZD jogável até que uma solução melhor apareça, afinal jogar um jogo por mais ou menos três horas seguidas em vez de apenas 10 minutos é geralmente mais do que as pessoas estão dispostas a jogar sessão de qualquer maneira. Ainda assim, espero que a equipe VKD3D-Proton venha com um refator de implementação de hashmap adequado em breve.

Sim. É complicado, pois o hashmap foi implementado para utilizar melhor a memória para reutilização. O problema é que o HZD parece não gostar de reutilizar as coisas. RI MUITO. Não existe uma solução fácil para isso, então este "band-aid" é apenas isso ... um band-aid para jogar HZD por algumas horas sem travar e apenas para este jogo. Estou pensando que a solução para isso seria mais do lado de Guerrila ao invés de VKD3D, pois pode ser um problema de otimização com o mecanismo deles instanciando tantos objetos não reutilizáveis. Claro, se os desenvolvedores de VKD3D puderem encontrar outra solução, isso também seria ótimo, pois mais jogos não otimizados serão beneficiados.

@intersectRaven Temo que as mãos do Guerilla já estejam amarradas, pois está consertando uma porta "ruim" e, embora isso possa de alguma forma estar relacionado a algumas das falhas que eles tiveram no Windows, duvido que eles vão investigar em breve. Além disso, várias pessoas aqui, inclusive eu, parecem ter o mesmo problema com outros jogos como RE2, que quase certamente não será corrigido, pois já está maduro, e o problema parece um nicho. VKD3D no entanto, ou melhor, VKD3D-Proton foi criado especificamente com o objetivo de, citando-os, "Desempenho e compatibilidade são alvos importantes". Portanto, parece que será algo que eles terão que enfrentar mais cedo ou mais tarde. Mas isso é acadêmico. Infelizmente, não sou muito versado na área de APIs de gráficos ou ficaria feliz em ajudá-lo.

@intersectRaven Temo que as mãos do Guerilla já estejam amarradas, pois está consertando uma porta "ruim" e, embora isso possa de alguma forma estar relacionado a algumas das falhas que eles tiveram no Windows, duvido que eles vão investigar em breve. Além disso, várias pessoas aqui, inclusive eu, parecem ter o mesmo problema com outros jogos como RE2, que quase certamente não será corrigido, pois já está maduro, e o problema parece um nicho. VKD3D no entanto, ou melhor, VKD3D-Proton foi criado especificamente com o objetivo de, citando-os, "Desempenho e compatibilidade são alvos importantes". Portanto, parece que será algo que eles terão que enfrentar mais cedo ou mais tarde. Mas isso é acadêmico. Infelizmente, não sou muito versado na área de APIs de gráficos ou ficaria feliz em ajudá-lo.

O mesmo aqui. Eu só pude fazer uma investigação superficial do problema com base no problema que estava na página de problemas do VKD3D. Parece que antes do hashmap, a memória seria liberada imediatamente após ser usada? O hashmap evita a penalidade de instanciar um novo objeto por ter memória já pré-alocada ou algo assim. É por isso que eu tinha o "vkd3d: não contar novamente as visualizações nas atualizações do descritor." revertido, pois parece que se livrou do código de destruição de visualização, pois os hashmaps não precisariam dele. De qualquer forma, não sei o suficiente para resolver como substituir isso, então essa é apenas minha abordagem suja para pelo menos ser capaz de jogar por mais tempo. Tenho certeza de que eles estão trabalhando nisso nos bastidores, pois já identificaram no problema em primeiro lugar, o que indica que eles estão cientes do problema.

@intersectRaven Dei uma olhada no código que introduziu o hashmap e parece que o código anterior apenas instanciou objetos "soltos", ou seja, criando um ponteiro e "esquecendo-o" quando a função termina. Pelo que me lembro, essa ação não libera exatamente a memória, já que o objeto ainda existe, mas "fica pendurado". Eventualmente, as rotinas de coleta de lixo do sistema pegam o cheiro dele e, se nada fizer referência a ele, marque a memória como não utilizada. (O d3d12_desc_destroy que é editado em muitos lugares em "Não ref-contar visualizações" é uma função chamada em um struct, ao que parece, não um destruidor de objeto, portanto, precisa ser deliberadamente chamado pela API.) Posso estar errado , já faz um tempo que não escrevi nada em C. Usar um hashmap permite que o VKD3D rastreie todos os objetos que criou, portanto, nenhum deles está solto, portanto, nenhum foi excluído (a menos que marcado para exclusão de alguma forma). Assim, a memória nunca é liberada, já que jogos como HZD ou RE2 não parecem se incomodar em emitir tais instruções (aparentemente o D3D12 real tem suas próprias rotinas de coleta de lixo, e é por isso que RE2 não desliga no Windows). E eventualmente ele entope. Então, se minha interpretação solta estiver certa, o "band-aid" funciona porque os objetos soltos não reutilizáveis ​​não estão "amarrados" a nada como o hashmap, e o hashmap só precisa estar ciente do que pode ser descartado com segurança e fazer isso para funcionar corretamente. Novamente, posso estar fundamentalmente errado.

@ mozo78

Olá @RoyShapiro ,
Você pode postar sua dll? Obrigado :)

Desculpe, mas não tenho certeza se é tecnicamente legal postar binários WIP de projetos de outra pessoa.

@RoyShapiro ,
VKD3D é open source, então acho que é legal :)

Acho que estou fazendo algo errado. Ainda estou tendo travamentos frequentemente de 20 a 30 minutos
Eu reverto os commits com git revert. Então fez

./package-release.sh master / your / target / directory --no-package

Para obter a dll. Isso está certo?

@ mixalis1987 A reversão realmente funcionou para você? Ou disse algo sobre "o erro não pode reverter o commit" no terminal? Você pode precisar executar o comando "git stash" antes de qualquer reversão. Se for esse o caso, esteja preparado para que, se a reversão for bem-sucedida, o VIM (um editor de texto) apareça em cada uma das quatro ações de reversão, solicitando que você declare um motivo de reversão. Se você ainda não está familiarizado com o VIM, quando ele aparecer (se você não souber como é, é um programa de terminal que se parece com um código colorido na tela, então não espere uma janela real) apenas pressione esc , escreva ": x" e pressione enter para fazê-lo desaparecer, ele deve aparecer quatro vezes (uma para cada commit).

Editar: Se o seu editor de texto padrão for NANO, e não VIM, basta pressionar Ctrl + X e responder Não se ele solicitar que você salve um arquivo.

@RoyShapiro
Está bem. isso aconteceu.

git revert 5a9d132b20de854f751d4c606c9546e6c34f5c4c
Mesclagem automática de libs / vkd3d / vkd3d_private.h
Mesclagem automática de libs / vkd3d / resource.c
[master e88011a] Reverter "vkd3d: livrar-se dos spinlocks do descritor."
2 arquivos alterados, 15 inserções (+)

E o mesmo para o resto dos commits, apenas arquivos diferentes foram alterados obviamente :) NANO apareceu e eu pressionei ctrl + xe saí, mas não me pediu para salvar nada. Espero que esteja certo.
Devo apenas executar "./package-release.sh master / your / target / directory --no-package" agora?

@ mixalis1987 Se funcionou todas as quatro vezes, então sim. Só não se esqueça de que a pasta de destino ainda não deveria existir, ou ela pode reclamar que já foi criada e você deseja que ela seja construída novamente.

@RoyShapiro Sim, sempre apago a pasta antiga. Obrigado.

@ mixalis1987 A reversão realmente funcionou para você? Ou disse algo sobre "o erro não pode reverter o commit" no terminal? Você pode precisar executar o comando "git stash" antes de qualquer reversão. Se for esse o caso, esteja preparado para que, se a reversão for bem-sucedida, o VIM (um editor de texto) apareça em cada uma das quatro ações de reversão, solicitando que você declare um motivo de reversão. Se você ainda não está familiarizado com o VIM, quando ele aparecer (se você não souber como é, é um programa de terminal que se parece com um código colorido na tela, então não espere uma janela real) apenas pressione esc , escreva ": x" e pressione enter para fazê-lo desaparecer, ele deve aparecer quatro vezes (uma para cada commit).

Editar: Se o seu editor de texto padrão for NANO, e não VIM, basta pressionar Ctrl + X e responder Não se ele solicitar que você salve um arquivo.

Pode ser que você esteja enfrentando um erro diferente que está resultando em um travamento. Essa "correção" era para:
"vkd3d_create_vk_buffer_view: Falha ao criar visualização do buffer Vulkan, vr -2."
mensagem de erro nos logs de prótons pouco antes da falha, que é uma falha que resulta em uma saída de tela congelada. Se o seu HZD travar diretamente com uma mensagem de erro, pode ser um dos bugs mais intrínsecos do HZD e, portanto, não será influenciado por esta "correção". Melhor se você postar um registro de sua corrida.

Trava ainda mais rápido para mim com 1.05 durante a introdução / menu.

Trava ainda mais rápido para mim com 1.05 durante a introdução / menu.

Você pode tentar o mais recente Proton-GE. Como você travou durante a introdução / menu, não tem nada a ver com o band-aid que fiz com o VKD3D e, na minha experiência, o GE é muito mais estável com mais jogos. Este lançamento também aumentou meu FPS para 40-50.

Trava instantaneamente com 5.9-GE-6-ST e prefixo limpo aqui. Todo o resto sempre funcionou para mim em wine- / proton-tkg, 0 travamentos de quaisquer jogos que conseguiram iniciar com sucesso (o que basicamente compreende todos os jogos que tentei, pelo menos depois de mexer um pouco). É apenas uma porcaria de porto maldito ...

Trava instantaneamente com 5.9-GE-6-ST e prefixo limpo aqui. Todo o resto sempre funcionou para mim em wine- / proton-tkg, 0 travamentos de quaisquer jogos que conseguiram iniciar com sucesso (o que basicamente compreende todos os jogos que tentei, pelo menos depois de mexer um pouco). É apenas uma porcaria de porto maldito ...

Posso citar vários jogos que travarão nele lol. Nem todo jogo funciona com o Wine, você sabe. Há muitos problemas aqui no Proton git se você olhar. Não há necessidade de rasgar o jogo. Os desenvolvedores estão corrigindo isso. O resto dos problemas são com Proton / Wine e todos relativos a isso. A maioria dos jogos nem mesmo é apenas dx12. Isso é novo para o Wine e terá muitos problemas pelos quais o jogo não é responsável. É um efeito colateral do uso do vinho.

Só não se surpreenda se isso simplesmente acabar sendo um dos muitos problemas de travamento que sempre preenchem as notas de patch do jogo.

Só não se surpreenda se isso simplesmente acabar sendo um dos muitos problemas de travamento que sempre preenchem as notas de patch do jogo.

Definitivamente possível para problemas específicos.

As coisas discutidas acima nesta edição explicam que existem problemas no lado do Wine / Linux.

O fato de que uma pessoa parece estar funcionando bem significa que pode haver problemas em ambos os lados, mas eu diria que o Wine / Linux é o culpado se o problema exato não acontecer em sistemas operacionais oficialmente suportados.

Jogabilidade e testes no Ubuntu 20.04.1 com driver Nvidia 450.66 no Proton 5.9-GE-6-ST - GTX 1650 4GB
https://youtu.be/8KVrk5GTl1Q

Talvez alguém precise disso:

  1. USE Proton 5.9-GE-6-ST
  2. não usar o modo sem borda causa erros gráficos, árvores voando e pedras.
  3. Eu uso o driver Nvidia (beta) 450.66 do site
  4. Se o jogo parecer uma apresentação de slides, altere a qualidade dos gráficos para Original. você obterá 30 FPS estáveis ​​em 1920x1080
  5. Se o jogo não iniciar, basta clicar em Jogar novamente.

@ArturWroblewski Estou atualmente no Linux Mint 20 e tentei tudo o que você listou, além de atualizar o kernel de 5.4 para 5.8, mas o jogo ainda nem inicia, com o mesmo erro do início desta edição.

Se for o mesmo que o início do problema, tem algo a ver com a execução em um contexto de 32 bits. 64 bits são necessários para este jogo de acordo com seus requisitos de sistema.

@intersectRaven Ah, interessante - estou em uma máquina de 64 bits, será que o prefixo wine está configurado incorretamente? Como eu mudaria o contexto para 64 bits?

Além disso, apenas no caso de ser uma tangente que não precisa ser descida quando eu quis dizer erro, quis dizer que a caixa de erro aparece dizendo "infelizmente, o jogo travou", não vi nenhum log de erro, nem saber como acessá-los.

@intersectRaven Ah, interessante - estou em uma máquina de 64 bits, será que o prefixo wine está configurado incorretamente? Como eu mudaria o contexto para 64 bits?

Além disso, apenas no caso de ser uma tangente que não precisa ser descida quando eu quis dizer erro, quis dizer que a caixa de erro aparece dizendo "infelizmente, o jogo travou", não vi nenhum log de erro, nem saber como acessá-los.

É melhor se você postar seus logs, pois é difícil ver qual é o problema real apenas com a mensagem de travamento genérica. Se você estiver usando o Steam, nas propriedades do jogo clique em Definir opções de inicialização e digite:

PROTON_LOG=1 %command%

O log estará em seu diretório inicial. Se você não estiver usando o Steam, não estou familiarizado com a saída de registros.

Obrigado! Aqui está meu log, a mesma coisa aconteceu novamente:
steam-1151640.log

Obrigado! Aqui está meu log, a mesma coisa aconteceu novamente:
steam-1151640.log

Você pode tentar instalar o winbind? Estou vendo um erro que vi antes relacionado a ele, mas não tenho certeza se é a causa da sua falha.
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.

Não, isso não corrigiu, embora o erro não esteja mais no log. Aqui está o novo log, apenas no caso:
steam-1151640.log

@drwhut
Eu tenho um erro semelhante quando mudo a exibição da minha tela de Sem bordas para Tela inteira. (ele está no vídeo perto do final) Você sabe como alterar o modo de janela para tela inteira alterando uma entrada no arquivo de configuração?

Desculpe por não poder ajudar de maneira tão monótona.
Acabei de ler no protondb que o jogo não está funcionando e queria verificar se era verdade e acabou de começar :)

Desculpe pelo longo vídeo, se alguém quiser ver as configurações ideais, consulte:
https://www.youtube.com/watch?v=8KVrk5GTl1Q&t=2423s Jogabilidade em tela cheia, predefinição original, 1920x1080, jogo funciona bem !!!

E se você quiser ver pedras e árvores voando, clique aqui:
https://youtu.be/8KVrk5GTl1Q?t=1779

Quase tudo que testei está em vídeo.

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

Informações adicionais não diretamente relacionadas ao jogo:
Ao instalar os drivers da Nvidia, meu sistema quebrou. E eu tive que reinstalar o ubunu, então fiz um teste em uma instalação limpa.

Sequência de ações:

  • Instalando uma nova instalação do Ubuntu 20.04.1
  • Instalando novos drivers do site da Nvidia 450.66

Eu instalei o Lutris (https://lutris.net/)

Execução de comandos padrão para rodar emuladores nintendo Swich e Steam:

sudo add-apt-repository multiverse
atualização apt sudo
sudo apt install steam
sudo apt-get update -y
sudo apt-get install -y libudev-dev
sudo apt-get install -y libinput-tools
sudo apt-get install -y libinput-dev
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt-get install libqt5webenginewidgets5
sudo apt-get install -y libzip-dev

Copiar do Proton 5.9-GE-6-ST https://github.com/GloriousEggroll/proton-ge-custom/releases

Instalar o jogo e iniciá-lo

E o resto está em vídeo

Não, isso não corrigiu, embora o erro não esteja mais no log. Aqui está o novo log, apenas no caso:
steam-1151640.log

Você tem 450,66 drivers NVidia? Também estou vendo o recurso de versão não suportado em seus registros, então pode ser que você esteja usando drivers de GPU desatualizados.

Sim, tenho esses drivers instalados:
nvidia-driver

@drwhut
Eu tenho uma pergunta que não é do jogo. Mais com meus problemas. Como você instala os drivers da Nvidia a partir do site?

Algo dá errado com frequência. Aqui está o que ele faz para instalar um novo driver:

Baixe NVIDIA-Linux-x86_64-450.66.run
Marcar como executável

sudo systemctl isolate multi-user.target
ls
Downloads de cd
ls
sudo ./NVIDIA-Linux-x86_64-450.66.run
reinicie agora
sudo reinicie agora
nvidia-smi

E se consigo instalá-lo, não consigo fazer o login mais de uma vez. O computador está na tela de login.

Não, isso não corrigiu, embora o erro não esteja mais no log. Aqui está o novo log, apenas no caso:
steam-1151640.log

Você tem 450,66 drivers NVidia? Também estou vendo o recurso de versão não suportado em seus registros, então pode ser que você esteja usando drivers de GPU desatualizados.

Percebi que ele também está usando a dll D3DCOMPILER_47 integrada. Você pode tentar copiar o que está no diretório Tools para o diretório executável HZD?

Só para adicionar, usando Linux Mint 20, Nvidia 450.66 do driver gráfico ppa, Proton 5.9-GE-6-ST e o jogo trava ao iniciar.

steam-1151640.log

@ArturWroblewski eu instalei a partir do PPA:

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

Não, isso não corrigiu, embora o erro não esteja mais no log. Aqui está o novo log, apenas no caso:
steam-1151640.log

Você tem 450,66 drivers NVidia? Também estou vendo o recurso de versão não suportado em seus registros, então pode ser que você esteja usando drivers de GPU desatualizados.

Percebi que ele também está usando a dll D3DCOMPILER_47 integrada. Você pode tentar copiar o que está no diretório Tools para o diretório executável HZD?

AH MEU DEUS isso funcionou !!! Muito obrigado! Chegou a compilar os shaders, responderei com o que acontecer depois!

Só para adicionar, usando Linux Mint 20, Nvidia 450.66 do driver gráfico ppa, Proton 5.9-GE-6-ST e o jogo trava ao iniciar.

steam-1151640.log

Seu erro PODE ter algo a ver com esta linha:
err:vkd3d_bindless_state_init: Insufficient descriptor indexing support.

Infelizmente, não tenho ideia do que consertar com isso. Além disso, você copiou o d3dcompiler que mencionei acima?

@drwhut Cara de sorte. Tenho a mesma GPU (1650), mas um laptop, não consigo iniciar o jogo. Se eu deixar a opção de inicialização vazia, haverá apenas a janela de mensagem de erro exibida. Se eu usar prime-run para iniciá-lo, a mensagem de erro será exibida com a janela preta do jogo.

@drwhut Cara de sorte. Tenho a mesma GPU (1650), mas um laptop, não consigo iniciar o jogo. Se eu deixar a opção de inicialização vazia, haverá apenas a janela de mensagem de erro exibida. Se eu usar prime-run para iniciá-lo, a mensagem de erro será exibida com a janela preta do jogo.

Não tenho certeza se isso faz diferença ou não, mas eu não tenho um 1650, tenho um 2070 Super.

@drwhut Desculpe, confundi você com @ArturWroblewski

@intersectRaven
Eu tenho apenas um problema com este jogo. Não consigo ativar a tela inteira novamente. Você pode ver no final do meu vídeo.
https://youtu.be/8KVrk5GTl1Q?t=3178

Você poderia me ajudar? Curiosamente, eu consegui fazer isso uma vez, mas agora não sei como :(

steam-1151640_nor.log
steam-1151640.log

Vou apenas deixar isso aqui para qualquer um que possa se perguntar para tentar fazer o jogo funcionar:

  • Use Proton 5.9-GE-S-ST , as instruções sobre como instalá-lo estão aqui .
  • Se você usar os drivers NVIDIA, atualize-os para a versão 450.66 . Se você estiver no Ubuntu, poderá usar o graphics-drivers PPA para obtê-los:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-450
  • Copie Horizon Zero Dawn/Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll para Horizon Zero Dawn/d3dcompiler_47.dll , próximo ao executável.
  • Opcional : Não tenho certeza se isso realmente afeta alguma coisa, mas também atualizei meu kernel de 5.4 para 5.8 .

No entanto , a partir de agora para mim:

  • A performance em 1080p para mim no Ultra é literalmente uma apresentação de slides.
  • O jogo começa no modo sem fronteiras, mas tentar alternar para o modo de tela cheia resulta em travamento no minuto.
  • Outros também disseram que o sem borda é bastante problemático no momento (por exemplo, pedras e árvores voando), então a solução atual é mudar para o modo de janela.

@intersectRaven
Eu tenho apenas um problema com este jogo. Não consigo ativar a tela inteira novamente. Você pode ver no final do meu vídeo.
https://youtu.be/8KVrk5GTl1Q?t=3178

Você poderia me ajudar? Curiosamente, eu consegui fazer isso uma vez, mas agora não sei como :(

steam-1151640_nor.log
steam-1151640.log

Não posso te ajudar nisso. Até onde eu sei, o arquivo de configurações é um arquivo binário no diretório de salvamento do jogo, então você não pode modificá-lo manualmente. Quanto a mim, acabei de rodar no borderless, o que exigiu cerca de 1 ou 2 execuções antes de todas as coisas flutuantes desaparecerem até eu reiniciar meu PC novamente. Sua ideia sobre as coisas flutuantes relacionadas ao sem borda me faz querer reiniciar meu computador após defini-lo como janela para que eu possa testar se as coisas flutuantes desaparecem completamente. Deve eliminar a necessidade de executá-lo 1 a 2 vezes se sua ideia for válida.

@ ngoquang2708 Parece-me que tenho o mesmo problema @drwhut e ele encontrou uma solução
Problema:

@ArturWroblewski Estou atualmente no Linux Mint 20 e tentei tudo o que você listou, além de atualizar o kernel de 5.4 para 5.8, mas o jogo ainda nem inicia, com o mesmo erro do início desta edição.

Post @drwhut
Vou deixar isso aqui para qualquer um que possa se perguntar para tentar fazer o jogo funcionar: .......................... .........

@drwhut
Eu acrescentaria que se você estiver no modo sem borda com "pedras e árvores voando", mude o modo para janela (deslize para a esquerda na opção de sem borda para janela)

@intersectRaven
Eu nunca teria pensado que correr várias vezes reduziria os objetos flutuantes.

E se eu copiasse o arquivo de configuração da versão do Windows com tela cheia definida. Porque eu sei que minha tela inteira estava funcionando. Eu tenho isso registrado. https://youtu.be/8KVrk5GTl1Q?t=2102

E não há pedras e árvores voando :)

Você pode compartilhar seu arquivo, por favor? Não tenho Windows e não consigo alternar para tela inteira.

@ mozo78 Não sei se isso vai funcionar. Mas se funcionar, é claro, vou compartilhar o arquivo que ele usa e descrever o local.

Dê para mim e eu tentarei :)

Parece que com o último radv mesa (possivelmente ainda não lançado) ou com o driver da nvidia mais recente de ontem que um ou mais problemas possíveis podem ou realmente devem ser corrigidos.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 "Horizon Zero Dawn corrompido com radv", "spirv: conserta casos de switch emissores que vão diretamente para o bloco de mesclagem"

https://www.nvidia.com/download/driverResults.aspx/163518/en-us "Corrigido um bug em uma otimização SPIR-V que pode fazer com que blocos condicionais não sejam executados."

455.23.04 não corrige os obletos voadores com certeza.

@ArturWroblewski
Ainda esperando por seu profile.dat, por favor.

@ mozo78
Desculpe pela demora, mas estou com problemas ao executar o jogo no Windows. O jogo funciona. na miniatura da barra, vejo que funciona porque a mini tela muda. Mas a imagem do jogo não pode ser em tela inteira. Ele nem está na janela. Como se ele estivesse no segundo monitor. mas não tenho um segundo monitor. Não consigo ativar esta janela do jogo.

Esquisito. teste no Windows 10 Ryzen 1700 + GTX 1650

@ ngoquang2708

cara de sorte drwhut. Tenho a mesma GPU (1650), mas um laptop, não consigo iniciar o jogo. Se eu deixar a opção de inicialização vazia, haverá apenas a janela de mensagem de erro exibida. Se eu usar prime-run para iniciá-lo, a mensagem de erro será exibida com a janela preta do jogo.

Talvez você deva tentar o Prime Render em vez do Bumblebee. Bumblebee é para opengl, wine usa vulkan para dx12 (vkd3d). Com o prime render, você nem precisa adicionar nada às opções de inicialização do jogo, porque com o vulkan o sistema seleciona automaticamente a placa de vídeo (nvidia em vez de intel). Testado com outros jogos via próton, HZD ainda não.

@ mozo78
Desculpe pela demora, mas estou com problemas ao executar o jogo no Windows. O jogo funciona. na miniatura da barra, vejo que funciona porque a mini tela muda. Mas a imagem do jogo não pode ser em tela inteira. Ele nem está na janela. Como se ele estivesse no segundo monitor. mas não tenho um segundo monitor. Não consigo ativar esta janela do jogo.

Esquisito. teste no Windows 10 Ryzen 1700 + GTX 1650

Hmm, é engraçado - no Linux funciona, no Windows não :)

@ mozo76
Aqui estão os arquivos de resolução. Mas não faz nada.

Faça uma cópia do seu arquivo ou não iniciará o jogo.

Por curiosidade, recomendo que você copie o arquivo do diretório "First Run Orginal". O jogo começa na barra lateral esquerda e você precisa fazer uma janela inteira.

profile.zip

Consegui colocar o jogo sem bordas em tela cheia novamente e depois deu certo (mas não sei como fiz e depende), nada de objetos voadores. Assim como você executa no modo de janela e depois muda para sem borda durante o jogo, eu também não tenho pedras voadoras. Como você está com pedras voadoras?

Muito obrigado! Infelizmente, os arquivos não ajudam quando você diz :(
Sim, tenho plantas e pedras voadoras. Acho que é um problema da NVIDIA.

Eu tenho plantas e pedras voadoras, mas elas são corrigidas quando eu reinicio o jogo. Eu tenho Nvidia.

Anteriormente , ao encontrar objetos voadores após carregar um jogo salvo, tentei o seguinte:

1) Excluindo PSOCache.bin em LocalCacheDX12 e deixando o jogo refazer a "otimização".
2) Carregar um save anterior suficiente através do menu "load game" logo após o jogo ser iniciado, fazendo-o até que os objetos voadores desapareçam e recarregando o save mais recente.
3) Rodar o jogo com versões diferentes de dxgi.dll (digamos do DXVK 1.7, depois do DXVK 1.7.1 e vice-versa).

No entanto , após ler as postagens de @intersectRaven , conforme declarado aqui:

Acabei de rodar no borderless, o que exigiu cerca de 1 ou 2 execuções antes que todas as coisas flutuantes desaparecessem até eu reiniciar meu PC novamente.

e @ mixalis1987 conforme indicado aqui:

Eu tenho plantas e pedras voadoras, mas elas são corrigidas quando eu reinicio o jogo. Eu tenho Nvidia.

Acontece que apenas reiniciar o jogo várias vezes , por exemplo, salvar o carregamento, ver objetos voadores, sair do programa e começar de novo várias vezes até que os objetos voadores desapareçam parece ajudar todas as vezes .

Parece que os objetos voadores aparecem com mais frequência se o jogo não foi encerrado corretamente, o que pode acontecer porque ele congelou e você matou o processo, ou aleatoriamente, quando parece que o jogo foi encerrado de forma limpa, mas na realidade ele apenas travou silenciosamente ao sair.

Se outra pessoa encontrou objetos voadores e resolveu o problema de uma maneira diferente, por favor, compartilhe suas experiências conosco!

Sim, acabei de recarregar o jogo e agora está tudo bem!

Capturas de tela

3
5

@ mozo78 @RoyShapiro Por favor, confirme que é o mesmo para você.

Objetos voadores estão apenas no modo Sem Fronteiras.

Nunca vi objetos voadores no modo Windowed.
Mesmo depois de reiniciar meu computador e iniciar o jogo no modo Windowed, não tenho nenhum objeto voador.

O vídeo mostra a primeira execução após reiniciar o PC.
https://youtu.be/OPPQXeRI_rg
Carreguei o save 3 vezes para ter certeza de que nada aparece.

Minhas últimas telas estão no modo sem borda, hmm ...

@ mozo76 Admito que, quando começo o jogo no modo Windowed e depois mudo para o modo Borderless, também não tenho esses objetos voadores.

Tenho medo de mudar para o modo Windowed porque o jogo às vezes fica preso com um quadro ao redor e não quer cobrir a tela inteira. Foi difícil correr esticado.

@ mozo78
Admito que às vezes também tenho problemas para alternar entre os modos. como na imagem abaixo. Portanto, ao alternar, defino os parâmetros como no vídeo acima.

Após reiniciar o jogo, ele inicia em tela inteira? Porque eu sempre corro no modo de janela e depois alterno para o modo sem borda. Para evitar o efeito da captura de tela, não a tela inteira.

Zrzut ekranu (323)

Sim, é o mesmo efeito. Não consigo executar em tela inteira no Mint Cinnamon 20.0. O jogo funciona bem na maioria dos casos no Arch com KDE. Executar primeiro com o modo Windowed e depois mudar para o Borderless não ajuda em nada. É um sucesso e um fracasso no Arch e nunca funciona no Mint Cinnamon.

Para mim, a transição do modo Windowed para o Borderless funciona apenas com esta configuração. Eu não sei porque. Mas se eu alterar qualquer um dos parâmetros para algo diferente da foto, tenho um quadro com a imagem anterior.
Zrzut ekranu (324)
Zrzut ekranu (325)

Vou tentar isso amanhã :)

Parece que com o último radv mesa (possivelmente ainda não lançado) ou com o driver da nvidia mais recente de ontem que um ou mais problemas possíveis podem ou realmente devem ser corrigidos.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 "Horizon Zero Dawn corrompido com radv", "spirv: conserta casos de switch emissores que vão diretamente para o bloco de mesclagem"

https://www.nvidia.com/download/driverResults.aspx/163518/en-us "Corrigido um bug em uma otimização SPIR-V que pode fazer com que blocos condicionais não sejam executados."

Boa pegada. Eu não vi isso quando fiz uma rápida leitura do changelog NVidia BETA. Vou tentar este driver na minha máquina.

@ArturWroblewski Ainda não vi nenhum objeto flutuante depois de mudar para tela cheia, mas ainda não posso confirmar. Poderia facilmente ter sido um acaso. Não os recebo todas as vezes, apenas depois que o jogo trava e, mesmo assim, não sempre. Ele travou uma vez no modo de tela cheia, então não afeta isso, mas nenhum objeto flutuante até agora.

Parece que com o último radv mesa (possivelmente ainda não lançado) ou com o driver da nvidia mais recente de ontem que um ou mais problemas possíveis podem ou realmente devem ser corrigidos.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 "Horizon Zero Dawn corrompido com radv", "spirv: conserta casos de switch emissores que vão diretamente para o bloco de mesclagem"

https://www.nvidia.com/download/driverResults.aspx/163518/en-us "Corrigido um bug em uma otimização SPIR-V que pode fazer com que blocos condicionais não sejam executados."

Acabei de iniciar o HZD em 455.23.04 e coisas flutuantes apareceram após toda a recompilação do shader. Além disso, estava no modo de janela, então não corrigiu. Parece ter uma cor um pouco mais vibrante. Parece não estar muito otimizado, já que experimentei alguma gagueira durante alguns movimentos rápidos, mas isso pode ser atribuído ao fato de ainda ser BETA.

Sim, estou com 455.23.04 e há objetos voadores também.

@ leao666 Já sabia que este jogo só usa DX12 que por sua vez só usa Vulkan no Linux. Eu uso prime-run apenas para ter certeza. Não se relaciona com o Bumblebee. É apenas um comando para "forçar" a renderização do PRIME Offload para OpenGL e Vulkan. Alguns jogos somente OpenGL precisam desse comando para usar a renderização de descarregamento PRIME, caso contrário, ele usará o iGPU para OpenGL.

Isso é interessante se tornar pior lol. Pelo menos mostra que o driver o está afetando fortemente.

Perfis com todos os modos. Útil quando alguém muda para tela inteira e não consegue iniciar o jogo. Basta copiar o perfil selecionado com a resolução e as configurações de exibição da imagem do arquivo zip para o caminho, por exemplo:

/home/user_name/.steam/debian-installation/steamapps/compatdata/1151640/pfx/drive_c/users/steamuser/My Documents / Horizon Zero Dawn / Jogo salvo / perfil

Horizon Zero Dawn Complete Edition profile.dat.zip

Só quero postar novamente, se você estiver tendo travamentos após alguns minutos de jogo e houver um erro nos registros de prótons mencionando:
"vkd3d_create_vk_buffer_view: Failed to create Vulkan buffer view, vr -2."

Basta compilar o código vkd3d que empurrei para o meu Github marcado como personal branch. Já existe a reversão se você não souber como se reverter.

Além disso, use:

git clone --recursive

para clonar para que os subprojetos também sejam buscados.

Não constrói:
meson.build:41:0: ERROR: Include dir ./subprojects/Vulkan-Headers/include does not exist.

Não constrói:
meson.build:41:0: ERROR: Include dir ./subprojects/Vulkan-Headers/include does not exist.

Um problema:

git pull --recurse-submodules

Isso ocorre quando você clona apenas o projeto principal.

Sim, funciona, obrigado :)

Oi,
Tenho tentado seguir as instruções, mas parece que agora as coisas estão mais quebradas do que quando comecei (costumava iniciar o jogo com Proton 5.9 GE 6 ST e travava após compilar o shader e agora não inicia de forma alguma).

Pelo que entendi, tenho 2 problemas (relacionados?):

  • Wine (usando o wine-5.17 staging) não me deixa adicionar d3d12.dll como nativo ao meu prefixo (eu fiz DL e criei vkd3d-proton, tive alguns problemas porque Vulkan Headers eram muito antigos, mas eu os atualizei manualmente e isso parece ter funcionado). Pelo que entendi, o wine deve detectar que está instalado por conta própria, mas não o faz. (Instalado através do gerenciador de pacotes, devo clonar o repo e compilá-lo do zero para adicionar suporte a vkd3d?)

  • De acordo com o log do Proton (não consigo postar o log, não tenho certeza por que), estou faltando o dxgi.dll e também o d3d12.dll. Presumo que o problema do d3d12.dll seria corrigido assim que o Wine o adicionasse, não certeza sobre 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

Usando Pop! _OS 20.04 focal, Ryzen 5 3600X, AMD Radeon RX 5700 XT, Mesa 20.3.0-devel.

Obrigado !

Oi,
Tenho tentado seguir as instruções, mas parece que agora as coisas estão mais quebradas do que quando comecei (costumava iniciar o jogo com Proton 5.9 GE 6 ST e travava após compilar o shader e agora não inicia de forma alguma).

Pelo que entendi, tenho 2 problemas (relacionados?):

  • Wine (usando o wine-5.17 staging) não me deixa adicionar d3d12.dll como nativo ao meu prefixo (eu fiz DL e criei vkd3d-proton, tive alguns problemas porque Vulkan Headers eram muito antigos, mas eu os atualizei manualmente e isso parece ter funcionado). Pelo que entendi, o wine deve detectar que está instalado por conta própria, mas não o faz. (Instalado através do gerenciador de pacotes, devo clonar o repo e compilá-lo do zero para adicionar suporte a vkd3d?)
  • De acordo com o log do Proton (não consigo postar o log, não tenho certeza por que), estou faltando o dxgi.dll e também o d3d12.dll. Presumo que o problema do d3d12.dll seria corrigido assim que o Wine o adicionasse, não certeza sobre 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

Usando Pop! _OS 20.04 focal, Ryzen 5 3600X, AMD Radeon RX 5700 XT, Mesa 20.3.0-devel.

Obrigado !

Muito estranho, já que as distro do Proton (GE, TKG, Steam) geralmente têm isso. Talvez você precise do prefixo usado para redefinir o Proton. Alguém acima postou onde normalmente está, para que você possa tentar excluí-lo e fazer com que o Proton o recrie para você.

Obrigado pela dica @intersectRaven , está em execução agora, foram necessárias várias tentativas para passar pela cena inicial sem travar, mas cheguei ao primeiro ponto de verificação.

Muito obrigado a

Aparentemente, mudar para tela cheia trava o jogo. Estou executando o Borderless, mas ainda tenho uma barra de título (??) e meu controlador do xbox não é reconhecido, embora eu tenha ativado o xinput com protontricks. Portanto, é jogável, mas está longe de ser o ideal.

steam-1151640.log

(Finalmente descobri que o NoScript estava me impedindo de enviar meu arquivo de log antes)

@Chipsse , estou muito feliz por poder ajudar.
Eu também tive esse problema. A barra da janela não desapareceu no modo sem borda.
Você pode ver este vídeo. https://youtu.be/8KVrk5GTl1Q

A mudança correta de janela para sem borda pode ser vista neste vídeo (no final).
https://youtu.be/OPPQXeRI_rg

Eu executo o jogo em modo de janela (com configurações de vídeo) e, em seguida, mudo para o modo Sem Fronteiras. Então eu tenho a tela inteira correta. Para mim, é a única maneira até agora de ter uma boa tela inteira.

Se alguém descobriu como consertar ou do que depende, estou pedindo informações.

E quanto aos controladores, ainda não verifiquei. Só não pensei em verificar. :)

Este link parece muito obscuro para mim! Algum mods aqui para verificar isso e excluir a postagem? @ kisak-valve

Ainda tenho várias falhas aleatórias. Alguém descobriu uma maneira de lidar com isso?

Obrigado @ArturWroblewski , infelizmente não funcionou para mim, ainda estou recebendo a barra de título no topo. :(

Tentei forçar o uso do controlador nas configurações do Steam, mas isso não parece ter mudado nada. Meu log menciona uma falha ao iniciar o serviço wineusb, mas como o jogo recebe entradas do meu mouse e teclado, presumo que o problema esteja em outro lugar.

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

Acontece que a barra de título era um problema do Gnome, eu corrigi-lo com uma extensão (https://github.com/poehlerj/no-title-bar, no caso de alguém precisar disso).

Ainda não tenho ideia de como fazer o controlador funcionar, mas consegui passar pelo prólogo de uma só vez e não caiu, nenhuma pedra flutuante ou grama que notei. O benchmark absolutamente mata meu FPS, mas o desempenho real no jogo é muito bom (55/60 FPS a 1440p). Estranhamente, obtenho melhores resultados de benchmarking com a predefinição de "alta qualidade" do que com o "original".

Obrigado novamente pela ajuda! E se alguém descobrir o que está causando o problema do controlador, ficarei feliz em saber a correção.

Arriscaria um palpite de que se concentrar em entradas de wineusb não seria isso.

Só para adicionar, usando Linux Mint 20, Nvidia 450.66 do driver gráfico ppa, Proton 5.9-GE-6-ST e o jogo trava ao iniciar.
steam-1151640.log

Seu erro PODE ter algo a ver com esta linha:
err:vkd3d_bindless_state_init: Insufficient descriptor indexing support.

Infelizmente, não tenho ideia do que consertar com isso. Além disso, você copiou o d3dcompiler que mencionei acima?

sim, copiei a dll, ainda sem alterações.
o erro vkd3d_bindless_state_init persiste

Vou desistir, solicitar um reembolso e esperar até que este esteja funcionando sem tantos problemas ;-)

Para mim, ele está rodando no Mint 20 e 450.66. Muito estranho...

Depois de brincar um pouco, parece que ainda consigo uma barra de título no modo sem bordas, A MENOS QUE:

  • A resolução do jogo corresponde à resolução do monitor antes do lançamento
  • O jogo é lançado através do Steam, não da Lutris
  • Nenhum outro aplicativo está em tela cheia
  • A predefinição gráfica precisa estar em "Original" no lançamento, mas pode ser alterada quando o jogo estiver em execução.

Ainda sem sorte com o controlador, o que é muito estranho. O Steam vê o controlador, pressionando o botão central "guia" exibe uma mensagem no terminal de que está carregando um arquivo de controle e (em Nioh, pelo menos) posso até usar o controlador no inicializador antes do jogo real e roncar quando sou atingido . Mas nada quando pressiono os botões do controlador.

Não entendo o que estou perdendo ou fazendo de errado. Anteriormente, comecei a trabalhar construindo proton-tkg e copiando as dlls, mas agora usando _Proton-5.9-GE-6-ST_ não consigo mais fazer o jogo iniciar. (por exemplo, estou de volta à tela de travamento original) Estou executando o manjaro e instalei anteriormente o mesa-git para o mencionado acima, o que eliminou o problema de pedras flutuantes ... :(

@ 77boaz Tive este problema quando mudei a resolução / configuração para a errada e o jogo não conseguia mais iniciar. Solução:

Tente copiar o perfil selecionado com a resolução e configurações de exibição da imagem do arquivo zip para o caminho, por exemplo:

/home/user_name/.steam/debian-installation/steamapps/compatdata/1151640/pfx/drive_c/users/steamuser/My Documents / Horizon Zero Dawn / Jogo salvo / perfil

Perfil para download:
https://github.com/ValveSoftware/Proton/files/5250675/Horizon.Zero.Dawn.Complete.Edition.profile.dat.zip

Recomendo verificar o perfil:
1920x1080 Windowed 50hz Original

Obrigado por fazer isso! Engraçado, na verdade eu destruí toda a pasta pfx para tentar começar limpo ... Eu também estou inicializando o Windows duas vezes para comparar etc. Acho que a nuvem Steam salva as configurações do Windows? A nuvem Steam é ótima! exceto quando você está indo entre os dois ?? :)

@ 77boaz Na verdade, a nuvem sincroniza o diretório de salvamento, e se houver informações de resolução, ele sincroniza. ele Ele :).
Mas é um pouco perigoso porque se você tem vários PCs em casa, e se você rodar em 4k em um e no outro você não pode rodar em 4k ou fica um pouco bagunçado.

Mas apenas para sincronização de configurações entre computadores.

Ahh .. Duh você está correto. Eu sei que alguns jogos sincronizam todos e alguns apenas sincronizam os salvos. De qualquer forma, está funcionando agora, obrigado! Mal posso esperar até que haja uma correção para o problema de tela cheia. Eu ainda irei entre os dois .. Eu só gosto de ver o progresso feito etc. Mais uma vez, obrigado a todos por trabalharem nisso! :)

Fico feliz em informar que o jogo pode ser jogado do início ao fim e é bastante agradável, devo acrescentar, incluindo o DLC.
Gostaria de agradecer a todos que contribuíram para tornar isso possível!

O bom, o mau e o feio disso ...

Horizon Zero Dawn_Wed_Sep_23_02-20-22_2020

Além de fazer o jogo rodar em primeiro lugar (Proton GE 6 é o melhor), minhas únicas queixas principais são:
1) Rochas flutuantes (reiniciar o jogo> = 3 vezes corrige isso.)
2) Congelamentos aleatórios (a reversão de @intersectRaven do VKD3D estendeu a maioria das sessões de jogo para horas.)
3) Desempenho degradado (totalmente esperado. No RTX 2070, executei todos os pontos baixos, exceto malhas no Médio em 1440p para ~ 40-50 fps constantes.)

Tudo isso já é conhecido por este tópico e estou feliz em dizer que não encontrei nada importante.
Fiz backup do prefixo do wine e bloqueei as atualizações assim que consegui para ser agradável, de modo que não comece a apresentar mau comportamento.

Desejo que todos com problemas não desistam. O jogo melhorou de nada para vencível em pouco mais de um mês. As atualizações futuras certamente o tornarão ainda melhor.

Estou usando Proton-5.9-GE-6-ST . Sem copiar d3dcompiler_47.dll para a pasta do jogo, ainda consigo iniciar o jogo pela primeira vez (nunca fui capaz de iniciá-lo antes) usando o arquivo profile.dat enviado por @ArturWroblewski. Obrigado!
Eu uso o arquivo First Run Original profile.dat , o jogo começou no modo Windowed . Sempre que tento mudar as configurações para Fullscreen o jogo trava. Eu acho que há algo a ver com o modo Fullscreen .
Minha GPU é GTX 1650, versão do driver 450.66.

Olá a todos,
Percebi que o jogo recompila os shaders quando meus drivers gráficos são atualizados. Esse é o comportamento esperado? Ou é algo que pode (deve?) Ser consertado?

Olá @Chipsse , isso é universalmente verdadeiro para todos os softwares que usam uma placa de vídeo.

Obrigado @kisak-valve, desculpe pelo assunto fora do assunto.

Resolvi meu problema com o controlador, então decidi compartilhar, caso outra pessoa tenha o mesmo problema, o Steam Overlay era o culpado. Eu o mantenho desabilitado globalmente nas opções do Steam, pois tende a causar problemas e nunca o uso de qualquer maneira, mas o controlador aparentemente não funciona sem ele neste caso. Não tenho certeza se isso é um problema de HZD ou Proton.

@ mozo78 você tem bibliotecas compiladas do intersectRaven?
Se você os tiver, você poderia compartilhá-los?

Eu uso esta biblioteca e o jogo está funcionando:

https://u.pcloud.link/publink/show?code=XZLm95XZTtQmPGRIeP8odYUhu8SbdBswa1AV

@ mozo78

  1. O jogo funciona muito bem com DualShock 4 V2. Imediatamente após ligar o controle, ele é detectado pelo jogo. Sem problemas.
  2. Meu jogo ainda trava a cada 15 a 20 minutos. Onde você substituiu este arquivo? no diretório game / prefix ou no diretório proton 5.9. Para a versão 64 ou regular? Por favor escreva o caminho onde devo copiá-lo porque não vejo nenhuma diferença.

se você copiar para o prefixo próton irá sobrescrevê-lo novamente.
afaik tem um script para copiar essas dll's para o prefixo. se isso ajudar, você deve colocá-lo em próton, para que seja copiado.

Coloquei essa biblioteca no diretório raiz (onde está o exe do jogo).

@fsyy
Eu concordo com você. Se eu copiei a pasta para o prefixo. após a execução, o arquivo foi restaurado ao original.
Então, substituí o arquivo na pasta proton 5.9-ST-6 ... Mas meu jogo continua travando :(

@ mozo78
Eu vou tentar. Espero que isso me ajude. Seu jogo trava mais?

Acho que RoyShapiro escreveu isso.

Obrigado pelas dicas.

Além disso, o jogo congela. Funciona muito bem para mim. E é divertido de jogar.

@ArturWroblewski
Oi!
Você parece relatar que o jogo "trava" e "congela" para você. São duas coisas diferentes e podem causar confusão.

Eu provavelmente deveria congela " quero dizer que a mesma imagem fica pendurada na tela indefinidamente (para que não "descongele" sozinha), enquanto o som continua e nenhuma mensagem de erro aparece, portanto, o jogo o processo deve ser eliminado manualmente. É esse tipo de congelamento que o arquivo " revertido " ajuda a atrasar (mas NÃO elimina, infelizmente).

Se, em vez disso, você vir uma mensagem de um problema com o jogo em si , mas ainda tem muitos bugs. As reversões não ajudam com isso.

Infelizmente, você pode muito bem ter os dois. Se você tiver uma configuração de inicialização dupla, verifique se ela também trava para você no Windows. Em caso afirmativo, o jogo pode ter um problema com o hardware e você precisará esperar por uma atualização do jogo. Caso contrário, pode ter a ver com o Proton. Enquanto isso, você pode tentar atualizar o jogo, os drivers, todas as coisas habituais.

@RoyShapiro Você está certo com o que escrevi, eu poderia ter te enganado. O jogo congela. E o áudio continua.
Desculpe pela confusão.

Eu corro o jogo em modo de janela sem problemas. e o jogo congela após 20 minutos. Enquanto o jogo funciona, ele funciona muito bem, não posso reclamar de nada.
Atualmente, estou jogando com gamepad PS4 no Ubuntu 20.04.1

Só para relatar - o jogo roda estável com Proton GE 5.9-6 , em um 2080 Ti com driver 450.66.

O único problema que tenho é quando mudo para tela cheia, o jogo trava. Alguma solução alternativa e / ou maneira de executá-lo dessa forma?
Além disso, consegui executar o benchmark em tela cheia, portanto, imagino que seja apenas algo menor que esteja causando esse travamento ao alternar para tela cheia.

Não acho que haja qualquer diferença entre fullscreen e borderless dentro do Wine, além do comportamento alt + tab. O Compositor é instruído a desligar / cancelar o redirecionamento em ambos os casos e a inversão da página para o vsync adequado é acionada. Portanto, você não deve se incomodar com isso, a menos que aquele bug estranho de aumento de escala do jogo aconteça com mais frequência com o sem borda por algum motivo.

Não acho que haja qualquer diferença entre fullscreen e borderless dentro do Wine, além do comportamento alt + tab. O Compositor é instruído a desligar / cancelar o redirecionamento em ambos os casos e a inversão da página para o vsync adequado é acionada. Portanto, você não deve se incomodar com isso, a menos que aquele bug estranho de aumento de escala do jogo aconteça com mais frequência com o sem borda por algum motivo.

Tecnicamente, G-Sync / Free-Sync só funciona com tela cheia / totalmente sem bordas, infelizmente o H: ZD não é totalmente sem bordas, portanto há uma diferença.

@ArturWroblewski
Deve-se notar, que o jogo congela de qualquer maneira, as perguntas são realmente "quando" e "com que freqüência". Com o arquivo "revertido" corretamente, dependendo da sua sorte, o jogo será executado em qualquer lugar de 10 minutos a 8+ horas antes de congelar. Portanto, tente várias vezes e você poderá obter 20 minutos, depois uma hora ou mais, depois de 5 a 7 horas e, a seguir, 20 minutos novamente, mas principalmente horas +. Sem o arquivo "revertido", ele quase sempre congela em 10-15 minutos. Algumas pessoas relataram que conseguem jogar até uma hora sem reverter, mas não consegui reproduzir isso. Não determinamos exatamente por que isso acontece, mas como o bug geralmente está relacionado à alocação de recursos, coisas como a quantidade geral de RAM e VRAM livres que seu sistema tem disponível a qualquer momento podem ou não ser um fator.
AFAIK, você NÃO reverteu e compilou d3d12.dll por conta própria. Se ele congelar em 20 minutos todas as vezes, quase sem variação, é muito provável que você tenha o arquivo errado. Quem lhe deu o arquivo pode ter carregado o errado. Embora você possa pedir à pessoa que certifique-se de ter fornecido o arquivo recém-compilado, a única maneira de ter certeza no momento é compilá-lo você mesmo. Usar o fork \ repo de @intersectRaven é a maneira mais fácil (não há necessidade de reverter nada).

Edit: A questão do caminho!
O arquivo precisa ser gravado na pasta "System32" e, em seguida, precisa ser definido como "nativo" na configuração do Wine (Proton). Caso contrário, Proton não o "verá". Se ele sobrescrever o arquivo, coloque-o em um local onde sobrescreverá a versão "System32" (para GE 6, o padrão é / dist / lib 64 / wine / vkd3d-proton). O binário em si deve ser x64 - isso É confuso.
Se isso não funcionar, tente colocá-lo no diretório do jogo como @ mozo78 sugeriu, mas algumas pessoas relataram que isso causa um travamento forte do jogo para elas, portanto, fique atento. Pode funcionar, mas não é a solução correta. O correto é colocá-lo no "System32".

Relatar mais problemas - ter pedras e outros adereços voando, o jogo não pode ser jogado (porque você não pode se esconder :)) - e isso acontece aleatoriamente. Além disso, a _janela sem borda_ não preenche toda a tela, portanto, não usa G / Free-Sync.

Receio que seja muito instável, isso é um reembolso para mim - possivelmente esperando por um suporte melhor.

Executando em 2080 Ti, 450.66 - Ubuntu 18.04.3 - 3440x1440.

Aqui está um novo pacote do lançamento do binário Proton-5.9-GE-6-ST com

Os usuários do Fedora 32 com placas AMD também podem apreciar esta reconstrução do Mesa git usando os arquivos de especificações oficiais do Fedora, com a fonte de master ontem, que corrige uma série de falhas gráficas e problemas de desempenho.

Eu dei algumas instruções se você pudesse usá-los. Com ambos aplicados, o HZD está funcionando muito bem para mim. Ainda trava, geralmente com o congelamento gráfico que outros descrevem acima. Reiniciar o GDM resolve sem reinicializar na maioria das vezes, às vezes é um travamento muito mais difícil do que isso. Jogável por longos períodos de tempo, entretanto, com configurações gráficas ajustadas um pouco do Original em meu 5700XT em 1440 ultra-wide.

Obviamente, tenha cuidado ao confiar em downloads aleatórios de estranhos na Internet. Acho que se você gosta disso, no entanto.

Editado para adicionar: usando o X11, iniciando o jogo com tela cheia com janela / sem bordas, sou capaz de mudar os espaços de trabalho e voltar para o jogo sem bordas.

Edição 2: Acabei de perceber que não atualizei o .vdf do Steam para reconhecer um nome diferente antes de enviar. Eu estava apenas fazendo um monkeypatch manual do GE-6-ST. :) O link acima foi corrigido.

Edit 3: Eu sou aparentemente muito ruim em liberar construções de prótons? Vou manter meu trabalho diurno, suponho. De qualquer forma, acho que realmente consertei desta vez, aqui estão algumas capturas de tela mostrando o funcionamento:

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

Ao postar binários, você também poderia postar um link para os patches?
Desculpe, mas estou um pouco hesitante em rodar binários sem ver diferenças (ou que eu poderia reconstruir sozinho).

Não consegui fazer com que uma reconstrução completa do Proton-GE funcionasse devido a um desvio no Wine desde sua última atualização de seu conjunto de patches, e a divisão em duas partes leva tanto tempo que nem me incomodei. Isso é apenas o branch pessoal da intersectRaven reconstruído e o d3d12.dll é trocado pelo lançamento do binário Proton-5.9-GE-6-ST do próprio GloriousEggroll.

As reconstruções do Mesa são exatamente do Mesa git master com os patches F32 .spec no repo de onde essas versões são.

Eu atualizei o post acima para ficar mais claro, espero.

@solacelost

  1. Obrigado pelo Proton 5.9 Solance Edition.
    Admito que o jogo ainda não está congelado para mim no Proton 5.9 Solance Edition. Mas tenho objetos voadores o tempo todo. Reiniciei o jogo 30 vezes e ainda tenho objetos voadores. Se não imediatamente após o início do jogo, após 5 minutos eles aparecem.
  1. Ao usar Proton-5.9-GE-6-ST, objetos voadores desaparecem após 2 reinicializações no máximo. E eles eu não tenho objetos voadores, o tempo todo do jogo (até que o jogo congele após cerca de 20 minutos)

3. Tentei alternar entre o Proton-5.9-GE-6-ST e o Proton 5.9 Solance Edition.
Muitas vezes. E quando ligo o Proton 5.9 GE-6-ST, a otimização demora um pouco e não tenho objetos voadores (Perfeito). Depois de mudar para o Proton 5.9 Solance Edition, a otimização leva cerca de 10 minutos e tenho muitos objetos voadores.

@solacelost

  1. Obrigado pelo Proton 5.9 Solance Edition.
    Admito que o jogo ainda não está congelado para mim no Proton 5.9 Solance Edition. Mas tenho objetos voadores o tempo todo. Reiniciei o jogo 30 vezes e ainda tenho objetos voadores. Se não imediatamente após o início do jogo, após 5 minutos eles aparecem.
  2. Ao usar Proton-5.9-GE-6-ST, objetos voadores desaparecem após 2 reinicializações no máximo. E eles eu não tenho objetos voadores, o tempo todo do jogo (até que o jogo congele após cerca de 20 minutos)

3. Tentei alternar entre o Proton-5.9-GE-6-ST e o Proton 5.9 Solance Edition.
Muitas vezes. E quando ligo o Proton 5.9 GE-6-ST, a otimização demora um pouco e não tenho objetos voadores (Perfeito). Depois de mudar para o Proton 5.9 Solance Edition, a otimização leva cerca de 10 minutos e tenho muitos objetos voadores.

Pelo que eu posso dizer pelos posts acima, isso está relacionado ao hardware da Nvidia e está presente desde que as pessoas o colocaram em funcionamento. Não sei como ajudá-lo nisso, pois os drivers da Nvidia são blobs binários proprietários e ninguém na comunidade pode fazer nada a respeito.

@solacelost Eu estava interessado na sua versão do Proton, para testar a reclamação de @ArturWroblewski de objetos voadores que não vão embora em uma placa NVidia, mas o link de download não está funcionando para mim (tempo limite de conexão) por algum motivo estranho. Você pode recarregá-lo em outro lugar?

@solacelost Eu estava interessado na sua versão do Proton, para testar a reclamação de @ArturWroblewski de objetos voadores que não vão embora em uma placa NVidia, mas o link de download não está funcionando para mim (tempo limite de conexão) por algum motivo estranho. Você pode recarregá-lo em outro lugar?

@RoyShapiro
https://random-crap-29179.s3.us-east-2.amazonaws.com/Proton-5.9-solace-edition.tgz

Pessoal, alguém registrou um problema no rastreador de bugs da NVIDIA?

@solacelost

Abaixo está uma gravação dos testes. Você pode encontrar por capítulos onde o teste está no Vídeo. Capítulos interativos (links) incluídos na descrição do filme Yotube.

https://youtu.be/7_Hdd7AK33Q

===================== Proton 5.9-GE-6-ST ================

00:00 Início - Otimizando o jogo - aprox. 1 min 30 seg com Proton 5.9-GE-6-ST
02:37 O jogo está rodando no Proton 5.9-GE-6-ST funciona bem, mas congela após 13 min
14:20 Iniciando o jogo.
15:44 O jogo está rodando no Proton 5.9-GE-6-ST funciona bem, mas congela após 12 min

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

27:44 Verifique se a versão foi definida corretamente para Proton 5.9 Solance Edition
29:18 Otimizando o jogo - aprox. 8 min 30 seg com Proton 5.9 Solance Edition
38:58 O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores.
40:38 Reinicie !!! O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores após 10 minutos do início
49:54 A partir desse momento, objetos voadores começam a aparecer.
52:48 Reinicie !!! O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores.
53:27 Carregar um jogo salvo !!! O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores.
54:14 Carregue um jogo salvo !!! O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores.
54:27 Carregar um jogo salvo !!! O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores.
55:59 Reinicie !!! O jogo está rodando no Proton 5.9 Solance Edition funciona bem, mas você pode ver objetos voadores após 5 minutos do início
59:49 A partir desse momento, objetos voadores começam a aparecer.

===================== Proton 5.9-GE-6-ST ================

1:03:48 Cange próton para próton 5.9-GE-6-ST
1:04:35 Iniciar - Otimizando o jogo - aprox. 1 min 30 seg com Proton 5.9-GE-6-ST
1:06:37 O jogo está rodando no Proton 5.9-GE-6-ST funciona bem

Parece que Proton 5.9-GE-6-ST faz com que o jogo congele.

Solance não faz, mas causa objetos voadores.

@solacelost

Estou vendo o mesmo. Proton-GE-6-ST causa travamentos após um curto tempo de reprodução.

A versão Solance não congela, mas as pedras e outras coisas começam a flutuar depois de um tempo.

No momento, a melhor solução é copiar o d3d12.dll do Proton 5.9 Solance Edition e substituir o do Proton 5.9 GE-6-ST por ele.

Substituir

Proton-5.9-GE-6-STdist \ lib64 \ winevkd3d-protond3d12.dll

Com

\ Proton-5.9-solace-editiondist \ lib64 \ winevkd3d-protond3d12.dll

Em seguida, carregue o HZD com Proton-5.9-GE-6-ST embalando o d3d12.dll substituído.

Isso corrige os congelamentos e, na maioria dos casos, não tem problemas com rochas flutuantes, etc, assumindo que na primeira carga, você não tem esse problema.

Parabéns a Artur_W no Reddit pela sugestão de solução alternativa.

@Cxpher
Eu confirmo. Até agora o jogo está rodando continuamente por 4 horas sem congelar e sem objetos voadores (pedras e árvores). Graças à mistura de Proton 5.9-GE-6-ST com d3d12.dll da Proton 5.9 Solance Edition

Baixe Proton 5.9-GE-6-ST com d3d12.dll no link:
https://drive.google.com/file/d/1MjaifwahNgnw6tQ1jv6OqaWv94eRKoR6/view?usp=sharing

Proton-5.9-GE-6-STdist \ lib64 \ winevkd3d-protond3d12.dll

Proton-5.9-GE-6-STdist \ lib \ winevkd3d-protond3d12.dll

Podemos vincular apenas a DLL?

Estou tendo um problema estranho em que o menu funciona bem depois de desligar o VSync, mas assim que carrego no jogo obtenho cerca de 5FPS em cada configuração gráfica. Isso acontece com ou sem o VSync ligado (com ele no menu a cerca de 10FPS). Isso está em Wayland no GNOME 3.36.

No GNOME Xorg, o jogo carrega com cerca de uma borda de 20 pixels em torno dele mostrando minha área de trabalho, e quando carrego em meu save, X está congelado, me forçando a pegar outro TTY para matá-lo.

R7 3800X e um RX 5600 XT, mesa-git e amdgpu. Usando apenas a opção de inicialização de pulso de 60 msec do Steam. 5.9-GE-6-ST (prestes a adicionar o .dll e ver se isso ajuda em alguma coisa).

d3d12.dll do Proton 5.9 Solance Edition

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

https://drive.google.com/file/d/12a5mlHJfrr_MynPDmJe6wwEn7gAb0Jfb/view?usp=sharing
Testado na placa gráfica Nvidia. Não verifiquei como funciona na AMD.

A troca de DLL não corrigiu meu problema, embora eu não tivesse certeza de que faria isso em primeiro lugar. Percebo que minha CPU ou GPU aumentam muito quando tento renderizar o jogo, como se algo o estivesse bloqueando ou não "conectando" de alguma forma e é por isso que estou tendo esses baixos números de FPS. Não tem certeza do que verificar para ver por que está acontecendo no entanto, log de prótons?

Atualize meu problema específico (e talvez isso seja mencionado aqui em algum lugar). Definir um limite de quadro faz com que os quadros enlouqueçam. Eu os configurei como ilimitados e consegui jogar bem. No entanto, mesmo depois de substituir aquela DLL, ainda recebo telas pretas aleatórias que bloqueiam minha sessão inteira, forçando uma reinicialização forçada (não é possível alternar a guia, etc). A mesma coisa acontece no X ou no Wayland (acontece mais rápido no X, quando o jogo finalmente carrega, ele trava completamente, mas posso TTY para matar a sessão do gnome e reiniciá-la no X, mas não posso fazer isso no Wayland).

O jogo está rodando continuamente há 4 horas sem congelamento e sem objetos voadores (pedras e árvores).
Graças à mistura de Proton 5.9-GE-6-ST com d3d12.dll da Proton 5.9 Solance Edition
Jogabilidade como prova no link: https://youtu.be/xjokkb0WypE

Baixe Proton 5.9-GE-6-ST com d3d12.dll no link:
https://drive.google.com/file/d/1MjaifwahNgnw6tQ1jv6OqaWv94eRKoR6/view?usp=sharing
Proton-5.9-GE-6-STdist \ lib64 \ winevkd3d-protond3d12.dll
Proton-5.9-GE-6-STdist \ lib \ winevkd3d-protond3d12.dll

Se você não quiser baixar o Proton de 250 MB inteiro, você só pode baixar d3d12.dll do Proton 5.9 Solance Edition
https://drive.google.com/file/d/12a5mlHJfrr_MynPDmJe6wwEn7gAb0Jfb/view?usp=sharing

Testado na placa gráfica Nvidia. Não verifiquei como funciona na AMD.

Eu tentei o Proton acima com d3d12 dll e posso rodar o jogo pela primeira vez desde que comprei, mas com falhas e fps baixo.

Informação do sistema

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

Informações do sistema a vapor total:
https://gist.github.com/QUASARFREAK/45d9f21fed44212ef156797f1627d221

Capturas de tela:
https://imgur.com/a/cYFWP0Z

@QUASARFREAK você ainda tem travamentos depois de tantos minutos de jogo, ou apenas falhas e FPS baixo? Eu tenho o VSync desativado, sem limite de quadros e as configurações sobre médio (desfoque de movimento desativado) e os quadros são consistentemente 65-80, mas recebo uma falha grave em qualquer lugar entre 10-20 minutos, mesmo com a substituição d3d12.dll e usando 5.9- GE-6-ST.

Olá, eu tentei algumas coisas agora, ainda está travando após alguns segundos: https://www.youtube.com/watch?v=o9ToF7PzXh
Construí próton-ge sozinho e usei a versão pré-construída 6 e 7. Construiu vkd3d e colocou-os nas pastas proton-ge / dist / lib e lib64. Coloque-os em system32 (64 bits) e SysWOW64 (32 bits) no prefixo também, embora não saiba se isso foi necessário. Iniciei o jogo com Mangohud ligado e pulseaudio definido para 60 ms, caso contrário, tenho um eco no som. Tentei também o arquivo profile.dat para testar diferentes resoluções.
Toda vez que está funcionando e quebrando depois de um tempo.

Perdi algo ou dei errado em algum lugar?
O sistema é um Ryzen 9 3900X / Vega 64 - Manjaro Budgie estável em mesa

Só para adicionar, meu fork é principalmente para GPUs NVidia. Para GPUs AMD, a correção para a corrupção dos gráficos está no último mesa-git, então você precisa disso também para não ter a corrupção dos gráficos.

Estou com a NVIDIA e os objetos flutuantes estão aqui com frequência. Tentei um driver Vulkan estável e beta. Fico feliz em saber que ele foi finalmente corrigido para a AMD.

@ mozo78 Odd. Ele deve se estabilizar após uma ou duas reinicializações do jogo. De qualquer forma, teremos que esperar que os desenvolvedores de VKD3D consertem permanentemente.

Estou curioso para saber se é um problema de driver ou VKD3D.

Resolvido meu problema, está funcionando perfeitamente agora: tive que atualizar para mesa-git!

Portanto, o problema está no driver da NVIDIA.

A propósito, aqui está meu d3d12.dll compilado que você pode copiar para o diretório HZD. Por favor, informe sobre flutuações, já que estou tentando contornar as coisas durante a tradução do SPIRV em VKD3D.

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

Por enquanto está tudo bem. Pode ser por acidente, mas vou assistir :)

Até agora, não consegui iniciar o HZD, ele trava ao iniciar.
Estou usando mesa-git, Proton-5.9-GE-6-ST, vkd3d-proton-master e substituí x64- e x86-d3d12.dll em Proton-5.9-GE-6-ST/dist/lib(64)/wine/vkd3d-proton

Por favor, informe sobre flutuações, já que estou tentando contornar as coisas durante a tradução do SPIRV em VKD3D.

@intersectRaven Não sei por que você se incomoda, Hans-Kristian confirmou que é um bug no driver da Nvidia por volta de segunda-feira e o último driver Vulkan dev beta menciona explicitamente esse bug a ser corrigido em seu changelog:

Corrigido um bug em uma otimização de barreira que permitia que algumas cópias consecutivas fossem executadas sem ordem

Portanto, qualquer um que esteja tentando jogar HZD na Nvidia deve atualizar para 455.22.04 ou esperar até que esta correção alcance o branch estável.

Até agora, não consegui iniciar o HZD, ele trava ao iniciar.

@TheHooly Você tem d3dcompiler_47.dll (e possivelmente também dxcompiler.dll ) vinculado / copiado próximo ao executável do jogo? Considere também postar o log criado com PROTON_LOG=1 , caso contrário, adivinhar o que há de errado levará muito tempo.

Eu tinha o d3d12.dll (x64) embutido na pasta do jogo, esqueci de removê-lo de lá depois de copiá-lo por engano, removi-o agora.
Copiei d3dcompiler_47.dll da pasta lib64 do Proton e dxcompiler.dll do próprio jogo Horizon Zero Dawn/Tools/ShaderCompiler/PC/1.0.2595/x64 infelizmente nenhuma diferença ainda.
http://ix.io/2zCB

Por favor, informe sobre flutuações, já que estou tentando contornar as coisas durante a tradução do SPIRV em VKD3D.

@intersectRaven Não sei por que você se incomoda, Hans-Kristian confirmou que é um bug no driver da Nvidia por volta de segunda-feira e o último driver Vulkan dev beta menciona explicitamente esse bug a ser corrigido em seu changelog:

Corrigido um bug em uma otimização de barreira que permitia que algumas cópias consecutivas fossem executadas sem ordem

Portanto, qualquer um que esteja tentando jogar HZD na Nvidia deve atualizar para 455.22.04 ou esperar até que esta correção alcance o branch estável.

Até agora, não consegui iniciar o HZD, ele trava ao iniciar.

@TheHooly Você tem d3dcompiler_47.dll (e possivelmente também dxcompiler.dll ) vinculado / copiado próximo ao executável do jogo? Considere também postar o log criado com PROTON_LOG=1 , caso contrário, adivinhar o que há de errado levará muito tempo.

Bom saber. Onde ele postou a propósito? No futuro, vou apenas sugerir a todos que atualizem para 455.22.04 ou esperem pelos drivers oficiais. Meu branch pessoal ainda existirá, mas apenas para resolver as falhas de memória devido ao hashmap esgotar a memória. :risonho:

Além disso, para aqueles que usam AMD, a correção foi adaptada para Mesa 20.1 e está incluída na versão Mesa 20.1.9, portanto, assim que suas distros forem atualizadas, você não precisará compilar o mesa-git. :risonho:

Pode confirmar se o jogo pode ser reproduzido com Mesa 20.2.0 no Gentoo com fsync. d3dcompiler_47.dll incluindo substituição nativa e Proton-5.9-GE-6-ST são necessários.
Estou recebendo aprox. 30-60fps dependendo da situação em 1440p ultra no RX Vega 64 com um overclock robusto e um 3900X. Meu controle do Xbox One se recusa a funcionar com este jogo, assim como o mangohud por algum motivo.

@TheHooly d3dcompiler_47.dll do Proton quase certamente não funcionará, copie o enviado com o próprio jogo (está em algum lugar em Tools assim como dxcompiler.dll ). No entanto, o log não menciona que ele foi carregado de forma alguma, então o jogo provavelmente morre antes mesmo de tentar usá-lo.

Supondo que você esteja usando AMD, há um problema conhecido com o ACO, mas ele causa travamentos de GPU totalmente desenvolvidos e não apenas travamentos simples na inicialização. Tentarei dar uma olhada melhor em seu log amanhã, mas estou na Nvidia e provavelmente não poderei ajudá-lo, desculpe.

Onde ele postou a propósito?

@intersectRaven no servidor VKx Discord.

O jogo abre uma janela preta e gira o símbolo de carregamento no canto inferior esquerdo para mim, mas depois trava:

Ubuntu 20.04.1
Proton-5.9-consolação-edição
dxcompiler.dll e d3dcompiler_47.dll copiados dos diretórios de ferramentas HZD
Perfil de 50 Hz do Windows 1920 x 1080 em uso

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.

log: https://gist.github.com/mickeylyle/375dbefe65a2c67b28ac0f6e37842803

Olá @mickeylyle , como mencionado nos comentários de alguns antes do seu, use a mesa 20.1.9 ou mais recente com este jogo. Você pode usar um PPA como oibaf ou kisak-mesa para obter uma versão atualizada do mesa para o seu sistema.

VKx

Obrigado. Eu estava procurando sua discórdia para ver como estava indo seu desenvolvimento. :sorriso:

Obrigado @ kisak-valve desculpe por perder isso!

Eu instalei seu PPA e testei o jogo no Proton-5.9-solace-edition e no Proton-5.9-GE-6-ST. Ambos me mostram os logotipos SIE e Guerrilla, e o último até me deixa ver alguns quadros do que presumo ser o fundo do menu, mas ambos travam imediatamente depois.

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

Desde meu último comentário, o jogo recebeu uma atualização de 2GB (Shader-Pre-Caching), agora posso ver a tela de carregamento brevemente antes de travar.
Novo log, vi uma entrada que agora carrega d3dcompiler_47.dll da pasta raiz do jogo:
http://ix.io/2zFK

@TheHooly Isso parece bastante suspeito (a primeira e a última mensagem):

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).

Talvez tente com dxgi.dll do DXVK?

Eu não ficaria surpreso se alguma geometria da janela ou travessuras de buffer do jogo fossem responsáveis ​​pelos travamentos "inexplicáveis" (se não for o gerenciamento de recursos irracional), já que o jogo, por exemplo, ainda tem o bug estranho de upscaling no Windows às vezes . Eu tentei basicamente tudo que se pode imaginar e todos os outros jogos como WoW D3D12 ou Hitman 2 D3D12 funcionam sem travamentos, afaict. Mas isso sempre trava depois de alguns segundos no menu.

Não trava, funciona perfeitamente bem. Você deve seguir as instruções cuidadosamente.

Basicamente, não há instruções a serem seguidas com um prefixo limpo e Proton-GE recente, graças aos protontricks. De qualquer forma, li todos os comentários neste tópico e tentei todas as sugestões. Ficou ainda pior com os patches do jogo. Ele pode travar ainda mais cedo ao usar a configuração "errada" com respeito ao modo de resolução / janela, mas graças aos esforços de ArturWroblewski, essa não parece ser a razão pela qual finalmente falhou aqui.

Log de prótons:
steam-1151640.log

Obrigado, mas nada ali o que eu teria perdido.

Btw. nenhuma diferença entre mesa-git e amdvlk-pro, os jogos travam completamente antes de chegar ao menu (ou no menu).

Se você excluiu seu prefixo e tem um salvamento na nuvem, às vezes você precisa criar o diretório Horizon Zero Dawn na pasta Meus Documentos do usuário do prefixo ou o jogo travará. Não vejo essa parte comumente citada, mas experimentei isso pessoalmente. :sorriso:

Sim obrigado. Eu tropecei nisso algumas vezes, então desativei a sincronização em nuvem para HZD e excluí o prefixo depois.

Você já tentou criar a pasta mesmo assim?

Bem, o jogo poderia criá-lo com sucesso com o prefixo limpo atual e lá testei todas as configurações fornecidas por ArturWroblewski. :(

Eu vi alguém mencionar um bug estranho de upscaling embaçado no Windows. Eu também encontrei, e foi resolvido pela configuração "Desativar escala de exibição em configurações de DPI alto" ou semelhante (por exemplo, "Substituir comportamento de escala de DPI alto" definido como "Aplicativo") na guia de compatibilidade das propriedades do executável.
O jogo realmente usa uma abordagem estranha para gerenciamento de janela, como invocar uma rotina de sistema "SetProcessDpiAwarenessContext" para definir seu reconhecimento de DPI, quando de acordo com as boas práticas, ele deveria usar um manifesto de aplicativo para isso.
Dito isso, alguém com problemas com Fullscreen \ Borderless Window tentou habilitar "Emulate Virtual Desktop" nas configurações do Wine \ Proton?

Eu só queria comentar sobre o sucesso de rodar este jogo no meu sistema. Atualmente estou executando o mesa 20.3.0_devel.128992.447cef4a71d-1 com Proton-5.9-GE-6-ST. A única coisa que tive que fazer foi copiar "Horizon Zero Dawn/Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll" para a pasta raiz "Horizon Zero Dawn" .

Devo mencionar que estou executando todo o hardware amd. O Ryzen 9 3900XT e o Radeon RX 5700 XT. Eu não notei nenhuma textura flutuante, travamento ou algo parecido.

Com base no relatório de @ Develon5543 , a remoção de dxcompiler.dll que copiei de Ferramentas e do profile.dat que instalei a partir das instruções anteriores neste tópico trouxe mais alguns quadros para o menu! Mas depois caiu novamente.

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

@ Develon5543 você não deveria nem mesmo ter que copiar d3dcompiler_47, há um protonfix embutido em minha compilação que faz isso para você (é a mesma coisa que executar winetricks d3dcompiler_47 ), mas você precisa de wine e winetricks instalados em seu sistema para protonfixes funcionarem em minhas compilações.

Não relacionado:
Testado em Nvidia 1660 Super com driver 455.23.04 e não pode confirmar mais floaties.

@GloriousEggroll desculpe

Existe uma versão do Wine recomendada para executar? Estou no Ubuntu 20.04.1 para economizar um pergaminho.

Também existe uma maneira de "começar do zero"? Eu sei que posso desinstalar o jogo, mas isso remove o prefixo? Posso começar do zero sem baixar novamente 60 GB de dados do jogo?

@GloriousEggroll desculpe

Existe uma versão do Wine recomendada para executar? Estou no Ubuntu 20.04.1 para economizar um pergaminho.

Também existe uma maneira de "começar do zero"? Eu sei que posso desinstalar o jogo, mas isso remove o prefixo? Posso começar do zero sem baixar novamente 60 GB de dados do jogo?

Não, desinstalar o jogo geralmente não remove o prefixo. Instale "protontricks" como quiser (basicamente winetricks protonizados), então use "protontricks --gui" em um terminal. Escolha o jogo que deseja, neste caso, Horizon. Em seguida, escolha o "prefixo do vinho padrão" e, a seguir, "remover prefixo" no menu.

Reestruturei meu fork no último VKD3D-Proton para a reversão do hashmap. Joguei por mais de 20 minutos correndo ao redor do mapa e matando Grazers, então eu deveria ter feito a reversão corretamente. : pray: Você pode baixar aqui:

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

@GloriousEggroll eu testei com rtx 2080 e 455.23.04. Com Proton-5.9-GE-7-ST o jogo trava imediatamente. Com a configuração aqui https://reddit.com/r/linux_gaming/comments/j1xeup/horizon_zero_dawn_complete_edition_works_on/ Tenho floaties em todos os lugares e o jogo não pode ser jogado. O que mais você configurou além do arquivo d3dcompiler_47.dll?

@Saancreed o driver beta

Atualizar - o salvamento realmente salva os objetos flutuantes também. Eu reiniciei o save com a 'edição solance' e os carros alegóricos desapareceram.

Update2 - rochas flutuantes ainda estão lá, mas a maioria das coisas estão no chão agora.

@trialism Você pode tentar os drivers 455.22.04 da Nvidia? Não tenho certeza se a correção é 455.23.04, pois o driver foi lançado para o suporte da série 3000, então talvez a correção ainda não tenha sido aplicada corretamente. Ou se você não pode atualizar (ou baixar ou o que quer que seja, já que as versões são estranhas com essas versões beta: smile :), tente o d3d12.dll que postei antes de ontem que não era baseado no último VKD3D-Proton.

@trialism Eu usei um prefixo limpo com esses drivers em um 1660 super e ele rodou ootb sem problemas. Eu não usei nenhuma configuração personalizada. Para observar mais, continuei de uma defesa e não tinha pedras flutuantes.

-edit- Eu apenas tentei novamente com minha versão de lançamento que foi feita -após- a mudança d3d12 para o git de intersecraven de ontem e também estou enfrentando uma falha. olhando para ele agora.

-edit2- acabei de experimentar meu equipamento amd com um prefixo limpo e um download novo e ele disparou imediatamente. absolutamente nenhum problema. vou verificar os drivers da nvidia no meu equipamento NV

-edit3- está relacionado a alguma atualização de patch em minha versão mais recente que os drivers da nvidia não gostam. Testei as duas versões do driver e não tive sorte. Revertido para GE-6 e disparou. Olhando para a causa agora.

-edit4- encontrou o patch ruim. é um dos patches de vinho a montante pendentes. Vou deixar o autor saber e atualizar minha versão

Olá. Não consegui executar o HZD usando as instruções fornecidas por mozo78 (pelas quais sou grato). Anexei o log. Especificamente, estou recebendo a falha após a tela preta de carregamento, uma vez que o texto SONY ENTERTAINMENT começa a desaparecer.

Também gostaria de acrescentar que usei o kisak-mesa. glxinfo está me dando uma versão mesa do 20.1.5. Se isso for insuficiente, solicito assistência para atualizá-lo mais.

Obrigado.

steam-1151640.log

Atualizei minha construção GE, testada e trabalhando em nv e amd:
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-7-ST

Os usuários da AMD precisam do mesa 20.1.9 ou superior, os usuários da Nvidia 455.22.04 beta ou superior

@GloriousEggroll 455.23.04
Você pode editar a versão do driver NVIDIA. Tem que ser Vulkan beta 455.22.04 e não 455.23.04.
Obrigado pelo novo lançamento incrível!

Atualizei minha construção GE, testada e trabalhando em nv e amd:
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-7-ST

Os usuários da AMD precisam do mesa 20.1.9 ou superior, os usuários da Nvidia 455.22.04 beta ou superior

Droga! Esqueci de empurrar a mesclagem que fiz esta manhã, onde HansKristian corrige a opção de tela cheia! De qualquer forma, empurrei-o para o meu fork agora mesmo para que qualquer um que queira compilá-lo possa fazê-lo. Novamente, use o ramo PESSOAL. :sorriso:

@GloriousEggroll 455.23.04
Você pode editar a versão do driver NVIDIA. Tem que ser Vulkan beta 455.22.04 e não 455.23.04.
Obrigado pelo novo lançamento incrível!

Qualquer uma das versões funciona, ambas testadas.

Testei 455.23.04 e, na verdade, existem objetos flutuantes. O bug foi corrigido no Vulkan beta 455.22.04.

Talvez 455.23.04 tenha apenas uma correção "parcial" que reduz bastante as chances de ocorrerem flutuações? Eu lembro que experimentei isso uma vez, mas nunca mais depois disso, então estou inclinado a acreditar que a correção já está em 455.23.04 desde que li na discórdia VKx que a corrupção pode ser salva no arquivo salvo. Não tenho certeza embora. O que tenho certeza é que com 455.22.04 NUNCA aconteceu com qualquer cenário que eu pudesse simular antes. :sorriso:

Experimentei o driver 455. 22.04 com o mais recente 5.9-GE-7-ST e funcionou, obrigado! Ele também funciona com tela cheia e freesync, altabbing está ok e não havia artefatos visuais. Só tive um problema: após 20 minutos, meu VRAM vazou e o jogo parou de funcionar.

Tentei o driver 455._22.04_ com o mais recente 5.9-GE-7-ST e funcionou, obrigado! Ele também funciona com tela cheia e freesync, altabbing está ok e não havia artefatos visuais. Só tive um problema: após 20 minutos, meu VRAM vazou e o jogo parou de funcionar.

Hmmm ... Eu deixei de fora uma parte da destruição já que o código de suporte foi arrancado e eu não estava interessado em reimplementá-lo, então talvez isso seja necessário para alguns dispositivos que ACHO que têm VRAM baixo. Quanto VRAM você precisa apenas verificar? insira a desculpa usual do programador de "funcionou na minha máquina" aqui : rindo:

Tentei o driver 455._22.04_ com o mais recente 5.9-GE-7-ST e funcionou, obrigado! Ele também funciona com tela cheia e freesync, altabbing está ok e não havia artefatos visuais. Só tive um problema: após 20 minutos, meu VRAM vazou e o jogo parou de funcionar.

@trialism você pode tentar isso se melhorar sua situação? Basta copiar a dll relevante para o diretório HZD para não sobrescrever a que vem com GE.
https://cloud.intersectraven.tech/s/wG9eyH8eScxJeQ5

@intersectRaven tenho 8 GB. Vou tentar executar o HZD com essa DLL por um tempo.

@intersectRaven sem travamentos após uma hora de jogo a 1440p e escala de resolução de 100%! O VRAM aumentou de 6,9 ​​GB para 7,7 GB, mas ainda estava funcionando.

Há duas coisas que observei (não relacionadas a travamentos): o jogo perderá o vsync temporariamente se eu ativar enquanto ele está em execução, mas isso não acontecerá se eu pausar antes de alternar as janelas. Depois de perder o vsync (modo blit vs flip), posso recuperá-lo se pausar o jogo e clicar duas vezes.
A outra coisa é o gargalo da CPU - a maioria das minhas quedas para 50-60 Fps é devido à utilização pesada de um único núcleo. O jogo não está usando a maioria dos núcleos, mas empurra meu ryzen 3600, que geralmente atinge 4,4 GHz.

@intersectRaven sem travamentos após uma hora de jogo a 1440p e escala de resolução de 100%! O VRAM aumentou de 6,9 ​​GB para 7,7 GB, mas ainda estava funcionando.

Há duas coisas que observei (não relacionadas a travamentos): o jogo perderá o vsync temporariamente se eu ativar enquanto ele está em execução, mas isso não acontecerá se eu pausar antes de alternar as janelas. Depois de perder o vsync (modo blit vs flip), posso recuperá-lo se pausar o jogo e clicar duas vezes.
A outra coisa é o gargalo da CPU - a maioria das minhas quedas para 50-60 Fps é devido à utilização pesada de um único núcleo. O jogo não está usando a maioria dos núcleos, mas empurra meu ryzen 3600, que geralmente atinge 4,4 GHz.

Bom saber. Acho que sua preocupação com o vsync será abordada no próximo PR no VKD3D-Proton de HansKristian. Depois que for mesclado, também o mesclarei em meu fork.

Não, desinstalar o jogo geralmente não remove o prefixo. Instale "protontricks" como quiser (basicamente winetricks protonizados), então use "protontricks --gui" em um terminal. Escolha o jogo que deseja, neste caso, Horizon. Em seguida, escolha o "prefixo do vinho padrão" e, a seguir, "remover prefixo" no menu.

Alguma maneira não-protontricks de fazer isso? Não estou interessado em mexer com algum hackwork pipx.

Não, desinstalar o jogo geralmente não remove o prefixo. Instale "protontricks" como quiser (basicamente winetricks protonizados), então use "protontricks --gui" em um terminal. Escolha o jogo que deseja, neste caso, Horizon. Em seguida, escolha o "prefixo do vinho padrão" e, a seguir, "remover prefixo" no menu.

Alguma maneira não-protontricks de fazer isso? Não estou interessado em mexer com algum hackwork pipx.

Você sempre pode excluir manualmente a pasta do prefixo.

Você sempre pode excluir manualmente a pasta do prefixo.

Obrigado, Eu agradeço! Experimentando a nova construção GE agora. A etapa "Otimizando o jogo" está funcionando muito mais rápido.

Ainda sem sorte aqui. Crash após os logotipos.

steam-1151640.log

Olá a todos

Eu tenho o kernel mais recente do arch linux e o wine staging 5.18 em um sistema inferior usando um ryzen 5 2400g e um rx480 4gb gpu

Eu também uso os drivers mesa-git mais recentes e tentei todas as opções acima

GE build 5.9-7
GE build 5.9-6
Tkg-proton 5.18.r3

Eu tentei fazer este jogo rodar e não importa qual proton eu usei, ele exibe o logo da Sony, então o logo do Guerrilla começa a rodar o filme de introdução e falha com a caixa de erro. às vezes, ele trava de volta para a área de trabalho ou até mesmo congela e me joga para fora da tela de login.

steam-1151640.log
Anexei meu registro do Steam e espero que isso possa ajudar.

Olá a todos,

Usando Pop! _OS 20.04, Mesa 20.2.99 e AMD, criei um novo arquivo pfx usando Proton 5.9-GE-7-ST e @ intersectRaven's d3d12.dll

O jogo está funcionando na maior parte, sem pedras flutuantes ou qualquer coisa e o FPS é bastante estável, mas ainda consigo congelamentos que me intrigam. Parece acontecer aleatoriamente, mas quase sempre apenas quando estou no inventário ou no mapa. O estranho é que não parece o tipo de congelamento que estou acostumado, o som não fica em loop infinito, mas continua tocando normalmente, eu tenho um cursor do mouse visível que posso controlar, mas Mangohud me informa que meu FPS está em algum lugar entre 0 e 2 e minha latência está fora das tabelas. Portanto, parece que, em vez de congelar de repente, meu sistema para, pelo menos graficamente.

Não posso postar meu log de Proton porque ele tem mais de 100 MB (!! ??), mas tenho cerca de 30.000 linhas de

264:fixme:d3d12_swapchain_present: Unimplemented flags 0x200.

Seguido por uma seção repetindo mais alguns milhares de linhas de

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.

e então as linhas 37.000 a cerca de 1,2 milhões são repetições de

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.

Não tenho certeza do que está errado lá, qualquer conselho seria muito apreciado!

@ Milas227 e @mickeylyle :

Você já tentou colocar @ArturWroblewski profile.dat no diretório HZD do prefixo wine? (instruções acima no tópico), para mim e para muitos outros o jogo trava em tela cheia, que acredito ser a configuração padrão. Substituir os dados do perfil permite iniciar no modo janela ou sem borda e evitar este travamento específico. Não estou 100% certo de que seja isso o que está causando o seu, mas vale a pena tentar, se você ainda não tentou.

O que @Chipsse está tendo é o mesmo problema que eu, mas estou no Arch e no GNOME 3.38 Wayland (aconteceu o mesmo no 3.36).

Eu estava prestes a postar o log de prótons e vi sua postagem. Mesmos erros no meu.

@Chipsse meu jogo já está rodando em modo de janela, então não acho que isso seja um problema. Eu tentei o profile.dat antes e não fez diferença.

Tentei adicionar d3d12.dll de @intersectRaven ao Proton-5.9-GE-7-ST de @GloriousEggroll e ainda estou travando no mesmo lugar. No entanto, ele executou novamente a etapa de "otimização do jogo".

Olá a todos.
Tenho tido grande dificuldade em iniciar o jogo após tentar atualizar o mesa. Atualmente o jogo não abre. Quando clico em reproduzir, o áudio clica, mas a tela não muda. Estou preso olhando para a biblioteca do Steam até que o jogo feche sozinho. Não recebo um relatório de falha. Tentei uma nova reinstalação do jogo, vinho, kisak-mesa. Antes disso, eu conseguia acessar a tela de carregamento dos jogos antes do jogo travar com um relatório de falha. Alguém poderia me ajudar a voltar para onde comecei?
steam-1151640.log

Para todos, se alguma vez você estiver pensando em atualizar seu driver para 455 estável, não, visto que flutuadores apareceram novamente. Atenha-se a 455.22.04 Vulkan beta. Reiniciou o HZD 3 vezes antes que os flutuadores desaparecessem. Eu estava suspeitando disso desde o problema:

Corrigido um bug em uma otimização de barreira que permitia que algumas cópias consecutivas fossem executadas sem ordem

Não foi especificado nas notas de lançamento.

Sim, esta é exatamente a minha observação. Verifiquei o log de alterações com cuidado e não encontrei a correção de otimização de barreira, então é uma boa ideia manter 455.22.04 por enquanto.

@intersectRaven Eu atualizei para 455,28 e não tenho flutuadores. Joguei o jogo duas vezes por 3 horas. Só uma ideia: não joguei desde o início, mas talvez você tenha jogado e é aí que os carros alegóricos começam a aparecer?

@trialism Normalmente continuo desde a minha última jogada e após o terceiro reinício do jogo foi o único ponto em que não tive floaties, o que é um indicador do problema de barreira.

@intersectRaven Eu atualizei para 455,28 e não tenho flutuadores. Joguei o jogo duas vezes por 3 horas. Só uma ideia: não joguei desde o início, mas talvez você tenha jogado e é aí que os carros alegóricos começam a aparecer?

Na verdade, eu não jogo o jogo. Eu sempre carrego o mesmo save após a caverna :)

@Chipsse, obrigado pela sugestão de amarrar proton-ge 5.9-7 em um prefixo limpo e, infelizmente, usar perfis @ArturWroblewski não ajudou.

No entanto, quando ele congelou, fui levado para a tela de login e quando verifiquei meu log do xsession, tive este erro

amdgpu: Memória insuficiente para o envio do comando

Eu acho que os jogos estão comendo todo o vram e fazendo o jogo travar o driver amdgpu, checando o feed do Twitter do Horizons, eles disseram que o patch 1.06 está sendo trabalhado.

Sim, esta é exatamente a minha observação. Verifiquei o log de alterações com cuidado e não encontrei a correção de otimização de barreira, então é uma boa ideia manter 455.22.04 por enquanto.

Posso confirmar que a ocorrência de itens flutuantes aumentou com a atualização do driver 455.28. Isso não acontece sempre, mas às vezes é mais frequente do que outras vezes. Voltarei ao driver 455.22.04.

Existe uma correção para isso?
20201011095334_1

Essas falhas seguem a câmera, mesmo no modo de foto. Acontece em todas as versões de prótons, Proton-5.9-GE-7-ST e 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

Provavelmente é o Mesa, então espero por uma atualização e relato de volta.

@HolySoap

Mesa 20.1.8

Conforme mencionado várias vezes neste tópico:

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

@GloriousEggroll
Lamento muito por isso, mas de qualquer forma, obrigado!

Por alguns motivos, o jogo executará uma verificação de espaço livre na raiz da unidade em que está instalado (Z: por padrão no caso do Proton), que corresponde a / ou a partição raiz no Linux por meio de um ambiente Proton / Wine padrão.

Se você tiver menos de 2 GB de espaço nessa partição (provavelmente partição raiz), mesmo que seja improvável que o jogo a use (ao contrário de verificar o espaço para os diretórios que pode realmente usar), o jogo se recusará a iniciar exibindo uma mensagem semelhante a esta:

image

armazenamento fatal 2gb

@GloriousEggroll posso confirmar que Proton-5.9-GE-8-ST corrige a falha de tela cheia, mas ainda estou recebendo a falha após os logotipos.

Estou em uma CPU AMD (e GPU), então tentei seu parâmetro de inicialização do kernel clearcpuid, mas não teve nenhum efeito. O log anexado está sem ele. Eu percebi que meu uso de memória foi de 50% para 100% antes de travar.

steam-1151640.log

@GloriousEggroll Eu também tentei proton-5.9-ge-8 e também consegui travar após os logotipos.

Eu também tentei a opção de inicialização do kernel clearcpuid, mas também não teve nenhum efeito.

no entanto, quando verifiquei os logs do meu sistema, notei um erro de kernel sem memória antes do travamento. não tenho certeza se isso ajuda, mas todas as informações são boas informações.

meu sistema é ryzen 5 2400g, rx480 4gb vram, 16gb ddr4.

@ Milas227 você pode postar PROTON_LOG? É mais possível que alguém realmente identifique o problema com os logs do que sem, já que há muitas variáveis ​​a serem consideradas.

@intersectRaven meu mal !! desculpa

log anexado conforme solicitado
steam-1151640.log

Então, quem teve a chance de testá-lo com o mais novo lançamento do Proton?
https://github.com/ValveSoftware/Proton/releases/tag/proton-5.13-1b

Não testei meu "método certeiro do erro de falta de memória" desde que continuei minha busca dentro de um mundo do metal. Estou usando agora enquanto termino este Deathbringer para que seja jogável. Vou testar a falha se ela ainda ocorrer mais tarde.

Pode confirmar que ainda trava para mim no mesmo lugar com 5.13.

steam-1151640.log

editar: eu só tenho 4 GB de memória RAM e 8 GB de memória RAM do sistema. Seria este o problema?

Alguém experimenta a jogabilidade como slowmotion com Proton GE 5.9 ST 8? Não posso jogar o jogo com isso.

Funciona para mim com o próton 5.13, mas tenho cerca de 15 fps. Eu tenho uma GTX 960, por isso está um pouco desatualizada, mas ainda melhor do que a especificação mínima (GTX 780). Os resultados são os mesmos em configurações baixas ou médias. Portanto, é completamente impossível de jogar no momento.

@Skiski A GTX 960 está no mesmo nível (se não um pouco mais lenta que) uma GTX 680/770. Uma GTX 780 é mais rápida na maioria dos casos. Além disso, o jogo funciona muito mal no geral, e atm a situação é pior na nvidia em comparação com a nativa. Seus resultados parecem ser os esperados.

Acabei de instalar e tentar rodar com Proton 5.13-1, mas recebo o erro:

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

Devo tentar reinstalar o próton 5.13? O Proton não deve baixar os tempos de execução do VC necessários quando está ausente?

Atualização I

Copie esses arquivos (_mfc140.dll_ - versão de 32 e 64 bits) e, em seguida, o jogo é executado.
Estou jogando 3440x1440, detalhes _Ultra_, em 2080 Ti, 455.23.04, 64 GiB de RAM e I7-8700k - no Ubuntu 20.04.

Estes são os problemas:

  • O áudio estala e a voz dos personagens fica facilmente fora de sincronia durante as cenas animadas
  • Depois de normalmente 15 minutos, o jogo travou ( steam-1151640.log . Isso também acontece ao executar o benchmark e usar menos VRAM, portanto, não relacionado a VRAM.
  • Usar o teclado PS4 está ok, mas o dispositivo tátil é detectado como um _mouse_, portanto, o jogo pensa que estou usando meu teclado - alternativa, use a tecla 'M' no teclado para chegar ao mapa.

Infelizmente, devido ao travamento forte, o jogo não pode ser jogado (você não pode progredir a menos que salve a cada 15 minutos)

Abaixo o desempenho no Ultra do meu pc:
HZD_Ultra_perf

@Emanem Tente usar o d3d12.dll de @intersectRaven, veja acima, havia um link para download em uma de suas postagens recentes, copie-o para System32 (faça um backup do seu primeiro) e defina como nativo nas configurações de vinho do Proton. Isso deve estender aleatoriamente o seu tempo de jogo antes do travamento para quantidades geralmente jogáveis ​​(depende do seu hardware e de outras coisas aleatórias, mas em bons casos geralmente é mais de horas na maioria das vezes). Se não funcionar para você, apenas restaure seu backup e coloque a configuração de volta onde pertencia.
PS Alguns usuários relataram que o Proton substituiu seus arquivos personalizados. Por favor, consulte suas postagens acima para saber como resolver este assunto.

@RoyShapiro Obrigado pela dica, não tenho certeza se gostaria de baixar um _dll_ da internet e substituir cegamente um arquivo no meu pc.
@intersectRaven Você seria capaz de compartilhar um diff / patch de suas alterações? Feliz em recompilar sozinho.

Em geral, também posso esperar uma correção oficial da Valve (ou Nvidia se for um problema de drivers), já que a maioria dos jogadores usa Nvidia e este jogo agora faz parte da "_a lista_".

@Emanem Desculpe adiantar @intersectRaven , mas verifique sua página, você pode compilar seu repositório vkd3d-proton fork. Eu não mencionei isso imediatamente, porque muitas pessoas parecem querer apenas jogar o jogo e podem não saber como construir coisas elas mesmas.

@ Milas227 você pode postar PROTON_LOG? É mais possível que alguém realmente identifique o problema com os logs do que sem, já que há muitas variáveis ​​a serem consideradas.

Olá @intersectRaven ,
Eu experimentei exatamente a mesma ocorrência de travamentos do jogo, mas para mim eles são aleatórios (o tempo de travamento vai de um mínimo de 15 minutos a um máximo de 2 horas). Aqui anexado meu último steam-1151640.log . Não tenho certeza se meu relatório pode ser útil.

Aqui abaixo minhas especificações:
Proton: Proton GE 5.9 ST 8 (sem ajustes aplicados após a instalação)
SO: Debian GNU / Linux bullseye / sid
KERNEL: 5.8.7
CPU: AMD Ryzen Threadripper 2990WX de 32 núcleos
GPU: NVIDIA GeForce GTX 1080 Ti
DRIVER GPU: NVIDIA 455.22.04
RAM: 64 GB

@LordDaveTheKind sua falha parece exatamente o problema que eu enfrento. Você já baixou minha dll ou compilou do branch pessoal do meu repo? Deve pelo menos estender seu mínimo para mais de 15 minutos.

@intersectRaven - Em primeiro lugar, obrigado por analisar isso. Devemos compilar o branch chamado _personal_? Qual build devemos executar? _nativo_ ou _cross para d3d12.dll_?

Além disso, posso pedir para resumir as alterações que você fez. Novamente, eu sou apenas um amador em termos de Vulkan e gráficos, gostaria de entender mais isso _fix_.

@Emanem sim. Basta usar a maneira mais simples. Basicamente, rastreei o erro na implementação do armazenamento em cache do hashmap para a criação do objeto de visualização, portanto, reverti isso. Os desenvolvedores estão tendo dificuldade em consertá-lo, pois não podem replicá-lo. Esse é basicamente o único bloqueador aqui. Se HansKristian puder replicá-lo, esse erro desaparecerá em uma noite ou assim.

@Emanem sim. Basta usar a maneira mais simples. Basicamente, rastreei o erro na implementação do armazenamento em cache do hashmap para a criação do objeto de visualização, portanto, reverti isso. Os desenvolvedores estão tendo dificuldade em consertá-lo, pois não podem replicá-lo. Esse é basicamente o único bloqueador aqui. Se HansKristian puder replicá-lo, esse erro desaparecerá em uma noite ou assim.

@intersectRaven Precisamos construir um _dll_ ou _so_? Acho que devemos compilar como _dll / PE_, certo?

Obrigado pela explicação - sabendo como é _fácil_ fazê-lo travar, não tenho certeza do porque "_Os desenvolvedores estão tendo dificuldade em consertá-lo, pois não podem replicá-lo._".
Nós modificamos as fontes com registro adicional que pode ajudar os desenvolvedores?

atualizar

Consegui configurar uma máquina virtual para construir as dlls, demorei 1 hora ... Vou tentar testar a DLL, mas parece que os scripts de prótons decidem sobrescrever minhas bibliotecas personalizadas ... conforme acima, preciso descobrir. . e sim, tenho _floaties_ :)

atualização 2

Criado um novo perfil Proton para usar suas bibliotecas e testes. Posso confirmar que com as bibliotecas Proton 5.13-1b o jogo trava de forma consistente a cada 15 minutos. Vou relatar mais tarde com suas libs ...

atualização 3

Confirmado com seu patch, o jogo não trava tão freqüentemente quanto com vanilla Proton 5.13-1b.
Eu criei um Proton 5.13-1b customizado simples

Precisamos construir uma _dll_ ou _so_? Acho que devemos compilar como _dll / PE_, certo?

Você _tem que_ compilar como dll / PE, porque HZD requer OpenExistingHeapFromAddress (ou pelo menos costumava fazer em 1.01) que não pode ser implementado para .so builds.

Consegui configurar uma máquina virtual para construir as dlls, demorei 1 hora ...

Você pode compilá-los cruzadamente usando mingw-w64 toolchain, verifique se sua distro fornece isso (Arch tem a maioria dos pacotes em repositórios oficiais, exceto mingw-w64-tools ; este é necessário porque fornece widl , mas está disponível em AUR). Menor dor de cabeça do que uma VM com certeza.

parece que os scripts de prótons decidem sobrescrever minhas bibliotecas personalizadas ...

A solução mais fácil para isso é copiar d3d12.dll ao lado de HorizonZeroDawn.exe e definir WINEDLLOVERRIDES para d3d12=n . Desta forma, ele será carregado antes de qualquer cópia do Proton para o diretório de prefixo ' System32 . Não há necessidade de criar uma cópia separada do Proton apenas para substituir uma biblioteca: hung_out_tongue:

e sim, tenho _floaties_ :)

Sim, o driver Vulkan Dev ainda é necessário para consertar isso.

Mas você provavelmente já sabia muito disso. Você também pode tentar usar dxgi.dll do DXVK ( WINEDLLOVERRIDES='dxgi=n' , separar substituições múltiplas com ; ), ele _pode_ ajudar a melhorar a estabilidade.

Eu mesmo, estou tentando jogar no AMD Ryzen 7 3750H e GTX 1660 TI Mobile, é bastante estável agora e enquanto 6 GB de VRAM é ... não é muito para este jogo, no uso predefinido "Favorecer desempenho" é cerca de ~ 4-5 GB, mas a ferramenta de benchmark embutida do HZD ainda afirma que a CPU é o gargalo aqui. Exceto que o jogo parece se limitar de alguma forma porque a utilização da CPU é de apenas cerca de 50%. Alguma ideia de por que isso está acontecendo? Ou isso é totalmente planejado e para vocês o jogo também usa apenas metade do poder de processamento do CPU? Fwiw, estou usando o Proton 5.13, mas o Soldier Runtime _outside_.


Algumas capturas de tela mostrando o problema

Screenshot_20201018_212818

(Na verdade, estava na predefinição "Original", mas com o Motion Blur desativado, então o uso de VRAM é um pouco maior.)

Screenshot_20201018_213142

Além disso, o jogo parece acreditar que está rodando na resolução de 1920 × 1080, mas essa é a resolução da minha área de trabalho, o jogo em si está em uma janela de 1600 × 900 ...

@LordDaveTheKind sua falha parece exatamente o problema que eu enfrento. Você já baixou minha dll ou compilou do branch pessoal do meu repo? Deve pelo menos estender seu mínimo para mais de 15 minutos.

olá @intersectRaven ,
Compilei e implantei sua versão do vkd3d-proton, e realmente parece funcionar bem. Eu não tive a chance de testá-lo exaustivamente até agora. Vou mantê-lo informado, é claro.

Felicidades,
Dave

@intersectRaven O travamento ocorre na Nvidia e / ou AMD e / ou Intel?
Se sim, então talvez seja o próprio cache - ou os drivers podem não gostar de reutilizar os elementos em cache (entre vários threads?).

Dei uma olhada rápida no código do cache (mais recente do github ) e, a menos que haja um problema com os elementos-chave para fazer a pesquisa (ou seja, não usar todas as entradas para funções Vk como _elementos-chave_), isso pode ser um problema dos drivers?

@doitsujin @ HansKristian-Work (pessoas marcadas que enviaram o código de pesquisa hash)

Primeiro, deixe-me escrever que tenho um grande apreço pelos desenvolvedores da Valve / Codeweavers - sou apenas um amador e espero que o que se segue possa ajudar.

É incrivelmente fácil reproduzir a falha com H: ZD; se você executar em Nvidia 455.23.04 (meu caso 2080 Ti em uma resolução de 3440x1440) e Ubuntu 20.04 (18.04 também), apenas execute o benchmark integrado ao jogo com configurações de _Ultimate Quality_ e na segunda vez provavelmente irá travar / travar.
A _boa notícia_ (se podemos chamá-lo assim) é que isso não parece ser um problema de threading, mas simplesmente um problema relacionado a recursos (? Driver?) - na verdade, adicionar logs abaixo em um trecho crítico de código, ligeiramente diminui a velocidade, mas o problema acontece não importa o quê.

Eu adicionei um log _cache_ à versão master do vkd3d (consulte vk_cache_log.patch.txt - apenas substitua o arquivo de log codificado por um caminho de sua escolha). Isso imprime acessando o cache e os hashes mais os dados principais subjacentes para tentar entender o que está acontecendo. Além disso, ele também imprime o comportamento em caso de falhas (ou seja, necessidade de criação de recursos) ou acertos do cache.

  • O cache parece ser eficaz (pelo menos com H: ZD). Ao executar o benchmark, obtemos 86% de acertos, o que _não é ruim_ de forma alguma
  • A falha parece acontecer relacionada à criação de uma visualização de buffer dentro de _vkCreateBufferView_, quando passamos um deslocamento muito grande (41514912)
  • Um pouco antes da falha, há um conjunto de falhas semelhantes na criação de uma exibição de buffer no mesmo vkBuffer com parâmetros semelhantes - parece que outro encadeamento tenta criar várias exibições no mesmo buffer, mas falha, no entanto, tenta cerca de 10 vezes
  • É importante notar que a chamada que crash / blocks pede para criar uma visão, mas com um formato diferente das que falham antes (as últimas retornam _false_ mas o código continua, este apenas bloqueia este thread de renderização)
  • O mesmo thread que falha (208 no log) consegue adquirir um vkBufferView em cache logo antes da última chamada
  • Há um pequeno bug em uma condição de saída na função vkd3d_view_map_create_view , quando return NULL; mas não liberamos o bloqueio antes - novamente este _não_ é o problema, mas um pequeno defeito

Pergunta: embora o cache tenha uma taxa de acertos muito alta, vale a pena em termos de desempenho? O custo de bloquear e gerenciar o mapa hash vale a pena?

Anexei o registro compactado completo (700 MiB descompactado vkd3d.log.tar.xz.zip - é um arquivo xz, não zip) e as últimas 10.000 linhas ( vkd3d-tail.log )

Espero que isso possa ajudar e se você acredita que isso é uma besteira, desculpe pelo tempo perdido.

ATUALIZAÇÃO I

Estendeu o log para imprimir logo antes da chamada para vkCreateBufferView e este é o resultado:

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})

e pode confirmar que é um travamento de drivers (a chamada de função vkCreateBufferView não retorna).

Meu palpite é que estaríamos ficando sem memória / recursos para controlar todas as visualizações do buffer. Naquela época, temos 483951 visualizações de buffer em cache e 166261 especificamente para esse buffer (32771 para esse buffer e formato específico) - eu não ficaria surpreso se atingirmos um limite rígido no driver - e logo antes de isso acontecer, podemos veja no log as chamadas para vkCreateBufferView começam a retornar != VK_SUCCESS (veja o log anexado vkd3d-Detailed.log - 11

Acho que devemos controlar o cache e limitá-lo, talvez?

Alguém experimentou uma falha na inicialização do H: ZD quando os shaders vulkan são
gerado?
Para mim, ele consome toda a RAM e morre junto com o vapor.

Na quarta-feira, 21 de outubro de 2020 às 15:23, Emanem [email protected] escreveu:

@doitsujin https://github.com/doitsujin @ HansKristian-Work
https://github.com/HansKristian-Work (pessoas marcadas que se comprometeram
o código de pesquisa hash)

Primeiro, deixe-me escrever que tenho um grande apreço pela Valve / Codeweavers
desenvolvedores - Sou apenas um amador e espero que o que se segue possa ajudar.

É incrivelmente fácil reproduzir a falha com HZ: D; se você correr
Nvidia 455.23.04 (meu caso 2080 Ti em uma resolução de 3440x1440) e Ubuntu
20.04 (18.04 também), basta executar o benchmark integrado ao jogo com o Ultimatequalidade e na segunda vez provavelmente irá falhar.
A boa notícia (se podemos chamá-lo assim) é que isso não parece
ser um problema de threading, mas simplesmente um problema relacionado ao recurso (? driver?) - em
fato de adicionar logs abaixo em uma parte crítica do código, torna-o ligeiramente mais lento
para baixo, mas o problema acontece não importa o quê.

Eu adicionei um log de cache à versão master do vkd3d (veja
vk_cache_log.patch.txt
https://github.com/ValveSoftware/Proton/files/5415675/vk_cache_log.patch.txt

  • apenas substitua o arquivo de log codificado por um caminho de sua escolha). este
    imprime acessando o cache e os hashes mais os dados de chave subjacentes para
    tente entender o que está acontecendo. Além disso, também imprime
    comportamento em caso de falhas (ou seja, necessidade de criação de recursos) ou acertos do cache.
  • O cache parece ser eficaz (pelo menos com HZ: D). Ao correr
    o benchmark, temos 86% de acertos, o que não é
  • A falha parece acontecer relacionada à criação de uma visualização de buffer
    dentro de vkCreateBufferView , quando passamos um deslocamento muito grande
    (41514912)
  • Um pouco antes da falha, há um conjunto de falhas semelhantes em
    criando uma visualização de buffer no mesmo vkBuffer com parâmetros semelhantes - parece
    como outro thread tenta criar múltiplas visualizações no mesmo buffer, mas
    falha, no entanto, tenta cerca de 10 vezes
  • É importante notar que a chamada que falha / bloqueia pede para criar um
    visualização, mas com um formato diferente daqueles que falham antes (o
    o último retorna falso, mas o código continua, este apenas bloqueia
    este segmento de renderização)
  • O mesmo thread que falha (208 no log) consegue adquirir um
    vkBufferView armazenado em cache logo antes da última chamada
  • Há um pequeno bug em uma condição de saída na função
    vkd3d_view_map_create_view, quando retornamos NULL; mas não liberamos
    o bloqueio antes - novamente, este não é o problema, mas um pequeno defeito

Pergunta: embora o cache tenha uma taxa de acertos muito alta, vale a pena
desempenho sábio? O custo de bloquear e gerenciar o mapa hash vale a pena?

Anexei o registro compactado completo (700 MiB descompactado
vkd3d.log.tar.xz.zip
https://github.com/ValveSoftware/Proton/files/5415679/vkd3d.log.tar.xz.zip
) e as últimas 10.000 linhas (vkd3d-tail.log
https://github.com/ValveSoftware/Proton/files/5415676/vkd3d-tail.log )

Espero que isso possa ajudar e se você acredita que isso é uma besteira, desculpe pelo
tempo desperdiçado.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-713530577 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/AAABPU6GAI7HBC4OGKYLFVTSL3HFLANCNFSM4PXXJIQA
.

Alguém já travou na inicialização do H: ZD quando os shaders vulkan são gerados? Para mim, ele consome toda a RAM e morre junto com o vapor.

O mesmo está acontecendo comigo. Desativei os Vulkan Shaders e funcionou perfeitamente.

@LordDaveTheKind sua falha parece exatamente o problema que eu enfrento. Você já baixou minha dll ou compilou do branch pessoal do meu repo? Deve pelo menos estender seu mínimo para mais de 15 minutos.

Posso confirmar que é mais estável. Trabalhando sem acidentes ou interrupções por horas.
O desempenho é de 40 ~ 50fps a 1440p com 70% da escala de resolução nas configurações gráficas do jogo.

Alguém está trabalhando na falha pós-logotipos? Sinta-se à vontade para entrar em contato comigo. Terei prazer em ajudá-lo com qualquer depuração ou teste.

@intersectRaven Olá! Houve uma solicitação recente de pull para vkd3d-proton (https://github.com/HansKristian-Work/vkd3d-proton/pull/318) que supostamente corrigiu o problema do hashmap e agora está marcado como fechado. No entanto, embora eu esteja vendo melhorias no Resident Evil 2, HZD ainda trava para mim (RTX 2070, driver 456,71), da mesma forma que fazia antes desta atualização (após 10-30 minutos de tempo de reprodução). Você pode testar novamente e confirmar?

Sim. Já mencionei isso em seu Discord para que os desenvolvedores estejam cientes. Isso melhorou o tempo de jogo? Para mim, embora ainda tivesse travado, melhorou, já que consegui jogar por mais tempo na minha "rota de acidente segura". É realmente difícil depurar o HZD para eles.

@intersectRaven eu posso imaginar ... Infelizmente, mesmo que tenha melhorado, está dentro da margem de erro. Fiz três testes, configurações diferentes, todos travaram em 15 minutos.

O PR deveria, de fato, ter eliminado a necessidade de criar e manter objetos VkBufferView para tipos de buffer brutos. Acho que ainda é possível que o jogo esteja enviando spam para visualizações de buffer digitadas exclusivas (é preciso verificar), que ainda devem usar VkBufferView. Se este for realmente o caso, não há muito que possamos fazer. A implementação do descritor mais antigo (e apenas "correção" viável) era extremamente lenta na CPU a ponto de obtermos 30% de utilização da GPU.

@ HansKristian-Work Olá, obrigado por olhar para este problema. Infelizmente, se um jogo AAA, mesmo que seja uma porta reconhecidamente de baixa qualidade, faz isso também os outros, e considerando que haverá apenas mais títulos exclusivos DX12, este é um problema sério, IMHO, que vale a pena resolver. Embora possa não ser considerado viável pelos padrões do projeto, muitos emuladores de console incluem opções de "Hacks" para jogos teimosos, que têm caixas marginais como esta. Posso sugerir de boa fé que, se nenhuma solução elegante puder ser encontrada, pode haver uma opção para implementar "correções de franja", ou "hacks" ou algo semelhante como uma espécie de add-ons para vkd3d, que fazem jogos específicos trabalhar em detrimento da otimização em relação ao jogo específico? Não estou sugerindo especificamente compilações bifurcadas de vkd3d, pois neste caso, elas terão que ser realocadas cada vez que a base de código principal for atualizada, o que os impedirá de usar outros recursos mais recentes de compilações atualizadas que não se relacionam com os referidos "hacks".

PS: Eu entendi corretamente que, se o caso acima for verdadeiro, o jogo envia spams de visualizações de buffer que não seguem a seguinte declaração:
((desc->Format == DXGI_FORMAT_UNKNOWN && desc->Buffer.StructureByteStride) || !!(desc->Buffer.Flags & D3D12_BUFFER_SRV_FLAG_RAW))
ainda, em teoria, deveria ser?

Sim, se essa condição falhar, é uma visão de buffer digitada, e somos forçados a criar um novo VkBufferView (e mantê-lo vivo até o fim dos tempos, a menos que possamos provar que não é mais possível acessar, o que é um problema difícil sem introduzir ~ 30k + bloqueios por quadro) se o deslocamento / tamanho / formatos não foram vistos antes. Precisarei verificar se é isso que desencadeia o problema e, com sorte, podemos encontrar uma solução alternativa onde, de alguma forma, coletamos de forma assíncrona VkBufferViews não utilizados. Não tenho certeza de como isso vai funcionar ...

@ HansKristian-Work Obrigado pela confirmação. Eu estava pensando em uma solução de coleta de lixo. Minha ideia inicial foi manter algumas estatísticas não intrusivas de quantos buffers de que tipo foram criados, como uma matriz e usando a enumeração DXGI_FORMAT como índice (desde que não vá além dos valores documentados). Veja também quantos buffers de que tipo são criados por quadro / segundo. Em seguida, tenha um valor limite, como aqueles usados ​​em mecanismos de prevenção anti-DDoS. Se muitos buffers de um determinado tipo forem criados, eles podem ser investigados posteriormente. Portanto, não há necessidade de bloquear nada, até que tenhamos um valor que consideramos suspeito (buffers de certo tipo continuam sendo criados rapidamente, mas não são excluídos dentro de algum tempo) como "prova" de que certo tipo de buffer pode precisar de verificação. Desculpe se essa solução parece ingênua, este tópico é novo para mim.

Na verdade, existe o sistema de buffer de deslocamento que pode ser usado aqui também. Acho que não é tão sombrio afinal.

Na verdade, existe o sistema de buffer de deslocamento que pode ser usado aqui também. Acho que não é tão sombrio afinal.

O jogo _faz_ de fato cria 10s de milhares de VkBufferView muito rapidamente; o cache fica cheio e há um travamento do driver, a única maneira é de fato com o sistema de buffer de deslocamento. Espero que vocês tenham conseguido tirar esse, _H: ZD_ é um jogo e tanto! :)

Ps. O patch

https://github.com/HansKristian-Work/vkd3d-proton/pull/349 é um PR em vôo que deve corrigir o problema OOM. Eu odeio tudo sobre isso, mas acho que não temos escolha. Não recebo mais spam de visualização e parece renderizar corretamente.

Isso também atormentou Death Stranding (vai entender), e aquele jogo também não vê spam.

@ HansKristian-Work Completou este PR, RTX 2070, driver 456,71, 50+ minutos em + Alt-tab incluído (usado para fazer o problema acontecer mais rápido), sem problemas até agora! Bom trabalho! Obrigado!

Edit: Esta PR também parece reduzir significativamente micro-gagueira, que foi muito prevalente apenas após o jogo recompila-lo do cache.

Isso será mesclado com o código principal ou compilar o código git mais recente é o suficiente? Não sei como compilar apenas este PR ...

A intenção é mesclar isso, sim. Revisão pendente e mais testes.

Obrigado :)
Ficará feliz que alguém compartilhe sua lib :)

@ mozo78 vkd3d-proton-standalone-r2836.9f01ff72-1-x86_64.pkg.tar.gz

Extraia o pacote e pegue d3d12.dll de usr/share/vkd3d-proton/x64 . Além disso, se você estiver no Arch, você pode simplesmente instalar este pacote com pacman -U para uso em prefixos Wine normais, assim como faria com DXVK.

Muito obrigado!

HansKristian-Work / vkd3d-proton # 349 é um PR em vôo que deve corrigir o problema OOM.

Isso mudou minha falha após o logotipo da Guerilla para durante o logotipo da Sony. Mas o jogo não ocupa toda a minha memória antes de travar mais! :)

steam-1151640.log

@mickeylyle
Em seu registro, há esta entrada:
2171.498:00bc:00c0:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\D3DCOMPILER_47.dll" at 0000000014C60000: native
Você copiou d3dcompiler_47.dll de Tools \ ShaderCompiler \ PC \ 10.0.18362.0x64d3dcompiler_47.dll de HZD para a raiz do jogo?
Ou seja, onde HorizonZeroDawn.exe está localizado? Parece que o próton está tentando carregar seu d3dcompiler_47 padrão, em vez do próprio HZD, um problema conhecido. Se não, tente fazer isso.
_Se_ isso não ajudar, então a intuição me diz, você pode ter um problema com a reprodução de mídia (ou seja, filmes de bink pré-renderizados), que o jogo usa para logotipos e fundo do menu.

Compilei o branch e o jogo está rodando sem travamentos por boas 3 horas consecutivas (2080 Ti com 455,23,04).

Eu tenho algumas quedas de quadro em alguns locais, mas estou jogando 21: 9 @ 1440p tudo no máximo ... é quase 60% de 4K em termos de pixels renderizados.

O HZD é realmente problemático com a Nvidia 455.28?
Não consigo encontrar uma maneira adequada de instalar qualquer outra versão que comece com 455.
As distros baseadas em AFAIK e Ubuntu não irão instalar drivers baixados do site da Nvidia.

Aqui eu executo a versão da Epic Games do HZD e ainda estou preso na caixa de diálogo de travamento postada por OP.

Você também pode instalar os drivers beta NVIDIA Vulkan no Ubuntu.

O HZD é realmente problemático com a Nvidia 455.28?
Não consigo encontrar uma maneira adequada de instalar qualquer outra versão que comece com 455.
As distros baseadas em AFAIK e Ubuntu não irão instalar drivers baixados do site da Nvidia.

Aqui eu executo a versão da Epic Games do HZD e ainda estou preso na caixa de diálogo de travamento postada por OP.

Sim. Ainda há uma chance de artefato nele (ou seja, floaties). Apenas espere o lançamento do 455.38 mais recente para sua distribuição. Isso tem a correção de barreira completa.

Você copiou d3dcompiler_47.dll de Tools \ ShaderCompiler \ PC \ 10.0.18362.0x64d3dcompiler_47.dll de HZD para a raiz do jogo?
Ou seja, onde HorizonZeroDawn.exe está localizado? Parece que o próton está tentando carregar seu d3dcompiler_47 padrão, em vez do próprio HZD, um problema conhecido. Se não, tente fazer isso.

Não consertou, consulte o registro em anexo.

_Se_ isso não ajudar, então a intuição me diz, você pode ter um problema com a reprodução de mídia (ou seja, filmes de bink pré-renderizados), que o jogo usa para logotipos e fundo do menu.

Anteriormente, passei pelos logotipos para ver os primeiros quadros do plano de fundo do menu. Posso testar / depurar isso?

steam-1151640.log

(Isenção de responsabilidade - Linux noob no trabalho)
Fiz todas as etapas que vi aqui.
Copiei a DLL para a pasta raiz do jogo.
colocou o material da mesa no lugar. (encontrei um guia aqui em algum lugar)
Versões de prótons que experimentei:
5.0-9 (esta versão trava HZD na inicialização)
5.13-1 (Esta versão executa HZD por 20 segundos)

O 5.9-GE-6-ST, 5.9-GE-7-ST, 5.9-GE-8-ST também foi baixado, mas não consigo encontrá-los no menu suspenso nas configurações do Steam -> Steam-Play ou no jogo propriedades -> Força o uso de um * específico

Copiei essas pastas Proton para .steam / steam / compabilitytools.d bem como para a pasta / steamapps / common (encontrei uma pasta Proton 5.0 lá, então pensei por que não) No entanto, não consigo encontrar quando estou Steam, e sim, reiniciei o Steam, bem como todo o pc várias vezes.

Também tenho o arquivo de predefinição do modo de janela.

O jogo foi inicializado e configurado pela primeira vez, deixe-me jogar por cerca de 40 minutos - depois travou com aquela janela pop-up de travamento.
Depois disso, pude iniciar o jogo e continuar jogando por 20 segundos. (a cada 3-4 vezes que eu inicio, pois tende a travar na tela de carregamento)

Sistema:
Pop! _OS
Ryzen 5 1600x
8GB ddr4
Radeon RX 580 8GB
MSI gaming plus max B450

@nodrugz

Você extraiu os pacotes baixados? Se você apenas soltou tar.gz na pasta, ele não funcionará.
Se sim, você tem o Lutris instalado? Dependendo de como você instalou o Steam, você pode ter duas instalações, provavelmente em /home/USER/.steam/debian-installation e em /home/USER/.local/share/lutris/runtime/steam. O Lutris usará aquele em seu diretório de tempo de execução e este não verá os arquivos no outro diretório de instalação se você colocá-los lá.
Além disso, se você estiver executando o Winesteam via Lutris, ele ainda é considerado uma instalação diferente.

@Chipsse
Os pacotes são extraídos e colocados em
/home/USER/.steam/debian-installation/compabilitytools.d/
e
/home/USER/.steam/steam/steamapps/common/

Não tenho o lutris instalado.
Eu devo ?

Também: kernel 5.8 se isso faz alguma diferença.

@nodrugz

Não é necessário, mas é muito útil para organizar jogos e ajustar facilmente as configurações, especialmente se o Steam não for sua única fonte de jogos, também há instruções na página de fork do Glorious Eggroll Proton para usá-lo com Lutris (https://github.com/ GloriousEggroll / proton-ge-custom)
Mais algumas coisas que você pode tentar:
Você seguiu todas as instruções do Glorious Eggroll e possui todas as dependências necessárias?
Você instalou a versão nativa do Linux do Steam ou a versão Wine?
Se você seguir o link /home/USER/.steam/root, aonde isso o levará?

@nodrugz não se esqueça de mover o conteúdo da pasta dist para um nível abaixo de sua pasta Proton personalizada, então você terá caminhos como:

  • compabilitytools.d / Proton-5.9-GE-8-ST / bin
  • compabilitytools.d / Proton-5.9-GE-8-ST / lib
  • etc.

@nodrugz

Desculpe pelo longo tempo de resposta, o que há nas ferramentas de compatibilidade.d que estão no diretório que o .steam / root / links leva para você? Essa é a mesma pasta onde você já colocou os arquivos ProtonGE? Caso contrário, tente colocá-los aqui. Você também pode tentar reinstalar o Steam por meio do Pop! _Shop e ver se isso ajuda.

@Chipsse

Não se preocupe, desde a última atualização eu limpei meu hd e instalei o majaro, então o Steam, então proton-5.6-GE
Consegui reconhecer isso e fez o HZD "funcionar".
O filme inicial gaguejou e se suavizou.
No início do jogo havia toneladas de anomalias gráficas.

agora eu preciso encontrar o guia para instalar drivers mesa e VKD3D de HansKristian-Work, embora eu ache o gudes um pouco incompleto para um iniciante.

Pergunta que:
Proton-5.9-GE não contém o mesmo Proton-5-6-GE e mais atualizações?

Instalando o driver GPU com suporte DXVK

GPU nVidia
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader

GPU AMD
sudo pacman -S lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader

GPU Intel
sudo pacman -S lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader

Instalando Wine
sudo 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 -s libpulse libpulse lib32-libpulse libgpg-erro lib32-libpulse libgpg-lib32 erro 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 libgcrypt lib32-libxinerama-ncurses lib32-ncurses lib32-libxinerama ncurses lib32 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

Instale o Lutris
sudo pacman -S lutris

Instale o Steam
sudo pacman -S Steam

encontrei isso em https://www.youtube.com/watch?v=ibge7-4sitQ

mabye isso pode ajudar outros.

steam-1151640.log

alguém viu alguma coisa útil aí?
ou melhor, o que devo procurar?

Estou recebendo uma falha nos logotipos de inicialização, o pop-up para enviar um relatório de falha está aparecendo. Estou executando o Arch Linux com os drivers Kernal LTS e mesa-git. Meu hardware é uma CPU Intel i9 e uma GPU AMD RX 580. Copiei d3dcompiler_47 para a mesma pasta do executável. Minha versão de próton é Proton-5.9-GE-8-ST.

steam-1151640.log

Obrigado a todos os envolvidos em tornar o jogo jogável agora (da última vez que verifiquei, o jogo estava quase pronto)! Até onde eu posso dizer, os problemas restantes são problemas de desempenho (como spam de buffers e o FPS sendo baixo em geral), estou correto em dizer isso? Como está o progresso na resolução dos problemas restantes?

@Zephranoid Você experimentou o último Proton, como em 5.13-1? Pelo que eu posso dizer, houve um monte de correções mescladas.

@drwhut Proton 5.13-1 trava sem exibir nenhuma janela e não exibe nenhuma mensagem de erro. Aqui está o registro disso:
steam-1151640.log

Obrigado a todos os envolvidos em tornar o jogo jogável agora (da última vez que verifiquei, o jogo estava quase pronto)! Até onde eu posso dizer, os problemas restantes são problemas de desempenho (como spam de buffers e o FPS sendo baixo em geral), estou correto em dizer isso? Como está o progresso na resolução dos problemas restantes?

O jogo ainda trava após os logotipos para mim.

Obrigado a todos os envolvidos em tornar o jogo jogável agora (da última vez que verifiquei, o jogo estava quase pronto)! Até onde eu posso dizer, os problemas restantes são problemas de desempenho (como spam de buffers e o FPS sendo baixo em geral), estou correto em dizer isso? Como está o progresso na resolução dos problemas restantes?

O jogo ainda trava em <2 minutos aqui no AMD (5700XT), a maioria funciona, devido ao problema OOM - mas isso é conhecido.

A NVidia se sai melhor: eu obtenho cerca de 30 minutos no meu 2060 até que o FPS mergulhe de ~ 45 para ~ 16.

O jogo ainda trava em <2 minutos aqui no AMD (5700XT), a maioria funciona, devido ao problema OOM - mas isso é conhecido.

Não para mim, o HZD é apenas um exemplo que faz com que todo o meu PC trave depois de algum tempo, mas isso se deve a drivers do Mesa Vulkan cheios de erros e será corrigido com o 20.3.

Agora é executado no ambiente original. Nenhum hack do github.
Linux Mint 20.0 Mate
Kernel: 5.4.0-53
GTX 1070 com driver nvidia: 455.38
Valve-Protonversion: 5.13-1
Cliente Steam Beta com melhor suporte para jogos Linux. Não conheço a versão.
... mas toco só um momento (a menina entra na caverna). Como não tenho um bom hardware (20-25 fps), preciso diminuir a opção de hardware no jogo.
Eu realmente não achei que fosse possível rodar o jogo no Linux. Estou tão feliz.

Funciona perfeitamente com 5.13-2; ótimo trabalho pessoal!

Nvidia 2080 Ti (455.38), Ubuntu 20.04.

Acabei de comprar o jogo após o relatório acima e funciona para mim também. Foi capaz de jogar por 2 horas, sem travamento ou problemas.
Nvidia 1650, kernel estável e drivers mais recentes do Arch Linux (tudo atualizado), Proton 5.13-2. Sem personalização.

Infelizmente, o jogo ainda trava para mim. A falha foi logo após os logotipos antes, agora consigo acessar o menu por alguns segundos. RX570 (4GB), kernel estável mais recente e Mesa 20.2.2, Proton 5.13-2.

usando próton 5.13-2 e mesa 20.2-2 agora posso passar dos logotipos e um pouco na tela de corte do filme antes que ele trave, mas agora tenho um erro "vkd3d não pode alocar memória padrão para memória do sistema", então acho que é por isso toda a memória do meu sistema é consumida e o jogo trava?

rx480 (4gb)
16gb ddr4 3200

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

AwesamLinux picture AwesamLinux  ·  3Comentários

shaphanpena1 picture shaphanpena1  ·  3Comentários

AwesamLinux picture AwesamLinux  ·  3Comentários

BLaDZer picture BLaDZer  ·  3Comentários

prototype99 picture prototype99  ·  3Comentários