Proton: Horizonte cero amanecer (1151640)

Creado en 7 ago. 2020  ·  421Comentarios  ·  Fuente: ValveSoftware/Proton

Informe de compatibilidad

  • Nombre del juego con problemas de compatibilidad: Horizon Zero Dawn
  • Steam AppID del juego: 1151640

Información del sistema

  • GPU: GTX 1080 Ti
  • Versión del controlador / LLVM: nvidia 440.100
  • Versión de Kernel: 5.7.6
  • Enlace al informe completo de información del sistema como Gist
  • Versión de protón: 5.0.10-RC4

Confirmo:

  • [X] que no he encontrado un informe de compatibilidad existente para este juego.
  • [X] que he comprobado si hay actualizaciones disponibles para mi sistema.

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

Síntomas

El juego no se inicia: aparece un cuadro de diálogo que dice "Desafortunadamente, el juego se bloqueó" sin proporcionar detalles del error.

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

Reproducción

Simplemente inicia el juego a través de Steam.
steam-1151640.log

Game compatibility - Unofficial

Comentario más útil

Gracias a los parches de Paul y los continuos esfuerzos de Hans-Kristian estamos llegando a algo.
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

Esto es inestable y lento en AMDGPU-PRO, y aunque parece estable y el rendimiento es bastante bueno en RADV / ACO, visualmente tiene más fallas (aunque ambos lo son). Pero bueno, es algo.

En caso de que alguien se lo pregunte, eso se hizo con el jefe actual de proton-tkg, basado en 5.15.2r7 (aaea13a1).
Editar: Actualmente hay problemas de bloqueo en Nvidia.

Todos 421 comentarios

El mismo problema aquí. Cuadro de error idéntico y nada más.

Información del sistema

  • GPU: GeForce GTX 1080 Ti
  • Versión del controlador / LLVM: NVIDIA 440.95.01
  • Versión de Kernel: 5.4.0-7634-generic
  • Enlace al informe completo de información del sistema como Gist :
  • Versión de protones: 5.0-9

Un comentario más abajo notó que los registros son diferentes si hace clic en "sí" o "no" para enviar un informe.
Aquí hay registros para ambos casos:

Regístrese cuando haga clic en "no" para enviar un informe de fallas:
steam-1151640-no_crash_report.log

Regístrese cuando haga clic en "sí" para enviar un informe de fallas:
steam-1151640-yes_crash_report.log

Editar: Por curiosidad probé con la versión más reciente de GloriousEggroll / proton-ge-custom, con aparentemente el mismo resultado.
Inicie sesión aquí, en caso de que ayude a alguien: proton_5.9-GE-5-ST_steam-1151640.log

El mismo problema aquí. Cuadro de error idéntico y nada más.
steam-1151640.log
Información del sistema Steam

Al observar los registros de todos, parece que este es un punto común donde se produce un error.

warn: debugstr : OutputDebugStringA "Se ha producido una excepción no controlada desconocida (C06D007Eh) en el subproceso 'Main' (0) en la ubicación de la instrucción 000000007B00FC3Eh \ n \ n Pila de llamadas: \ nDirección base: 0x000140000000 \ n 0. 0x00007BCDAC6C RtlUtlVirtualUnual. \ n 2. 0x00007BCDB2FE NtRaiseException \ n 3 "

Tengo el mismo problema, la misma línea también estaba en mi registro de protones, junto con el error cpu_context_win.cc:144] contexto no x64

Mismo problema mencionado por otros usuarios. Sin embargo, todavía estoy actualizando mis resultados, en caso de que ayude a encontrar la causa raíz.

Información del sistema
steam-1151640_GE_5.9-5_ST.log
steam-1151640_Proton509.log
steam-1151640_Proton509_next.log

igual que aquí
Información del sistema

El mismo problema aquí.

igual que aquí

Creo que el "error cpu_context_win.cc:144] contexto no x64" es el informe de fallas que falla y no hzd.
Cuando hace clic en no cuando se le pide que envíe el informe de error, obtiene un registro de protones muy diferente.
Luego advierta: debugstr : OutputDebugStringA "Inicializando DLMalloc Heap \ n" tal vez se parezca a la bruja malvada que causó todo esto.
steam-1151640.log

También es solo dx12. Puede que eso tampoco ayude mucho.

Recibo la misma ventana emergente ... Probé varias versiones de proton, incluidas proton-ge y proton-tkg ..

Tengo el mismo problema

Luego advierta: debugstr : OutputDebugStringA "Inicializando DLMalloc Heap \ n" tal vez se parezca a la bruja malvada que causó todo esto.
steam-1151640.log

No lo es. Estos registros tienen mucha información y posiblemente no suficiente.

De hecho, puedes mirar

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

y creo que eso podría provocar un fallo. Pero es muy probable que sea una pista falsa.

Además, cosas como "execute_cfa_instructions", "raise_exception", "dump_unwind_info" pueden estar presentes en un juego funcional. Los registros también pueden presentar otros desafíos con entradas de registro que aparecen en diferentes lugares.

También aparecen reparaciones y advertencias para dx12, pero eso puede o no significar algo importante también.

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.

Es posible que este pueda tardar meses o más en resolverse. Solo depende de los problemas y de cuántos.

El mismo problema aquí. Cuadro de error idéntico.
steam-1151640.log
steam-sysinfo.txt

Agregué algunos canales de depuración adicionales para este registro que espero sean útiles.

steam-1151640.zip
sysinfo.txt

Agregué algunos canales de depuración adicionales para este registro que espero sean útiles.

steam-1151640.zip
sysinfo.txt

Eso ayuda un poco. Los registros anteriores No creo que ningún otro registro aquí muestre el cuadro de diálogo; el emisor no lo hace y verifiqué otro haciendo dos antes de este grande que proporcionó.

Obtienes ese cuadro de diálogo de bloqueo dentro de [editar: 3k] líneas [probablemente ~ 2.7 o 2.8k] de la información dx12 que publiqué anteriormente en particular

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

Dado que es principalmente basura en el medio, es probable que esté sucediendo en las cosas dx12 o antes (aún no lo he investigado más).

El diálogo de error.

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

Así que parece que gran parte del registro es el resultado final de su falla. Incluí la línea amd dll allí solo porque está al lado y puede que no signifique nada.

También probé el juego en Windows 10 y tampoco se ejecuta, mostrando exactamente el mismo cuadro de diálogo.

Sin embargo, antes del error "Desafortunadamente, el juego se ha bloqueado ...", muestra un cuadro de diálogo diferente que dice que el juego solo se ejecutará con la versión 27 del controlador. Esta es la versión del controlador NVidia DirectX y esa versión es compatible con DirectX12 Ultimate, lo cual no pude ' No lo instale en la computadora que tengo con Windows 10 porque ... razones ...

Entonces, supongo que la razón de este bloqueo en Proton es esencialmente porque no hay soporte para DirectX 12 Ultimate en Proton, o DX dlls que se usan en el prefijo Proton para este juego, o porque el controlador NVidia que tengo en Linux (440.100) sí no proporcionar las funciones necesarias para implementar / emular DX12 Ultimate, o en algún otro lugar (no estoy realmente familiarizado con toda la pila Wine / Proton para poder identificar esto con mayor precisión).

Solo mis 2 centavos, pensé que podría ayudar de alguna manera.

Entonces, supongo que la razón de este bloqueo en Proton es esencialmente porque no hay soporte para DirectX 12 Ultimate en Proton, o DX dlls que se usan en el prefijo Proton para este juego, o porque el controlador NVidia que tengo en Linux (440.100) sí no proporcionar las funciones necesarias para implementar / emular DX12 Ultimate, o en algún otro lugar (no estoy realmente familiarizado con toda la pila Wine / Proton para poder identificar esto con mayor precisión).

Ciertamente es posible. Aunque Death Stranding es, creo, el único otro juego que está usando esta versión del motor Decima y dx12, y ha estado funcionando con la próxima versión de Proton, aunque eso parece ser dudoso y no sin problemas.

VKD3D todavía es un trabajo en progreso, pero también señalan que 440.100 es uno que funciona con dx12 y también puede ser necesario un controlador de versión superior. No estoy seguro de que alguien haya probado aquí también con el controlador beta para desarrolladores de Nvidia Vulkan.

Pero, definitivamente parece posible que todos necesiten esperar a que VKD3D mejore y tener un controlador que funcione con él. Debería averiguarlo a tiempo.

Lo más probable es que se trate de un problema de dx12, obtengo " fixme: d3d12_device_CheckFeatureSupport : función no

Parece que tenemos que esperar a que vkd3d progrese más.

Lo más probable es que se trate de un problema de dx12, obtengo " fixme: d3d12_device_CheckFeatureSupport : función no

Parece que tenemos que esperar a que vkd3d progrese más.

Puede deshacerse de estos errores de una manera sucia agregando algunas líneas a vkd3d. No hace ninguna diferencia. Copiar dxcompiler.dll desde el directorio de herramientas al directorio del ejecutable hace que muestre la pantalla de carga, pero aún falla con el mismo mensaje, por lo que no es realmente útil.

Noté que, al depurar, el mensaje de error proviene de un controlador de excepciones genérico. No indica lo que está sucediendo detrás de escena, excepto que el juego se bloqueó.

Como dice @Danacus , el error inicial probablemente se deba a que falta dxcompiler.dll (del registro 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

Si alguien que ha copiado dxcompiler.dll desde el directorio de herramientas al directorio del ejecutable (y llegó a la pantalla de carga, como dijo Danacus) pudo proporcionar un registro de WINEDEBUG=+relay,module,seh,timestamp , podría ayudar a encontrar una forma de evitarlo :) ( recuerda comprimirlo, de lo contrario será bastante grande jaja)

No creo que haya llegado a la pantalla de carga, pero el registro se ve un poco diferente, así que tal vez sea útil, tal vez no.
steam-1151640_2.zip

@korodarn No d3dcompiler_47 nativo ( 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
Copié el d3dcompiler_47 en la carpeta ejecutable y la ejecución anterior a la que cargué. Lo cerré justo antes, así que está aquí.

* Sé que esto podría no hacer exactamente lo mismo que la instalación, ya que no cambié la configuración, así que estoy verificando si usó este archivo e intentaré volver a ejecutarlo después.

Supongo que esto podría estar relacionado con la causa del bloqueo, entonces:

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

También hay algunos mensajes de advertencia encima, no estoy seguro de si son relevantes:


d3d12 arreglos en el registro

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!

Todavía se bloquea para mí.

Suponga que no vale nada y le da a intersectRaven un descanso por la publicación de baja calidad, ya que el parche incluye "Algunos jugadores están experimentando fallas de inicio. El parche 1.01 corrige algunas, pero no todas, estas fallas".

Ese parche solo debería beneficiarlo cuando pueda ejecutarlo.

Pero, aún puede necesitar correcciones de Proton / Wine / VKD3D / etc antes de que este juego se ejecute.

Al seleccionar algunas confirmaciones de vkd3d ascendente en el árbol de válvulas, puede corregir los errores de "función no controlada" y puede corregir los errores de "formato no controlado" simplemente agregando los formatos que faltan (no es difícil, estos son formatos compatibles en vulkan solo necesita agregar el mapeo correcto).
Después de esto, el juego se queja de la falta de compatibilidad con DXIL. Desafortunadamente, incluso si habilita dxil-spirv en vkd3d, todavía no puede ir más allá de la pantalla de carga porque falla con un "[ERROR] DESCONOCIDO sin implementar" que proviene de dxil-spirv. Intenté profundizar, pero estas cosas (vulkan / spirv / llvm) están muy por encima de mi cabeza y ni siquiera estoy seguro de que lo que hice hasta ahora sea correcto. De todos modos creo que este juego necesita DXIL y dxil-spirv aún no es suficiente.

Bueno, hay malas noticias y buenas noticias. Hubo una actualización reciente de dxil-spirv y ahora la inicialización de los gráficos parece estar hecha y ahora la entrada está rota. El juego intenta cargar "Windows.Gaming.Input" y no lo hace. Parece que es una especie de API de WinRT / UWP, pero no puedo encontrar muchas referencias a esto en Wine, no estoy seguro de cuál es el siguiente paso aquí.

Editar: encontré algunas cosas interesantes en vino e hice algunos talones con la esperanza de que se bloqueara más tarde, pero es lo mismo, creo que este juego ahora está bloqueado por características fundamentales que faltan en vino.

@ nyz93 ¿puedes publicar los cambios que hiciste hasta ahora para HZD? Tal vez encuentre algo de tiempo este fin de semana y agregue todo lo que falta de WinRT / UWP.

@ lyra00 tienes que instalar dxil-spirv y construir este vkd3d usando --with-dxil-spirv . En cuanto a cómo se puede convertir esto en protón, no estoy 100% seguro de que esté usando una copia de EGS, una etapa de 5.14 de vino regular y un prefijo vacío con solo vcrun2015 de winetricks.

@ nyz93 : OK, creo que implementé tus cambios en Proton localmente (con integración del sistema de compilación). Actualmente lo estoy construyendo y probando y cuando funcione, creo un FORK público en mi cuenta de github mañana. Entonces hago que se ejecuten estas cosas de WinRT / UWP. Con suerte, eso es lo último que falta allí.

¿Has probado con la bifurcación vkd3d-proton? Tiene un montón de confirmaciones por delante del repositorio oficial vkd3d en winehq desde que se bifurcó.

La interesante bifurcación vkd3d-proton ya ha integrado dxil-spirv, por lo que tal vez sea mejor usarla en lugar de agregarla directamente a proton.

Hola,

esto ya debería estar integrado en las construcciones de protones de TKG.

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

Viene con la última versión desarrollada del vkd3d-proton independiente de HansKristian & Doitsujin - https://github.com/HansKristian-Work/vkd3d

Ok, estoy trabajando en un Proton HZD Fork, donde estoy agregando todos esos cambios descubiertos por @ nyz93 (muchas gracias a él).
Hago que se ejecuten sus cambios de vkd3d, pero tengo problemas para construir dxil-spirv con el tiempo de ejecución predeterminado de Steam.

@fsyy lamentablemente no pude compilar TKG Proton (tantos conflictos de fusión O_o), pero la única diferencia con el Proton estándar es que "--with-dxil-spirv" está ACTIVADO de forma predeterminada, por lo que no valió la pena para mí siguiendo ese camino por más tiempo.
Me quedaré con Proton-5.0-next y los cambios de selección de cereza de Wine-5.x cuando sea necesario.

Aquí hay una bifurcación que creé, cuando tiene una solución específica de HZD, puede agregar un PR.
https://github.com/lyra00/Proton
Cuando tengamos HZD en funcionamiento, podremos contribuir con los cambios al Protón original.

Cosas que hice, planeando hacer:

  • [x] Bifurque https://github.com/HansKristian-Work/vkd3d-proton y aplique los cambios de @ nyz93 .
  • [x] Fork Proton, cambia el submódulo al Forked vkd3d-proton
  • [x] Agregar submódulo dxil-spirv
  • [] Integra dxil-spirv en el sistema de construcción de Proton
    > - [] Descubra cómo hacer que WinRT / UWP se ejecute en wine / linux
    o
    > - [] Escribe un "Windows.Gaming.Input" en el contenedor "DirectInput"
  • [] ...

Espero poder entrar en el tema de WinRT / UWP el próximo fin de semana.

Una cosa a tener en cuenta con este juego es que tiene muchos errores. Incluso en Windows tuve muchos problemas porque fallaba cada 10 minutos aproximadamente. Finalmente descubrí cómo hacer que dejara de hacer eso en Windows gracias a una publicación de Reddit, y no estoy seguro de qué parte de eso realmente lo solucionó, pero no he tenido un bloqueo desde que seguí esta serie de cosas, y pensé que sería útil anotarlo aquí

Deshabilitar la protección de flujo de control en Windows Defender solo para HZD
Habilitar páginas grandes
Si tiene la última versión de Windows (v2004 o 19041.xxx), asegúrese de habilitar HAGS.
Existe un programa llamado "Intelligent Standby List Cleaner", que limpia la memoria en espera con el tiempo en función de ciertos parámetros, obténgalo y asegúrese de que se ejecute en segundo plano.

De estos, parece que HAGS soluciona los bloqueos de otros, así que creo que esa podría ser la parte más importante. Por supuesto, es de esperar que entretanto vuelva a aparecer un parche que haga que configuraciones como esta en Windows sean innecesarias para muchos de nosotros.

Gracias a los parches de Paul y los continuos esfuerzos de Hans-Kristian estamos llegando a algo.
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

Esto es inestable y lento en AMDGPU-PRO, y aunque parece estable y el rendimiento es bastante bueno en RADV / ACO, visualmente tiene más fallas (aunque ambos lo son). Pero bueno, es algo.

En caso de que alguien se lo pregunte, eso se hizo con el jefe actual de proton-tkg, basado en 5.15.2r7 (aaea13a1).
Editar: Actualmente hay problemas de bloqueo en Nvidia.

¡Felicidades muchachos! Entonces, ¿esto está usando un convertidor sobre la marcha de DX12 a Vulkan (SPIR-V)?

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

Ahora tengo curiosidad por ver cómo se verá en la GPU nvidia. Los controladores de Nvidia tienen menos fallas que los AMD.

@ Galcian79 Se está renderizando de manera similar a AMDGPU-PRO. Rocas flotantes, plantas, objetos perdidos, etc. pero sin líneas por todas partes. Sin embargo, no estoy seguro de la estabilidad.

no funciona aquí, usuario de nvidia, el mismo error que antes.

log con un prefijo nuevo:

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

especificaciones del sistema:

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

No funcionó para mí al principio, pero compilar vkd3d-proton en una dll y configurar una anulación de dll en nativo funcionó. No sé por qué no funcionó el vkd3d-proton nativo del PKGBUILD de @ Tk-Glitch.

@Danacus La biblioteca compartida tiene funcionalidades limitadas en comparación con la compilación dll independiente. El uso de la versión independiente es necesario para que varios juegos d3d12 funcionen, ya que permite eludir algunas limitaciones del vino.

@ Tk-Glitch Oh, está bien, es bueno saberlo. ¡Gracias!

que limitaciones?

El miércoles 26 de agosto de 2020 a las 4:40 p.m. Daan Vanoverloop
[email protected] escribió:
>

@ Tk-Glitch Oh, está bien, es bueno saberlo. ¡Gracias!

-
Recibes esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub o cancele la suscripción.

@ Tk-Glitch He usado tu vkd3d-git PKGBUILD para instalar vkd3d-proton.
Luego compilé proton-tkg con _use_vkd3dlib="false" y probé HZD de nuevo, pero todavía falla.

También probé (como se menciona en https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-680883714) compilar vkd3d-proton y copiar el dll dentro del system32 y syswow64 dentro del wineprefix y agregar una anulación en winecfg por d3d12.dll a nativo. Eso tampoco cambió nada.

¿Necesito cambiar algo en el prefijo de vino de HZD? ¿Es posible que tenga algo que ver conmigo usando mesa-aco-git o amdvlk lugar de vulkan-radeon ?

Nota al margen para los aventureros:
El juego requiere d3dcompiler_47.dll nativo (puedes ejecutar cp ./Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll . desde el directorio del juego para "hacer cumplir" haciendo uso de él, ya que el juego no lo hace por defecto).

@ D3SOX Aparentemente, el jefe actual de mesa-git evita que el juego se ejecute. mesa-aco-git ahora también debería estar obsoleto. AMDVLK no funciona con el juego afaik (aunque -pro lo hace, posiblemente solo en Navi, ya que no he probado Vega ni Polaris).
El d3d12.dll nativo debe usarse de forma predeterminada al construir proton-tkg sin que usted haga nada. Tampoco necesita un paquete vkd3d instalado para usar el d3d12.dll independiente.

@slapin La necesidad de una implementación D3D12CreateVersheredRootSignatureDeserializer del lado del vino, por ejemplo, o poder usar un dxgi diferente como DXVK. Hans-Kristian y Doitsujin lo saben mejor: stick_out_tongue:

@ Tk-Glitch Volví al valor predeterminado mesa y reemplacé amdvlk con vulkan-radeon (y los paquetes lib32) y copié el d3dcompiler_47.dll con el comando proporcionado. Ahora el juego se ejecuta (veo una ventana desde él) pero aún se bloquea
image
Salida de terminal: https://gist.github.com/D3SOX/8e2c25b21309f3b8584ef510baca43bd

Intente copiar dxcompiler.dll también.

Intente copiar dxcompiler.dll también.

Hice cp Tools/ShaderCompiler/PC/1.0.2595/x64/dxcompiler.dll . dentro de /steamapps/common/Horizon Zero Dawn pero persiste el mismo error

El dxcompiler.dll funcionó para mí. Muchas gracias! : +1:

Hola, ¿sería posible resumir los pasos necesarios en una única publicación para principiantes? He estado siguiendo este hilo pero estoy un poco fuera de mi alcance y la documentación en la bifurcación @ lyra00 indica cómo construir Proton desde cero, lo que parece un poco exagerado cuando Steam y Proton ya están instalados. Imagino que no soy el único y que sería útil para mucha gente. ¡Muchas gracias por el gran trabajo!

Hola, ¿sería posible resumir los pasos necesarios en una única publicación para principiantes? He estado siguiendo este hilo pero estoy un poco fuera de mi alcance y la documentación en la bifurcación @ lyra00 indica cómo construir Proton desde cero, lo que parece un poco exagerado cuando Steam y Proton ya están instalados. Imagino que no soy el único y que sería útil para mucha gente. ¡Muchas gracias por el gran trabajo!

No necesitas construir Proton. Para mí, funciona con la última compilación de Proton de TKG y después de copiar d3dcompiler_47.dll al directorio del ejecutable de Horizon Dawn desde el directorio de Herramientas en el interior. Además, todavía hay problemas aleatorios de bloqueo y artefactos que serán tratados por los desarrolladores de protones y vkd3d.

No necesitas construir Proton. Para mí, funciona con la última compilación de Proton de TKG y después de copiar d3dcompiler_47.dll al directorio del ejecutable de Horizon Dawn desde el directorio de Herramientas en el interior. Además, todavía hay problemas aleatorios de bloqueo y artefactos que serán tratados por los desarrolladores de protones y vkd3d.

No puedo hacer que funcione de esta manera. Todavía tengo este problema mencionado anteriormente
Intenté desinstalar amdvlk lib32-amdvlk sin éxito.
Verifiqué los archivos del juego con Steam y copié los 2 dll
image

Opciones de lanzamiento: PROTON_USE_WINED3D=1 RADV_PERFTEST=aco %command% (también probé sin ellos)
Versión de protón: proton_tkg_5.16.r2.gf6495b29.release

Información del sistema Steam: https://gist.github.com/D3SOX/5f08de587b6106c02a2436ba1b81bd99 (IDK si estos errores por debajo de architectures.i386-linux-gnu.graphics-details.x11/vulkan.messages y architectures.x86_64-linux-gnu.graphics-details.x11/vulkan.messages son un problema)

Recibo esta advertencia al iniciar el juego:
2020-09-02_09-56
Al hacer clic en sí me da
image

steam Salida de terminal: https://gist.github.com/D3SOX/6abf189507fa917a3f9834f8bf7104f4

@ D3SOX ¿Has intentado construir vkd3d-proton y copiar el d3d12.dll resultante en la carpeta del juego? El uso de PROTON_USE_WINED3D tampoco es obligatorio. Es posible que también desee compilar mesa-git o mesa-tkg (o agregar un repositorio de usuarios como chaotic-aur e instalar desde allí). Tenga en cuenta que el juego actualmente no es muy jugable.

@Danacus Gracias. Eliminé PROTON_USE_WINED3D , compilé mesa-git y reemplacé mesa con él. Eliminó un montón de otros paquetes que instalé anteriormente.
image
También copié el d3d12.dll de vkd3d-proton/build.64/libs/d3d12/ al directorio del ejecutable.

El mismo problema.
Información del nuevo sistema de vapor https://gist.github.com/D3SOX/639d889140f4c3393b215b495b5dcc89
Nueva salida de terminal steam : https://gist.github.com/D3SOX/9cebd1c65746d39166345514dee3729d

Gracias @intersectRaven , no funciona en este momento, con el mensaje

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 la última versión de libc para Ubuntu es 2.31, ¿eso significa que estoy atascado hasta que haya una libc6 2.32 disponible o simplemente puedo ir y cambiar el número de versión donde se haga referencia? (Aunque no tengo idea de cómo haría eso).

Además, parece que todas las instrucciones en este hilo están orientadas a Archlinux, ¿no supongo que haya un equivalente de Ubuntu para todo lo que se usa aquí? (como construir mesa-git por ejemplo)

Si puede encontrar la versión de glibc 2.32 en Ubuntu, debería iniciarse entonces.

En Manjaro, el cambio a la rama inestable lo mostrará en el administrador de paquetes.

Gracias @ mixalis1987 , descargué el paquete para glibc 2.32 e intenté instalarlo manualmente, pero no funcionó muy bien. Después de reinstalar Ubuntu dos veces, creo que es mejor si espero el lanzamiento oficial o una actualización de Proton, lo que ocurra primero.

Así es como se ve en Nvidia,

ejecutándose en 450.56.06
Screenshot_20200905_105059
Las plantas y las rocas están flotando, no puedes progresar hasta ese punto, tienes que esconderte en la hierba alta que no existe / no se representa en absoluto
Screenshot_20200906_024100

Algunos de los problemas de rocas y césped que desaparecen se corrigen en este PR: https://github.com/HansKristian-Work/vkd3d-proton/pull/263
Probado en Nvidia RTX 2070
Horizon Zero Dawn_Sun_Sep__6_09-24-00_2020

Desafortunadamente, algunas cosas todavía flotan y / o aparecen en los lugares incorrectos.
Horizon Zero Dawn_Sun_Sep__6_09-28-11_2020
Horizon Zero Dawn_Sun_Sep__6_09-36-05_2020

Pero ni siquiera es tan malo como antes.

El juego aún no se puede jugar.

No hay problema con Mesa-git + Proton-5.9-GE-6
Capture du 2020-09-06 14-59-38

@Odelpasso ¿de dónde
Aquí https://github.com/GloriousEggroll/proton-ge-custom/releases solo están disponibles Proton-5.9-GE-5-ST.

Era un enlace de Google disponible en la discordia VKx.

wine-tkg funciona si sigue los pasos mencionados en este hilo. Un compromiso muy reciente con Mesa debe haber solucionado los problemas gráficos.

Editar: En caso de que alguien quiera saber, estas dos líneas parecen haber solucionado todos estos fallos gráficos con Mesa RADV.

@Odelpasso ¿Dónde?

@Danacus No puedo hacer que wine-tkg construya en arch, ¿qué pasos?

@Odelpasso ¿Dónde?

@Danacus No puedo hacer que wine-tkg construya en arch, ¿qué pasos?

Proton (publicado por GloriousEggroll en la discordia): https://drive.google.com/file/d/1OLp74WlIKSnOI6PphiiXwIySLpwOFj5j/view
image

Vino-tkg:

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

@ D3SOX

Proton (publicado por GloriousEggroll en la discordia)

Oh, lo veo ahora, la búsqueda de discordia estaba siendo ... realmente extraña.

¿El archivo está en la papelera de propietarios? Oof. Sin embargo, logré descargarlo.

Vino-tkg:

Sí, eso es lo que hice, wine-tkg no se construye. Un error en build() y se detiene, o usando el script se cierra silenciosamente.

@DianaNites

Vino-tkg:

Sí, eso es lo que hice, wine-tkg no se construye. Un error en build() y se detiene, o usando el script se cierra silenciosamente.

Puede agregar chaotic-aur para paquetes prediseñados si lo desea, es más fácil que construir. Yo también tuve problemas para construir wine-tkg .

@ D3SOX Hmmm, el enlace de Google Drive parece estar caído. Me dice que el archivo fue destruido. ¿Alguien puede pedirle a GloriousEggroll que lo publique oficialmente? Sin embargo, me imagino que tiene sus razones para no hacerlo todavía.

Además, he estado jugando el juego bastante extensamente, y parece que se congela aleatoriamente, aunque también logré que se ejecute sin problemas gráficos notables después de correr con dxgi.dll nativo vs DXVK y forzar a los sombreadores a recompilar.
A veces, si tengo que matar el proceso debido a tal congelación, reaparece la cosa de objetos flotantes. Obligar al juego a recompilar su caché de sombreado, ya sea en parte (jugando con las versiones dxgi.dll) o completamente (eliminando PSOCache.bin o sobrescribiéndolo con una copia de seguridad) soluciona el problema del objeto flotante ... Bueno, hasta que el juego se congela nuevamente al azar y corrompe su caché en el proceso. Esperemos que esto también se solucione. He tenido problemas de congelación similares en otros juegos que se ejecutan con VKD3D.

@RoyShapiro Puede descargar con https://gdbypass.host/
Pero el dijo

porque hice otra compilación hoy temprano que estaba probando esta mañana
No tenía la intención de que esa compilación fuera pública, la publiqué aquí para que algunas personas la probaran con radv ayer

Todavía estoy tratando de que se inicie

Screenshot_20200906_152955

¡Comienza! ¡Funciona! Hasta ahora .. ¡Espera y verás!

@DianaNites No lo entiendo. ¿Solo necesitamos Proton.5.9-GE-6-ST para comenzar el juego? ¿No hay cosas adicionales de DLL ni nada?

@ mixalis1987

Hice las cosas de dll mencionadas en otras partes del hilo, pero no las probé sin ellas, y aún no he entrado en el juego debido a los increíbles requisitos de RAM y otros programas abiertos. Una vez que cierre los otros programas y libere algo de RAM, veré cómo funciona realmente.

@DianaNites Ah, gracias. Lo echaré un vistazo pronto.

@DianaNites No lo entiendo. ¿Solo necesitamos Proton.5.9-GE-6-ST para comenzar el juego? ¿No hay cosas adicionales de DLL ni nada?

Sin ejecutar cp ./Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll . del directorio del juego, el juego no funciona ni siquiera con Proton-5.9-GE-6

Desafortunadamente, siempre me falla después de un corto tiempo en la introducción o en el menú (radv & amdvlk-pro, proton-tkg). :(

¡Lo tengo funcionando! Construí Proton-tkg, usé los dlls de la carpeta de herramientas, mesa-git y eso es todo. Sin embargo, al usar hardware AMD, aparentemente funciona mejor que NVIDIA.

Algunos fallos visuales menores e infrecuentes, algunos fallos (¿pero podrían ser del juego en sí?), Pero en general ¡FUNCIONA! Esté preparado para relanzar el juego con bastante frecuencia, aunque pueden ser simplemente los errores del juego. Se ha avanzado mucho para que esto funcione y, ¡LO HACE!


Capturas de pantalla

Sin embargo, no me di cuenta de que tenía que ocultar la interfaz de usuario yo mismo, por lo que las capturas de pantalla son malas :(

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

editar:

sigue chocando en una parte específica, poco después de las capturas de pantalla anteriores, la habitación con todos los muertos en las camas.

Sorprendentemente, me las arreglé para solucionar el bloqueo , usando este consejo de PCGamingWiki

El juego parece estar funcionando increíblemente bien y supere la parte del niño Aloy, logré salvar en el incendio, luego el juego se bloqueó rápidamente nuevamente. Aún así, ¿fue una buena hora, hora y media? Probablemente funcione bien después de que reinicie nuevamente, la edición hexadecimal parece haber solucionado, de alguna manera, ese bloqueo persistente.

Debo señalar que la pantalla de carga para after child aloy tomó un tiempo increíblemente largo, pero terminó. Pensé que estaba colgado.

Sin embargo, tenga en cuenta que, después de investigar un poco, las instrucciones editadas en hexadecimal posiblemente tengan la intención de provocar un bloqueo. Vea aquí , por ejemplo.

editar:

Funcionó bien después de reiniciar, obtuve una o dos horas antes de que se bloqueara nuevamente. Sin embargo, todavía es difícil saber si el choque es de protones o del juego.

Esto fue en el nuevo parche 1.04, protones tkg git Maestro, Maestro mesa-git, ambos de los cuales tenía nuevas confirmaciones desde ayer.

editar: también recuerde seguir usando los dlls de la carpeta de herramientas. Cópielos de nuevo, idk si cambiaron en el parche, pero podrían haber

El parche 1.04 está disponible desde hace 15 minutos, su objetivo es corregir aún más fallas:
https://store.steampowered.com/newshub/app/1151640/view/2905340212273715393

Correcciones de fallos:
Se corrigió un bloqueo que podía ocurrir cuando los usuarios creaban un nuevo juego y sus espacios para guardar juegos estaban llenos
Se corrigió un bloqueo de inicio relacionado con la carpeta temporal
Se corrigió un bloqueo de la IA que podía ocurrir durante el combate.
Se corrigió un bloqueo de AI en EventMessageHandler
Se corrigió un bloqueo relacionado con el muestreo de WorldData (la pila de llamadas terminaría en WorldMapData :: SampleAtPixel)
Se corrigió un bloqueo cuando los usuarios retrocedían instantáneamente al cambiar los controles deslizantes en el menú Configuración
Se corrigió un bloqueo que ocurría al tener la opción "Saludos" abierta en el modo de foto y luego salir
Posible solución para la corrupción de la memoria en las rutinas de IA que podrían provocar bloqueos
Posible solución para un bloqueo de la GPU causado por un problema de subprocesos
Se corrigió una falta de coincidencia que ocurriría en el hardware Shader Model 6.0 y 6.1 que podría provocar un bloqueo

El juego se bloquea en el lanzamiento desde el último parche ... Funcionó correctamente con GE-6 + parche 1.03 ..

¡Todavía me funciona con proton-tkg! ¿Intenta cambiar a eso @Odelpasso ?

Patch no me ha ayudado, todavía falla en el menú / intro vid con proton-tkg o -ge. En wine-tkg (con d3d12.dll nativo vkd3d) se bloquea desde el principio. Hitman 2 D3D12 funciona en ambos casos.

Los compromisos de hoy con https://github.com/HansKristian-Work/vkd3d-proton/commits/master están provocando que el juego se bloquee (sin mostrar nada, pero, aparentemente, justo antes de eso (el juego tarda un tiempo antes de Revertir d3d12.dll a la versión de ayer "soluciona" el problema.

Si alguien más tiene el mismo problema, presente un problema con vkd3d (primero quiero asegurarme de que no sea solo yo).

Probado nuevamente usando Proton-GE 5 y 6 con actualizaciones recientes en VKD3D-Proton y las últimas fallas de VKD3D-Proton, así que tal vez ese sea su problema @aufkrawall y @RoyShapiro. Después de bisecar, descubrí que las confirmaciones después de 3002d52ed404cdd65d2c57193fe9bdbdf683161c están causando los bloqueos, así que simplemente realice un restablecimiento de git en esa confirmación, luego vuelva a compilarlo y cópielo en su directorio HZD. Hasta ahora, las cosas flotantes no han aparecido después de la recompilación del sombreador en NVidia. Aún así, incluso en Favor Performance.

Capturas de pantalla

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

Después de bisecar, descubrí que las confirmaciones después de 3002d52ed404cdd65d2c57193fe9bdbdf683161c están causando los bloqueos

Entonces NO es solo mi problema. Sin embargo, gracias por la pista, porque significa que no son TODAS las confirmaciones de hoy, solo después de esa.
Aún así, creo que deberíamos avisar a Hans-Kristian.

Parece que están agregando una nueva característica, por lo que podría tener errores por un tiempo. No sé si deberían ser informados o si ya lo están, ya que podría ser que lo que están agregando todavía esté en desarrollo. Olvidé mencionar que en GE-5 aún falla después de alcanzar el 100% de la optimización de inicio. GE-6 está bien. FYI @aufkrawall ya que es posible que esté utilizando GE-5.

@intersectRaven Ya veo. Aún así, probé el mismo dll con Control y Resident Evil 2, GE-6, sin bloqueo. Parece afectar a HZD más específicamente que a otros. Espero que se den cuenta.

Actualización: Ya lo noté, tal como lo había predicho. https://github.com/HansKristian-Work/vkd3d-proton/commit/cea17b2440de66a9c1c1978ff297e59abddaa4d1 solucionó el bloqueo para mí.

Esta nueva confirmación podría solucionarlo, la función en la que está es utilizada por esta confirmación HZD.

Recompilar y probar ahora

editar:

De hecho, puedo confirmar que todavía funciona muy bien.

@DianaNites Sí, lo acabo de probar.

No sirvió para mí, probé todas las cosas sugeridas y otras (esync / fsync off, etc.) :(
¿Pueden cambiar al modo de pantalla completa sin fallar? Se bloquea instantáneamente para mí.

La verbosidad de Steam tampoco me parece muy reveladora:


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

¿Pueden cambiar al modo de pantalla completa sin fallar? Se bloquea instantáneamente para mí.

@aufkrawall Sí, cambiar los modos de pantalla completa es un bloqueo instantáneo para mí también, pero de todos modos comienza en el modo de pantalla completa sin bordes, así que no me preocupo demasiado.

También querrá usar PROTON_LOG=1 %command% en las opciones de lanzamiento para obtener un registro decente, estará en su directorio de inicio.

Aparte de eso, el juego me funciona muy bien ahora, y estoy progresando muy bien. ¿Un choque, quizás cada hora más o menos? Molesto, y con la incapacidad de salvar en todas partes induce ansiedad, pero es difícil saber si es del juego o del protón.

Sin embargo, noté un problema extremadamente extraño al ejecutar el punto de referencia. A pesar de que tenía mucha RAM libre, se estaba asignando para intercambiar como loco, lo que hace que el rendimiento de referencia sea aún más bajo de lo que ya es.


Capturas de pantalla

Screenshot_20200908_132008
Screenshot_20200908_132338
Screenshot_20200908_131942

Sin embargo, pareció dejar de hacer eso después de un reinicio, volviendo a los 12 FPS "normales" informados por el punto de referencia. Sin embargo, el rendimiento real dentro del juego es mejor que eso .


Captura de pantalla

Screenshot_20200908_134459

¿Pueden compartir su construcción de Wine?

Sugerencia: apague V-Sync en el juego, causa problemas de bajo rendimiento en la CPU y
GPU incluso en Windows nativo.
Intente habilitarlo a través de. Perfil de la aplicación en su controlador gráfico.
No puedo decirte cómo, estoy usando Nvidia, estás usando AMD.

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

¿Pueden cambiar al modo de pantalla completa sin fallar? Se bloquea instantáneamente
para mi.

@aufkrawall https://github.com/aufkrawall Sí, cambiando a pantalla completa
modos un bloqueo instantáneo para mí también, pero comienza en pantalla completa sin bordes
modo de todos modos, así que no me preocupo demasiado.

También querrá usar PROTON_LOG = 1% command% en las opciones de lanzamiento para obtener un
registro decente, estará en su directorio de inicio.

Aparte de eso, el juego me funciona muy bien ahora, y estoy progresando
bien. ¿Un choque, quizás cada hora más o menos? Molesto y con la incapacidad
para salvar en todas partes que induce ansiedad, pero es difícil saber si es del juego
o de protón.

Noté un problema extremadamente extraño al ejecutar el punto de referencia,
aunque. Aunque tenía mucha RAM libre, se estaba asignando para intercambiar
como un loco, lo que hace que el rendimiento de referencia sea aún más bajo de lo que ya es.
Capturas de pantalla

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

Sin embargo, pareció dejar de hacer eso después de un reinicio, volviendo a la
12 FPS "normales" informados por el índice de referencia. El rendimiento real en el juego es
mejor que eso , sin embargo.
Captura de pantalla

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

-
Recibes esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-689077992 ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/AJWSJOPVTOKHFPVXYJLERRDSEZ6HPANCNFSM4PXXJIQA
.

Hay varias formas de habilitar V-Sync:

  • TearFree opción en la configuración de Xorg
  • mangohud puede forzar V-Sync en juegos
  • Si no le importa un poco de latencia, un compositor también puede agregar V-Sync

No entiendo lo que me pasa ...
Soy el único con este problema.

@Odelpasso intente @DianaNites para que alguien pueda examinarlos y tal vez apuntar en la dirección correcta.

steam-1151640.zip
Se adjunta mi registro de protones por fallar al cargar o iniciar un nuevo juego con el GE-6-ST no oficial. El juego se carga en el menú y se muestran los logotipos, pero nada más allá de eso funciona.

Probé la última versión de TKG, que era 5.16+ si mal no recuerdo, y obtuve el mismo resultado allí con el juego fallando alrededor de 2 / 3-3 / 4 durante la carga. Intenté compilar tkg yo mismo usando un script, pero obtengo un error durante el parche de revisión, menciona que 16 de 76 trozos FALLARON - guardando los rechazos en el archivo parches / patchinstall.sh.rej
Desafortunadamente, no soy lo suficientemente experto para navegar pasando ese punto sin una guía y no tuve tiempo de encontrar si había una en alguna parte.

Pasos tomados hasta ahora para llegar a mi registro
1) Movió dxcompiler y d3dcompiler_47 a la carpeta con la aplicación exe
2) Usé protontricks para configurar d3d12.dll como nativo (no hice esto hasta después de intentarlo sin y obtuve el mismo resultado en ambas ocasiones, así que no sé si esto hizo alguna diferencia en cualquier dirección)

@Odelpasso intente @DianaNites para que alguien pueda examinarlos y tal vez apuntar en la dirección correcta.

Este es mi registro del juego ...
steam-1151640.log

En Pascal (GTX 1070) usando el mismo proton-tkg-5.16.r12, la actualización de los controladores de Nvidia de 450.56.06 a 450.56.11 ha arreglado las rocas flotantes y el pasto largo que no se renderizan, lo que permite terminar el tutorial. Jugó durante una hora sin fallar y solo se detuvo debido a que no podía hacer funcionar un controlador.

Me las arreglé para correr como debería. Sin artefactos. La solución es la misma que apliqué aquí para Battlefield V.

Mi sistema:
Procesador gráfico: AMD RX580 de 8 GB
CPU: Intel i7 4770 (Haswell)
Sistema operativo: Arch Linux
Núcleo: 5.8.7-13-tkg-pds
Vino: Frogging-Family / wine-tkg-git

Compile el último vkd3d-proton d3d12.dll.

Screenshot_20200910_093131

@rizzini hice WINEPREFIX=/run/media/nico/DATA_SSD/SteamWindowsLib/steamapps/compatdata/1151640/pfx /usr/share/steam/compatibilitytools.d/proton_tkg_makepkg/dist/bin/winecfg y agregué d3d12 como Native (Windows)
como en el tema que mencionaste.

Estoy usando
Procesador gráfico: AMD RX480 de 8 GB
CPU: AMD Ryzen 9 3900X (Zen2)
Sistema operativo: Arch Linux
Kernel 5.8.8-14-tkg-upds (con fsync)

También compilé proton-tkg-git (la versión es 5.16.r19.g88e6b6c6-1 ) y lo usé en Steam para el juego
Como argumentos de lanzamiento utilizo 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 forzarlo a usar RADV ya que también tengo AMDVLK instalado)

Estoy un paso más allá que nunca porque ahora veo el indicador de carga en la parte inferior izquierda y el cursor del mouse personalizado después de cambiar el nombre de drive_c/users/steamuser/My Documents/Horizon Zero Dawn pero ahora aparece este error:
image

Después de cambiarle el nombre a Horizon Zero Dawn y reiniciarlo, hizo algunas cosas raras en la carpeta Saved Game y también eliminó los archivos dentro de las partidas guardadas.
image
Anteriormente se veía así:
image

Registro de Steam desde la carpeta de inicio:
steam-1151640.log

@ D3SOX , lo hizo bien, pero mirando su registro, parece que Proton todavía está usando el d3d12.dll de la carpeta ejecutable de Horizon Zero Down. Intente eliminarlo y mantenga solo el que está en su carpeta 1151640/pfx/drive_c/windows/system32/ .

Línea 2312 de su 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

Aquí está el mío d3d12.dll . Por si acaso.

Editar: nunca vi esos errores de partidas guardadas. Intente hacer una copia de seguridad y eliminar, solo para solucionar problemas.

@rizzini Cloné vkd3d-proton y lo construí “de la manera más sencilla”, así que creo que mis DLL deberían estar bien
Copié la compilación x64 en la carpeta del ejecutable y también la reemplacé dentro de SysWOW64 .
En System32 reemplacé d3d12.dll con mi compilación x86 . Entonces, no creo que sea un problema que lo cargue desde allí, ya que es el mismo archivo DLL. ¿O tengo que copiar la compilación x64 en System32 ?

Para las partidas guardadas: el problema es que intenté eliminarlas, pero luego aparece el error de partida guardada. Sin borrarlos, solo se bloquea. (Creo que podría tener algo que ver con estos archivos, ya que he jugado un poco en Windows)

Sin embargo, lo eliminé del directorio de ejecutables y aún se bloquea. Iniciar sesión:
steam-1151640.log

Yo uso mesa-tkg-git versión 20.3.0_devel.128249.5e9e4573835-1 . También podría ser un problema. ¿Qué versión de mesa usas?

@ D3SOX

En una computadora de 64 bits, los programas de 64 bits almacenan sus archivos en C: \ Archivos de programa, y ​​la carpeta C: \ WindowsSystem32 de todo el sistema contiene bibliotecas de 64 bits. Los programas de 32 bits almacenan sus archivos en C: \ Archivos de programa (x86) y la carpeta de todo el sistema es C: \ WindowsSysWOW64.
Fuente

Por lo tanto, debe poner la versión x64 en System32 y la versión x86 en SysWOW64. Además, no creo que Horizon necesite la versión x86 en absoluto (pero probablemente sea bueno tenerla). Dicho esto, por lo general, cuando se usa la versión incorrecta, el juego no debería funcionar en absoluto (con un error diferente), no discutir sobre juegos guardados. Entonces creo que podría haber otro problema además de ese.

@RoyShapiro Oh, gracias por esa aclaración. Simplemente asumí que el sistema 32 = bibliotecas de 32 bits.
Los cambié. Todavía chocando. Registro: steam-1151640.log

@ D3SOX
Advertencia: esto puede no ayudarlo. Por favor, primero haga una copia de seguridad del prefijo de vino (protón).
Si por colisión te refieres a la caída real, y no al problema de guardar el juego, entonces sé que es una posibilidad remota, y no estoy seguro de si eso te ayudará en algo, pero ...
En el registro, puedo ver que está utilizando un dxgi.dll integrado. Ahora, eso debería estar totalmente bien, pero he descubierto que a veces funciona mejor con el de DXVK. Ignore la vieja advertencia de que no funcionan juntos, se ha solucionado hace algún tiempo. Entonces, probablemente, puede intentar instalar DXVK (con dxgi) en el mismo prefijo (obviamente, primero haga una copia de seguridad del prefijo, para que no tenga que rehacer nada si no ayuda), y luego configure dxgi.dll como nativo a (si DXVK no lo configura automáticamente). Es mejor usar la última versión de DXVK para una mejor compatibilidad.
Y si no funciona, simplemente restaure su prefijo desde la copia de seguridad. Una vez más, no debería ser necesario y lo hace bajo su propio riesgo.
Además, verifique si el juego está actualizado a la última versión, escuché que las versiones anteriores tenían un problema de juego guardado cuando no podía encontrar la ruta de los juegos guardados debido a personajes extraños en él. Supuestamente no es latino, pero quién sabe qué syscalls podría haber usado el juego.

@RoyShapiro He compilado DXVK del maestro e hice WINEPREFIX=/run/media/nico/DATA_SSD/SteamWindowsLib/steamapps/compatdata/1151640/pfx ./setup_dxvk.sh install
Abrió winecfg en el prefijo nuevamente y agregó dxgi.dll como Native (Windows)
Registro: proton-dxvk-steam-1151640.log

Pero después de que comencé el juego, noté que reemplazaba los archivos DLL con enlaces simbólicos a los archivos DLL en /usr/share/steam/compatibilitytools.d/proton_tkg_makepkg/dist/lib64/wine/dxvk/ , así que reemplacé los DDL allí dentro con mi compilación x64 y lo inicié de nuevo.
Todavía chocando. Registro: steam-1151640.log

¿Cómo puedo comprobar si el juego está actualizado? Creo que Steam lo mantiene actualizado automáticamente y no hay ninguna actualización en Descargas.

@ D3SOX Debería actualizarse automáticamente si Steam no tiene nuevas actualizaciones disponibles, a menos que haya desactivado las actualizaciones a propósito, es decir, para ahorrar ancho de banda. Algunas personas hacen eso, y hubo un error de juegos guardados en las versiones anteriores, por lo que al pasar por los mensajes para el bloc de notas como ese, es mejor descartar tales cosas.

Sí, el registro ahora muestra un dxgi.dll nativo utilizado.

Esto es extraño. Ignore la versión anterior de esta publicación, tenía algunas cosas confusas. RADV y AMDVLK, ¿cuál se usa actualmente? Arch Wiki sugiere que puede cambiar entre los dos. Fuente. Quizás puedas probar el otro.

@RoyShapiro
Creo que estoy actualizado:
image
Agregué la variable VK_ICD_FILENAMES env porque @ Tk-Glitch dijo que no funcionará con AMDVLK. Pero no creo que sea necesario, ya que cuando lo elimino, el registro también indica AMD RADV POLARIS10 (ACO) y nada sobre amdvlk
Información actual del sistema de vapor: https://gist.github.com/D3SOX/130e718b1f2df4a17273ff31f1816de9
No entiendo por qué tanta gente lo ha puesto en marcha y ni siquiera empieza para mí.

@ D3SOX Esto es realmente extraño. ¿Ha intentado utilizar la versión 6 de Proton no oficial de GloriousEggroll sugerida anteriormente en este hilo en lugar de la de TKG? Escuché que funciona para algunas personas. Sí, requiere el truco de GD antes mencionado para descargar, pero la última vez que verifiqué que aún funcionaba.
Todavía estamos en territorio inexplorado con todas estas correcciones. Incluso si logras que el juego funcione, tiende a congelarse de vez en cuando, para mí es aproximadamente cada 10-30 minutos, algunas otras personas han informado que pueden jugar hasta una hora. Pero sigue siendo una experiencia de "dedos cruzados de fogata a fogata".

@ D3SOX @RoyShapiro

Tenía el juego en ejecución, simplemente usando el protón de tkg y copiando d3dcompiler_47.dll al directorio raíz del juego, luego decidí comenzar de nuevo con el pfx, lo eliminé e intenté iniciarlo nuevamente.

Efectos: tuve el mismo error de guardado del juego, solucionado al crear manualmente ese directorio "Horizon Zero Dawn / Saved Game", pero desde entonces sigue fallando al ver la pantalla de carga negra.

@ D3SOX

¿Ya probaste ge-6-st proton?

deberías probarlo, mi juego funciona desde que lo uso.

@fsyy ¿

Acabo de usar ge-6-st y copié d3dcompiler_47.dll de ~ / .steam / steam / steamapps / common / Horizon Zero Dawn / Tools / ShaderCompiler / PC / 10.0.18362.0 / x64 / a ~ / .steam / steam / steamapps / common / Horizon Zero Dawn.

No copié d3d12.dll en el directorio del juego y tampoco lo configuré como una biblioteca nativa en winecfg.

Estoy usando una tarjeta nvidia (el último controlador beta 450.56.11) y todavía tengo rocas y árboles flotantes, también el juego se bloquea mucho aquí (10 - 30 minutos), pero se inicia y se puede jugar, más o menos.

@fsyy Ah, gracias por aclarar eso. Todo esto con el d3d12 dll es un poco confuso.

@fsyy Sí, probé GE-6-ST y ni siquiera comencé. Probablemente debería probar de nuevo con un prefijo de vino limpio.

si no se ejecuta con un prefijo nuevo, tal vez publique otro registro de protones aquí.

@fsyy

escribiste sobre DXVK en tu publicación anterior, eso no importa, ya que Horizon Zero Dawn es solo DX12, por lo que necesitas vkd3d-proton. Pero eso ya debería estar configurado en esas construcciones de protones.

Lo acabo de probar porque @RoyShapiro lo sugirió

si no se ejecuta con un prefijo nuevo, tal vez publique otro registro de protones aquí.

Sí, lo haré más tarde en algún momento

@fsyy @ D3SOX Solo para aclarar: he sugerido intentar ejecutar un prefijo con DXVK instalado porque si bien es cierto que el juego en sí no usa nada por debajo de DX12, el VKD3D-Proton sí hace uso de funciones implementadas en un biblioteca llamada dxgi.dll, que también es utilizada y proporcionada por DXVK. En algunos casos de uso, la versión proporcionada por DXVK puede ofrecer más compatibilidad que la que se incluye con Wine \ Proton. Por ejemplo, el reemplazo de esta biblioteca exacta con la versión de DXVK es exactamente lo que me resolvió el problema de las rocas flotantes. Entonces, aunque no sabemos qué está causando exactamente el problema de

@RoyShapiro

¿Qué versión de protón (vino) usas?

@fsyy Actualmente, Proton-5.9-GE-6-ST. Dicho esto, creo d3d12.dll desde la fuente, por lo que no uso el que viene con Proton-GE y, como se mencionó anteriormente, también tengo DXVK 1.7.1 instalado manualmente.

@RoyShapiro ¿cómo hacemos todo eso? Ya tengo GE 6 pero el d3d12 personalizado ¿cómo lo conseguimos?

@ mixalis1987 Está compilado a partir de fuentes vkd3d-proton.

@intersectRaven Oh, gracias. Y eso lo pusimos en systemc32 y lo configuramos como nativo en winecfg ... ¿verdad?

Qué rendimiento parece esperarse. Puedo "jugar" con GE 6 y d3d12.dll vinculados previamente en el hilo y ha sido estable, sin embargo, en gfx medio, obtengo 25 fps con controladores Ryz 5 1600 y GTX-1080 y 450.66 (pop_os)

También me gustaría preguntar si las animaciones que todos experimentan parecen estar en "cámara lenta" o no. También se puede jugar en mi máquina, pero esa es la única queja que tengo, pero es de esperar, ya que también experimenté esto antes con Fallen Jedi antes de que se arreglara.

@intersectRaven No estoy seguro, más o menos. Solo algunas cosas, pelo de hierba, etc. Sin embargo, creo que es algo AA, ya que obtuve lo mismo en tierras salvajes de reconocimiento fantasma con algunos modos AA

@botrosco Gracias. He habilitado FPS en la superposición de Steam ahora y también obtengo 20 - 30 fps en mi máquina. Estoy jugando en un 9750H y RTX2070, por lo que puede ser una cuestión de optimización que deba abordarse con Proton / VKD3D.

@intersectRaven Ah, está bien. Es bueno saber que no soy solo yo.

¡Conseguí que funcionara! El juego se congela en la escena cuando se convierte en adulta y sale de la cabaña. No puedo superar eso.

Capturas de pantalla

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
Arco: x86_64
Núcleo: 5.8.6-1-MANJARO
Escritorio: XFCE
Servidor de pantalla: x11

[UPC]
Proveedor: AuthenticAMD
Modelo: Procesador AMD Ryzen 9 3900X de 12 núcleos
Núcleos físicos: 12
Núcleos lógicos: 24

[Memoria]
RAM: 31,4 GB
Intercambio: 0,0 GB

[Gráficos]
Proveedor: NVIDIA Corporation
Procesador OpenGL: GeForce GTX 1080 Ti / PCIe / SSE2
Versión de OpenGL: 4.6.0 NVIDIA 440.100
Núcleo OpenGL: 4.6.0 NVIDIA 440.100
OpenGL ES: OpenGL ES 3.2 NVIDIA 440.100
Vulkan: apoyado

Necesita actualizar el controlador de nvidia para pasar la cabaña cuando sea adulta. Ahora puedo superar eso. No sé qué pasa con los bordes blancos.
Screenshot_2020-09-13_20-33-10

Todavía no llegué tan lejos en el juego con la lentitud y demás, pero estoy usando NVIDIA y también puedo confirmar el mismo tipo de problema sin bordes que no es de pantalla completa.

Tengo que decir que, una vez que se solucionen los fallos aleatorios, podría verme jugando hasta el final. Incluso con el borde blanco.
@ 77boaz ¿

Así que arranco Windows de forma dual, principalmente para comparar Linux / Windows en Steam. En Linux, puedo ejecutar el juego en Original sin que el rendimiento / caída de fotogramas no esté mal, aunque actualmente rompí el juego nuevamente al escribir esto porque estaba jugando con compilaciones proton-tkg, compilaciones proton-ge y esas cosas ... Windows 10 Puedo ejecutarlo al máximo con 1080p ... Todavía no tengo un monitor 4K :) La versión de Windows es mucho mejor por el momento, ¡pero el progreso logrado en Linux en tan poco tiempo es épico! Una vez más, grita a la gente que lo está trabajando. Esperaré para jugarlo en toda su grandeza en Linux más tarde hasta el final :) La paciencia es una virtud :)

@ mixalis1987 Ya estoy en Original pero todavía está en "cámara lenta" para mí. También estoy deseando que se solucionen los fallos aleatorios. Después de examinarlo, parece ser el mismo problema con "RE2: la creación de VkBufferView puede desbordar la memoria disponible # 266" en los problemas de VKD3D. Ojalá se pueda solucionar pronto.

Me las arreglé para revertir las confirmaciones de hashmap y parece que ahora está liberando la memoria correctamente. Si alguien quiere probar sus propias fuentes compiladas de VKD3D-Proton, los compromisos para revertir son:

daf9f5c69fb69ab87672e61ee6c71ec2fb16d218
5a9d132b20de854f751d4c606c9546e6c34f5c4c
73d578e5abe5658bd8f9cca330a2f7a8f48e0465
684c658e22930f3f77488f77afb590d6889920a4

Reviértelos en ese orden específico para que se revierta limpiamente. Hasta ahora, esta es la obra más larga que he tenido y que no me ha colgado antes de cansarme. Esto no es de ninguna manera una solución. A lo sumo, es un método para abordar el problema # 266 sin reescribir la implementación del mapa hash si quieres jugar sin fallar, aunque ni siquiera eso está asegurado.

@intersectRaven No entiendo qué debemos hacer con las confirmaciones. ¿Simplemente vuelva a construir vkd3d?

@ mixalis1987 Simplemente revierte los que usan git revert <_commit i = "5"> y luego la compilación habitual vkd3d, copia, etc.

@intersectRaven Entonces

git revert -n (número de confirmación que publicó)?

@ mixalis1987 Sí.

Pero simplemente no revertir la mala confirmación 51d2a3bad2dacc40653fd8b9d43dea7ba0109e65?

@intersectRaven Finalmente pude probar su sugerencia de revertir las confirmaciones en HZD específicamente. Puede confirmar que "funciona". Estuve jugando durante tres horas y quince minutos seguidos, y al final me congelo. También capturó uno después y alrededor de cuarenta minutos y tabulación alternativa. Parece que sin el mapa de hash los recursos que crea el juego se pierden después de mucho tiempo. Y con eso simplemente se desbordan creando una pérdida de memoria. La misma situación con RE2, excepto que aparentemente también hace que la velocidad de fotogramas decaiga con el tiempo. Entonces, como dijiste, esto de ninguna manera es una solución, el mapa de hash estaba allí por una razón. Sin embargo, es una curita temporal bastante buena para hacer que HZD sea jugable hasta que surja una mejor solución, después de todo, jugar un juego durante más o menos tres horas seguidas en lugar de solo 10 minutos suele ser más de lo que la gente está dispuesta a poner en un juego. sesión de todos modos. Sin embargo, espero que al equipo de VKD3D-Proton se le ocurra pronto un refactor de implementación de hashmap adecuado.

@Odelpasso Acabo de revertir lo que publicó @intersectRaven . 4 confirmaciones.

Hola @RoyShapiro ,
¿Puedes publicar tu dll? Gracias :)

@intersectRaven Finalmente pude probar su sugerencia de revertir las confirmaciones en HZD específicamente. Puede confirmar que "funciona". Estuve jugando durante tres horas y quince minutos seguidos, y al final me congelo. También capturó uno después y alrededor de cuarenta minutos y tabulación alternativa. Parece que sin el mapa de hash los recursos que crea el juego se pierden después de mucho tiempo. Y con eso simplemente se desbordan creando una pérdida de memoria. La misma situación con RE2, excepto que aparentemente también hace que la velocidad de fotogramas decaiga con el tiempo. Entonces, como dijiste, esto de ninguna manera es una solución, el mapa de hash estaba allí por una razón. Sin embargo, es una curita temporal bastante buena para hacer que HZD sea jugable hasta que surja una mejor solución, después de todo, jugar un juego durante más o menos tres horas seguidas en lugar de solo 10 minutos suele ser más de lo que la gente está dispuesta a poner en un juego. sesión de todos modos. Sin embargo, espero que al equipo de VKD3D-Proton se le ocurra pronto un refactor de implementación de hashmap adecuado.

Si. Es complicado ya que el mapa de hash se implementó para utilizar mejor la memoria para su reutilización. El problema es que a HZD parece no gustarle reutilizar cosas. LOL. No hay una solución fácil para esto, así que esta "curita" es solo eso ... una curita para jugar a HZD durante unas horas sin fallar y solo para este juego. Estoy pensando que la solución a esto estaría más en el extremo de Guerrila que en VKD3D, ya que podría ser un problema de optimización con su motor que crea instancias de tantos objetos no reutilizables. Por supuesto, si los desarrolladores de VKD3D pueden encontrar otra solución, también sería genial, ya que se beneficiarán más juegos no optimizados.

@intersectRaven Me temo que las manos de Guerilla ya están atadas porque está arreglando un puerto "malo", y aunque esto puede estar relacionado de alguna manera con algunos de los fallos que han tenido en Windows, dudo que lo investiguen en cualquier momento. Además, varias personas aquí, incluyéndome a mí, parecen tener el mismo problema con otros juegos como RE2, que es casi seguro que no se parcheará, ya que ya está maduro y el problema parece un nicho. Sin embargo, VKD3D, o más bien VKD3D-Proton, fue creado específicamente con el objetivo de, citando, "El rendimiento y la compatibilidad son objetivos importantes". Por lo que parece algo que tendrán que afrontar tarde o temprano. Pero eso es académico. Desafortunadamente, no estoy bien versado en el área de las API de gráficos o con mucho gusto le echaría una mano.

@intersectRaven Me temo que las manos de Guerilla ya están atadas porque está arreglando un puerto "malo", y aunque esto puede estar relacionado de alguna manera con algunos de los fallos que han tenido en Windows, dudo que lo investiguen en cualquier momento. Además, varias personas aquí, incluyéndome a mí, parecen tener el mismo problema con otros juegos como RE2, que es casi seguro que no se parcheará, ya que ya está maduro y el problema parece un nicho. Sin embargo, VKD3D, o más bien VKD3D-Proton, fue creado específicamente con el objetivo de, citando, "El rendimiento y la compatibilidad son objetivos importantes". Por lo que parece algo que tendrán que afrontar tarde o temprano. Pero eso es académico. Desafortunadamente, no estoy bien versado en el área de las API de gráficos o con mucho gusto le echaría una mano.

Igual que aquí. Solo pude hacer una investigación superficial del problema en función del problema que estaba en la página de problemas de VKD3D. Parece que antes del mapa de hash, ¿la memoria se liberaría inmediatamente después de su uso? El mapa de hash evita la penalización de la creación de instancias de un nuevo objeto al tener memoria ya preasignada o algo así. Es por eso que tuve el "vkd3d: No ref-count vistas en actualizaciones de descriptor". revirtió ya que parece que uno se deshizo del código de destrucción de vista ya que los hashmaps no lo necesitarían. De todos modos, no sé lo suficiente para abordar cómo reemplazar eso, así que este es solo mi enfoque sucio para al menos poder jugar más tiempo. Estoy seguro de que están trabajando en esto detrás de escena, ya que ya lo identificaron en el problema en primer lugar, lo que indica que están al tanto del problema.

@intersectRaven He echado un vistazo al código que introdujo el mapa de hash, y parece que el código anterior simplemente instanciaba objetos "sueltos", es decir, creaba un puntero y luego lo "olvidaba" cuando la función termina. Por lo que recuerdo, esta acción no libera exactamente la memoria, ya que el objeto todavía existe, pero "cuelga suelto". Eventualmente, las rutinas de recolección de basura del sistema detectan su olor y, si nada hace referencia a él, marcan la memoria como no utilizada. (El d3d12_desc_destroy que se ha editado en muchos lugares en "No ref-count vistas" es una función llamada en una estructura, parece, no un destructor de objetos, por lo que la API debe llamarlo deliberadamente). , ha pasado un tiempo desde que escribí algo en C. El uso de un mapa de hash le permite a VKD3D realizar un seguimiento de todos los objetos que creó, por lo que ninguno de ellos está suelto, por lo tanto, ninguno se elimina (a menos que esté marcado para su eliminación de alguna manera). Por lo tanto, la memoria nunca se libera, ya que juegos como HZD o RE2 no parecen molestarse en emitir tales instrucciones (aparentemente el D3D12 real tiene sus propias rutinas de recolección de basura, y por eso RE2 no cuelga en Windows). Y eventualmente se obstruye. Entonces, si mi interpretación suelta es de alguna manera correcta, la "curita" funciona porque los objetos sueltos no reutilizables no están "atados" a nada como con hashmap, y hashmap solo necesita ser consciente de lo que se puede tirar de manera segura y hazlo para que funcione correctamente. Una vez más, puedo estar fundamentalmente equivocado.

@ mozo78

Hola @RoyShapiro ,
¿Puedes publicar tu dll? Gracias :)

Lo siento, pero no estoy seguro de que sea técnicamente legal publicar archivos binarios de WIP de los proyectos de otra persona.

@RoyShapiro ,
VKD3D es de código abierto, así que creo que es legal :)

Creo que estoy haciendo algo mal. Sigo teniendo bloqueos a menudo entre 20 y 30 minutos.
Revierto las confirmaciones con git revert. Entonces hizo

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

Para obtener el dll. ¿Está bien?

@ mixalis1987 ¿El

Editar: Si su editor de texto predeterminado es NANO, y no VIM, simplemente presione Ctrl + X y responda No si le pide que guarde un archivo.

@RoyShapiro
Okay. esto pasó.

git revert 5a9d132b20de854f751d4c606c9546e6c34f5c4c
Combinación automática de libs / vkd3d / vkd3d_private.h
Combinación automática de libs / vkd3d / resource.c
[master e88011a] Revertir "vkd3d: deshacerse de los spinlocks del descriptor".
2 archivos cambiados, 15 inserciones (+)

Y lo mismo para el resto de las confirmaciones, solo que los archivos diferentes cambiaron obviamente :) NANO apareció y presioné ctrl + x y salí, pero no me pidió que guardara nada. Espero que sea correcto.
¿Acabo de ejecutar "./package-release.sh master / your / target / directory --no-package" ahora?

@ mixalis1987 Si funcionó las cuatro veces, entonces sí. Simplemente no olvide que la carpeta de destino aún no debería existir, o puede quejarse de que ya está construida y desea que la cree de nuevo.

@RoyShapiro Sí, siempre

@ mixalis1987 ¿El

Editar: Si su editor de texto predeterminado es NANO, y no VIM, simplemente presione Ctrl + X y responda No si le pide que guarde un archivo.

Puede ser que esté experimentando un error diferente que provoca un bloqueo. Esta "solución" fue para:
"vkd3d_create_vk_buffer_view: No se pudo crear la vista de búfer de Vulkan, vr -2."
mensaje de error en los registros de protones justo antes del bloqueo, que es un bloqueo que da como resultado una salida de pantalla congelada. Si su HZD se bloquea directamente con un mensaje de error, podría ser uno de los errores de HZD más intrínsecos y, por lo tanto, no se verá afectado por esta "solución". Mejor si publica un registro de su carrera.

Se bloquea aún más rápido para mí con 1.05 durante la introducción / menú.

Se bloquea aún más rápido para mí con 1.05 durante la introducción / menú.

Podrías probar el último Proton-GE. Dado que se bloquea durante la introducción / menú, no tiene nada que ver con la tirita que hice con VKD3D y, en mi experiencia, GE es mucho más estable con más juegos. Esta versión también elevó mi FPS a 40 - 50.

Se bloquea instantáneamente con 5.9-GE-6-ST y un prefijo limpio aquí. Todo lo demás siempre me ha funcionado en wine- / proton-tkg, 0 bloqueos de cualquier juego que logra iniciar correctamente (que básicamente comprende todos los juegos que probé, al menos después de tocar un poco el violín). Es solo este puerto de mierda gafe ...

Se bloquea instantáneamente con 5.9-GE-6-ST y un prefijo limpio aquí. Todo lo demás siempre me ha funcionado en wine- / proton-tkg, 0 bloqueos de cualquier juego que logra iniciar correctamente (que básicamente comprende todos los juegos que probé, al menos después de tocar un poco el violín). Es solo este puerto de mierda gafe ...

Puedo nombrar muchos juegos que fallarán jajaja. No todos los juegos funcionan con Wine. Hay muchos problemas aquí en Proton git si miras. No es necesario copiar el juego. Los desarrolladores lo están parcheando. El resto de los problemas son con Proton / Wine y todo relacionado con eso. La mayoría de los juegos ni siquiera son solo dx12. Esto es nuevo para Wine y tendrá muchos problemas de los que el juego no es responsable. Es un efecto secundario del uso de Wine.

No se sorprenda demasiado si esto simplemente resulta ser uno de los muchos problemas de fallas que siempre aparecen en las notas del parche del juego.

No se sorprenda demasiado si esto simplemente resulta ser uno de los muchos problemas de fallas que siempre aparecen en las notas del parche del juego.

Definitivamente posible para problemas específicos.

Sin embargo, las cosas discutidas anteriormente en este número explican que hay problemas en el lado de Wine / Linux.

El hecho de que una persona parezca hacerlo funcionar bien significa que podría haber problemas en ambos lados, pero me apoyaría en que Wine / Linux tenga la culpa si el problema exacto no ocurre en los sistemas operativos oficialmente compatibles.

Jugabilidad y pruebas en Ubuntu 20.04.1 con controlador Nvidia 450.66 en Proton 5.9-GE-6-ST - GTX 1650 4GB
https://youtu.be/8KVrk5GTl1Q

Quizás alguien lo necesite:

  1. UTILIZAR Proton 5.9-GE-6-ST
  2. No utilizar el modo sin bordes provoca errores gráficos, árboles voladores y rocas.
  3. Uso el controlador Nvidia (beta) 450.66 del sitio web
  4. Si el juego parece una presentación de diapositivas, cambie la calidad de los gráficos a Original. Obtendrá 30 FPS estables en 1920x1080
  5. Si el juego no se inicia, vuelve a hacer clic en Jugar.

@ArturWroblewski Estoy actualmente en Linux Mint 20, y probé todo lo que mencionaste, además de actualizar el kernel a 5.8 desde 5.4, pero el juego aún no se inicia, con el mismo error que el del comienzo de este número.

Si es lo mismo que el inicio del problema, tiene algo que ver con la ejecución en un contexto de 32 bits. Se requieren 64 bits para este juego de acuerdo con los requisitos del sistema.

@intersectRaven Ah, interesante: estoy en una máquina de 64 bits, entonces, ¿es el caso de que el prefijo de vino esté configurado incorrectamente? ¿Cómo cambiaría el contexto a 64 bits?

Además, en caso de que esta sea una tangente que no necesita bajar cuando quise decir error, quise decir que el cuadro de error aparece diciendo "desafortunadamente el juego se ha bloqueado", no he visto ningún registro de errores, ni tampoco saber cómo acceder a ellos.

@intersectRaven Ah, interesante: estoy en una máquina de 64 bits, entonces, ¿es el caso de que el prefijo de vino esté configurado incorrectamente? ¿Cómo cambiaría el contexto a 64 bits?

Además, en caso de que esta sea una tangente que no necesita bajar cuando quise decir error, quise decir que el cuadro de error aparece diciendo "desafortunadamente el juego se ha bloqueado", no he visto ningún registro de errores, ni tampoco saber cómo acceder a ellos.

Es mejor si publica sus registros, ya que es difícil ver cuál es el problema real solo con el mensaje de bloqueo genérico. Si estás usando Steam, en las Propiedades del juego, haz clic en Establecer opciones de lanzamiento e ingresa:

PROTON_LOG=1 %command%

El registro estará en su directorio personal. Si no está usando Steam, no estoy familiarizado con cómo generar registros.

¡Gracias! Aquí está mi registro, volvió a pasar lo mismo:
steam-1151640.log

¡Gracias! Aquí está mi registro, volvió a pasar lo mismo:
steam-1151640.log

¿Puedes intentar instalar winbind? Veo un error que he visto antes relacionado con él, pero no estoy seguro de si es la causa del bloqueo.
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.

No, eso no lo solucionó, aunque ese error ya no está en el registro. Aquí está el nuevo registro por si acaso:
steam-1151640.log

@drwhut
Tengo un error similar cuando cambio la visualización de mi pantalla de Sin bordes a Pantalla completa. (está en el video cerca del final) ¿Sabes cómo cambiar el modo de ventana a pantalla completa cambiando una entrada en el archivo de configuración?

Perdón por no poder ayudar demasiado.
Acabo de leer en protondb que el juego no funciona y quería comprobar si era cierto y acaba de empezar :)

Perdón por el video largo, si alguien quiere ver la configuración óptima, consulte:
https://www.youtube.com/watch?v=8KVrk5GTl1Q&t=2423s Juego con pantalla completa, preajuste original, 1920x1080, ¡el juego funciona bien!

Y si desea ver piedras y árboles voladores, haga clic aquí:
https://youtu.be/8KVrk5GTl1Q?t=1779

Casi todo lo que probé está en video.

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

Información adicional no relacionada directamente con el juego:
Al instalar los controladores de Nvidia, mi sistema se rompió. Y tuve que reinstalar ubunu para hacer una prueba en una instalación limpia.

Secuencia de acciones:

  • Instalación de una nueva instalación de Ubuntu 20.04.1
  • Instalación de nuevos controladores desde el sitio web de Nvidia 450.66

Instalé Lutris (https://lutris.net/)

Ejecución de comandos estándar para ejecutar emuladores de Nintendo Swich y Steam:

sudo add-apt-repository multiverse
actualización de sudo apt
sudo apt instalar vapor
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

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

Instalar el juego y ejecutarlo

Y el resto está en video

No, eso no lo solucionó, aunque ese error ya no está en el registro. Aquí está el nuevo registro por si acaso:
steam-1151640.log

¿Tiene 450.66 controladores NVidia? También veo que la función de la versión no es compatible en sus registros, por lo que puede ser que esté usando controladores de GPU desactualizados.

Sí, tengo esos controladores instalados:
nvidia-driver

@drwhut
Tengo una pregunta que no pertenece al juego. Más con mis problemas. ¿Cómo se instalan los controladores de Nvidia desde el sitio?

Algo sale mal con bastante frecuencia. Esto es lo que hace para instalar un nuevo controlador:

Descarga NVIDIA-Linux-x86_64-450.66.run
Marcar como ejecutable

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

Y si logro instalarlo, no puedo iniciar sesión más de una vez. La computadora está parada en la pantalla de inicio de sesión.

No, eso no lo solucionó, aunque ese error ya no está en el registro. Aquí está el nuevo registro por si acaso:
steam-1151640.log

¿Tiene 450.66 controladores NVidia? También veo que la función de la versión no es compatible en sus registros, por lo que puede ser que esté usando controladores de GPU desactualizados.

Me di cuenta de que también está usando la dll D3DCOMPILER_47 incorporada. ¿Puede intentar copiar el que está en el directorio de Herramientas en el directorio ejecutable de HZD?

Solo para agregar, usando Linux Mint 20, Nvidia 450.66 del controlador de gráficos ppa, Proton 5.9-GE-6-ST y el juego se bloquea al inicio.

steam-1151640.log

@ArturWroblewski Los instalé desde el PPA:

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

No, eso no lo solucionó, aunque ese error ya no está en el registro. Aquí está el nuevo registro por si acaso:
steam-1151640.log

¿Tiene 450.66 controladores NVidia? También veo que la función de la versión no es compatible en sus registros, por lo que puede ser que esté usando controladores de GPU desactualizados.

Me di cuenta de que también está usando la dll D3DCOMPILER_47 incorporada. ¿Puede intentar copiar el que está en el directorio de Herramientas en el directorio ejecutable de HZD?

OH MI DIOS que funcionó !!! Muchas gracias! Llegó a compilar los sombreadores, ¡responderé con lo que sucede después!

Solo para agregar, usando Linux Mint 20, Nvidia 450.66 del controlador de gráficos ppa, Proton 5.9-GE-6-ST y el juego se bloquea al inicio.

steam-1151640.log

Su error PODRÍA tener algo que ver con esta línea:
err:vkd3d_bindless_state_init: Insufficient descriptor indexing support.

Desafortunadamente, no tengo idea de qué arreglar con ese. Además, ¿ha copiado el d3dcompiler que mencioné anteriormente?

@drwhut Chico afortunado. Tengo la misma GPU (1650) pero una computadora portátil, no puedo iniciar el juego. Si dejo la opción de inicio vacía, solo se muestra la ventana del mensaje de error. Si utilizo prime-run para iniciarlo, el mensaje de error aparece con la ventana del juego en negro.

@drwhut Chico afortunado. Tengo la misma GPU (1650) pero una computadora portátil, no puedo iniciar el juego. Si dejo la opción de inicio vacía, solo se muestra la ventana del mensaje de error. Si utilizo prime-run para iniciarlo, el mensaje de error aparece con la ventana del juego en negro.

No estoy seguro de si esto hace una diferencia o no, pero no tengo un 1650, tengo un 2070 Super.

@drwhut Lo siento, te confundí con @ArturWroblewski

@intersectRaven
Solo tengo un problema con este juego. No puedo volver a encender mi pantalla completa. Puedes ver al final de mi video.
https://youtu.be/8KVrk5GTl1Q?t=3178

¿Podrías ayudarme? Curiosamente, logré hacerlo una vez, pero ahora no sé cómo :(

steam-1151640_nor.log
steam-1151640.log

Dejaré esto aquí para que cualquiera que se lo pregunte intente hacer que el juego funcione:

  • Utilice Proton 5.9-GE-S-ST , las instrucciones sobre cómo instalarlo están aquí .
  • Si usa los controladores NVIDIA, actualícelos a la versión 450.66 . Si está en Ubuntu, puede usar el graphics-drivers PPA para obtenerlos:
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 en Horizon Zero Dawn/d3dcompiler_47.dll , junto al ejecutable.
  • Opcional : no estoy seguro de si esto realmente afecta a algo, pero también he actualizado mi kernel de 5.4 a 5.8 .

Sin embargo , a partir de ahora para mí:

  • El rendimiento a 1080p para mí en Ultra es literalmente una presentación de diapositivas.
  • El juego comienza en modo sin bordes, pero intentar cambiar al modo de pantalla completa solo me falla en ese momento.
  • Otros también han dicho que sin bordes es bastante problemático en este momento (por ejemplo, rocas y árboles voladores), por lo que la solución actual es cambiar al modo de ventana.

@intersectRaven
Solo tengo un problema con este juego. No puedo volver a encender mi pantalla completa. Puedes ver al final de mi video.
https://youtu.be/8KVrk5GTl1Q?t=3178

¿Podrías ayudarme? Curiosamente, logré hacerlo una vez, pero ahora no sé cómo :(

steam-1151640_nor.log
steam-1151640.log

No puedo ayudarte en eso. Hasta donde yo sé, el archivo de configuración es un archivo binario en el directorio de guardado del juego, por lo que no puedes modificarlo manualmente. En cuanto a mí, solo ejecuté sin bordes, lo que requirió aproximadamente 1 o 2 ejecuciones antes de que desaparezcan todas las cosas flotantes hasta que reinicie mi PC nuevamente. Su idea de que las cosas flotantes están relacionadas con sin bordes me hace querer reiniciar mi computadora después de configurarla en ventana para poder probar si las cosas flotantes desaparecen por completo. Debería eliminar la necesidad de ejecutarlo 1 o 2 veces si su idea es válida.

@ ngoquang2708 Me parece que tengo el mismo problema @drwhut y él encontró una solución
Problema:

@ArturWroblewski Estoy actualmente en Linux Mint 20, y probé todo lo que mencionaste, además de actualizar el kernel a 5.8 desde 5.4, pero el juego aún no se inicia, con el mismo error que el del comienzo de este número.

Publicar @drwhut
Dejaré esto aquí para cualquiera que se lo pregunte para intentar que el juego funcione: .......................... .........

@drwhut
Agregaría que si en el modo sin bordes tiene "piedras y árboles voladores", cambie el modo a Ventana (deslice hacia la izquierda en la opción de sin bordes a ventana)

@intersectRaven
Nunca hubiera pensado que correr varias veces reduciría los objetos flotantes.

¿Qué pasa si copié el archivo de configuración de la versión de Windows con el conjunto de pantalla completa? Porque sé que mi pantalla completa estaba funcionando. Lo tengo registrado. https://youtu.be/8KVrk5GTl1Q?t=2102

Y no hay piedras y árboles voladores :)

¿Puedes compartir tu archivo por favor? No tengo Windows y no puedo cambiar a pantalla completa.

@ mozo78 No sé si esto funcionará. Pero si funciona, por supuesto, compartiré el archivo que usa y describiré la ubicación.

Dámelo y lo intentaré :)

Parece que con el último radv mesa (posiblemente aún no lanzado) o el último controlador nvidia de ayer, uno o más problemas posibles podrían o deberían solucionarse.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 "Corrupción de gráficos de Horizon Zero Dawn con radv", "spirv: arregla casos de interruptores emisores que saltan directamente al bloque de combinación"

https://www.nvidia.com/download/driverResults.aspx/163518/en-us "Se corrigió un error en una optimización SPIR-V que puede causar que los bloques condicionales no se ejecuten".

455.23.04 no soluciona los problemas de vuelo con seguridad.

@ArturWroblewski
Aún esperando su profile.dat, por favor.

@ mozo78
Perdón por el retraso, pero tengo un problema con la ejecución del juego en Windows. El juego funciona. en la miniatura de la barra, veo que funciona porque la mini pantalla cambia. Pero la imagen del juego no puede ser de pantalla completa. Ni siquiera está en la ventana. Como si estuviera en el segundo monitor. pero no tengo un segundo monitor. No puedo activar esta ventana de juego.

Extraño. pruebas en Windows 10 Ryzen 1700 + GTX 1650

@ ngoquang2708

drwhut Lucky guy. Tengo la misma GPU (1650) pero una computadora portátil, no puedo iniciar el juego. Si dejo la opción de inicio vacía, solo se muestra la ventana del mensaje de error. Si utilizo prime-run para iniciarlo, el mensaje de error aparece con la ventana del juego en negro.

Quizás deberías probar Prime Render en lugar de Bumblebee. Bumblebee es para opengl, wine usa vulkan para dx12 (vkd3d). Con prime render, ni siquiera necesitas agregar nada a las opciones de inicio del juego, porque con vulkan el sistema selecciona automáticamente la tarjeta de video (nvidia en lugar de intel). Probado con otros juegos a través de protones, HZD aún no.

@ mozo78
Perdón por el retraso, pero tengo un problema con la ejecución del juego en Windows. El juego funciona. en la miniatura de la barra, veo que funciona porque la mini pantalla cambia. Pero la imagen del juego no puede ser de pantalla completa. Ni siquiera está en la ventana. Como si estuviera en el segundo monitor. pero no tengo un segundo monitor. No puedo activar esta ventana de juego.

Extraño. pruebas en Windows 10 Ryzen 1700 + GTX 1650

Hmm, es gracioso, en Linux funciona, en Windows no :)

@ mozo76
Aquí están los archivos de resolución. Pero no hace nada.

Haga una copia de su archivo o no podrá iniciar el juego.

Por curiosidad, le recomiendo que copie el archivo del directorio "First Run Orginal". El juego comienza en la barra lateral izquierda y necesitas hacer una ventana completa.

profile.zip

Me las arreglé para volver a poner el juego sin bordler en pantalla completa y luego funciona bien (pero no sé cómo lo hice y depende), sin objetos voladores. Al igual que corres en modo de ventana y luego cambias a sin bordes durante el juego, tampoco tengo piedras voladoras. ¿Cómo estás con las piedras voladoras?

¡Muchas gracias! Desafortunadamente, los archivos no ayudan como dices :(
Sí, tengo plantas voladoras y piedras. Creo que es un problema de NVIDIA.

Tengo plantas voladoras y piedras, pero se arreglan cuando reinicio el juego. Tengo Nvidia.

Anteriormente , al encontrar objetos voladores después de cargar un juego guardado, intenté lo siguiente:

1) Eliminando PSOCache.bin en LocalCacheDX12 y dejando que el juego rehaga la "optimización".
2) Cargar un guardado lo suficientemente anterior a través del menú "cargar juego" justo después de que se inicie el juego hasta que los objetos voladores desaparezcan y luego recargar el guardado más nuevo.
3) Ejecutar el juego con diferentes versiones de dxgi.dll (digamos desde DXVK 1.7, luego desde DXVK 1.7.1 y viceversa).

Sin embargo , después de leer las publicaciones de @intersectRaven , como se indica aquí:

Acabo de ejecutar sin bordes, lo que requirió aproximadamente 1 o 2 ejecuciones antes de que desaparezcan todas las cosas flotantes hasta que reinicie mi PC nuevamente.

y @ mixalis1987 como se indica aquí:

Tengo plantas voladoras y piedras, pero se arreglan cuando reinicio el juego. Tengo Nvidia.

Resultó que simplemente reiniciar el juego varias veces , por ejemplo, cargar guardar, ver objetos voladores, salir del programa y comenzar de nuevo varias veces hasta que los objetos voladores desaparezcan parece ayudar en todo momento .

Parece que los objetos voladores aparecen con mayor frecuencia si el juego no se terminó correctamente, lo que puede suceder porque se congeló y mataste el proceso, o al azar, cuando parece que el juego se cerró limpiamente, pero en realidad simplemente se estrelló silenciosamente al salir.

Si alguien más encontró objetos voladores y resolvió el problema de una manera diferente, por favor, ¡comparta sus experiencias con nosotros!

Sí, acabo de recargar el juego y ahora todo está bien.

Capturas de pantalla

3
5

@ mozo78 @RoyShapiro Por favor confirme que es lo mismo para usted.

Los objetos voladores solo están en el modo Sin bordes.

Nunca vi objetos voladores en el modo Ventana.
Incluso después de reiniciar mi computadora e iniciar el juego en modo Ventana, no tengo ningún objeto volador.

El video muestra la primera ejecución después de reiniciar la PC.
https://youtu.be/OPPQXeRI_rg
Cargué guardar 3 veces para asegurarme de que no aparezca nada.

Mis últimas pantallas son con el modo sin bordes, hmm ...

@ mozo76 Admito que cuando comienzo el juego en el modo Ventana y luego cambio al Modo sin bordes, tampoco tengo estos objetos voladores.

Tengo miedo de cambiar al modo de ventana porque el juego a veces se queda atascado con un marco alrededor y no quiere cubrir la pantalla completa. Fue difícil ejecutarlo estirado.

@ mozo78
Admito que a veces también tengo problemas para cambiar de modo. como en la imagen de abajo. Por lo tanto, al cambiar, configuro los parámetros como en el video de arriba.

Después de reiniciar el juego, ¿comienza el juego en pantalla completa? Porque siempre corro en el modo de ventana y luego cambio al modo sin bordes. Para evitar el efecto de captura de pantalla, no pantalla completa.

Zrzut ekranu (323)

Sí, es el mismo efecto. No puedo ejecutar en pantalla completa en Mint Cinnamon 20.0. El juego funciona bien en la mayoría de los casos en Arch con KDE. Ejecutar primero con el modo de ventana y luego cambiar a Borderless no me ayuda. Es un acierto en Arch y nunca funciona en Mint Cinnamon.

Para mí, la transición del modo de ventana a sin bordes solo funciona con esta configuración. No se por que. Pero si cambio alguno de los parámetros a algo que no sea el de la foto, tengo un marco con la imagen anterior.
Zrzut ekranu (324)
Zrzut ekranu (325)

Intentaré esto mañana :)

Parece que con el último radv mesa (posiblemente aún no lanzado) o el último controlador nvidia de ayer, uno o más problemas posibles podrían o deberían solucionarse.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 "Corrupción de gráficos de Horizon Zero Dawn con radv", "spirv: arregla casos de interruptores emisores que saltan directamente al bloque de combinación"

https://www.nvidia.com/download/driverResults.aspx/163518/en-us "Se corrigió un error en una optimización SPIR-V que puede causar que los bloques condicionales no se ejecuten".

Buena atrapada. No vi eso cuando hice una lectura rápida del registro de cambios de NVidia BETA. Probaré este controlador en mi máquina.

@ArturWroblewski Todavía no he visto ningún objeto flotante después de cambiar a pantalla completa, pero aún no puedo confirmarlo. Fácilmente podría haber sido una casualidad. No los obtengo todas las veces, solo después de que el juego se bloquea, e incluso entonces, no siempre. Se bloqueó una vez en modo de pantalla completa, por lo que no afecta eso, pero hasta ahora no hay objetos flotantes.

Parece que con el último radv mesa (posiblemente aún no lanzado) o el último controlador nvidia de ayer, uno o más problemas posibles podrían o deberían solucionarse.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3460 "Corrupción de gráficos de Horizon Zero Dawn con radv", "spirv: arregla casos de interruptores emisores que saltan directamente al bloque de combinación"

https://www.nvidia.com/download/driverResults.aspx/163518/en-us "Se corrigió un error en una optimización SPIR-V que puede causar que los bloques condicionales no se ejecuten".

Acabo de activar HZD en 455.23.04 y aparecieron cosas flotantes después de toda la recompilación del sombreador. Además, esto estaba en modo de ventana, por lo que no lo solucionó. Sin embargo, parece tener un color un poco más vibrante. Sin embargo, parece no estar del todo optimizado, ya que he experimentado algunos tartamudeos durante algunos movimientos rápidos, pero eso se puede atribuir a que todavía es BETA.

Sí, estoy con 455.23.04 y también hay objetos voladores.

@ leao666 Ya sabía que este juego solo usa DX12 que a su vez solo usa Vulkan en Linux. Yo uso prime-run solo para estar seguro. No se relaciona con Bumblebee. Es solo un comando para "forzar" el renderizado de PRIME Offload tanto para OpenGL como para Vulkan. Algunos juegos solo para OpenGL necesitan ese comando para usar el renderizado de descarga PRIME; de lo contrario, usará la iGPU para OpenGL.

Eso es interesante si lo empeora lol. Al menos muestra que el controlador lo está afectando mucho.

Perfiles con todos los modos. Útil cuando alguien cambia a pantalla completa y no puede iniciar el juego. Simplemente copie el perfil seleccionado con la resolución y la configuración para mostrar la imagen desde el archivo zip a la ruta, por ejemplo:

/home/user_name/.steam/debian-installation/steamapps/compatdata/1151640/pfx/drive_c/users/steamuser/My Documents / Horizon Zero Dawn / Saved Game / profile

Horizon Zero Dawn Complete Edition profile.dat.zip

Solo quiero volver a publicar, si experimentas fallas después de unos minutos de juego y hay un error en tus registros de protones que menciona:
"vkd3d_create_vk_buffer_view: Failed to create Vulkan buffer view, vr -2."

Simplemente compile el código vkd3d que envié a mi Github marcado como la rama personal . Ya tiene las reversiones allí si no sabes cómo revertirte tú mismo.

Además, use:

git clone --recursive

para clonar para que también se obtengan los subproyectos.

No construye:
meson.build:41:0: ERROR: Include dir ./subprojects/Vulkan-Headers/include does not exist.

No construye:
meson.build:41:0: ERROR: Include dir ./subprojects/Vulkan-Headers/include does not exist.

Emita un:

git pull --recurse-submodules

Esto ocurre cuando solo clona el proyecto principal.

Sí, funciona, gracias :)

Hola,
He intentado seguir las instrucciones, pero parece que las cosas ahora están más rotas que cuando empecé (solía iniciar el juego con Proton 5.9 GE 6 ST y fallaba después de compilar el sombreador y ahora no se inicia)

Por lo que tengo entendido, tengo 2 problemas (¿relacionados?):

  • Wine (usando la preparación de wine-5.17) no me deja agregar d3d12.dll como nativo a mi prefijo (hice DL y construí vkd3d-proton, tuve algunos problemas porque los encabezados Vulkan eran demasiado viejos pero los actualicé manualmente y eso parece haber trabajado). Por lo que entiendo, el vino debería detectar que está instalado por sí solo, pero no lo hace. (Instalado a través del administrador de paquetes, ¿debo clonar el repositorio y construirlo desde cero para agregar soporte vkd3d?)

  • De acuerdo con el registro de Proton (no puedo publicar el registro, no estoy seguro de por qué), me falta dxgi.dll y d3d12.dll, supongo que el problema de d3d12.dll se solucionará una vez que haga que Wine lo agregue, no seguro de 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.

Gracias !

Hola,
He intentado seguir las instrucciones, pero parece que las cosas ahora están más rotas que cuando empecé (solía iniciar el juego con Proton 5.9 GE 6 ST y fallaba después de compilar el sombreador y ahora no se inicia)

Por lo que tengo entendido, tengo 2 problemas (¿relacionados?):

  • Wine (usando la preparación de wine-5.17) no me deja agregar d3d12.dll como nativo a mi prefijo (hice DL y construí vkd3d-proton, tuve algunos problemas porque los encabezados Vulkan eran demasiado viejos pero los actualicé manualmente y eso parece haber trabajado). Por lo que entiendo, el vino debería detectar que está instalado por sí solo, pero no lo hace. (Instalado a través del administrador de paquetes, ¿debo clonar el repositorio y construirlo desde cero para agregar soporte vkd3d?)
  • De acuerdo con el registro de Proton (no puedo publicar el registro, no estoy seguro de por qué), me falta dxgi.dll y d3d12.dll, supongo que el problema de d3d12.dll se solucionará una vez que haga que Wine lo agregue, no seguro de 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.

Gracias !

Muy extraño ya que las distribuciones de Proton (GE, TKG, Steam) generalmente las tienen. Tal vez necesite restablecer el prefijo utilizado por Proton. Alguien publicó arriba donde suele estar para que pueda intentar eliminarlo y hacer que Proton lo vuelva a crear por usted.

Gracias por la sugerencia @intersectRaven , se está ejecutando ahora, me tomó varios intentos pasar por la escena inicial sin un bloqueo, pero llegué al primer punto de control.

Muchas gracias a

Sin embargo, al parecer, cambiar a pantalla completa bloquea el juego. Estoy ejecutando Borderless pero todavía tengo una barra de título (??) y mi controlador de xbox no se reconoce a pesar de que activé xinput con protontricks. Así que es jugable pero está lejos de ser óptimo.

steam-1151640.log

(Finalmente descubrí que NoScript me impedía cargar mi archivo de registro antes)

@Chipsse , estoy muy feliz de poder ayudar.
Yo también tuve este problema. La barra de la ventana no desapareció en el modo sin bordes.
Puedes ver este video. https://youtu.be/8KVrk5GTl1Q

El cambio correcto de ventana a sin bordes se puede ver en este video (al final).
https://youtu.be/OPPQXeRI_rg

Ejecuto el juego en modo de ventana (con la configuración del video) y luego cambio al modo sin bordes. Entonces tengo la pantalla completa correcta. Para mí, es la única forma hasta ahora de tener una buena pantalla completa.

Si alguien descubrió cómo solucionarlo o de qué depende, le estoy pidiendo información.

Y en cuanto a los controladores, aún no lo he comprobado. Simplemente no pensé en comprobarlo. :)

¡Este enlace me parece realmente sombrío! ¿Alguna modificación aquí para ver esto y eliminar la publicación? @ kisak-válvula

Todavía tengo varios bloqueos aleatorios. ¿Alguien ha descubierto una forma de lidiar con ellos?

Gracias @ArturWroblewski , desafortunadamente no funcionó para mí, todavía tengo la barra de título en la parte superior. :(

Traté de forzar el uso del controlador en la configuración de Steam, pero eso no parece haber cambiado nada. Mi registro menciona una falla al iniciar el servicio wineusb, pero dado que el juego recibe información de mi mouse y teclado, asumo que el problema está en otra parte.

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

Resulta que la barra de título era un problema de Gnome, lo arreglé con una extensión (https://github.com/poehlerj/no-title-bar, en caso de que alguien más lo necesite).

Todavía no tengo idea de cómo hacer que el controlador funcione, pero lo logré a través del prólogo de una vez y 0 choques, sin rocas flotantes o pasto que noté. El punto de referencia mata absolutamente mi FPS, pero el rendimiento real en el juego es bastante bueno (55/60 FPS a 1440p). Curiosamente, obtengo mejores resultados en la evaluación comparativa con el ajuste preestablecido de "alta calidad" que con el "original".

Gracias de nuevo por la ayuda ! Y si alguien descubre qué está causando el problema del controlador, me complacerá saber la solución.

Me arriesgaría a adivinar que centrarse en las entradas de Wineusb no lo habría.

Solo para agregar, usando Linux Mint 20, Nvidia 450.66 del controlador de gráficos ppa, Proton 5.9-GE-6-ST y el juego se bloquea al inicio.
steam-1151640.log

Su error PODRÍA tener algo que ver con esta línea:
err:vkd3d_bindless_state_init: Insufficient descriptor indexing support.

Desafortunadamente, no tengo idea de qué arreglar con ese. Además, ¿ha copiado el d3dcompiler que mencioné anteriormente?

sí, copió el dll, todavía sin cambios.
el error vkd3d_bindless_state_init persiste

Me rendiré, solicitaré un reembolso y esperaré hasta que este se ejecute sin tantos problemas ;-)

Para mí, se ejecuta en Mint 20 y 450.66. Muy extraño...

Después de jugar un poco, parece que todavía obtengo una barra de título en el modo Sin bordes, A MENOS QUE:

  • La resolución del juego coincide con la resolución del monitor antes del lanzamiento
  • El juego se lanza a través de Steam, no de Lutris
  • Ninguna otra aplicación está completamente protegida
  • El ajuste preestablecido gráfico debe estar en "Original" en el lanzamiento, pero se puede cambiar una vez que se ejecuta el juego.

Sigo sin suerte con el controlador, lo cual es realmente extraño. Steam ve el controlador, al presionar el botón central de "guía" se muestra un mensaje en la terminal que indica que está cargando un archivo de control, y (al menos en Nioh) puedo usar el controlador en el lanzador antes del juego real y retumbar cuando me golpean . Pero nada cuando presiono los botones del controlador.

No entiendo qué me estoy perdiendo o qué estoy haciendo mal. Anteriormente lo hice funcionar construyendo proton-tkg y copiando los dlls, pero ahora usando _Proton-5.9-GE-6-ST_ ya no puedo hacer que el juego se inicie. (por ejemplo, estoy de vuelta a la pantalla de bloqueo original) Estoy ejecutando manjaro y previamente instalé mesa-git para lo mencionado anteriormente, lo que eliminó el problema de las rocas flotantes ... :(

@ 77boaz Tuve este problema cuando cambié la resolución / configuración a la incorrecta y el juego no pudo comenzar más. Solución:

Intente copiar el perfil seleccionado con la resolución y la configuración de mostrar la imagen del archivo zip a la ruta, por ejemplo:

/home/user_name/.steam/debian-installation/steamapps/compatdata/1151640/pfx/drive_c/users/steamuser/My Documents / Horizon Zero Dawn / Saved Game / profile

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

Recomiendo consultar el perfil:
1920x1080 con ventana 50 hz original

¡Gracias por hacerlo! Es curioso, de hecho destruí toda la carpeta pfx para intentar comenzar a limpiar ... También estoy iniciando Windows de forma dual para comparar, etc. ¿Supongo que la nube de vapor guarda la configuración de Windows? ¡Steam Cloud es genial! excepto cuando vas entre los dos ?? :)

@ 77boaz De hecho, la nube sincroniza el directorio de guardado, y que hay información de resolución, lo sincroniza. jeje :).
Pero es un poco peligroso porque si tienes varias PC en casa, ¿qué pasa si corres en 4k en una y en la otra no puedes ejecutar en 4k o es un poco complicado?

Pero solo para la sincronización de configuraciones entre computadoras.

Ahh .. Duh Tienes razón. Sé que algunos juegos sincronizan todos y otros solo sincronizan los guardados. De todos modos está funcionando ahora gracias! No puedo esperar hasta que haya una solución para el problema de la pantalla completa. Seguiré yendo entre los dos ... Solo me gusta ver el progreso realizado, etc. ¡De nuevo gracias a todos por trabajarlo! :)

Me complace informar que el juego se puede jugar de principio a fin , y es bastante divertido, eso podría agregar, incluido el DLC.
¡Me gustaría agradecer a todos los que contribuyeron para hacer esto posible!

Lo bueno, lo malo y lo feo de esto ...

Horizon Zero Dawn_Wed_Sep_23_02-20-22_2020

Aparte de hacer que el juego se ejecute en primer lugar (Proton GE 6 es el mejor), mis únicas quejas importantes son:
1) Rocas flotantes (Reiniciar el juego> = 3 veces las arregla).
2) Congelaciones aleatorias (las reversiones de VKD3D de @intersectRaven extendieron la mayoría de las sesiones de juego a horas de duración).
3) Rendimiento degradado (Totalmente esperado. En RTX 2070 he ejecutado todos los mínimos excepto mallas en Medio en 1440p para ~ 40-50 fps constantes).

Todo eso ya se sabe en este hilo y estoy feliz de decir que no he encontrado nada más importante.
Realicé una copia de seguridad del prefijo de vino y bloqueé las actualizaciones tan pronto como lo pude disfrutar, para que no comience a comportarse mal.

Deseo que todos los que tienen problemas no se rindan. El juego ha mejorado de cero a superable en poco más de un mes. Las actualizaciones futuras seguramente lo harán aún mejor.

Estoy usando Proton-5.9-GE-6-ST . Sin copiar d3dcompiler_47.dll en la carpeta del juego, aún puedo iniciar el juego por primera vez (nunca pude iniciarlo antes) usando el archivo profile.dat cargado por @ArturWroblewski. ¡Gracias!
Utilizo el archivo First Run Original profile.dat , el juego comenzó en el modo Windowed . Siempre que intento cambiar la configuración a Fullscreen el juego se bloquea. Supongo que hay algo que ver con el modo Fullscreen .
Mi GPU es GTX 1650, versión del controlador 450.66.

Hola a todos,
He notado que el juego vuelve a compilar los sombreadores cuando mis controladores gráficos se actualizan. ¿Es ese el comportamiento esperado? ¿O es algo que se puede (debería) arreglar?

Hola @Chipsse , eso es universalmente cierto para todo el software que usa una tarjeta de video.

Gracias @ kisak-valve, perdón por el tema fuera de tema.

Resolví el problema de mi controlador, así que pensé que compartiría en caso de que alguien más se encuentre con el mismo problema, Steam Overlay fue el culpable. Lo mantengo deshabilitado globalmente en las opciones de Steam ya que tiende a causar problemas y nunca lo uso de todos modos, pero el controlador aparentemente no funciona sin él en este caso. No estoy seguro si eso es un problema de HZD o Proton.

@ mozo78 ¿tienes bibliotecas compiladas a partir de intersectRaven?
Si los tiene, ¿podría compartirlos?

Utilizo esta biblioteca y el juego está funcionando:

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

@ mozo78

  1. El juego funciona muy bien con DualShock 4 V2. Inmediatamente después de encender el controlador, el juego lo detecta. No hay problemas.
  2. Mi juego todavía falla cada 15 a 20 minutos. ¿Dónde reemplazó este archivo? en el directorio game / prefix o en el directorio proton 5.9. ¿Para la versión 64 o regular? Por favor escriba la ruta donde debo copiarlo porque no veo ninguna diferencia.

si copia al prefijo protón lo sobrescribirá de nuevo.
afaik tiene un script para copiar esos dll al prefijo. si esto ayuda, entonces deberías ponerlo en protón, para que sea copiado.

Coloqué esta biblioteca en el directorio raíz (donde está el exe del juego).

@fsyy
Estoy de acuerdo contigo. Si copié la carpeta al prefijo. después de ejecutar el archivo se restauró al original.
Así que reemplacé el archivo en la carpeta proton 5.9-ST-6 ... Pero mi juego sigue fallando :(

@ mozo78
Intentaré. Espero que me ayude. ¿Tu juego ya no funciona?

Creo que RoyShapiro lo escribió.

Gracias por las sugerencias.

Además, el juego se congela. Funciona muy bien para mí. Y es divertido de jugar.

@ArturWroblewski
¡Hola!
Parece que informa que el juego "se bloquea" y "se congela" para usted. Estas son dos cosas diferentes y pueden inducir confusión.

Probablemente debería congelar " quiero decir que la misma imagen sigue colgando en la pantalla indefinidamente (por lo que no se "descongela" por sí sola), mientras el sonido continúa y no aparece este tipo de congelación que el archivo " revertido " ayuda a retrasar (pero NO a eliminar, desafortunadamente).

Si, en cambio, ve un mensaje de un problema con el juego en sí , todavía tiene muchos errores. Las reversiones no ayudan con esto.

Por desgracia, es muy posible que tenga ambos. Si tiene una configuración de arranque dual, verifique si también falla en Windows. Si es así, es posible que el juego tenga un problema con tu hardware y deberás esperar una actualización del juego. Si no es así, puede que tenga que ver con el Proton. Mientras tanto, puedes intentar actualizar el juego, los controladores, todo lo habitual.

@RoyShapiro Tienes razón con lo que escribí, podría
Perdón por la confusion.

Ejecuto el juego en modo ventana sin ningún problema. y el juego se congela después de 20 minutos. Si bien el juego funciona, funciona muy bien, realmente no puedo quejarme de nada.
Actualmente estoy jugando con el gamepad de PS4 en Ubuntu 20.04.1

Solo para informar: el juego funciona de manera estable con Proton GE 5.9-6 , en un 2080 Ti con controlador 450.66.

El único problema que tengo es que al cambiar a pantalla completa, el juego se bloquea. ¿Alguna solución alternativa y / o forma de ejecutarlo como tal?
Además, logré ejecutar el punto de referencia en pantalla completa, por lo tanto, imagino que es algo menor que causa este bloqueo al cambiar a pantalla completa.

No creo que haya ninguna diferencia entre pantalla completa y sin bordes dentro de Wine, aparte del comportamiento alt + tab. Se le dice a Compositor que se apague / desvíe la redirección en ambos casos y se activa el cambio de página para un vsync adecuado. Por lo tanto, no debería molestarte, a menos que ese extraño error de mejora del juego suceda con más frecuencia con sin bordes por alguna razón.

No creo que haya ninguna diferencia entre pantalla completa y sin bordes dentro de Wine, aparte del comportamiento alt + tab. Se le dice a Compositor que se apague / desvíe la redirección en ambos casos y se activa el cambio de página para un vsync adecuado. Por lo tanto, no debería molestarte, a menos que ese extraño error de mejora del juego suceda con más frecuencia con sin bordes por alguna razón.

Técnicamente, G-Sync / Free-Sync solo funciona con pantalla completa / completamente sin bordes, me temo que H: ZD no es completamente sin bordes, por lo tanto, hay una diferencia.

@ArturWroblewski
Cabe señalar que el juego se congela de todos modos, las preguntas son realmente "cuándo" y "con qué frecuencia". Con el archivo correctamente "revertido", dependiendo de tu suerte, el juego se ejecutará entre 10 minutos y más de 8 horas antes de congelarse. Así que inténtelo una y otra vez, y puede obtener 20 minutos, luego una hora más o menos, luego 5-7 horas, luego 20 minutos nuevamente, pero principalmente horas +. Sin el archivo "revertido", casi siempre se congela en 10-15 minutos. Algunas personas han informado que pueden jugar hasta una hora sin las reversiones, pero no he podido reproducir eso. No hemos determinado exactamente por qué es así, pero dado que el error generalmente está relacionado con la asignación de recursos, cosas como la cantidad general de RAM libre y VRAM que su sistema tiene disponible en un momento dado pueden o no ser un factor.
AFAIK, usted NO revirtió y compiló d3d12.dll usted mismo. Si se congela en 20 minutos cada vez casi sin variación, es muy probable que tenga el archivo equivocado. Quien le dio el archivo podría haber subido uno incorrecto. Si bien puede pedirle a la persona que se asegure de que le dio el recién compilado, la única forma de estar seguro en este momento es compilarlo usted mismo. Usar el fork \ repo de @intersectRaven es la forma más fácil (no es necesario revertir nada).

Editar: ¡La pregunta del camino!
El archivo debe escribirse en la carpeta "System32", luego debe configurarse como "nativo" en la configuración de Wine (Proton). De lo contrario, Proton no lo "verá". Si sobrescribe el archivo, colóquelo en una ubicación, donde sobrescribirá la versión "System32" (para GE 6 el valor predeterminado es / dist / lib 64 / wine / vkd3d-proton). El binario en sí debería ser x64, esto ES confuso.
Si esto no funciona, intenta colocarlo en el directorio del juego como sugirió @ mozo78 , pero algunas personas han informado que esto hace que el juego se bloquee, así que ten cuidado. Puede funcionar, pero no es la solución correcta. Lo correcto es colocarlo en "System32".

Reportando más problemas - tengo rocas y otros accesorios volando, el juego no se puede jugar (porque no puedes esconderte :)) - y esto sucede al azar. Además, la _ventana sin bordes_ no ocupa toda la pantalla, por lo que no utiliza G / Free-Sync.

Me temo que es demasiado inestable, este es un reembolso para mí, esperando posiblemente un mejor soporte.

Ejecutando en 2080 Ti, 450.66 - Ubuntu 18.04.3 - 3440x1440.

Aquí hay un reempaquetado de la versión binaria Proton-5.9-GE-6-ST con las correcciones vkd3d de intersectRaven construidas e incluidas. Debería poder usar este Proton con HZD y estar listo para comenzar.

Los usuarios de Fedora 32 con tarjetas AMD también pueden apreciar esta reconstrucción de git de Mesa usando los archivos de especificaciones oficiales de Fedora, con la fuente de master ayer, que corrige muchos fallos gráficos y problemas de rendimiento.

Hice algunas instrucciones si pudieras usarlas. Con ambos aplicados, HZD está funcionando muy bien para mí. Aún se bloquea, generalmente con la congelación gráfica que otros describen anteriormente. Reiniciar GDM lo resuelve sin reiniciar la mayor parte del tiempo, a veces es un bloqueo mucho más difícil que eso. Sin embargo, se puede reproducir durante períodos de tiempo bastante largos, con configuraciones gráficas ajustadas un poco desde Original en mi 5700XT a 1440 ultra-ancho.

Obviamente, tenga cuidado al confiar en descargas aleatorias de extraños en Internet. Aunque supongo que si te gusta.

Editado para agregar: usando X11, comenzando el juego con ventana de pantalla completa / sin bordes, puedo cambiar los espacios de trabajo y viceversa para que el juego pase correctamente sin bordes.

Edición 2: Me acabo de dar cuenta de que no actualicé el .vdf para que Steam reconozca un nombre diferente antes de cargar. Solo estaba parcheando manualmente GE-6-ST. :) El enlace de arriba está arreglado.

Edición 3: ¿aparentemente soy muy malo liberando construcciones de protones? Mantendré mi trabajo diario, supongo. De todos modos, creo que realmente lo arreglé esta vez, aquí hay algunas capturas de pantalla que muestran que funciona:

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

Al publicar archivos binarios, ¿podría publicar también un enlace a los parches?
Disculpas, pero un poco indeciso al ejecutar binarios sin ver diferencias (o que podría reconstruir yo mismo).

No logré que una reconstrucción completa de Proton-GE funcionara debido a la deriva en Wine desde su última actualización de su conjunto de parches, y la bisección lleva tanto tiempo que no me molesté. Eso es solo la rama personal de intersectRaven reconstruida y el d3d12.dll cambiado por el lanzamiento binario Proton-5.9-GE-6-ST de GloriousEggroll.

Las reconstrucciones de Mesa son exactamente Mesa git master con los parches F32 .spec en el repositorio del que proceden esas versiones.

Actualicé la publicación anterior para que sea más clara, con suerte.

@solacelost

  1. Gracias por Proton 5.9 Solance Edition.
    Admito que el juego aún no está congelado para mí en Proton 5.9 Solance Edition. Pero tengo objetos voladores todo el tiempo. Reinicié el juego 30 veces y todavía tengo objetos voladores. Si no es inmediatamente después de comenzar el juego, luego de 5 minutos aparecen.
  1. Cuando se usa Proton-5.9-GE-6-ST, los objetos voladores desaparecen después de 2 reinicios como máximo. Y no tengo objetos voladores, todo el tiempo del juego (hasta que el juego se congela después de unos 20 minutos)

3. Intenté cambiar entre Proton-5.9-GE-6-ST y Proton 5.9 Solance Edition.
Muchas veces. Y cuando enciendo el Proton 5.9 GE-6-ST, la optimización lleva poco tiempo y no tengo objetos voladores (Perfecto). Después de cambiar a Proton 5.9 Solance Edition, la optimización tarda unos 10 minutos y tengo muchos objetos voladores.

@solacelost

  1. Gracias por Proton 5.9 Solance Edition.
    Admito que el juego aún no está congelado para mí en Proton 5.9 Solance Edition. Pero tengo objetos voladores todo el tiempo. Reinicié el juego 30 veces y todavía tengo objetos voladores. Si no es inmediatamente después de comenzar el juego, luego de 5 minutos aparecen.
  2. Cuando se usa Proton-5.9-GE-6-ST, los objetos voladores desaparecen después de 2 reinicios como máximo. Y no tengo objetos voladores, todo el tiempo del juego (hasta que el juego se congela después de unos 20 minutos)

3. Intenté cambiar entre Proton-5.9-GE-6-ST y Proton 5.9 Solance Edition.
Muchas veces. Y cuando enciendo el Proton 5.9 GE-6-ST, la optimización lleva poco tiempo y no tengo objetos voladores (Perfecto). Después de cambiar a Proton 5.9 Solance Edition, la optimización tarda unos 10 minutos y tengo muchos objetos voladores.

Por lo que puedo decir de las publicaciones anteriores, esto está relacionado con el hardware de Nvidia y ha estado presente desde que la gente lo puso en funcionamiento. No sé cómo ayudarlo, ya que los controladores de Nvidia son blobs binarios patentados y nadie en la comunidad puede hacer nada al respecto.

@solacelost Estaba interesado en su versión de Proton, para probar la queja de @ArturWroblewski de que los objetos voladores no desaparecen en una tarjeta NVidia, pero el enlace de descarga no funciona para mí (tiempo de espera de conexión) por alguna extraña razón. ¿Puedes volver a cargarlo en otro lugar?

@solacelost Estaba interesado en su versión de Proton, para probar la queja de @ArturWroblewski de que los objetos voladores no desaparecen en una tarjeta NVidia, pero el enlace de descarga no funciona para mí (tiempo de espera de conexión) por alguna extraña razón. ¿Puedes volver a cargarlo en otro lugar?

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

Chicos, ¿alguien presentó un problema en el rastreador de errores de NVIDIA?

@solacelost

A continuación se muestra una grabación de las pruebas. Puede buscar por capítulos dónde se encuentra la prueba en el video. Capítulos interactivos (enlaces) incluidos en la descripción de la película Yotube.

https://youtu.be/7_Hdd7AK33Q

==================== Protón 5.9-GE-6-ST ================

00:00 Inicio - Optimización del juego - aprox. 1 min 30 seg con Proton 5.9-GE-6-ST
02:37 El juego se está ejecutando en el Proton 5.9-GE-6-ST funciona bien pero se congela después de 13 minutos
14:20 Inicio del juego.
15:44 El juego se está ejecutando en el Proton 5.9-GE-6-ST funciona bien pero se congela después de 12 minutos

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

27:44 Compruebe que la versión se haya configurado correctamente para Proton 5.9 Solance Edition
29:18 Optimización del juego - aprox. 8 min 30 seg con Proton 5.9 Solance Edition
38:58 El juego se ejecuta en Proton 5.9 Solance Edition funciona bien pero puedes ver objetos voladores.
40:38 Reiniciar !!! El juego se ejecuta en Proton 5.9 Solance Edition funciona bien, pero puedes ver objetos voladores después de 10 minutos desde el principio.
49:54 A partir de ese momento, comienzan a aparecer objetos voladores.
52:48 Reiniciar !!! El juego se ejecuta en Proton 5.9 Solance Edition y funciona bien, pero puedes ver objetos voladores.
53:27 ¡Carga una partida guardada! El juego se ejecuta en Proton 5.9 Solance Edition y funciona bien, pero puedes ver objetos voladores.
54:14 ¡Carga una partida guardada! El juego se ejecuta en Proton 5.9 Solance Edition y funciona bien, pero puedes ver objetos voladores.
54:27 ¡Carga una partida guardada! El juego se ejecuta en Proton 5.9 Solance Edition y funciona bien, pero puedes ver objetos voladores.
55:59 ¡Reinicia! El juego se ejecuta en Proton 5.9 Solance Edition funciona bien, pero puedes ver objetos voladores después de 5 minutos desde el principio.
59:49 A partir de ese momento, comienzan a aparecer objetos voladores.

==================== Protón 5.9-GE-6-ST ================

1:03:48 Cange de protón a protón 5.9-GE-6-ST
1:04:35 Inicio - Optimización del juego - aprox. 1 min 30 seg con Proton 5.9-GE-6-ST
1:06:37 El juego se ejecuta en el Proton 5.9-GE-6-ST funciona bien

Parece que Proton 5.9-GE-6-ST hace que el juego se congele.

Solance no hace más que provocar objetos voladores.

@solacelost

Estoy viendo lo mismo. Proton-GE-6-ST provoca bloqueos después de un breve tiempo de juego.

La versión de Solance no se congela, pero las piedras y otras cosas comienzan a flotar después de un tiempo.

Por el momento, la mejor solución es copiar d3d12.dll de Proton 5.9 Solance Edition y reemplazar el de Proton 5.9 GE-6-ST con él.

Reemplazar

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

Con

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

Luego cargue HZD con Proton-5.9-GE-6-ST empaquetando el d3d12.dll reemplazado.

Esto corrige las congelaciones y, en la mayoría de los casos, no tiene problemas con rocas flotantes, etc., asumiendo que en la primera carga no tiene ese problema.

Felicitaciones a Artur_W en Reddit por la sugerencia de solución.

@Cxpher
Confirmo. Hasta ahora, el juego ha estado funcionando continuamente durante 4 horas sin congelarse y sin objetos voladores (piedras y árboles). Gracias a la mezcla de Proton 5.9-GE-6-ST con d3d12.dll de Proton 5.9 Solance Edition

Descargue Proton 5.9-GE-6-ST con d3d12.dll en el enlace:
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 solo la DLL?

Tengo un problema extraño en el que el menú funciona bien después de apagar VSync, pero una vez que lo cargo en el juego, obtengo aproximadamente 5FPS en cada configuración gráfica. Esto sucede con o sin VSync activado (con él en el menú es de aproximadamente 10FPS). Esto está en Wayland en GNOME 3.36.

En GNOME Xorg, el juego se carga con un borde de aproximadamente 20 píxeles alrededor que muestra mi escritorio, y cuando lo cargo en mi guardado, X se congela, lo que me obliga a tomar otro TTY para matarlo.

R7 3800X y RX 5600 XT, mesa-git y amdgpu. Solo usando la opción de lanzamiento de pulso 60 mseg de Steam. 5.9-GE-6-ST (a punto de agregar el .dll y ver si eso ayuda en algo).

d3d12.dll de 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
Probado en tarjeta gráfica Nvidia. No he comprobado cómo funciona en AMD.

El intercambio de DLL no solucionó mi problema, aunque no estaba seguro de que lo hiciera en primer lugar. Me doy cuenta de que mi CPU o GPU aumentan mucho cuando trato de renderizar el juego, como si algo lo bloqueara o no se "conectara" de alguna manera y por eso estoy experimentando estos números bajos de FPS. Sin embargo, no estoy seguro de qué verificar para ver por qué sucede, ¿registro de protones?

Actualice mi problema específico (y tal vez esto se mencione aquí en alguna parte). Establecer un límite de fotogramas hace que los fotogramas se vuelvan locos. Los configuré como ilimitados y pude jugar bien. Sin embargo, incluso después de reemplazar esa DLL, sigo obteniendo pantallas negras aleatorias que bloquean toda la sesión, lo que obliga a un reinicio completo (no se puede cambiar la pestaña, etc.). Lo mismo sucede en X o Wayland (ocurre más rápido en X, como cuando el juego finalmente se carga y se bloquea por completo, pero puedo TTY para eliminar la sesión de gnome y reiniciarlo en X donde no puedo hacer eso en Wayland).

El juego ha estado funcionando continuamente durante 4 horas sin congelarse y sin objetos voladores (piedras y árboles).
Gracias a la mezcla de Proton 5.9-GE-6-ST con d3d12.dll de Proton 5.9 Solance Edition
Jugabilidad como prueba en el enlace: https://youtu.be/xjokkb0WypE

Descargue Proton 5.9-GE-6-ST con d3d12.dll en el enlace:
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

Si no desea descargar el Proton de 250 MB completo, solo puede descargar d3d12.dll desde Proton 5.9 Solance Edition
https://drive.google.com/file/d/12a5mlHJfrr_MynPDmJe6wwEn7gAb0Jfb/view?usp=sharing

Probado en tarjeta gráfica Nvidia. No he comprobado cómo funciona en AMD.

Probé el Proton anterior con el d3d12 dll y puedo ejecutar el juego por primera vez desde que lo compré, pero con fallas y fps bajos.

Información del sistema

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

Información completa del sistema de vapor:
https://gist.github.com/QUASARFREAK/45d9f21fed44212ef156797f1627d221

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

@QUASARFREAK, ¿sigues teniendo bloqueos después de tantos minutos de juego, o solo fallas y un FPS bajo? Tengo VSync desactivado, sin límite de fotogramas y la configuración en aproximadamente medio (desenfoque de movimiento desactivado) y los fotogramas son consistentemente 65-80, pero tengo un bloqueo duro en cualquier lugar entre 10-20 minutos incluso con el reemplazo de d3d12.dll y usando 5.9- GE-6-ST.

Hola, he intentado algunas cosas ahora, todavía se bloquea después de unos segundos: https://www.youtube.com/watch?v=o9ToF7PzXh
Construí proton-ge yo mismo y usé la versión 6 y 7 preconstruida. Construyó vkd3d y colóquelos en las carpetas proton-ge / dist / lib y lib64. Colóquelos en system32 (64 bits) y SysWOW64 (32 bits) en el prefijo también, aunque no sé si fue necesario. Comencé el juego con Mangohud encendido y pulseaudio configurado en 60 mseg; de lo contrario, tengo un eco en el sonido. Probé también el archivo profile.dat para probar diferentes resoluciones.
Cada vez que se ejecuta y se bloquea después de un rato.

¿Me perdí algo o salí mal en alguna parte?
El sistema es un Ryzen 9 3900X / Vega 64 - Manjaro Budgie estable en mesa

Solo para agregar, mi bifurcación es principalmente para GPU NVidia. Para las GPU AMD, la solución para la corrupción de gráficos está en la última versión de mesa-git, por lo que también la necesita para no tener la corrupción de gráficos.

Estoy con NVIDIA y los objetos flotantes están aquí muy a menudo. Probé el controlador Vulkan estable y beta. Me alegra saber que finalmente se solucionó para AMD.

@ mozo78 Impar. Debería estabilizarse después de uno o dos reinicios del juego. De todos modos, tendremos que esperar a que los desarrolladores de VKD3D lo arreglen de forma permanente.

Tengo curiosidad sobre si es un problema de controlador o VKD3D.

Resolví mi problema, ahora funciona perfectamente: ¡tuve que actualizar a mesa-git!

Por lo tanto, el problema está en el controlador de NVIDIA.

Por cierto, aquí está mi d3d12.dll compilado que puede copiar al directorio HZD. Por favor, infórmenos de los flotadores, ya que estoy tratando de solucionar algunos problemas durante la traducción SPIRV en VKD3D.

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

Por ahora está bien. Puede ser por accidente pero lo veré :)

Hasta ahora, no he podido iniciar HZD, se bloquea al inicio.
Estoy usando mesa-git, Proton-5.9-GE-6-ST, construí vkd3d-proton-master y sobrescribí el x64- y x86-d3d12.dll en Proton-5.9-GE-6-ST/dist/lib(64)/wine/vkd3d-proton

Por favor, infórmenos de los flotadores, ya que estoy tratando de solucionar algunos problemas durante la traducción SPIRV en VKD3D.

@intersectRaven No estoy seguro de por qué te molestas, Hans-Kristian confirmó que es un error en el controlador de Nvidia alrededor del lunes y el último controlador beta de Vulkan dev menciona explícitamente este error para ser corregido en su registro de cambios:

Se corrigió un error en una optimización de barrera que permitía que algunas copias seguidas se ejecutaran desordenadas.

Por lo tanto, cualquiera que intente jugar HZD en Nvidia debería actualizar a 455.22.04 o esperar hasta que esta solución alcance una rama estable.

Hasta ahora, no he podido iniciar HZD, se bloquea al inicio.

@TheHooly ¿Tiene d3dcompiler_47.dll (y posiblemente también dxcompiler.dll ) enlazado / copiado junto al ejecutable del juego? También considere publicar el registro creado con PROTON_LOG=1 , de lo contrario, adivinar qué está mal llevará mucho tiempo.

Tenía el d3d12.dll (x64) integrado en la carpeta del juego, olvidé eliminarlo de allí después de copiarlo por error allí, lo eliminé ahora.
He copiado el d3dcompiler_47.dll de la carpeta lib64 de Proton y dxcompiler.dll del juego en sí Horizon Zero Dawn/Tools/ShaderCompiler/PC/1.0.2595/x64 lamentablemente todavía no hay diferencia.
http://ix.io/2zCB

Por favor, infórmenos de los flotadores, ya que estoy tratando de solucionar algunos problemas durante la traducción SPIRV en VKD3D.

@intersectRaven No estoy seguro de por qué te molestas, Hans-Kristian confirmó que es un error en el controlador de Nvidia alrededor del lunes y el último controlador beta de Vulkan dev menciona explícitamente este error para ser corregido en su registro de cambios:

Se corrigió un error en una optimización de barrera que permitía que algunas copias seguidas se ejecutaran desordenadas.

Por lo tanto, cualquiera que intente jugar HZD en Nvidia debería actualizar a 455.22.04 o esperar hasta que esta solución alcance una rama estable.

Hasta ahora, no he podido iniciar HZD, se bloquea al inicio.

@TheHooly ¿Tiene d3dcompiler_47.dll (y posiblemente también dxcompiler.dll ) enlazado / copiado junto al ejecutable del juego? También considere publicar el registro creado con PROTON_LOG=1 , de lo contrario, adivinar qué está mal llevará mucho tiempo.

Bueno saber. Por cierto, ¿dónde lo publicó? En el futuro, solo sugeriré a todos que actualicen a 455.22.04 o esperen los controladores oficiales. Sin embargo, mi rama personal seguirá existiendo, pero solo para resolver los bloqueos de memoria debido a que el hashmap agota la memoria. : smiley:

Además, para aquellos que usan AMD, la solución se ha actualizado a Mesa 20.1 y está incluida en la versión Mesa 20.1.9, por lo que una vez que sus distribuciones se actualicen, no debería necesitar compilar mesa-git. : smiley:

Puede confirmar que el juego se puede jugar con Mesa 20.2.0 en Gentoo con fsync. Se necesitan d3dcompiler_47.dll, incluida la anulación nativa y Proton-5.9-GE-6-ST.
Estoy obteniendo aprox. 30-60 fps dependiendo de la situación en 1440p ultra en RX Vega 64 con un overclock considerable y 3900X. Mi controlador xbox one se niega a trabajar con este juego, al igual que mangohud por alguna razón.

@TheHooly d3dcompiler_47.dll de Proton casi con certeza no funcionará, copia el que se envía con el juego en sí (está en algún lugar en Tools como dxcompiler.dll ). Sin embargo, el registro no menciona que se esté cargando de todos modos, por lo que el juego probablemente muera incluso antes de intentar usarlo.

Suponiendo que está en AMD, hay un problema conocido con ACO, pero causa bloqueos de GPU completamente desarrollados y no solo bloqueos simples al inicio. Intentaré ver mejor su registro mañana, pero yo mismo estoy usando Nvidia y probablemente no pueda ayudarlo, lo siento.

Por cierto, ¿dónde lo publicó?

@intersectRaven En el servidor de VKx Discord.

El juego abre una ventana negra y hace girar el símbolo de carga en la parte inferior izquierda para mí, pero luego se bloquea:

Ubuntu 20.04.1
Proton-5.9-edición-consuelo
dxcompiler.dll y d3dcompiler_47.dll copiados de los directorios de herramientas HZD
1920x1080 perfil de windows 50hz en 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.

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

Hola @mickeylyle , como se mencionó en los comentarios de la pareja justo antes del tuyo, usa mesa 20.1.9 o más reciente con este juego. Puede usar un PPA como oibaf o kisak-mesa para obtener una compilación de mesa actualizada para su sistema.

VKx

Gracias. Estaba buscando su discordia para poder ver cómo iba su desarrollo. :sonreír:

Gracias @ kisak-valve, ¡lo siento por perderme eso!

Instalé su PPA y probé el juego tanto en Proton-5.9-solace-edition como en Proton-5.9-GE-6-ST. Ambos me llevan a través de los logotipos de SIE y Guerrilla, y el último incluso me permite ver algunos cuadros de lo que supongo que es el fondo del menú, pero ambos fallan inmediatamente después.

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

Desde mi último comentario, el juego recibió una actualización de 2GB (Shader-Pre-Caching), ahora puedo ver la pantalla de carga brevemente antes de que se bloquee.
Nuevo registro, vi una entrada que ahora carga d3dcompiler_47.dll desde la carpeta raíz del juego:
http://ix.io/2zFK

@TheHooly Esto parece bastante sospechoso (el primer y el último mensaje):

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

¿Quizás probar con dxgi.dll DXVK?

No me sorprendería que la geometría de la ventana o las travesuras del búfer del juego fueran responsables de los bloqueos "inexplicables" (si no es por la gestión de recursos irrazonable), ya que el juego, por ejemplo, todavía tiene el extraño error de escalado borroso en Windows a veces . Básicamente probé todo lo imaginable y todos los demás juegos como WoW D3D12 o Hitman 2 D3D12 funcionan sin fallas, afaict. Pero esta cosa siempre se bloquea después de unos segundos en el menú.

No se bloquea, funciona perfectamente. Tienes que seguir las instrucciones cuidadosamente.

Básicamente, no hay instrucciones a seguir con un prefijo limpio y Proton-GE reciente, gracias a protontricks. De todos modos, leí todos los comentarios de este hilo y probé todas las sugerencias. Incluso ha empeorado con los parches del juego. Puede fallar incluso antes cuando se usa la configuración "incorrecta" con respecto al modo de resolución / ventana, pero gracias a los esfuerzos de ArturWroblewski, esta no parece ser la razón por la que finalmente falla aquí.

Registro de protones:
steam-1151640.log

Gracias, pero nada de lo que me hubiera perdido.

Por cierto. no hay diferencia entre mesa-git y amdvlk-pro, los juegos se bloquean completamente de la misma manera antes de llegar al menú (o en el menú).

Si eliminó su prefijo y tiene un guardado en la nube, a veces necesita crear el directorio Horizon Zero Dawn en la carpeta Mis documentos del usuario del prefijo o de lo contrario el juego se bloqueará. No veo que esa parte se cite comúnmente, pero la he experimentado personalmente. :sonreír:

Si gracias. Me tropecé con esto varias veces, por lo que desactivé la sincronización en la nube para HZD y luego eliminé el prefijo.

¿Has intentado crear la carpeta de todos modos?

Bueno, el juego pudo crearlo con éxito con el prefijo limpio actual y allí probé todas las configuraciones proporcionadas por ArturWroblewski. :(

Vi a alguien mencionar un extraño error de escalado borroso en Windows. También lo encontré, y se resolvió mediante la configuración "Deshabilitar la escala de visualización en configuraciones de DPI alto" o similar (por ejemplo, "Anular comportamiento de escala de DPI alto" establecido en "Aplicación") en la pestaña de compatibilidad de las propiedades del ejecutable.
El juego realmente usa un enfoque extraño para la administración de ventanas, como invocar una rutina del sistema "SetProcessDpiAwarenessContext" para configurar su reconocimiento de DPI, cuando de acuerdo con las buenas prácticas, debería usar un manifiesto de aplicación para eso.
Dicho esto, ¿alguien que tiene problemas con Fullscreen \ Borderless Window ha intentado habilitar "Emular escritorio virtual" en la configuración de Wine \ Proton?

Solo quería comentar sobre el éxito de ejecutar este juego en mi sistema. Actualmente estoy ejecutando mesa 20.3.0_devel.128992.447cef4a71d-1 con Proton-5.9-GE-6-ST. Lo único que tuve que hacer fue copiar "Horizon Zero Dawn/Tools/ShaderCompiler/PC/10.0.18362.0/x64/d3dcompiler_47.dll" a la carpeta raíz "Horizon Zero Dawn" .

Debo mencionar que estoy ejecutando todo el hardware amd. El Ryzen 9 3900XT y Radeon RX 5700 XT. No he notado texturas flotantes, bloqueos ni nada por el estilo.

Según el informe de @ Develon5543 , la eliminación de dxcompiler.dll que había copiado de Tools y el profile.dat que había instalado de las instrucciones anteriores en este hilo me dio algunos marcos más en el menú. Pero luego se estrelló de nuevo.

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

@ Develon5543 ni siquiera debería tener que copiar d3dcompiler_47, hay un protonfix integrado en mi compilación que lo hace por usted (es lo mismo que ejecutar winetricks d3dcompiler_47 ), pero necesita wine y winetricks instalados en su sistema para que las correcciones de protones funcionen en mis compilaciones.

No relacionado:
Probado en Nvidia 1660 Super con controlador 455.23.04 y puede confirmar que no hay más flotadores.

@GloriousEggroll lamento

¿Existe una versión de Wine recomendada para ejecutar? Estoy en Ubuntu 20.04.1 para ahorrarte un pergamino.

¿También hay alguna manera de "empezar de nuevo"? Sé que puedo desinstalar el juego, pero ¿eso elimina el prefijo? ¿Puedo empezar de nuevo sin volver a descargar 60 GB de datos del juego?

@GloriousEggroll lamento

¿Existe una versión de Wine recomendada para ejecutar? Estoy en Ubuntu 20.04.1 para ahorrarte un pergamino.

¿También hay alguna manera de "empezar de nuevo"? Sé que puedo desinstalar el juego, pero ¿eso elimina el prefijo? ¿Puedo empezar de nuevo sin volver a descargar 60 GB de datos del juego?

No, desinstalar el juego generalmente no elimina el prefijo. Instala "protontricks" como quieras (básicamente winetricks protonizados), luego usa "protontricks --gui" en una terminal. Elija el juego que desee, en este caso, Horizon. Luego elija el "prefijo de vino predeterminado", luego "eliminar prefijo", en el menú posterior.

He vuelto a basar mi bifurcación en el último VKD3D-Proton para la reversión de hashmap. Jugué durante más de 20 minutos corriendo por el mapa y matando a Grazers, así que debería haber hecho la reversión correctamente. : orar: Puede descargar aquí:

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

@GloriousEggroll Probé con rtx 2080 y 455.23.04. Con Proton-5.9-GE-7-ST, el juego se bloquea inmediatamente. Con la configuración de aquí https://reddit.com/r/linux_gaming/comments/j1xeup/horizon_zero_dawn_complete_edition_works_on/ tengo flotadores por todas partes y el juego no se puede jugar. ¿Qué más configuró además del archivo d3dcompiler_47.dll?

@Saancreed, el controlador beta de vulkan no solucionó nada.

Actualizar: el guardado también guarda los objetos flotantes. Reinicié el guardado con la 'edición solance' y los flotadores desaparecieron.

Actualización 2: las rocas flotantes todavía están allí, pero la mayoría de las cosas están en el suelo ahora.

@trialism ¿Puedes probar los controladores Nvidia 455.22.04? No estoy seguro de si la solución es 455.23.04 ya que ese controlador se lanzó para el soporte de la serie 3000, por lo que tal vez la solución aún no se haya aplicado correctamente. O si no puede actualizar (o actualizar o lo que sea, ya que las versiones son raras con esas versiones beta: smile :), pruebe el d3d12.dll que publiqué antes de ayer que no se basó en el último VKD3D-Proton.

@trialism Usé un prefijo limpio con esos controladores en un 1660 super y se ejecutó sin problemas. No utilicé ninguna configuración personalizada. Para tener más en cuenta, continué desde un guardado y no tenía rocas flotantes.

-editar- Acabo de intentarlo de nuevo con mi versión de lanzamiento que se hizo -después- del cambio d3d12 al git de intersecraven de ayer y también estoy enfrentando un bloqueo. mirándolo ahora.

-edit2- acabo de probar mi equipo amd con un prefijo limpio y una nueva descarga y se encendió de inmediato. absolutamente ningún problema. voy a comprobar los controladores de nvidia en mi plataforma nv

-edit3- está relacionado con alguna actualización de parche en mi última versión que no gusta a los controladores de nvidia. Probé ambas versiones del controlador y no tuve suerte. Volvió a GE-6 y se encendió. Investigando la causa ahora.

-edit4- encontró el parche defectuoso. es uno de los parches de vino de aguas arriba pendientes. Le haré saber al autor y actualizaré mi versión.

Hola. No pude ejecutar HZD con éxito siguiendo las instrucciones proporcionadas por mozo78 (por lo que estoy agradecido). He adjuntado el registro. Específicamente, recibo el bloqueo después de la pantalla de carga negra una vez que el texto SONY ENTERTAINMENT comienza a desvanecerse.

También me gustaría agregar que usé kisak-mesa. glxinfo me está dando una versión de mesa de 20.1.5. Si esto es insuficiente, solicito ayuda para actualizarlo más.

Gracias.

steam-1151640.log

Actualicé mi compilación de GE, probada y funcionando tanto en nv como en amd:
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-7-ST

Los usuarios de AMD necesitan mesa 20.1.9 o superior, los usuarios de Nvidia 455.22.04 beta o superior

@GloriousEggroll 455.23.04
Puede editar la versión del controlador NVIDIA. Tiene que ser Vulkan beta 455.22.04 no 455.23.04.
¡Gracias por el nuevo y sorprendente lanzamiento!

Actualicé mi compilación de GE, probada y funcionando tanto en nv como en amd:
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-7-ST

Los usuarios de AMD necesitan mesa 20.1.9 o superior, los usuarios de Nvidia 455.22.04 beta o superior

¡Maldita sea! ¡Olvidé presionar la fusión que hice esta mañana donde HansKristian corrige la opción de pantalla completa! De todos modos, lo empujé a mi fork hace un momento para que cualquiera que quiera compilarlo pueda hacerlo. Nuevamente, use la rama PERSONAL. :sonreír:

@GloriousEggroll 455.23.04
Puede editar la versión del controlador NVIDIA. Tiene que ser Vulkan beta 455.22.04 no 455.23.04.
¡Gracias por el nuevo y sorprendente lanzamiento!

Cualquiera de las versiones funciona, probadas ambas.

Probé 455.23.04 y en realidad hay objetos flotantes. El error se corrigió en Vulkan beta 455.22.04.

¿Quizás 455.23.04 acaba de tener una solución "parcial" que reduce en gran medida las posibilidades de que ocurran los flotadores? Recuerdo que lo experimenté una vez, pero nunca más después de eso, así que me inclino a creer que la solución ya está en 455.23.04 desde que leí de la discordia VKx que la corrupción se puede guardar en el archivo guardado. Aunque no lo sé con seguridad. De lo que estoy seguro es que con 455.22.04 NUNCA sucedió con cualquier escenario que pudiera simular antes. :sonreír:

Probé el controlador 455.

Probé el controlador 455._22.04_ con el último 5.9-GE-7-ST y funcionó, ¡gracias! También funciona con fullscreen y freesync, altabbing está bien y no hubo artefactos visuales. Solo experimenté un problema: después de 20 minutos, mi VRAM se filtró y el juego dejó de funcionar.

Hmmm ... Dejé una parte en la destrucción ya que el código de soporte fue arrancado y no estaba interesado en volver a implementarlo, así que tal vez sea necesario para algunos dispositivos que ASUMO tienen una VRAM baja. ¿Cuánta VRAM tienes que verificar? inserte la excusa habitual del programador de "funcionó en mi máquina" aquí : riendo:

Probé el controlador 455._22.04_ con el último 5.9-GE-7-ST y funcionó, ¡gracias! También funciona con fullscreen y freesync, altabbing está bien y no hubo artefactos visuales. Solo experimenté un problema: después de 20 minutos, mi VRAM se filtró y el juego dejó de funcionar.

@trialism ¿puedes probar esto si mejora tu situación? Simplemente copie el dll relevante a su directorio HZD para que no sobrescriba el que viene con GE.
https://cloud.intersectraven.tech/s/wG9eyH8eScxJeQ5

@intersectRaven Tengo 8GB. Intentaré ejecutar HZD con esa DLL por un tiempo.

¡@intersectRaven no se bloquea después de una hora de juego a 1440p y una escala de resolución del 100%! La VRAM subió de 6,9 ​​GB a 7,7 GB, pero seguía funcionando.

Hay dos cosas que observé (no relacionadas con los bloqueos): el juego perderá vsync temporalmente si presiono la tecla Alt mientras se ejecuta, pero no sucede si lo pause antes de cambiar de ventana. Después de perder vsync (modo blit vs flip) puedo recuperarlo si pause el juego y alttab dos veces.
La otra cosa es el cuello de botella de la CPU: la mayoría de mis caídas a 50-60 Fps se deben a la utilización intensiva de un solo núcleo. El juego no usa la mayoría de los núcleos, pero empuja a mi ryzen 3600, que generalmente alcanza los 4.4ghz.

¡@intersectRaven no se bloquea después de una hora de juego a 1440p y una escala de resolución del 100%! La VRAM subió de 6,9 ​​GB a 7,7 GB, pero seguía funcionando.

Hay dos cosas que observé (no relacionadas con los bloqueos): el juego perderá vsync temporalmente si presiono la tecla Alt mientras se ejecuta, pero no sucede si lo pause antes de cambiar de ventana. Después de perder vsync (modo blit vs flip) puedo recuperarlo si pause el juego y alttab dos veces.
La otra cosa es el cuello de botella de la CPU: la mayoría de mis caídas a 50-60 Fps se deben a la utilización intensiva de un solo núcleo. El juego no usa la mayoría de los núcleos, pero empuja a mi ryzen 3600, que generalmente alcanza los 4.4ghz.

Que bueno escuchar eso. Creo que HansKristian abordará el problema de vsync que tiene en el próximo PR en VKD3D-Proton. Después de fusionarlo, también lo fusionaré en mi bifurcación.

No, desinstalar el juego generalmente no elimina el prefijo. Instala "protontricks" como quieras (básicamente winetricks protonizados), luego usa "protontricks --gui" en una terminal. Elija el juego que desee, en este caso, Horizon. Luego elija el "prefijo de vino predeterminado", luego "eliminar prefijo", en el menú posterior.

¿Alguna forma de hacerlo sin protones? No estoy interesado en joder con algunos trucos de pipx.

No, desinstalar el juego generalmente no elimina el prefijo. Instala "protontricks" como quieras (básicamente winetricks protonizados), luego usa "protontricks --gui" en una terminal. Elija el juego que desee, en este caso, Horizon. Luego elija el "prefijo de vino predeterminado", luego "eliminar prefijo", en el menú posterior.

¿Alguna forma de hacerlo sin protones? No estoy interesado en joder con algunos trucos de pipx.

Siempre puede eliminar manualmente la carpeta del prefijo.

Siempre puede eliminar manualmente la carpeta del prefijo.

¡Gracias lo aprecio! Probando la nueva construcción de GE ahora. El paso "Optimizar el juego" se está ejecutando mucho más rápido.

Todavía no hay suerte aquí. Se bloquea después de los logotipos.

steam-1151640.log

Hola a todos

Tengo el último kernel de arch linux y wine staging 5.18 en un sistema de gama baja usando un ryzen 5 2400g y un rx480 4gb gpu

También utilizo los controladores de mesa-git más recientes y he probado todas las opciones anteriores

Generación de GE 5.9-7
GE compilación 5.9-6
Tkg-protón 5.18.r3

He intentado hacer que este juego se ejecute y no importa qué construcción de protones use, muestra el logotipo de Sony, luego el logotipo de guerrilla comienza a reproducir la película de introducción y luego se bloquea con el cuadro de error. a veces se bloqueará de nuevo en el escritorio o incluso se congelará y luego me enviará a la pantalla de inicio de sesión.

steam-1151640.log
He adjuntado mi registro de vapor y espero que esto pueda ayudar.

Hola a todos,

Usando Pop! _OS 20.04, Mesa 20.2.99 y AMD, creé un nuevo archivo pfx usando Proton 5.9-GE-7-ST y el d3d12.dll de @intersectRaven

El juego funciona en su mayor parte, no hay rocas flotantes ni nada y el FPS es bastante estable, pero todavía tengo congelaciones que me desconciertan. Parece suceder al azar, pero casi siempre solo cuando estoy en el inventario o en el mapa. Lo extraño es que no se parece al tipo de congelamiento al que estoy acostumbrado, el sonido no se repite interminablemente pero sigue reproduciéndose normalmente, tengo un cursor de mouse visible que puedo controlar pero Mangohud me informa que mi FPS está en algún lugar entre 0 y 2 y mi latencia está fuera de serie. Entonces parece que en lugar de congelarse de repente, mi sistema se detiene, al menos gráficamente.

No puedo publicar mi registro de Proton porque tiene más de 100 MB (!! ??) pero tengo unas 30 000 líneas de

264:fixme:d3d12_swapchain_present: Unimplemented flags 0x200.

Seguido de una sección que repite algunos miles de líneas más 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.

y luego las líneas 37000 a aproximadamente 1,2 millones son repeticiones 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.

No estoy seguro de qué va mal allí, ¡cualquier consejo sería muy apreciado!

@ Milas227 y @mickeylyle :

¿Ha intentado colocar @ArturWroblewski profile.dat en su directorio de prefijo de vino HZD? (instrucciones más arriba en el hilo), para mí y para muchos otros, el juego se bloquea en pantalla completa, que creo que es la configuración predeterminada. Reemplazar los datos del perfil permite comenzar en modo con ventana o sin bordes y evitar este bloqueo específico. No estoy 100% seguro de que sea lo que está causando el tuyo, pero vale la pena intentarlo si aún no lo has probado.

Lo que @Chipsse está teniendo es el mismo problema que yo, pero estoy en Arch y GNOME 3.38 Wayland (sucedió lo mismo en 3.36).

Estaba a punto de publicar el registro de protones y vi tu publicación. Mismos errores en el mío.

@Chipsse mi juego ya se está ejecutando en modo de ventana, así que no creo que sea un problema. Probé el profile.dat antes y no hizo ninguna diferencia.

He intentado añadir @intersectRaven 's d3d12.dll a @GloriousEggroll' s Protón-5,9-GE-7-ST y todavía estoy rompiendo en el mismo lugar. Sin embargo, volvió a ejecutar el paso de "optimización del juego".

Hola a todos.
He tenido grandes dificultades para iniciar el juego después de intentar actualizar mesa. Actualmente el juego no se abre. Cuando hago clic en reproducir, el audio hace clic pero la pantalla no cambia. Estoy atascado mirando la biblioteca de Steam hasta que el juego se cierra por sí solo. No recibo un informe de fallas. Probé una nueva reinstalación del juego, wine, kisak-mesa. Antes de esto, pude llegar a la pantalla de carga del juego antes de que el juego se bloqueara con un informe de bloqueo. ¿Alguien podría ayudarme a volver al punto de partida?
steam-1151640.log

Para todos, si alguna vez está pensando en actualizar su controlador a 455 estable, no lo haga, ya que los flotadores han vuelto a aparecer. Apégate a la versión 455.22.04 de Vulkan beta. Reinició HZD 3 veces antes de que desaparecieran los flotadores. Sospechaba esto desde el problema:

Se corrigió un error en una optimización de barrera que permitía que algunas copias seguidas se ejecutaran desordenadas.

No se especificó en las notas de la versión.

Sí, esta es exactamente mi observación. Revisé el registro de cambios con cuidado y no encontré la solución de optimización de barrera, por lo que es una buena idea ceñirse a 455.22.04 por ahora.

@intersectRaven Actualicé a 455.28 y no tengo flotadores. Jugué el juego dos veces durante 3 horas. Solo una idea: no jugué desde el principio, pero tal vez tú sí y ahí es donde empiezan a aparecer los flotadores.

@trialism Por lo general, continúo desde mi última jugada y después del tercer reinicio del juego fue el único punto en el que no tuve flotadores, lo que es un indicador del problema de la barrera.

@intersectRaven Actualicé a 455.28 y no tengo flotadores. Jugué el juego dos veces durante 3 horas. Solo una idea: no jugué desde el principio, pero tal vez tú sí y ahí es donde empiezan a aparecer los flotadores.

De hecho, no juego el juego. Siempre cargo lo mismo guardado después de la cueva :)

@Chipsse gracias por la sugerencia de que he vinculado proton-ge 5.9-7 en un prefijo limpio y, desafortunadamente, el uso de perfiles de @ArturWroblewski no ayudó.

sin embargo, cuando se congeló, me arrojó a la pantalla de inicio de sesión y cuando revisé mi registro de sesión, tuve este error

amdgpu: memoria insuficiente para el envío de comandos

Creo que los juegos se comen todo el vram y lo encuadernan para bloquear el controlador amdgpu, verificando el feed de twitter de horizontes y han dicho que se está trabajando en el parche 1.06.

Sí, esta es exactamente mi observación. Revisé el registro de cambios con cuidado y no encontré la solución de optimización de barrera, por lo que es una buena idea ceñirse a 455.22.04 por ahora.

Puedo confirmar que la aparición de elementos flotantes ha aumentado con la actualización del controlador 455.28. No sucede siempre, pero a veces es más frecuente que otras. Volveré de nuevo al controlador 455.22.04.

¿Existe una solución para esto?
20201011095334_1

Esos fallos siguen a la cámara, incluso en modo foto. Ocurre en todas las versiones de protones, Proton-5.9-GE-7-ST y 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

Probablemente sea Mesa, así que espero una actualización e informo.

@JabonSanto

Mesa 20.1.8

Como se mencionó varias veces en este hilo:

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

@GloriousEggroll
Ups lo siento por eso, pero de todos modos, ¡gracias!

Por algunas razones, el juego realizará una verificación de espacio libre en la raíz de la unidad en la que está instalado (Z: por defecto en el caso de Proton), que corresponde a / o la partición raíz en Linux. a través de un entorno estándar de Proton / Wine.

Si tiene menos de 2 GB de espacio en esa partición (lo más probable es que la partición raíz), aunque es poco probable que el juego la use (en lugar de verificar el espacio para los directorios que realmente puede usar), el juego se negará a iniciar la visualización un mensaje similar a este:

image

almacenamiento fatal 2gb

@GloriousEggroll Puedo confirmar que Proton-5.9-GE-8-ST corrige el bloqueo de pantalla completa, pero sigo teniendo el bloqueo después de los logotipos.

Estoy en una CPU (y GPU) AMD, así que probé el parámetro de arranque del kernel clearcpuid, pero eso no tuvo ningún efecto. El registro adjunto no lo tiene. Me di cuenta de que mi uso de memoria pasó del 50% al 100% justo antes de que fallara.

steam-1151640.log

@GloriousEggroll Yo también probé proton-5.9-ge-8 y también obtuve el bloqueo después de los logos.

Yo también probé la opción de arranque del kernel clearcpuid pero tampoco tuve ningún efecto.

sin embargo, cuando revisé los registros de mi sistema, noté un error de kernel que se quedó sin memoria justo antes del bloqueo. No estoy seguro de si ayuda, pero toda la información es buena.

mi sistema es ryzen 5 2400g, rx480 4gb vram, 16gb ddr4.

@ Milas227 ¿puedes publicar PROTON_LOG? Es más posible que alguien realmente identifique el problema con los registros que sin ellos, ya que hay demasiadas variables para tener en cuenta.

@intersectRaven mi mal !! lo siento

registro adjunto según lo solicitado
steam-1151640.log

Entonces, ¿quién tuvo la oportunidad de probarlo con el último lanzamiento de Proton?
https://github.com/ValveSoftware/Proton/releases/tag/proton-5.13-1b

No he probado mi "método seguro de error de memoria insuficiente" desde que continué en mi búsqueda dentro de un mundo de metal. Lo estoy usando ahora mismo mientras termino este Deathbringer para que sea jugable. Probaré el bloqueo si aún ocurre más tarde.

Puedo confirmar que todavía me falla en el mismo lugar con 5.13.

steam-1151640.log

editar: solo tengo 4 gigas de ram de video y 8 gigas de ram del sistema. ¿Podría ser éste el problema?

¿Alguien experimenta el juego en cámara lenta con Proton GE 5.9 ST 8? No puedo jugar el juego con eso.

Me funciona con el protón 5.13, pero tengo alrededor de 15 fps. Tengo una GTX 960, por lo que está un poco desactualizada, pero aún mejor que la especificación mínima (GTX 780). Los resultados son los mismos en configuraciones bajas o medias. Por lo que es bastante injugable por el momento.

@Skiski Una GTX 960 está a la par con (si no un poco más lenta) que una GTX 680/770. Una GTX 780 es más rápida en la mayoría de los casos. Además de eso, el juego funciona bastante mal en general, y en el cajero automático la situación es peor en nvidia en comparación con la nativa. Sus resultados parecen ser los esperados.

Acabo de instalarlo e intentar ejecutarlo con Proton 5.13-1, pero aparece el error:

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

¿Debo intentar reinstalar proton 5.13? ¿No se supone que Proton debe descargar los tiempos de ejecución de VC requeridos cuando falta?

Actualización I

Copió dichos archivos (_mfc140.dll_ - versión de 32 y 64 bits) y luego se ejecuta el juego.
Estoy jugando 3440x1440, detalles _Ultra_, en 2080 Ti, 455.23.04, 64 GiB de RAM e I7-8700k, en Ubuntu 20.04.

Estos son los problemas:

  • El audio crepita y la voz de los personajes se desincroniza fácilmente durante las escenas animadas.
  • Por lo general, después de 15 minutos, el juego se bloquea ( steam-1151640.log . Esto también sucede cuando se ejecuta el punto de referencia y se usa menos VRAM, por lo que no está relacionado con VRAM.
  • Usar el pad de PS4 está bien, pero el dispositivo háptico se detecta como un _mouse_, por lo que el juego cree que estoy usando mi teclado; solución alternativa, use la tecla 'M' en el teclado para acceder al mapa.

Desafortunadamente, debido al bloqueo duro, el juego no se puede jugar (no puedes progresar a menos que guardes cada 15 minutos)

Rendimiento inferior en Ultra en mi PC:
HZD_Ultra_perf

@Emanem Intente usar d3d12.dll de @intersectRaven, vea arriba, había un enlace de descarga en una de sus publicaciones recientes, cópielo en System32 (primero haga una copia de seguridad del suyo) y configúrelo como nativo en la configuración de vino de Proton. Esto debería extender aleatoriamente su tiempo de juego antes del bloqueo a cantidades generalmente jugables (depende de su hardware y otras cosas aleatorias, pero en buenos casos, generalmente es más de horas la mayor parte del tiempo). Si no funciona para usted, simplemente restaure su copia de seguridad y vuelva a colocar la configuración donde pertenecía.
PD: Algunos usuarios han informado que Proton sobrescribió sus archivos personalizados. Por favor, consulte sus publicaciones anteriores sobre cómo resolver este problema.

@RoyShapiro Gracias por la pista, no estoy seguro de querer descargar un _dll_ de Internet y reemplazar ciegamente un archivo en mi PC.
@intersectRaven ¿Podrías compartir una diferencia / parche de tus cambios? Feliz de recompilarlo yo mismo.

En general, también estoy de acuerdo para esperar una solución oficial de Valve (o Nvidia si es un problema de controladores), dado que la mayoría de los jugadores usan Nvidia y este juego ahora es parte de "_la lista_".

@Emanem Perdón por adelantarme a @intersectRaven , pero echa un vistazo a su página, puedes compilar su repositorio fork vkd3d-proton. No lo mencioné de inmediato, porque muchas personas parecen solo querer poder jugar y es posible que no sepan cómo construir cosas por sí mismas.

@ Milas227 ¿puedes publicar PROTON_LOG? Es más posible que alguien realmente identifique el problema con los registros que sin ellos, ya que hay demasiadas variables para tener en cuenta.

Hola @intersectRaven ,
Experimenté exactamente la misma ocurrencia de bloqueos del juego, pero para mí son aleatorios (el tiempo para bloquearse va de un mínimo de 15 minutos a un máximo de 2 horas). Aquí adjunto mi último steam-1151640.log . No estoy seguro de si mi informe puede ser útil.

Aquí debajo de mis especificaciones:
Proton: Proton GE 5.9 ST 8 (no se aplicaron ajustes posteriores a la instalación)
SO: Debian GNU / Linux bullseye / sid
NÚCLEO: 5.8.7
CPU: AMD Ryzen Threadripper 2990WX de 32 núcleos
Tarjeta gráfica: NVIDIA GeForce GTX 1080 Ti
CONTROLADOR DE GPU: NVIDIA 455.22.04
RAM: 64 GB

@LordDaveTheKind, tu bloqueo parece exactamente el problema que experimento. ¿Ya descargó mi dll o lo compiló desde la rama personal de mi repositorio? Debe extender al menos su mínimo a más de 15 minutos.

@intersectRaven - Primero que nada, gracias por investigar esto. Supongo que deberíamos compilar la rama llamada _personal_. ¿Qué compilación debemos ejecutar? _native_ o _cross para d3d12.dll_?

Además, ¿puedo pedirle un resumen de los cambios que ha realizado? Una vez más, solo soy un aficionado en términos de Vulkan y gráficos, me gustaría entender más este _fix_.

@Emanem sí. Solo usa la forma simple. Básicamente, rastreé el error hasta la implementación del almacenamiento en caché de hashmap para la creación del objeto de vista, así que lo revirtí. Los desarrolladores tienen dificultades para solucionarlo ya que no pueden replicarlo. Ese es básicamente el único bloqueador aquí. Si HansKristian puede replicarlo, este error desaparecerá en una noche más o menos.

@Emanem sí. Solo usa la forma simple. Básicamente, rastreé el error hasta la implementación del almacenamiento en caché de hashmap para la creación del objeto de vista, así que lo revirtí. Los desarrolladores tienen dificultades para solucionarlo ya que no pueden replicarlo. Ese es básicamente el único bloqueador aquí. Si HansKristian puede replicarlo, este error desaparecerá en una noche más o menos.

@intersectRaven ¿Necesitamos construir un _dll_ o _so_? Supongo que deberíamos compilar como _dll / PE_, ¿verdad?

Gracias por la explicación, sabiendo lo _fácil_ que es hacer que se bloquee, no estoy seguro de por qué "_Los desarrolladores tienen dificultades para solucionarlo ya que no pueden replicarlo".
¿Tenemos fuentes modificadas con registros adicionales que podrían ayudar a los desarrolladores?

actualizar

Logré configurar una máquina virtual para construir los dlls, me tomó 1 hora ... Intentaré probar el DLL, pero parece que los scripts de protones deciden sobrescribir mis bibliotecas personalizadas ... como se indicó anteriormente, tendré que resolverlo ... . y sí, tengo _floaties_ :)

actualización 2

Creó un nuevo perfil de Proton para usar sus bibliotecas y pruebas. Puedo confirmar que con las bibliotecas de Proton 5.13-1b, el juego se bloquea constantemente cada 15 minutos. Informaré más adelante con sus bibliotecas ...

actualización 3

Confirmado con su parche, el juego no se bloquea con tanta frecuencia como con Vanilla Proton 5.13-1b.
He creado un Proton 5.13-1b personalizado simple

¿Necesitamos construir un _dll_ o _so_? Supongo que deberíamos compilar como _dll / PE_, ¿verdad?

_Tienes que_ compilar como dll / PE, porque HZD requiere OpenExistingHeapFromAddress (o al menos solía hacerlo en 1.01) que no se puede implementar para compilaciones .so .

Logré configurar una máquina virtual para construir los dlls, me tomó 1 hora ...

Puede compilarlos de forma cruzada usando mingw-w64 toolchain, verifique si su distribución lo proporciona (Arch tiene la mayoría de los paquetes en repositorios oficiales excepto mingw-w64-tools ; este es obligatorio porque proporciona widl , pero está disponible en AUR). Sin duda, menos dolor de cabeza que una máquina virtual.

parece que los scripts de protones deciden sobrescribir mis bibliotecas personalizadas ...

La solución más sencilla es copiar d3d12.dll junto a HorizonZeroDawn.exe y establecer WINEDLLOVERRIDES en d3d12=n . De esta forma se cargará antes de cualquier copia de Proton en el directorio System32 su prefijo. No es necesario crear una copia separada de Proton solo para reemplazar una biblioteca: stick_out_tongue:

y sí, tengo _floaties_ :)

Sí, todavía se requiere el controlador Vulkan Dev para solucionarlo.

Pero probablemente ya sabías la mayor parte de eso. También puede intentar usar dxgi.dll DXVK ( WINEDLLOVERRIDES='dxgi=n' , separar múltiples anulaciones con ; ), esto _podría_ ayudar a mejorar la estabilidad.

Yo mismo, estoy tratando de jugar en AMD Ryzen 7 3750H y GTX 1660 TI Mobile, ahora es bastante estable y aunque 6 GB de VRAM son ... no mucho para este juego, el uso predeterminado de "Favorecer el rendimiento" es de alrededor de ~ 4-5 GB, pero la herramienta de referencia incorporada de HZD todavía afirma que la CPU es el cuello de botella aquí. Excepto que el juego parece limitarse de alguna manera porque la utilización de la CPU es solo alrededor del 50%. ¿Alguna idea de por qué está pasando eso? ¿O es esto totalmente intencionado y para ustedes el juego también usa solo la mitad de la potencia de procesamiento de la CPU? Primero estoy usando Proton 5.13 pero _outside_ Soldier Runtime.


Algunas capturas de pantalla que muestran el problema.

Screenshot_20201018_212818

(En realidad, esto estaba en el preajuste "Original" pero con Motion Blur desactivado, por lo que el uso de VRAM es un poco mayor)

Screenshot_20201018_213142

Además, el juego parece creer que se está ejecutando a una resolución de 1920 × 1080, pero esa es la resolución de mi escritorio, el juego en sí está en una ventana de 1600 × 900 ...

@LordDaveTheKind, tu bloqueo parece exactamente el problema que experimento. ¿Ya descargó mi dll o lo compiló desde la rama personal de mi repositorio? Debe extender al menos su mínimo a más de 15 minutos.

hola @intersectRaven ,
Compilé e implementé su versión de vkd3d-proton, y realmente parece funcionar bien. Sin embargo, no he tenido la oportunidad de probarlo ampliamente hasta ahora. Te mantendré informado, por supuesto.

Salud,
Dave

@intersectRaven ¿El bloqueo ocurre tanto en Nvidia como en AMD o Intel?
Si es así, entonces tal vez sea el caché en sí, o es posible que a los controladores no les guste reutilizar los elementos almacenados en caché (¿entre varios subprocesos?)

Eché un vistazo rápido al código de caché (el más reciente de github ) y, a menos que haya un problema con los elementos clave para realizar la búsqueda (es decir, no usar todas las entradas a las funciones de Vk como _elementos clave_), ¿esto puede ser un problema de controladores?

@doitsujin @ HansKristian-Work (personas etiquetadas que han cometido el código de búsqueda hash) @intersectRaven

Primero déjeme escribir. Tengo un gran aprecio por los desarrolladores de Valve / Codeweavers. Soy solo un aficionado y espero que lo siguiente pueda ayudar.

Es increíblemente fácil reproducir el bloqueo con H: ZD; Si ejecuta Nvidia 455.23.04 (mi caso 2080 Ti con una resolución de 3440x1440) y Ubuntu 20.04 (18.04 también), simplemente ejecute el punto de referencia integrado en el juego con la configuración de _Ultimate Quality_ y la segunda vez probablemente se bloqueará / atascará.
La _buena noticia_ (si podemos llamarlo así) es que esto no parece ser un problema de subprocesos, sino simplemente un problema relacionado con los recursos (? Controlador?); De hecho, agregando los registros a continuación en una pieza tan crítica de código, ligeramente lo ralentiza, pero el problema ocurre pase lo que pase.

He agregado un registro de _cache_ a la versión maestra de vkd3d (consulte vk_cache_log.patch.txt ; simplemente reemplace el archivo de registro codificado con una ruta de su elección). Esto imprime el acceso a la caché y los hashes más los datos clave subyacentes para tratar de comprender qué está sucediendo. Además, también imprime el comportamiento en caso de errores (es decir, necesidad de creación de recursos) o aciertos de caché.

  • El caché parece ser efectivo (al menos con H: ZD). Al ejecutar el punto de referencia, obtenemos un 86% de aciertos, lo cual no es nada malo.
  • El bloqueo parece ocurrir relacionado con la creación de una vista de búfer dentro de _vkCreateBufferView_, cuando pasamos un desplazamiento muy grande (41514912)
  • Un poco antes del bloqueo, hay un conjunto de fallas similares al crear una vista de búfer en el mismo vkBuffer con parámetros similares; parece que otro hilo intenta crear múltiples vistas en el mismo búfer pero falla, sin embargo, lo intenta ~ 10 veces
  • Vale la pena señalar que la llamada que bloquea / bloquea solicita crear una vista pero con un formato diferente a las que fallaron antes (las últimas devuelven _false_ pero el código continúa, esta solo bloquea este hilo de renderizado)
  • El mismo hilo que falla (208 en el registro), logra adquirir un vkBufferView en caché justo antes de la última llamada
  • Hay un pequeño error en una condición de salida en la función vkd3d_view_map_create_view , cuando return NULL; pero no liberamos el bloqueo antes - nuevamente, este no es el problema, sino un defecto menor

Pregunta: aunque la caché tiene una tasa de aciertos muy alta, ¿vale la pena el rendimiento? ¿Vale la pena el costo de bloquear y administrar el mapa hash?

Adjunté tanto el registro comprimido completo (700 MiB sin comprimir vkd3d-tail.log )

Espero que esto pueda ayudar y si cree que esto es una tontería, disculpe el tiempo perdido.

ACTUALIZAR I

Extendió el registro para imprimirlo justo antes de la llamada a vkCreateBufferView y este es el 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})

y puede confirmar que es un bloqueo de controladores (la llamada a la función vkCreateBufferView no regresa).

Supongo que nos estaríamos quedando sin memoria / recursos para realizar un seguimiento de todas las vistas del búfer. En ese momento, tenemos 483951 vistas de búfer en caché y 166261 específicamente para ese búfer (32771 para ese búfer y formato particular); no me sorprendería si alcanzamos un límite estricto en el controlador, y justo antes de que esto suceda, podemos vea en el registro las llamadas a vkCreateBufferView comienzan a devolver != VK_SUCCESS (vea el registro adjunto vkd3d-detail.log - 11 de ellos fallan y luego el bloqueo).

Creo que deberíamos controlar el caché y limitarlo, ¿quizás?

¿Alguien ha experimentado un bloqueo en el inicio de H: ZD cuando los sombreadores vulkan están
¿generado?
Para mí, consume toda la RAM y muere junto con el vapor.

El miércoles 21 de octubre de 2020 a las 3:23 p.m., Emanem [email protected] escribió:

@doitsujin https://github.com/doitsujin @ HansKristian-Work
https://github.com/HansKristian-Work (personas etiquetadas que se han comprometido
el código de búsqueda hash)

Primero déjeme escribir, tengo un gran aprecio por Valve / Codeweavers
desarrolladores: solo soy un aficionado y espero que lo siguiente pueda ayudar.

Es increíblemente fácil reproducir el accidente con HZ: D; si sigues corriendo
Nvidia 455.23.04 (mi caso 2080 Ti con una resolución de 3440x1440) y Ubuntu
20.04 (18.04 también), simplemente ejecute el punto de referencia integrado en el juego con Ultimatecalidad y la segunda vez probablemente fallará.
La buena noticia (si podemos llamarlo así) es que esto no parece
ser un problema de subprocesos, sino simplemente un problema relacionado con los recursos (? controlador?) - en
hecho de agregar los registros a continuación en una pieza tan crítica de código, lo ralentiza ligeramente
hacia abajo, pero el problema ocurre sin importar qué.

He agregado un registro de caché a la versión maestra de vkd3d (ver
vk_cache_log.patch.txt
https://github.com/ValveSoftware/Proton/files/5415675/vk_cache_log.patch.txt

  • simplemente reemplace el archivo de registro codificado con una ruta de su elección). Esta
    imprime el acceso a la caché y los hashes más los datos clave subyacentes para
    intente comprender lo que está sucediendo. Además también imprime
    comportamiento en caso de errores (es decir, necesidad de creación de recursos) o aciertos de caché.
  • El caché parece ser efectivo (al menos con HZ: D). Al correr
    el punto de referencia, obtenemos un 86% de aciertos, lo que no está
  • El bloqueo parece estar relacionado con la creación de una vista de búfer
    dentro de vkCreateBufferView , cuando pasamos un desplazamiento muy grande
    (41514912)
  • Un poco antes del accidente, hay un conjunto de fallas similares en
    creando una vista de búfer en el mismo vkBuffer con parámetros similares - se ve
    como otro hilo intenta crear múltiples vistas en el mismo búfer pero
    falla, no obstante lo intenta ~ 10 veces
  • Vale la pena señalar que la llamada que bloquea / bloquea solicita crear un
    vista pero con un formato diferente a los que fallaron antes (el
    este último devuelve falso pero el código continúa, este solo bloquea
    este hilo de renderizado)
  • El mismo hilo que falla (208 en el log), logra adquirir un
    vkBufferView en caché justo antes de la última llamada
  • Hay un pequeño error en una condición de salida en la función
    vkd3d_view_map_create_view, cuando devolvemos NULL; pero no liberamos
    la cerradura antes - nuevamente, este no es el problema, sino un defecto menor

Pregunta: aunque la caché tiene una tasa de aciertos muy alta, ¿vale la pena?
¿En cuanto al rendimiento? ¿Vale la pena el costo de bloquear y administrar el mapa hash?

Adjunté tanto el registro comprimido completo (700 MiB sin comprimir
vkd3d.log.tar.xz.zip
https://github.com/ValveSoftware/Proton/files/5415679/vkd3d.log.tar.xz.zip
) y las últimas 10000 líneas (vkd3d-tail.log
https://github.com/ValveSoftware/Proton/files/5415676/vkd3d-tail.log )

Espero que esto pueda ayudar y si crees que esto es una tontería, disculpas por el
tiempo perdido.

-
Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ValveSoftware/Proton/issues/4125#issuecomment-713530577 ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/AAABPU6GAI7HBC4OGKYLFVTSL3HFLANCNFSM4PXXJIQA
.

¿Alguien ha experimentado un bloqueo en el inicio de H: ZD cuando se generan sombreadores vulkan? Para mí, consume toda la RAM y muere junto con el vapor.
...

Lo mismo me pasa a mí. Simplemente desactivó los Vulkan Shaders y funcionó perfectamente.

@LordDaveTheKind, tu bloqueo parece exactamente el problema que experimento. ¿Ya descargó mi dll o lo compiló desde la rama personal de mi repositorio? Debe extender al menos su mínimo a más de 15 minutos.

Puedo confirmar que es más estable. Trabajando sin choques ni interrupciones durante horas.
El rendimiento es de 40 ~ 50 fps a 1440p con un 70% de escala de resolución en la configuración gráfica del juego.

¿Alguien está trabajando en el bloqueo posterior a los logotipos? No dude en comunicarse conmigo, estaré encantado de ayudarlo con cualquier depuración o prueba.

@intersectRaven ¡Hola! Hubo una solicitud de extracción reciente para vkd3d-proton (https://github.com/HansKristian-Work/vkd3d-proton/pull/318) que se dice que solucionó el problema del hashmap, y ahora está marcado como cerrado. Sin embargo, mientras veo mejoras en Resident Evil 2, HZD todavía se congela (RTX 2070, controlador 456.71), de la misma manera que lo hacía antes de esta actualización (después de 10-30 minutos de tiempo de reproducción). ¿Puede volver a probar y confirmar?

Si. Ya he mencionado esto en su Discord para que los desarrolladores estén al tanto. Sin embargo, ¿mejoró el tiempo de juego? Para mí, aunque todavía se estrelló, mejoró ya que pude jugar más tiempo en mi "ruta segura de choque". HZD es realmente complicado de depurar para ellos.

@intersectRaven, me lo puedo imaginar ... Por desgracia, incluso si mejoró en absoluto, está dentro del margen de error. Hice tres pruebas, diferentes configuraciones, todas fallaron en 15 minutos.

De hecho, el PR debería haber eliminado la necesidad de crear y mantener objetos VkBufferView para tipos de búfer sin procesar. Supongo que todavía es posible que el juego esté enviando spam a vistas de búfer de tipo único (es necesario verificar), que aún deben usar VkBufferView. Si este es realmente el caso, no hay mucho que podamos hacer. La implementación del descriptor más antiguo (y la única "solución" viable) era extremadamente lenta en la CPU hasta el punto de que estábamos obteniendo un 30% de utilización de la GPU.

@ HansKristian-Work Hola, gracias por investigar este problema. Desafortunadamente, si un juego AAA, incluso si es un puerto de baja calidad, también lo hacen los demás, y considerando que solo habrá más títulos exclusivos de DX12, este es un problema serio, en mi humilde opinión, que vale la pena resolver. Si bien puede que no se considere viable según los estándares del proyecto, muchos emuladores de consola incluyen opciones de "Hacks" para juegos rebeldes, que tienen casos marginales como este. ¿Puedo sugerir de buena fe que si no se puede encontrar una solución elegante, puede haber una opción para implementar "correcciones de casos marginales", "hacks" o algo similar como una especie de complementos para vkd3d, que hacen juegos específicos ¿Trabajar a expensas de la optimización relativa al juego específico? Específicamente, no sugiero compilaciones bifurcadas de vkd3d, ya que en este caso, tendrán que volver a basarse cada vez que se actualice el código base, lo que evitará que utilicen otras características más nuevas de compilaciones actualizadas que no se relacionen con dichos "hacks".

PD: ¿Entiendo correctamente, que si el caso anterior es cierto, entonces el juego envía spam a las vistas que no siguen la siguiente declaración?
((desc->Format == DXGI_FORMAT_UNKNOWN && desc->Buffer.StructureByteStride) || !!(desc->Buffer.Flags & D3D12_BUFFER_SRV_FLAG_RAW))
sin embargo, en teoría, debería ser?

Sí, si esa condición falla, es una vista de búfer escrita y nos vemos obligados a crear un nuevo VkBufferView (y mantenerlo vivo hasta el final de los tiempos a menos que podamos demostrar que ya no es posible acceder, lo cual es un problema difícil). sin introducir ~ 30k + bloqueos por fotograma) si el desplazamiento / tamaño / formatos no se han visto antes. Necesitaré verificar si esto es lo que desencadena el problema y, con suerte, podemos encontrar una solución en la que de alguna manera recolectemos basura de manera asíncrona VkBufferViews no utilizados. Aunque no estoy seguro de cómo va a funcionar esto ...

@ HansKristian-Work Gracias por la confirmación. Estaba pensando en una solución de recolección de basura. Mis pensamientos iniciales fueron mantener algunas estadísticas no intrusivas de cuántos búferes de qué tipo se habían creado, como una matriz y el uso de la enumeración DXGI_FORMAT como índice (siempre que no vaya más allá de los valores documentados). Vea también cuántos búferes de qué tipo se crean por fotograma / segundo. Luego, tenga un valor de umbral, como los que se usan en los mecanismos de prevención anti-DDoS. Si se crean demasiados búferes de cierto tipo, se pueden investigar más a fondo. Así que no es necesario bloquear nada, hasta que tengamos un valor que consideremos sospechoso (los búferes de cierto tipo se siguen creando rápidamente pero no se eliminan dentro de un período de tiempo) como "prueba" de que cierto tipo de búfer puede necesitar verificación. Lo siento si esa solución suena ingenua, este tema es nuevo para mí.

En realidad, existe el sistema de búfer de compensación que también podría utilizarse aquí. Supongo que después de todo no es tan sombrío.

En realidad, existe el sistema de búfer de compensación que también podría utilizarse aquí. Supongo que después de todo no es tan sombrío.

De hecho, el juego crea decenas de miles de VkBufferView muy rápidamente; la caché se llena y hay un bloqueo del controlador, la única forma es con el sistema de búfer de compensación. Espero que hayan logrado sacar eso, _H: ZD_ ¡es un juego increíble! :)

PD. El parche actual de

https://github.com/HansKristian-Work/vkd3d-proton/pull/349 es un PR en vuelo que debería solucionar el problema OOM. Odio todo sobre esto, pero supongo que no tenemos otra opción. Ya no veo spam y parece que se procesa correctamente.

Esto también afectó a Death Stranding (imagínate), y ese juego tampoco ve spam.

@ HansKristian-Work Cumplió con este controlador de PR, RTX 2070, 456.71, más de 50 minutos en + tabulación Alt incluida (utilizado para hacer que el problema ocurra más rápido), ¡sin problemas hasta ahora! ¡Gran trabajo! ¡Gracias!

Editar: Este PR también parece reducir en gran medida el micro-tartamudeo, que era muy frecuente justo después de que el juego recompila su caché.

¿Se fusionará con el código principal o será suficiente compilar el código git más nuevo? No sé cómo compilar solo este PR ...

La intención es fusionar esto, sí. Pendiente de revisión y más pruebas.

Gracias :)
Será feliz alguien para compartir su lib :)

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

Extraiga el paquete y tome d3d12.dll de usr/share/vkd3d-proton/x64 . Además, si está en Arch, simplemente puede instalar este paquete con pacman -U para usarlo en los prefijos normales de Wine, como lo haría con DXVK.

¡Muchas gracias!

HansKristian-Work / vkd3d-proton # 349 es un PR en vuelo que debería solucionar el problema OOM.

Esto movió mi accidente de después del logo de Guerilla a durante el logo de Sony. ¡Pero el juego ya no ocupa toda mi memoria antes de fallar! :)

steam-1151640.log

@mickeylyle
En su registro hay esta entrada:
2171.498:00bc:00c0:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\D3DCOMPILER_47.dll" at 0000000014C60000: native
¿Copiaste d3dcompiler_47.dll de Tools \ ShaderCompiler \ PC \ 10.0.18362.0x64d3dcompiler_47.dll de HZD a la raíz del juego?
Es decir, ¿dónde se encuentra HorizonZeroDawn.exe? Parecería que proton está intentando cargar su d3dcompiler_47 predeterminado, en lugar del propio HZD, un problema conocido. Si no es así, intente hacerlo.
_Si_ eso no ayuda, entonces la intuición me dice que es posible que tengas un problema con la reproducción de medios (es decir, películas bink renderizadas previamente), que el juego usa para los logotipos y el fondo del menú.

Compiló la rama y el juego se ha estado ejecutando sin fallas durante unas buenas 3 horas seguidas (2080 Ti con 455.23.04).

Obtuve algunas caídas de fotogramas en algunas ubicaciones, pero estoy jugando 21: 9 @ 1440p todo al máximo ... es casi el 60% de 4K en términos de píxeles renderizados.

¿HZD es realmente problemático con Nvidia 455.28?
No puedo encontrar una forma adecuada de instalar otras versiones que comiencen con 455.
AFAIK, las distribuciones basadas en Ubuntu no instalarán los controladores descargados del sitio web de Nvidia.

Aquí ejecuto la versión de Epic Games de HZD y todavía estoy atascado en el cuadro de diálogo de bloqueo publicado por OP.

También puede instalar los controladores beta de NVIDIA Vulkan en Ubuntu.

¿HZD es realmente problemático con Nvidia 455.28?
No puedo encontrar una forma adecuada de instalar otras versiones que comiencen con 455.
AFAIK, las distribuciones basadas en Ubuntu no instalarán los controladores descargados del sitio web de Nvidia.

Aquí ejecuto la versión de Epic Games de HZD y todavía estoy atascado en el cuadro de diálogo de bloqueo publicado por OP.

Si. Todavía existe la posibilidad de que se produzcan artefactos en él (es decir, flotadores). Solo espere a que se lance el nuevo 455.38 para su distribución. Eso tiene la solución de barrera completa.

¿Copiaste d3dcompiler_47.dll de Tools \ ShaderCompiler \ PC \ 10.0.18362.0x64d3dcompiler_47.dll de HZD a la raíz del juego?
Es decir, ¿dónde se encuentra HorizonZeroDawn.exe? Parecería que proton está intentando cargar su d3dcompiler_47 predeterminado, en lugar del propio HZD, un problema conocido. Si no es así, intente hacerlo.

No lo arreglé, vea el registro adjunto.

_Si_ eso no ayuda, entonces la intuición me dice que es posible que tengas un problema con la reproducción de medios (es decir, películas bink renderizadas previamente), que el juego usa para los logotipos y el fondo del menú.

Anteriormente, había superado los logotipos para ver los primeros fotogramas del fondo del menú. ¿De alguna manera puedo probar / depurar esto?

steam-1151640.log

(Descargo de responsabilidad: novato de Linux en el trabajo)
Hice todos los pasos que he visto aquí.
Copió el archivo DLL en la carpeta raíz del juego.
puso las cosas de mesa en su lugar. (encontré una guía aquí en alguna parte)
Versiones de protones que he probado:
5.0-9 (esta versión bloquea HZD al inicio)
5.13-1 (Esta versión ejecuta HZD durante 20 segundos aproximadamente)

El 5.9-GE-6-ST, 5.9-GE-7-ST, 5.9-GE-8-ST también se descargó, sin embargo, no puedo encontrarlos en el menú desplegable en la configuración de Steam -> Steam-Play o en el juego propiedades -> Forzar el uso de un *

He copiado estas carpetas de Proton en .steam / steam / compabilitytools.d así como en la carpeta / steamapps / common (encontré una carpeta de Proton 5.0 allí, así que pensé por qué no). Sin embargo, no puedo encontrarla cuando estoy en Steam, y sí, reinicié Steam y toda la PC varias veces.

También obtuve el archivo predeterminado del modo de ventana.

El juego se inició y se configuró la primera vez, déjame jugar unos 40 minutos y luego se bloqueó con esa ventana emergente.
Después de esto, pude comenzar el juego y continuar jugando durante 20 segundos. (cada 3-4 veces que lo inicié, ya que tiende a bloquearse en la pantalla de carga)

Sistema:
Pop! _OS
Ryzen 5 1600x
Ddr4 de 8 GB
Radeon RX 580 de 8 GB
MSI gaming plus max B450

@nodrugz

¿Extrajo los paquetes que descargó? Si acaba de soltar tar.gz en la carpeta, no funcionará.
En caso afirmativo, ¿tiene Lutris instalado? Dependiendo de cómo instaló Steam, es posible que tenga dos instalaciones, probablemente en /home/USER/.steam/debian-installation y en /home/USER/.local/share/lutris/runtime/steam. Lutris usará el que está en su directorio de tiempo de ejecución y este no verá los archivos en el otro directorio de instalación si los coloca allí.
Además, si está ejecutando Winesteam a través de Lutris, todavía se considera una instalación diferente.

@Chipsse
Los paquetes se extraen y se colocan en
/home/USER/.steam/debian-installation/compabilitytools.d/
y
/home/USER/.steam/steam/steamapps/common/

No tengo lutris instalado.
Debería ?

Además: kernel 5.8 si eso hace alguna diferencia.

@nodrugz

No es necesario, pero es realmente útil organizar juegos y ajustar fácilmente la configuración, especialmente si Steam no es su única fuente de juegos, también hay instrucciones en la página de la bifurcación Glorious Eggroll Proton para usarlo con Lutris (https://github.com/ GloriousEggroll / proton-ge-custom)
Algunas cosas más que puedes probar:
¿Seguiste todas las instrucciones de Glorious Eggroll y tienes todas las dependencias necesarias?
¿Instaló la versión nativa de Linux de Steam o la versión Wine?
Si sigues el enlace /home/USER/.steam/root, ¿a dónde te lleva?

@nodrugz no olvide mover el contenido de la carpeta dist a un nivel por debajo de su carpeta Proton personalizada, por lo que tendrá rutas como:

  • compabilitytools.d / Proton-5.9-GE-8-ST / bin
  • compabilitytools.d / Proton-5.9-GE-8-ST / lib
  • etc.

@nodrugz

Perdón por el largo tiempo de respuesta, ¿qué hay en las herramientas de compatibilidad.d que están en el directorio que te lleva .steam / root / links? ¿Es esa la misma carpeta donde ya colocó los archivos ProtonGE? Si no, intente colocarlos aquí. También puede intentar reinstalar Steam a través de Pop! _Shop y ver si eso ayuda.

@Chipsse

No se preocupe, desde la última actualización limpié mi hd e instalé majaro, luego steam, luego proton-5.6-GE
Consiguió que Steam lo reconociera y HZD "funcionando".
La película de inicio tartamudeó y se suavizó.
Al comenzar el juego había toneladas de anomalías gráficas.

ahora necesito encontrar la guía para instalar controladores de mesa y VKD3D de HansKristian-Work, aunque encuentro los gudes un poco incompletos para un principiante.

Pregunta aunque:
Proton-5.9-GE ¿no contiene lo mismo que Proton-5-6-GE y más actualizaciones?

Instalación del controlador de GPU con soporte 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

Instalación de vino
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-utils libpulse lib32-libpulse libgpg-error lib32 error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses opencl-ic 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

Instalar Lutris
sudo pacman -S lutris

Instalar Steam
sudo pacman -S vapor

encontré esto en https://www.youtube.com/watch?v=ibge7-4sitQ

Tal vez esto pueda ayudar a otros.

steam-1151640.log

¿Alguien vio algo útil allí?
o mejor dicho, ¿qué debo buscar?

Recibo un bloqueo en los logotipos de inicio, se muestra la ventana emergente para enviar un informe de bloqueo. Estoy ejecutando Arch Linux con los controladores kernal LTS y mesa-git. Mi hardware es una CPU Intel i9 y una GPU AMD RX 580. He copiado d3dcompiler_47 en la misma carpeta que el ejecutable. Mi versión de protones es Proton-5.9-GE-8-ST.

steam-1151640.log

¡Gracias a todos los involucrados en hacer que el juego sea jugable ahora (la última vez que lo comprobé, casi logramos arrancar el juego)! Por lo que puedo decir, los problemas restantes son problemas de rendimiento (como el spam de búferes y el FPS bajo en general), ¿estoy en lo correcto al decir eso? ¿Cómo avanza en la resolución de los problemas restantes?

@Zephranoid ¿Has probado el último Proton, como en 5.13-1? Por lo que puedo decir, se han fusionado un montón de correcciones.

@drwhut Proton 5.13-1 se bloquea sin mostrar ninguna ventana y no muestra ningún mensaje de error. Aquí está el registro de eso:
steam-1151640.log

¡Gracias a todos los involucrados en hacer que el juego sea jugable ahora (la última vez que lo comprobé, casi logramos arrancar el juego)! Por lo que puedo decir, los problemas restantes son problemas de rendimiento (como el spam de búferes y el FPS bajo en general), ¿estoy en lo correcto al decir eso? ¿Cómo avanza en la resolución de los problemas restantes?

El juego todavía se bloquea después de los logotipos para mí.

¡Gracias a todos los involucrados en hacer que el juego sea jugable ahora (la última vez que lo comprobé, casi logramos arrancar el juego)! Por lo que puedo decir, los problemas restantes son problemas de rendimiento (como el spam de búferes y el FPS bajo en general), ¿estoy en lo correcto al decir eso? ¿Cómo avanza en la resolución de los problemas restantes?

El juego todavía se bloquea en <2 minutos aquí en AMD (5700XT), la mayoría se ejecuta debido al problema OOM, pero esto se sabe.

A NVidia le va mejor: tengo alrededor de 30 minutos en mi 2060 hasta que el FPS se sumerge de ~ 45 a ~ 16.

El juego todavía se bloquea en <2 minutos aquí en AMD (5700XT), la mayoría se ejecuta debido al problema OOM, pero esto se sabe.

No para mí, HZD es solo un ejemplo que hace que toda mi PC se bloquee después de un tiempo, pero esto se debe a los controladores de Mesa Vulkan con errores y se solucionará con 20.3.

Ahora se ejecuta en el entorno original. No hackear github en absoluto.
Linux Mint 20.0 Compañero
Núcleo: 5.4.0-53
GTX 1070 con controlador nvidia: 455,38
Válvula-Protonversión: 5.13-1
Steam Beta Client con mejor soporte para juegos Linux. No conozco la versión.
... pero juego solo un momento (la niña entra en la cueva). Como no tengo un buen hardware (20-25 fps), tengo que reducir la opción de hardware en el juego.
Realmente no pensé que fuera posible ejecutar el juego en Linux. Estoy tan feliz.

Funciona perfectamente con 5.13-2; ¡buen trabajo chicos!

Nvidia 2080 Ti (455.38), Ubuntu 20.04.

Acabo de comprar el juego después del informe anterior y también me funciona. Pude jugar durante 2 horas, cero accidentes o problemas.
Nvidia 1650, último kernel estable y controladores de Arch Linux (todo actualizado), Proton 5.13-2. Sin personalización.

Desafortunadamente, el juego todavía me falla. El bloqueo fue justo después de los logotipos antes, ahora puedo acceder al menú durante unos segundos. RX570 (4GB), el último kernel estable y Mesa 20.2.2, Proton 5.13-2.

usando proton 5.13-2 y mesa 20.2-2 ahora puedo pasar los logotipos y entrar un poco en la pantalla de corte de película antes de que se bloquee, sin embargo, ahora tengo un error "vkd3d no puede asignar la memoria predeterminada a la memoria del sistema", así que supongo que por eso ¿Toda la memoria de mi sistema se consume y el juego se bloquea?

rx480 (4 gb)
Ddr4 de 16 gb 3200

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Dakunier picture Dakunier  ·  3Comentarios

ArekPiekarz picture ArekPiekarz  ·  3Comentarios

AwesamLinux picture AwesamLinux  ·  3Comentarios

AwesamLinux picture AwesamLinux  ·  3Comentarios

juppso picture juppso  ·  3Comentarios