Proton: Mount & Blade II: Bannerlord (261550)

Creado en 30 mar. 2020  ·  540Comentarios  ·  Fuente: ValveSoftware/Proton

Informe de compatibilidad

  • Nombre del juego con problemas de compatibilidad: Mount & Blade II Bannerlord
  • Steam AppID del juego: 261550

Información del sistema

  • GPU: X.Org AMD Radeon RX 5700 XT (NAVI10, DRM 3.36.0, 5.5.11-050511-genérico, LLVM 9.0.0)
  • Versión del controlador / LLVM: 4.5 (perfil de compatibilidad) Mesa 19.2.8
  • Versión de Kernel: 5.5.11-050511-gen
  • Enlace al informe completo de información del sistema como Gist : https://gist.github.com/Yarwin/5648be675565aafa1e3930fede59ca07
  • Versión de protones: 5.0-5

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.

Registro de choques de protones:

steam-261550.log

Síntomas

El juego no se inicia

Reproducción

  1. Descarga M&B II: Bannerlord
  2. Intenta ejecutarlo
  3. El juego se bloquea con:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'ManagedStarter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: 'ManagedStarter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

mensaje en el registro.

Solución alternativa actual

Proton 5.5-GE https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1 + protontricks 261550 dotnet472 (las dependencias necesarias de Bannerlord se pueden encontrar allí: https: // foros .taleworlds.com / index.php? threads / install-missing-required-dependencies.407126 /)
La instalación de dotnet core podría reducir significativamente la cantidad de bloqueos: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -609959973, https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -610022040

Multijugador: funciona, simplemente omita la instalación de un BattleEye cuando se le solicite.

.NET Game compatibility - Unofficial

Comentario más útil

@YellowApple, ¿te importaría crear una guía de "cómo hacer que el juego funcione desde cero para idiotas"?

El enfoque más amigable "para idiotas":

  • Descargue la compilación exacta de Proton que estoy usando: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz
  • Pégalo en ~/.steam/root/compatibilitytools.d
  • Extraerlo ( cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz )
  • Reiniciar Steam
  • Haz clic derecho en Bannerlord en tu biblioteca, haz clic en Propiedades y cambia la versión de Proton a "proton_5.0-local".
  • ???
  • Lucro

Obviamente, lo hace bajo su propio riesgo, con el entendimiento de que descargar, instalar y ejecutar archivos binarios aleatorios desde Internet es un asunto arriesgado y lleno de peligros. Caveat emptor. Se le recomienda encarecidamente que intente clonar el repositorio de Proton, aplicar los parches usted mismo y construir Proton en su propia máquina (y aunque sí, ese no es exactamente el enfoque más fácil de usar, es mucho más seguro que confiar en Internet extraños que no beban de tu cráneo, jejeje).

Con suerte, podemos hacer que estos parches se transmitan más temprano que tarde para que podamos evitar la necesidad de estas compilaciones personalizadas únicas de rinky-dink, jajaja.

Todos 540 comentarios

Algunas notas:

  • el juego usa Battleye Anti-Cheat; es aparentemente obligatorio incluso si solo quieres jugar para un jugador. No tengo idea de si hay un parámetro de lanzamiento que lo deshabilita.

Puede cambiar el nombre de dos archivos .exe en / Mount & Blade II Bannerlord / bin / Win64_Shipping_Client /

  • cambiar el nombre de "TaleWorlds.MountAndBlade.Launcher.exe" a "TaleWorlds.MountAndBlade.Launcher.exe_backup" (o algo similar; simplemente no está permitido mantener su nombre original)

  • cambiar el nombre de "Bannerlord.exe" a "TaleWorlds.MountAndBlade.Launcher.exe"

para al menos hacer que el juego comience, ver las pantallas de bienvenida y luego llego al punto en el que tengo que interactuar con el juego por primera vez (cambiar la configuración de brillo), momento en el que mi CPU y GPU se vuelven locas y no puedo interactuar con el juego en absoluto.

Puedo confirmar que omitir el lanzador (moviendo TaleWorlds.MountAndBlade.Launcher.exe fuera del camino y reemplazándolo con una copia de Bannerlord.exe ) lo lleva al menos a la pantalla de calibración de brillo (o como hasta el menú principal si configuro brightness_calibrated = 1 en $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Configs/engine_config.txt ).

Sin embargo, parece que hay un error con la entrada del mouse; el cursor se mueve y está visible, pero las opciones del menú no se resaltan cuando se mueve sobre ellas y el juego no responde a los clics (y, naturalmente, no hay navegación con el teclado ...). El problema persiste con cada permutación de V-sync, iniciar en un escritorio virtual, deshabilitar Steam Overlay, etc.

De particular interés en steam-261550.log es el spam de fixme:win:GetMouseMovePointsEx (24 0x3c87f298 0x3c87f2b0 64 1) stub . ¿Posiblemente relacionado con Wine bug 36873 ?

Discusión adicional en el foro de TaleWorlds: https://forums.taleworlds.com/index.php?threads/linux.385761/page -2 y https://forums.taleworlds.com/index.php?threads/b0 -8 -9-clics-del-mouse-no-registrados-en-linux.395650 /

EDITAR: intenté conectar un controlador, y eso me permitió navegar por el menú. Voy a ver hasta dónde puedo llegar, pero ... ¡progreso!

Para mí, el juego seguía fallando al iniciarse después de ejecutar Bannerlord.exe lugar de TaleWorlds.MountAndBlade.Launcher.exe . Usando protontricks, instalé dotnet4.8 y vcrun2015: el juego aún falla, pero al menos puedo admirar la pantalla de carga del juego.

Puedo confirmar que tengo el mismo problema con las entradas del mouse, en Manjaro con Proton 5.0-5. Estaba en la beta cerrada y el juego funcionaba bien antes de la última actualización, por lo que estoy bastante seguro de que el resto del juego debería estar funcionando una vez que logremos solucionar este problema de navegación.

Entonces, después de buscar un personaje creado completamente a través de un gamepad de Logitech, parece que me encontré con otro obstáculo en forma de un fuerte bloqueo en la pantalla de carga justo después de la creación del personaje (entrada relevante de steam-261550.log : wine: Call from 0x7b00fc3e to unimplemented function api-ms-win-crt-private-l1-1 -0.dll._o___stdio_common_vswprintf, aborting ). Esto persiste incluso después de ejecutar protontricks 261550 vcrun2015 y protontricks 261550 vcrun2017 .

Solo un Google rápido, ya que en realidad no puedo probarlo ahora mismo (todavía descargándolo), pero un problema similar aparentemente plagó el BNet Launcher en algún momento y se solucionó agregando ucrtbase y api-msi-win, etc., etc.dll como anulaciones a través de winecfg.

Las batallas personalizadas funcionan cuando navegas hacia ellas usando el gamepad, y cuando estás en el juego real puedes usar el mouse para luchar.

Sin embargo, el juego para mí se veía increíblemente descolorido y brillante mientras jugaba y cambiar la configuración bloquea el juego la mitad del tiempo, además de configurar todo en un nivel bajo bloquea el juego.
Aquí hay un registro del bloqueo al guardar la configuración.
steam-261550.log

Editar: cambiar la configuración desde arriba hizo que la aduana dejara de funcionar, así que evite hacerlo.

Bien, leí un poco, investigué, descargué el juego tres veces e investigué un poco más, y creo que lo he descubierto.

Bannerlord está usando Battleye, que es un software Kernel Anti-Cheat. Dado que la instancia de Proton-Wine no es el Kernel base de Linux, sino el Kernel de Windows, Battleye no puede interceptar la entrada del mouse directamente desde el puerto USB para verificar que es el verdadero, y luego dejarlo entrar al juego, o es confundiendo la entrada del mouse de Wine con una entrada de mouse artificial basada en un programa, lo que significa que el sistema Anti-Cheat se activa.

Recuerdo haber leído en algún lugar que Battleye no funciona bien con Linux en absoluto, pero ese comentario fue de ... ¿hace 3 años? Así que no conozco el estado actual del software anti-trampas. Así que las opciones son, creo, pedirle a TaleWorlds que configure Battleye para jugar bien con Proton, deshabilitarlo para Proton hasta que se pueda crear una versión adecuada de Linux, luego volver a habilitarlo allí (están usando Mono para algo. el lanzador?) Espere hasta que el juego se publique correctamente porque es probable que la mayoría de las veces posterguen la compatibilidad con varios sistemas operativos hasta más adelante en Early Access, por lo que es 10 veces más fácil distribuir actualizaciones ... deje que un Battleye de Windows Executable vaya directamente al Kernel basado en Linux para que pueda escanear todo lo que quiera y nos permita hacer entradas en el juego sin activar el anti-trampas ...

Así que supongo que estamos esperando un poco más a Bannerlord.

Bien, leí un poco, investigué, descargué el juego tres veces e investigué un poco más, y creo que lo he descubierto.

Bannerlord está usando Battleye, que es un software Kernel Anti-Cheat. Dado que la instancia de Proton-Wine no es el Kernel base de Linux, sino el Kernel de Windows, Battleye no puede interceptar la entrada del mouse directamente desde el puerto USB para verificar que es el verdadero, y luego dejarlo entrar al juego, o es confundiendo la entrada del mouse de Wine con una entrada de mouse artificial basada en un programa, lo que significa que el sistema Anti-Cheat se activa.

Recuerdo haber leído en algún lugar que Battleye no funciona bien con Linux en absoluto, pero ese comentario fue de ... ¿hace 3 años? Así que no conozco el estado actual del software anti-trampas. Así que las opciones son, creo, pedirle a TaleWorlds que configure Battleye para jugar bien con Proton, deshabilitarlo para Proton hasta que se pueda crear una versión adecuada de Linux, luego volver a habilitarlo allí (están usando Mono para algo. el lanzador?) Espere hasta que el juego se publique correctamente porque es probable que la mayoría de las veces posterguen la compatibilidad con varios sistemas operativos hasta más adelante en Early Access, por lo que es 10 veces más fácil distribuir actualizaciones ... deje que un Battleye de Windows Executable vaya directamente al Kernel basado en Linux para que pueda escanear todo lo que quiera y nos permita hacer entradas en el juego sin activar el anti-trampas ...

Así que supongo que estamos esperando un poco más a Bannerlord.

No me lo trago. Si Battleye está causando problemas con el cursor, ¿por qué no veríamos el mismo problema cuando usamos un gamepad?

Battleye no es el problema, es una instalación opcional y solo es necesaria para el modo multijugador.

Battleye no es el problema, es una instalación opcional y solo es necesaria para el modo multijugador.

Para ampliar la publicación de tkamat, también estaba en la versión beta cerrada y el juego todavía funcionó durante algunos parches después de que Battleeye se incorporó a la versión beta. Por lo que tengo entendido, lo hicieron opcional en ese momento, simplemente puedes ignorar cancelar la instalación del ojo de batalla en la primera ejecución y no te sacaría de los juegos por no usarlo.

Hace aproximadamente dos semanas hubo un parche que rompió la capacidad de juego de un grupo de usuarios de Windows, aparentemente tenía algo que ver con tener un controlador o joystick conectado mientras intentaba jugar con el teclado / mouse. Solucionaron el problema un par de días después, pero todos los usuarios de Linux en el foro informaron que no se produjo ninguna entrada del mouse, ya sea que se haya conectado o no un controlador, incluso después de la actualización.

Estábamos especulando en el foro que podría ser un problema con la presentación de un controlador virtual al juego a nivel de controlador, pero nunca lo confirmamos. En cuanto a la caída al iniciar una campaña, nunca llegamos tan lejos, ya que era una beta multijugador.

Battleye no es el problema, es una instalación opcional y solo es necesaria para el modo multijugador.

Para ampliar la publicación de tkamat, también estaba en la versión beta cerrada y el juego todavía funcionó durante algunos parches después de que Battleeye se incorporó a la versión beta. Por lo que tengo entendido, lo hicieron opcional en ese momento, simplemente puedes ignorar cancelar la instalación del ojo de batalla en la primera ejecución y no te sacaría de los juegos por no usarlo.

Hace aproximadamente dos semanas hubo un parche que rompió la capacidad de juego de un grupo de usuarios de Windows, aparentemente tenía algo que ver con tener un controlador o joystick conectado mientras intentaba jugar con el teclado / mouse. Solucionaron el problema un par de días después, pero todos los usuarios de Linux en el foro informaron que no se produjo ninguna entrada del mouse, ya sea que se haya conectado o no un controlador, incluso después de la actualización.

Estábamos especulando en el foro que podría ser un problema con la presentación de un controlador virtual al juego a nivel de controlador, pero nunca lo confirmamos. En cuanto a la caída al iniciar una campaña, nunca llegamos tan lejos, ya que era una beta multijugador.

¿El juego funcionó bien en Linux antes de Battleye? Estuve en Windows durante la versión beta, así que nunca pude probarlo a través de protones.

Battleye no es el problema, es una instalación opcional y solo es necesaria para el modo multijugador.

Para ampliar la publicación de tkamat, también estaba en la versión beta cerrada y el juego todavía funcionó durante algunos parches después de que Battleeye se incorporó a la versión beta. Por lo que tengo entendido, lo hicieron opcional en ese momento, simplemente puedes ignorar cancelar la instalación del ojo de batalla en la primera ejecución y no te sacaría de los juegos por no usarlo.
Hace aproximadamente dos semanas hubo un parche que rompió la capacidad de juego de un grupo de usuarios de Windows, aparentemente tenía algo que ver con tener un controlador o joystick conectado mientras intentaba jugar con el teclado / mouse. Solucionaron el problema un par de días después, pero todos los usuarios de Linux en el foro informaron que no se produjo ninguna entrada del mouse, ya sea que se haya conectado o no un controlador, incluso después de la actualización.
Estábamos especulando en el foro que podría ser un problema con la presentación de un controlador virtual al juego a nivel de controlador, pero nunca lo confirmamos. En cuanto a la caída al iniciar una campaña, nunca llegamos tan lejos, ya que era una beta multijugador.

¿El juego funcionó bien en Linux antes de Battleye? Estuve en Windows durante la versión beta, así que nunca pude probarlo a través de protones.

Comenzó a funcionar en Linux alrededor de diciembre, fallaba de vez en cuando, pero el rendimiento era aceptable después de que terminó de compilar sombreadores para cada mapa. También estaba en una tarjeta gráfica con relativamente poca potencia (rx 480) en ese momento, así que creo que en términos de rendimiento, el juego estará bien en Linux si podemos obtener una pequeña ayuda de taleworlds para solucionar estos problemas. Recibimos una respuesta de los desarrolladores sobre el problema del mouse al que nos enfrentamos, por lo que parece que, al menos, no son hostiles a considerar a los usuarios de Linux y al protón.

¡Qué día para no poder encontrar mi controlador! ¡Aunque realmente conseguí que algo funcionara! Seguí los cambios de nombre como se indicó anteriormente y luego intenté conectar mi interruptor Joy-Cons usando este práctico controlador .

Cuando los joy-cons son reconocidos como un controlador profesional, puedo hacer clic en las cosas con el mouse después de usar el joystick izquierdo para colocar el cursor. Apuntar y hacer clic con el mouse funciona bien en mis batallas de prueba rápida, por lo que el problema puede estar relacionado con el menú. No estoy seguro de si esto funcionará con otros controladores o si tiene algo que ver con la forma en que se implementa ese controlador.

Solo un Google rápido, ya que en realidad no puedo probarlo ahora mismo (todavía descargándolo), pero un problema similar aparentemente plagó el BNet Launcher en algún momento y se solucionó agregando ucrtbase y api-msi-win, etc., etc.dll como anulaciones a través de winecfg.

Agregarlos como anulaciones aún resultó en un bloqueo, pero pude forzarlo siguiendo los pasos de un problema similar con respecto a: Age of Empires 2: Definitive Edition :

cd /home/$USER/.steam/steam/steamapps/compatdata/261550/pfx/drive_c/windows/system32/
wget "https://aka.ms/vs/16/release/vc_redist.x64.exe"
cabextract vc_redist.x64.exe
cabextract a10

Lo que me llevó mucho más lejos:

Tutorial works

El mouse sigue siendo inutilizable para los cuadros de diálogo y el menú de pausa (puede "Hacer clic para continuar" allí, por lo que obviamente reconoce los clics del mouse, pero no sabe si el mouse está realmente sobre algo a menos que esté moviendo el cursor con el controlador). Funciona bien para el movimiento y el combate. Pasé por un par de los objetivos del tutorial antes de que volviera a fallar (esta vez debido a un eventfd: Too many open files ; voy a reiniciar con un ulimit -Hn inflado y volver a intentarlo).

EDITAR re: BattlEye:

Bannerlord está usando Battleye, que es un software Kernel Anti-Cheat. Dado que la instancia de Proton-Wine no es el Kernel base de Linux, sino el Kernel de Windows, Battleye no puede interceptar la entrada del mouse directamente desde el puerto USB para verificar que es el verdadero, y luego dejarlo entrar al juego, o es confundiendo la entrada del mouse de Wine con una entrada de mouse artificial basada en un programa, lo que significa que el sistema Anti-Cheat se activa.

Esto parece poco probable. Si estuviera relacionado con anti-trampas, esperaría lo contrario de los síntomas actuales (es decir, el mouse funciona bien en menús / cuadros de diálogo, pero no para movimiento / combate). También esperaría que los teclados y controladores se vean afectados de manera similar (lo que no parece ser el caso).

BattlEye ciertamente pondrá un freno a las cosas para el modo multijugador, pero debería ser completamente innecesario para un jugador (y de hecho, otros juegos BattlEye con modos para un jugador funcionan razonablemente bien con Proton, por ejemplo, Conan: Exiles).

@YellowApple ¿Podrías ver si el siguiente parche corrige el bloqueo sin vcredist? (es decir, establezca ucrtbase y api-ms-win-crt-private-l1-1-0 para incorporarlos al realizar la prueba)

https://gist.github.com/qsniyg/4ba247c7398e3a1926988e3f6ca252ce

Sería genial si pudiera arreglarse en sentido ascendente sin necesidad de anulaciones :) No tengo el juego en este momento, así que no puedo probarlo.

@YellowApple He intentado reproducir tu solución, pero lamentablemente no me funciona y la campaña se bloquea después de la creación del personaje. Los archivos de registro todavía parecen apuntar a api-ms-win-crt-private-l1-1-0.dll._o___stdio_common_vswprintf como el problema. ¿Hizo algún otro paso, como reinstalar vcrun-2017 o algo más?

Así que aumentar mi ulimit -Hn ayudó, y pude llegar hasta el mapa principal, pero noté que cualquier intento de guardar el juego hará que el juego se congele temporalmente durante unos minutos mientras se vincula cada núcleo / hilo en mi CPU (sin embargo, ciertos sonidos continúan reproduciéndose en segundo plano). Sospecho que hay una función de autoguardado que también está activando congelamientos similares (sucedió después de hacer trampa en un inventario y volvió a ocurrir cuando estaba inactivo por un tiempo).

Además, parece que los cuadros de diálogo emergentes harán que el cursor del mouse con joystick desaparezca (no he determinado si eso siempre sucede o no; con suficiente movimiento me las arreglé para que el botón "Aceptar" se resaltara brevemente, así que creo que el cursor es simplemente invisible).

También puedo confirmar que los botones del mouse y la rueda de desplazamiento funcionan completamente en los menús / cuadros de diálogo; solo tiene que usar el controlador para mover el cursor a la cosa en la que desea hacer clic o desplazarse. Entonces, lo que sea que esté causando ese error tiene simplemente que ver con el lugar donde el juego cree que apunta el mouse.

@YellowApple ¿Podrías ver si el siguiente parche corrige el bloqueo sin vcredist? (es decir, configure ucrtbase y api-ms-win-crt-private-l1-1-0 en incorporados cuando realice la prueba)

Lo haré @qsniyg (tan pronto como consiga que Vagrant coopere). ¿Están todas estas funciones implementadas pero eliminadas o algo así?

@YellowApple He intentado reproducir tu solución, pero lamentablemente no me funciona y la campaña se bloquea después de la creación del personaje. Los archivos de registro todavía parecen apuntar a api-ms-win-crt-private-l1-1-0.dll._o ___ stdio_common_vswprintf como el problema. ¿Hizo algún otro paso, como reinstalar vcrun-2017 o algo más?

@tkamat : Pasos exactos que hice (que yo

  • protontricks 261550 vcrun2015 (y ejecutó el juego; se bloqueó)
  • protontricks 261550 vcrun2017 (y ejecutó el juego; se bloqueó)
  • Se agregaron anulaciones nativas para ucrtbase y api-ms-win-crt-private-l1-1-0 través de winecfg (y ejecutó el juego; se bloqueó)
  • ¿Hizo todo el "golpe a un EXE rediseñado de VC con cabextract " (y ejecutó el juego; funcionó)

@YellowApple tal vez sea un tiro a ciegas, pero ¿puedes intentar instalar dotnet 4.8 a través de protontricks también? Pude usar el mouse en la pantalla de inicio / carga.

@Amarillo

Lo haré @qsniyg (tan pronto como consiga que Vagrant coopere). ¿Están todas estas funciones implementadas pero eliminadas o algo así?

Están implementados, pero Windows usa estos api-ms-win-... dlls que básicamente solo importan desde otros dlls (advapi32, kernel32, ucrtbase, etc.). Supongo que wine agrega las funciones a esos dlls según sea necesario para asegurarse de que sean correctos.

Es posible que el juego vuelva a bloquearse en alguna otra función no implementada de una de esas API. Siéntase libre de agregarlos usted mismo o hacérmelo saber. Con suerte, después de un poco de iteración, podremos encontrar qué funciones son necesarias y luego enviarlas en sentido ascendente a wine :)

@Yarwin @tkamat Tengo el presentimiento de que la instalación de protontricks de dotnet4.8 puede estar causando su problema (aunque parecía que me permitía usar el lanzador previsto, el mouse tenía que controlarse a través del controlador en el juego real). Lo instalé también y no pude hacer funcionar la solución de
Terminé eliminando $COMPATDATA/2615501 completo y pasé por el proceso de verificación de archivos tanto para Proton 5.0 como para Bannerlord. Después de eso, el método cabextract funcionó (no olvides que tendrás que editar $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Configs/engine_config.txt nuevamente para configurar brightness_calibrated = 1 ). Esto puede resolver su problema sea cual sea la causa.

+1 porque el bloqueo se debe al ahorro. También pude terminar el tutorial hasta que un bloqueo me hizo cerrarlo, ahora ha aparecido una nueva carpeta en $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Game Saves .

@YellowApple tal vez sea un tiro a ciegas, pero ¿puedes intentar instalar dotnet 4.8 a través de protontricks también? Pude usar el mouse en la pantalla de inicio / carga.

No parece haber tenido ningún efecto para mí.

+1 porque el bloqueo se debe al ahorro. También pude terminar el tutorial hasta que un bloqueo me hizo cerrarlo, ahora ha aparecido una nueva carpeta en $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Game Saves .

Sí, también encontré ese bloqueo posterior al tutorial. Un poco pateándome a mí mismo por no solo esperarlo y ver si eventualmente se habría destrabado como lo hacen estos otros save-hangs.

@ChemiKyle gracias por la sugerencia, acabo de terminar el tutorial pero ahora estoy atascado en la pantalla de notificación porque el cursor de mi mouse desapareció. Pasé un par de minutos jugando con el joystick para ver si es invisible, pero no funciona jajaja. Siento que el problema del mouse no debería ser demasiado difícil de solucionar en general, considerando que la entrada del controlador ha estado funcionando bien. Mis registros de vapor tienen una advertencia sobre GetMouseMovePointsEx enviado un montón de veces, pero por lo que puedo decir, esa función ya está implementada en Wine.

@YellowApple @tkamat He creado un parche pirata para GetMouseMovePointsEx, no lo he probado, por lo que podría estar mal, pero ¿te importaría

https://gist.github.com/qsniyg/4ba247c7398e3a1926988e3f6ca252ce#file -getmousemovepointsex-patch

Está escrito en contra de la preparación de vinos, por lo que es posible que deba aplicarlo manualmente.

@qsniyg Acabo de probar un prefijo nuevo con ambos parches; sin dados con ninguno. La entrada del mouse todavía está rota y aún falla debido a esa misma función no implementada. Registros de la ejecución parcheada.

EDITAR: ah, parece que el parche fue para v f wprintf mientras que el bloqueo se debe a v s wprintf. Déjame ver si puedo arreglar eso ...

@YellowApple Darn, bueno, al menos valió la pena +rawinput,+win,+cursor,+dinput,+xinput probablemente brindaría mucha información sobre el problema (aunque es posible que deba comprimir .gz el registro ... :)

De todos modos, aquí está el parche vswprintf: https://gist.github.com/qsniyg/4ba247c7398e3a1926988e3f6ca252ce#file -vswprintf-patch

Maldita sea, eso funcionó (aunque lo parcheé como _o___stdio_common_vswprintf(int64 wstr long wstr ptr ptr) , ya que estaba tratando de hacer coincidir los documentos de Microsoft lo más cerca posible; supongo que un puntero es un puntero, pero quién sabe con Wine, lol).

Intentaré obtener algunos registros con esas banderas para que podamos avanzar un poco en este problema del mouse.

¡Bueno saber! Los envió en :)

https://source.winehq.org/patches/data/182375
https://source.winehq.org/patches/data/182376

Tampoco sé por qué vino lo hizo de esa manera, solo copié cómo declararon vswprintf de una declaración anterior en el archivo :)

Hola, agregué la aplicación a Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=38834&iTestingId=107964

@qsniyg ¿Quieres vincular los errores a la aplicación o debería?

@tomhobson ¡ Adelante! (No soy de ninguna manera parte del equipo de desarrollo de vinos, solo escribo parches y me avergüenzo de la lista de correo porque siempre me sale algo mal jaja)

@tomhobson ¡ Adelante! (No soy de ninguna manera parte del equipo de desarrollo de vinos, solo escribo parches y me avergüenzo de la lista de correo porque siempre me sale algo mal jaja)

Si escribe parches, parece que es parte del equipo de desarrollo del vino :)

Ok, he vinculado el error: https://bugs.winehq.org/show_bug.cgi?id=36873

No estoy seguro de cómo / si vincula los parches al error. Pero cuando se fusionen, podemos abordar el siguiente.

¿Hay algún error que me haya perdido?

Así que el "estado del arte" con todos los parches aquí todavía requiere esencialmente un mando de algún tipo para controlar los menús. ¿Está bien? Solo verificando que el problema del mouse nunca se haya resuelto, ni siquiera experimentalmente.

@allquixotic : eso es correcto.

¡Hola chicos! No estoy jugando en Linux ni en Wine, pero tuve un problema similar: el gamepad estaba bien para el cursor del mouse, pero no para el mouse real.

Juego en Shadow (computadora distante) y cuando configuro "capturar cursor", el problema simplemente desapareció. No sé exactamente cómo funciona Wine, pero tal vez si esta opción también está disponible, puedes probarla.

Salud

¡Hola chicos! No estoy jugando en Linux ni en Wine, pero tuve un problema similar: el gamepad estaba bien para el cursor del mouse, pero no para el mouse real.

Juego en Shadow (computadora distante) y cuando configuro "capturar cursor", el problema simplemente desapareció. No sé exactamente cómo funciona Wine, pero tal vez si esta opción también está disponible, puedes probarla.

Salud

Gracias por la info. ¿Esta configuración de cursor de captura está dentro de bannerlord?

Gracias por la info. ¿Esta configuración de cursor de captura está dentro de bannerlord?

Creo que se refiere a la solución de transmisión. Podría valer la pena intentarlo para probar si permitir que Wine tome el control exclusivo del mouse podría funcionar.

La única configuración relacionada con el mouse en engine_config.txt parece ser la siguiente:

invert_mouse = 0
mouse_sensitivity_coefficient = 0.5000
control_mouse_movement_y_scale = 1.5000
control_mouse_movement_max_accumulation = 40.0000
control_mouse_movement_accumulation_decay_speed = 100.0000

Como era de esperar, modificarlos no parece ayudar con el problema.

Gracias por la info. ¿Esta configuración de cursor de captura está dentro de bannerlord?

Creo que se refiere a la solución de transmisión. Podría valer la pena intentarlo para probar si permitir que Wine tome el control exclusivo del mouse podría funcionar.

sí, quise decir exactamente eso.

@ElCaconym lo siento si no ayuda :(

Si alguien está disponible para hacer la prueba (todavía estoy trabajando)

Encontré algo que podría ser útil aquí:
https://askubuntu.com/questions/968252/ubuntu-17-10-mouse-problem-in-wine

Si alguien está disponible para hacer la prueba (todavía estoy trabajando)
Encontré algo que podría ser útil aquí:
https://askubuntu.com/questions/968252/ubuntu-17-10-mouse-problem-in-wine

Esa fue la idea que acabo de tener. Habilitar esta opción podría ayudar potencialmente,
Automatically capture the mouse in full-screen windows
como recuerdo que otros juegos tenían al menos problemas comparables con los cursores del mouse en Wine.

@tomhobson : ya lo intenté; sin suerte.

Los mensajes " aquí :

Comenzamos a usar GetMouseMovePointsEx para algunas entradas de movimiento del mouse. ¿Quizás eso no esté implementado en WINE? Sin embargo, no se usa para clics del mouse.

Ejecutar con + rawinput, + win, + cursor, + dinput, + xinput no parece producir ningún registro esclarecedor, al menos a primera vista; en particular, al hacer clic, obtiene lo habitual:

0014:trace:cursor:X11DRV_RawButtonEvent raw button 0 (raw: 1) up
0014:trace:cursor:X11DRV_RawButtonEvent raw button 0 (raw: 1) down

(dependiendo de si usa el clic izquierdo o derecho)

@ElCaconym ¿Podrías compartir el registro? El registro completo puede contener más información que podría ayudar a depurar el problema :)

Por supuesto; adjunto. WINEDEBUG: + err, + fixme, + rawinput, + win, + cursor, + dinput, + xinput.

No estoy usando proton, eso sí: es wine-staging 5.4 con todos los parches de staging, sin parches personalizados (ni siquiera el que se mencionó anteriormente; quería solucionar el problema del mouse antes de aplicar el parche vfwprintf / vswprintf) y dxvk 1.6 . Winetricks: vcrun2010, vcrun2015 y dotnet48 (solo el último puede ser necesario).

Lancé el juego y, para no contaminar los registros, evité mover el mouse hasta llegar a la pantalla de selección de gamma. Luego moví el cursor sobre el botón "Aceptar" e hice clic con el botón izquierdo. Luego, maté el juego de otro término.

El archivo:

stderr_bannerlord.log.gz

@ElCaconym Quizás estén comprobando que el mouse está en la pantalla.

Esta función se está utilizando en el menú. Me sorprendería si esto no estuviera relacionado con el problema del menú.

¿Está ejecutando monitores múltiples o individuales?

Monitor único.

@ElCaconym Huh interesante, también está recortando el cursor en cada cuadro, como en AoT2. Me pregunto si este parche ayudaría. https://source.winehq.org/patches/data/181257 Su objetivo era solucionar un problema con el movimiento del cursor del mouse registrado incorrectamente, no clics, por lo que puede ser inútil en este caso, pero quién sabe, no debería ' Aunque duele :)

El segundo clic crea una ventana de clip a pantalla completa:

0014:trace:cursor:X11DRV_RawButtonEvent raw button 0 (raw: 1) down
0014:trace:cursor:X11DRV_EnterNotify hwnd 0x10020/7000008 pos 1116,1057 detail 1
004b:trace:cursor:X11DRV_EnterNotify hwnd 0x30052/a600001 pos 1116,1057 detail 1
004b:trace:cursor:X11DRV_ButtonPress hwnd 0x30052/a600001 button 0 pos 1116,1057
004b:trace:cursor:clip_fullscreen_window win 0x30052 clipping fullscreen
004b:trace:win:WIN_CreateWindowEx (null) L"Message" ex=00000000 style=00000000 0,0 0x0 parent=0xfffffffffffffffd menu=(nil) inst=0x140000000 params=(nil)
004b:trace:win:dump_window_styles style:
004b:trace:win:dump_window_styles exstyle:
004b:trace:win:GetWindowRect hwnd 0x20094 (0,0)-(0,0)
004b:trace:win:GetWindowRect hwnd 0x20094 (0,0)-(0,0)
004b:trace:win:WINPOS_GetMinMaxInfo 106 106 / -3 -3 / 1932 1092 / 112 27
004b:trace:win:GetWindowRect hwnd 0x20094 (0,0)-(112,27)
004b:trace:win:invalidate_dce 0x20094 parent 0x10026 (0,0)-(112,27) ((0,0)-(0,0))
004b:trace:win:invalidate_dce 0x70058: hwnd 0x30052 dcx 00000012 Cache 
004b:trace:win:invalidate_dce 0x1005a: hwnd 0x30052 dcx 00000013 Cache 
004b:trace:win:invalidate_dce 0x12004c: hwnd 0x10020 dcx 00000013 Cache 
004b:trace:win:invalidate_dce 0x33004a: hwnd 0x10020 dcx 00000013 Cache InUse
004b:trace:win:invalidate_dce 0x40041: hwnd 0x10020 dcx 00000013 Cache InUse
004b:trace:win:set_window_pos win 0x20094 surface (nil) -> (nil)
004b:trace:win:WIN_CreateWindowEx hwnd 0x20094 cs 0,0 0x0 (0,0)-(112,27)
004b:trace:win:GetWindowRect hwnd 0x20094 (0,0)-(112,27)
004b:trace:win:invalidate_dce 0x20094 parent 0x10026 (0,0)-(112,27) ((0,0)-(112,27))
004b:trace:win:invalidate_dce 0x70058: hwnd 0x30052 dcx 00000012 Cache 
004b:trace:win:invalidate_dce 0x1005a: hwnd 0x30052 dcx 00000013 Cache 
004b:trace:win:invalidate_dce 0x12004c: hwnd 0x10020 dcx 00000013 Cache 
004b:trace:win:invalidate_dce 0x33004a: hwnd 0x10020 dcx 00000013 Cache InUse
004b:trace:win:invalidate_dce 0x40041: hwnd 0x10020 dcx 00000013 Cache InUse
004b:trace:win:set_window_pos win 0x20094 surface (nil) -> (nil)
004b:trace:win:WIN_CreateWindowEx created window 0x20094
004b:trace:cursor:X11DRV_XInput2_Enable XInput2 v2.1 available
004b:trace:cursor:grab_clipping_window clipping to (0,0)-(1920,1080) win 7000001
0014:trace:cursor:clip_cursor_notify clip hwnd changed from (nil) to 0x20094
004b:trace:cursor:X11DRV_EnterNotify hwnd 0x30052/a600001 pos 1116,1057 detail 2
004b:trace:cursor:X11DRV_EnterNotify pos 1116,1057 old serial 24052, ignoring
004b:trace:win:WINPOS_WindowFromPoint scope 0x10020 (1116,1057) returning 0x30052
004b:trace:cursor:SetCursor 0x20070
004b:trace:win:WINPOS_WindowFromPoint scope 0x10020 (1116,1057) returning 0x30052
004b:trace:win:GetWindowRect hwnd 0x30052 (0,0)-(1920,1080)
004b:trace:cursor:ClipCursor Clipping to (null)

Con ese parche, los clics del mouse aún se ignoran. Y también obtengo la siguiente secuencia con regularidad:

004b:trace:cursor:ClipCursor Clipping to (null)
004b:trace:cursor:ungrab_clipping_window no longer clipping

... lo que me hizo dudar al principio de que el parche se aplicó correctamente, así que recompillé vino completamente desde cero (en lugar de usar mi directorio de compilación anterior), y usé otro prefijo (prefijo de instalación de autotools, quiero decir, no un prefijo de vino) solo en caso también. Los registros en cuestión persisten, aunque es de esperar.

Ah está bien, tiene sentido. Fue un poco arriesgado jaja.

Por si acaso, ¿podrías probar con vino solo, en lugar de una puesta en escena? Wine-staging tiene un parche rawinput que evita hacer clic en juegos como Mass Effect: Andromeda. Alternativamente, podría simplemente volver a compilar wine-staging sin el parche rawinput.

Sin embargo, solo estoy sacando cosas de un sombrero, esto tampoco podría funcionar.

Probado con vino sin parches de puesta en escena: sin cambios. Los registros cambian un poco, por supuesto; por ejemplo, ahora obtengo:

004c:trace:cursor:X11DRV_ButtonPress hwnd 0x3003a/a000001 button 2 pos 163,1067

... en los clics del mouse en lugar de las líneas X11DRV_RawButtonEvent anteriores, pero más allá de eso, los clics aún se ignoran. Esta nueva prueba no incluyó su parche anterior, eso sí (lo probará ahora por si acaso).

Sin embargo, solo estoy sacando cosas de un sombrero, esto tampoco podría funcionar.

Por supuesto, ¡gracias por intentarlo! :-)

Podría ser que ese parche realmente podría tener un efecto, ya que creo que el problema no radica en la detección de la entrada, sino más bien en el lugar donde se muestra el cursor y donde el juego cree que está ubicado.

Si ese es el caso, el juego debe pensar que el puntero está bloqueado en una posición muy específica (¿quizás en la esquina superior izquierda?) Porque el juego no parece reaccionar en absoluto, sin importar dónde mueva el puntero. Algunos otros juegos producen problemas en wine donde el puntero se muestra en un lugar diferente de donde el juego cree que está, pero todavía existe cierta correlación entre dónde el juego cree que está y dónde realmente está; por ejemplo, podría estar desplazado hacia arriba unas pocas docenas de píxeles o algo así.

El puntero "real" parece estar donde lo dejó la última vez que utilizó el mando. Si cambias de gamepad a mouse y de nuevo a gamepad, el cursor salta a la última ubicación en la que usaste el gamepad.

Si mueves el cursor a un botón con el gamepad y luego haces clic con el mouse, ¿se registra?

Probé con vino de vainilla (sin parches de preparación) _y_ parche de qsniyg y sin cambios.

@ Krypton-Nova: No puedo probar eso personalmente, sin mando. Aunque imagino que si hubiera una herramienta que pudiera usarse para simular un gamepad virtual y mapearlo al mouse / teclado (lo contrario de algo como esta herramienta ), podría funcionar como una forma de evitar el problema del mouse.

Editar: ¿posiblemente MoltenGamepad ?

Tengo un mando para juegos y me funcionó. Solo por curiosidad si lo hace con otros :)

@ Krypton-Nova Sí, puedo confirmar que mover el cursor con el gamepad y hacer clic con el mouse sí funciona. Parece sugerir que el problema está relacionado con el seguimiento del mouse mientras se mueve, no con los clics del mouse.

El mouse solo también funciona mientras se controla al personaje. El juego puede detectar el movimiento del mouse, pero la posición del cursor no se actualiza; una educación básica en física sugiere que este problema no tiene solución . Steam tiene una captura de mouse incorporada, creo, puedo probar cuando salgo del trabajo si nadie lo logra.

En base a esto, y sin un gamepad conectado, agregué el registro del segundo parámetro pasado por el juego a GetMouseMovePointsEx ( lppt ) y se actualiza:

0084:fixme:win:GetMouseMovePointsEx GetMouseMovePointsEx lppt: [736][694]

Y más abajo, en la misma pantalla:

0084:fixme:win:GetMouseMovePointsEx GetMouseMovePointsEx lppt: [1042][656]

Esto sugiere que el juego _no_ sabe dónde está el cursor en algún nivel; hace que sea aún más extraño que mover el cursor con un gamepad funcione pero con un mouse no.

¿Quizás la función GetMouseMovePointsEx se usa para suavizar el mouse y necesita algunos puntos más devueltos para la interpolación?
El truco de @qsniyg solo

Ni siquiera puedo llevar el juego al menú principal, simplemente se bloquea cuando presiono la pantalla de carga.

Ni siquiera puedo llevar el juego al menú principal, simplemente se bloquea cuando presiono la pantalla de carga.

Mismo. He probado todos los diferentes lanzamientos originales de Proton y un par de lanzamientos de GloriousEggroll.

Creo que lo que me da curiosidad es qué está haciendo exactamente Bannerlord con el resultado. Mi corazonada es que, al igual que con el error de OpenTk, el spam de registro de GetMouseMovePointsEx es una pista falsa, y cualquier código que esté manejando la respuesta (ya sea una falla o puntos devueltos reales) está funcionando en silencio. Sin embargo, es difícil decirlo sin ver el código fuente de Bannerlord.

¿Quizás la función GetMouseMovePointsEx se usa para suavizar el mouse y necesita algunos puntos más devueltos para la interpolación?
El truco de @qsniyg solo

Agregar un segundo punto (quizás un duplicado del primero) parece factible. Le daré una vuelta a mi copia local. Algo como esto:

/***********************************************************************
 * GetMouseMovePointsEx [USER32]
 *
 * RETURNS
 *     Success: count of point set in the buffer
 *     Failure: -1
 */
int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOINT ptout, int count, DWORD res) {

    if((size != sizeof(MOUSEMOVEPOINT)) || (count < 0) || (count > 64)) {
        SetLastError(ERROR_INVALID_PARAMETER);
        return -1;
    }

    if(!ptin || (!ptout && count)) {
        SetLastError(ERROR_NOACCESS);
        return -1;
    }

    FIXME("(%d %p %p %d %d) hack\n", size, ptin, ptout, count, res);
    FIXME("    Input: %d %d\n", ptin->x, ptin->y);

    if (count > 0) {
        POINT pos;
        GetCursorPos(&pos);

        ptout[0].x = pos.x;
        ptout[0].y = pos.y;
        ptout[0].time = GetTickCount();
        ptout[0].dwExtraInfo = 0;
        FIXME("    Output 0: %d %d\n", pos.x, pos.y);

        if (count > 1) {
            ptout[1].x = pos.x;
            ptout[1].y = pos.y;
            ptout[1].time = GetTickCount();
            ptout[1].dwExtraInfo = 0;
            FIXME("    Output 1: %d %d\n", pos.x, pos.y);
            return 2;
        }

        return 1;
    }

    SetLastError(ERROR_POINT_NOT_FOUND);
    return -1;
}

Ni siquiera puedo llevar el juego al menú principal, simplemente se bloquea cuando presiono la pantalla de carga.

@giantrat , @NovenTheHero : ¿Pueden agregar PROTON_LOG=1 a sus opciones de lanzamiento (por ejemplo, PROTON_LOG=1 %command% ) y proporcionar el ~/steam-261550.log resultante (preferiblemente como un enlace a, por ejemplo, Pastebin o Github Esencia)?

Aquí tienes: Gist

@NovenTheHero elimina tu prefijo de vino y luego sigue estos pasos:

  1. Cambie el nombre de Bannerlord.exe y Bannerlord_BE.exe a ManagedStarter.exe y ManagedStarter_BE.exe
  2. ejecutar protontricks 261550 vcrun2015
  3. ejecutar protontricks 261550 vcrun2017
  4. Agregue anulaciones nativas para ucrtbase y api-ms-win-crt-private-l1-1-0 a través de winecfg
  5. Ejecute estos comandos:
    cd /home/$USER/.steam/steam/steamapps/compatdata/261550/pfx/drive_c/windows/system32/
    wget "https://aka.ms/vs/16/release/vc_redist.x64.exe"
    cabextract vc_redist.x64.exe
    cabextract a10
  6. Inicie el juego y use un controlador para los menús. Esto debería ser suficiente para entrar en batallas personalizadas y comenzar la campaña, aunque probablemente se encontrará con algunos problemas de entrada y se congelará al guardar.

@NovenTheHero Si aún no está pasando por alto el lanzador, intente hacerlo (es decir, cd "~/.steam/steam/steamapps/common/Mount & Blade II Bannerlord/bin/Win64_Shipping_Client" && mv TaleWorlds.MountAndBlade.Launcher.exe TaleWorlds.MountAndBlade.Launcher.exe.old && cp Bannerlord.exe TaleWorlds.MountAndBlade.Launcher.exe ). Alternativamente (si el lanzador funciona para usted y desea usarlo), intente simplemente copiar Bannerlord.exe en ManagedStarter.exe .

Ese error de ManagedStarter se debe a que TaleWorlds cambió el nombre del EXE sin necesariamente volver a compilarlo (si lo he entendido desde que lo leí en los foros).

steam-261550.log
aquí tienes, ¡gracias por esa opción de lanzamiento por cierto!

@giantrat Parece que solo necesita construir un Wine / Proton personalizado con el parche de qsniyg más arriba o seguir los pasos de anulación nativa (vea el comentario de @tkamat arriba).

La actualización más reciente (e1.0.1) parece haber solucionado el problema del lanzador. Desafortunadamente, incluso después de seguir todos los pasos mencionados, ni siquiera puedo hacer que el controlador funcione (tengo un controlador de vapor, no uno típico, ¿podría ser eso?)

También probé mi Steam Controller y no funcionó. Creo que es porque Steam Controller imita a un mouse.

bien con el comentario de tkamat, el lanzador ahora funciona, pero todavía me cuelgo después de la introducción de taleworlds.

NVM, ¡llegué a la calibración de brillo después de ejecutarlo nuevamente! Pog.

@NovenTheHero asegúrese de que el joystick izquierdo de sus controladores esté configurado para el movimiento del joystick, NO para el movimiento del mouse. Eso debería hacer el truco.

oh no hay entrada de mouse en la pantalla de brillo, se siente mal. probará los scripts anteriores.

@tkamat asumiendo que te refieres al controlador de vapor, todos los ejes están configurados como movimiento de joystick, ninguno está funcionando actualmente ... También probé todos los ejes locos posibles en un joystick HOTAS sin resultado.

Agregar un segundo punto idéntico a la salida de GetMouseMovePointsEx no tuvo ningún efecto. También es evidente (consistente con los hallazgos de @ElCaconym ) que la función está siendo llamada con posiciones válidas del mouse (es decir, el juego sabe claramente dónde está el mouse en algún nivel); Incluso intenté mover el mouse a cada una de las cuatro esquinas de mi pantalla y obtuve resultados correspondientes a las dimensiones de mi pantalla.

Teoría salvaje.

OpenTK, que supongo que es una biblioteca que TaleWorlds está usando para la GUI, no soporta DPI altos. Este es un problema de SLD2, que también es utilizado por winebus.sys, que es la interfaz HID dentro del vino. Mi opinión es que el alto valor predeterminado de DPI está sobrecargando SLD2 / winebus con la entrada y no es capaz de ponerse al día. Entonces, es posible que si podemos cambiar el DPI del mouse en la configuración a algo más bajo, entonces el juego recogerá el movimiento del mouse.

En otra nota, ejecutar hid_test.exe (que se encuentra en test.winehq.org) en cmd en el prefijo wine para Bannerlord muestra que se detectó un mouse Wine HID y mi receptor inalámbrico, pero nada más. Esto podría estar de mi lado debido a las reglas de udev, pero me pregunto si, nuevamente, debido a mi incapacidad para cambiar el DPI de mi mouse predeterminado (¡Maldito seas, Asus! ¡Haz ya una herramienta de configuración de Linux!) Entonces, nuevamente, SLD2 está siendo sobrecargado de información. O no lo está captando.

¡Tengo la selección de brillo funcionando!
@YellowApple estuvo cerca, era importante que los dos puntos

int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOINT ptout, int count, DWORD res) {

    if((size != sizeof(MOUSEMOVEPOINT)) || (count < 0) || (count > 64)) {
        SetLastError(ERROR_INVALID_PARAMETER);
        return -1;
    }

    if(!ptin || (!ptout && count)) {
        SetLastError(ERROR_NOACCESS);
        return -1;
    }

    FIXME("(%d %p %p %d %d) stub\n", size, ptin, ptout, count, res);

    static LPMOUSEMOVEPOINT prev;

    if (count > 0) {
        POINT pos;
        GetCursorPos(&pos);

        ptout[0].x = pos.x;
        ptout[0].y = pos.y;
        ptout[0].time = GetTickCount();
        ptout[0].dwExtraInfo = 0;
        FIXME("    Output 0: %d %d\n", pos.x, pos.y);

        if (count > 1) {
            ptout[1].x = pos.x + 1;
            ptout[1].y = pos.y + 1;
            ptout[1].time = GetTickCount();
            ptout[1].dwExtraInfo = 0;
            FIXME("    Output 1: %d %d\n", pos.x + 1, pos.y + 1);
            return 2;
        }
        return 1;
    }

    SetLastError(ERROR_POINT_NOT_FOUND);
    return -1;
}

(o tal vez fue el parche que se lanzó hace un par de horas, no estoy seguro de haberlo probado antes de cambiar el código)

EDITAR: No se debió al parche, este código lo solucionó

¡Dulce! Reconstruyendo con eso ahora mismo.

Recibiendo algunos choques extraños, pero logró terminar una pelea 1v1 contra la IA, por lo que parece prometedor.

Hasta ahora todo va bien con ese ajuste. Fue capaz de jugar con los menús, crear un personaje, omitir el tutorial, regresar al campo de entrenamiento y completar todos los objetivos de entrenamiento con todas las armas. El único problema que he notado hasta ahora es que girar el mapa con el botón derecho del mouse solo funciona en una dirección (es decir, como un Zoolander inverso, el mapa solo girará a la izquierda, jejeje).

Creo que la única molestia que queda aquí es la larga caída al guardar, y no tengo ninguna pista para averiguar qué está causando eso, desafortunadamente.

Hasta ahora todo va bien con ese ajuste. Fue capaz de jugar con los menús, crear un personaje, omitir el tutorial, regresar al campo de entrenamiento y completar todos los objetivos de entrenamiento con todas las armas. El único problema que he notado hasta ahora es que girar el mapa con el botón derecho del mouse solo funciona en una dirección (es decir, como Zoolander, el mapa se niega a girar a la izquierda, jejeje).

Creo que la única molestia que queda aquí es la larga caída al guardar, y no tengo ninguna pista para averiguar qué está causando eso, desafortunadamente.

¿Funciona el mouse ahora o todavía usa un controlador de juegos?

¿Alguien se ha encontrado con este problema todavía?

Assertion: should not be reached at /vagrant/mono/mono/utils/mono-threads.c:1066

El juego me sigue congelando justo después de la creación del personaje con eso como mi única pista antes de que me vea obligado a matarlo.

¿Funciona el mouse ahora o todavía usa un controlador de juegos?

: mouse: el panel de juego ni siquiera está enchufado.

@YellowApple , podría intentar almacenar el punto de la llamada anterior de la función en una variable estática y luego pasarlo como el punto en el índice 1. Siento que están usando los dos puntos para calcular algún tipo de delta del mouse.
Me voy a dormir ahora.

Definitivamente vale la pena intentarlo. Pondré ese código y veré si puedo preparar algo en ese sentido. La solución a largo plazo sería, en última instancia, tener un búfer estático de hasta 64 de estos y recorrerlos continuamente (es decir, implementar completamente la llamada a la API en lugar del enfoque actual de pirateo conjunto, jajaja).

Esto me recuerda un problema, el año pasado (se ha parcheado en el juego desde entonces), Naval Action tenía problemas en el protón donde no detectaba la ubicación del cursor después de cambiar el contexto de análisis del mouse (de mouse en un menú), y si tenía el menú abierto, alt-tabulaba hacia afuera y hacia atrás, lo detectaría y el menú funcionaría. Parece algo sencillo pero, ¿alguien lo ha probado?

No había pensado en probar las tabulaciones alternativas, pero lo intenté y, lamentablemente, no me sirvió de nada. :decepcionado:

¿Alguien sabe si ese error mono vagabundo que me congela está relacionado con Steam o con Mount and Blade?

@YellowApple ¿Te importaría explicar cómo y dónde parcheaste ese código en Wine? Soy muy nuevo en la compilación de vino (pero he estado interesado en hacer que varios juegos funcionen en Linux durante años) y no llego a donde se supone que debe ir. Hace un par de semanas conseguí que una amiga mía se cambiara a Linux a tiempo completo y estaba ansiosa por este juego, así que sería genial si pudiera hacerlo funcionar para ella. No creo que vuelva pronto a Windows, pero tampoco quiero que se sienta decepcionada por no poder jugar el único juego que estaba esperando.

El cambio de versión de protones comenzó a descargar desde 0% y eliminó la descarga de 31 GB dos veces seguidas. Casi me da un ataque al corazón.

De acuerdo, me cuesta incluso mantenerlo en el disco, ya que Steam lo elimina cada vez que lo instalo por completo. Estoy triste.

Me encanta la brillante colaboración que está ocurriendo aquí y me impide reembolsarla en Steam. No soy un experto en tecnología, pero puedo ver que hay avances aquí. Con las cosas simples anteriores, puedo completar casi todo el proceso de creación de personajes antes de que el juego se bloquee, lo que me obliga a reiniciar físicamente mi computadora, pero todos ustedes me dan esperanza =).

Para que el juego guardado se cuelgue, es posible que tengamos que involucrar a Codeweavers (básicamente los mantenedores centrales de Wine). Ojalá se den cuenta de lo popular que es este juego y trabajen en él. Incluso si logramos que funcione el soporte del mouse, el bloqueo de guardado sigue siendo una razón para que este juego sea clasificado como basura.

El controlador no estaba ayudando, todavía no podía iniciar el juego, supongo que estoy esperando un día.

@giantrat ¿

@coltondrg El archivo fuente en cuestión es dlls/user32/input.c . Querría encontrar la definición de función para GetMouseMovePointsEx y reemplazarla con lo siguiente:

(haga clic para mostrar)

/***********************************************************************
 * GetMouseMovePointsEx [USER32]
 *
 * RETURNS
 *     Success: count of point set in the buffer
 *     Failure: -1
 */
int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOINT ptout, int count, DWORD res) {

    if((size != sizeof(MOUSEMOVEPOINT)) || (count < 0) || (count > 64)) {
        SetLastError(ERROR_INVALID_PARAMETER);
        return -1;
    }

    if(!ptin || (!ptout && count)) {
        SetLastError(ERROR_NOACCESS);
        return -1;
    }

    FIXME("(%d %p %p %d %d) hack\n", size, ptin, ptout, count, res);
    FIXME("    Input: %d %d\n", ptin->x, ptin->y);

    if (count > 0) {
        POINT pos;
        GetCursorPos(&pos);

        ptout[0].x = pos.x;
        ptout[0].y = pos.y;
        ptout[0].time = GetTickCount();
        ptout[0].dwExtraInfo = 0;
        FIXME("    Output 0: %d %d\n", pos.x, pos.y);

        if (count > 1) {
            ptout[1].x = pos.x + 1;
            ptout[1].y = pos.y + 1;
            ptout[1].time = GetTickCount();
            ptout[1].dwExtraInfo = 0;
            FIXME("    Output 1: %d %d\n", pos.x, pos.y);
            return 2;
        }

        return 1;
    }

    SetLastError(ERROR_POINT_NOT_FOUND);
    return -1;
}

Si está creando la misma versión de Wine que usa Proton, puede guardar lo siguiente en un archivo (por ejemplo, butterlord.patch ), cd en el árbol de origen de Wine y ejecutar git apply path/to/butterlord.patch (esto también incluye los parches para corregir el bloqueo posterior a la creación del personaje):

(haga clic para mostrar)

diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 668b8c02fb..58f23257e0 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -150,7 +150,8 @@
 @ stub _o___stdio_common_vfprintf_p
 @ stub _o___stdio_common_vfprintf_s
 @ stub _o___stdio_common_vfscanf
-@ stub _o___stdio_common_vfwprintf
+# PATCHED:
+@ cdecl _o___stdio_common_vfwprintf(int64 ptr wstr ptr ptr) ucrtbase._o___stdio_common_vfwprintf
 @ stub _o___stdio_common_vfwprintf_p
 @ stub _o___stdio_common_vfwprintf_s
 @ stub _o___stdio_common_vfwscanf
@@ -160,7 +161,8 @@
 @ stub _o___stdio_common_vsprintf_p
 @ cdecl _o___stdio_common_vsprintf_s(int64 ptr long str ptr ptr) ucrtbase._o___stdio_common_vsprintf_s
 @ stub _o___stdio_common_vsscanf
-@ stub _o___stdio_common_vswprintf
+# PATCHED:
+@ cdecl _o___stdio_common_vswprintf(int64 wstr long wstr ptr ptr) ucrtbase._o___stdio_common_vswprintf
 @ stub _o___stdio_common_vswprintf_p
 @ stub _o___stdio_common_vswprintf_s
 @ stub _o___stdio_common_vswscanf
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 2251f9f56a..281e2e7c9e 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -814,7 +814,8 @@
 @ stub _o___stdio_common_vfprintf_p
 @ stub _o___stdio_common_vfprintf_s
 @ stub _o___stdio_common_vfscanf
-@ stub _o___stdio_common_vfwprintf
+# PATCHED:
+@ cdecl _o___stdio_common_vfwprintf(int64 ptr wstr ptr ptr) MSVCRT__stdio_common_vfwprintf
 @ stub _o___stdio_common_vfwprintf_p
 @ stub _o___stdio_common_vfwprintf_s
 @ stub _o___stdio_common_vfwscanf
@@ -824,7 +825,8 @@
 @ stub _o___stdio_common_vsprintf_p
 @ cdecl _o___stdio_common_vsprintf_s(int64 ptr long str ptr ptr) MSVCRT__stdio_common_vsprintf_s
 @ stub _o___stdio_common_vsscanf
-@ stub _o___stdio_common_vswprintf
+# PATCHED:
+@ cdecl _o___stdio_common_vswprintf(int64 wstr long wstr ptr ptr) MSVCRT__stdio_common_vswprintf
 @ stub _o___stdio_common_vswprintf_p
 @ stub _o___stdio_common_vswprintf_s
 @ stub _o___stdio_common_vswscanf
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 46f78cbce8..40ed0f4692 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -1280,7 +1280,30 @@ int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOI
         return -1;
     }

-    FIXME("(%d %p %p %d %d) stub\n", size, ptin, ptout, count, res);
+    FIXME("(%d %p %p %d %d) hack\n", size, ptin, ptout, count, res);
+    FIXME("    Input: %d %d\n", ptin->x, ptin->y);
+
+    if (count > 0) {
+        POINT pos;
+        GetCursorPos(&pos);
+
+        ptout[0].x = pos.x;
+        ptout[0].y = pos.y;
+        ptout[0].time = GetTickCount();
+        ptout[0].dwExtraInfo = 0;
+        FIXME("    Output 0: %d %d\n", pos.x, pos.y);
+
+        if (count > 1) {
+            ptout[1].x = pos.x + 1;
+            ptout[1].y = pos.y + 1;
+            ptout[1].time = GetTickCount();
+            ptout[1].dwExtraInfo = 0;
+            FIXME("    Output 1: %d %d\n", pos.x, pos.y);
+            return 2;
+        }
+        
+        return 1;
+    }

     SetLastError(ERROR_POINT_NOT_FOUND);
     return -1;

Eso remendará su vino de manera que sea exactamente idéntico al que estoy usando.

@giantrat ¿

sí, y ahora tengo el maldito bloqueo de la pantalla de carga, incluso después de aplicar lo que ayudó la última vez.

@YellowApple Eres increíble. El archivo de parche que pegó también incluye los parches anteriores para el bloqueo, ¿verdad? (no importa, puedo leer) Ya había logrado hacer una compilación con esos parches, pero el juego no detectaba el controlador en mi computadora, por lo que no pude llegar lo suficientemente lejos para ver si eso era realmente efectivo. Además, no estoy seguro de si esto hace alguna diferencia, pero he estado compilando mis compilaciones usando el script proton-tkg (de wine-tkg-git), por lo que puedo arrastrar archivos de parche personalizados y hacer que el script escupe un Buen protón para que lo arrastre a las herramientas de compatibilidad. Supongo que eso significa que mi compilación también tiene todos los parches tkg, que espero que no estén en conflicto o que probablemente rompan algo más.

Solo quería actualizar, después de aplicar el parche de @YellowApple anterior, el juego ahora funciona completamente para mí, ¡incluidas las entradas del mouse! El primer guardado de la campaña congeló el juego durante unos minutos y terminó fallando al final, pero después de reabrir el juego, el guardado se cargó correctamente. Los guardados posteriores hacen que el juego se congele durante unos segundos, pero no se bloquean, ¡así que todavía puedo jugar sin problemas! Tengo un Ryzen 2600, RX 580 y un SSD sata, unas especificaciones de gama media bonitas, lo que también es alentador. Muchas gracias a todos en este hilo que contribuyeron a la solución, y no dudes en preguntarme cualquier otra cosa :). Con suerte, esto se puede llevar al vino aguas arriba para que no tengamos que construir nosotros mismos.

EDITAR: Entonces, después de jugar alrededor de una hora de la campaña, parece que podría haber una pérdida de memoria, ya que el juego sigue usando más y más RAM mientras el rendimiento comienza a degradarse. Esto puede ser un problema con el juego en sí, considerando que vi que algunos usuarios de Windows también se quejan de problemas de rendimiento. Tengo 8 GB de RAM, por lo que sería interesante ver si esto le sucede a las personas con más RAM.

Y aquí está la versión ligeramente mejorada de GetMouseMovePointsEx , que corrige el error de rotación del mapa de Zoolander inverso y, aunque todavía está plagado de piratería, es probable que Good Enough ™ se envíe en sentido ascendente:

(haga clic para mostrar)

/***********************************************************************
 * GetMouseMovePointsEx [USER32]
 *
 * RETURNS
 *     Success: count of point set in the buffer
 *     Failure: -1
 */
int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOINT ptout, int count, DWORD res) {
    static INT last_x = 0;
    static INT last_y = 0;

    if((size != sizeof(MOUSEMOVEPOINT)) || (count < 0) || (count > 64)) {
        SetLastError(ERROR_INVALID_PARAMETER);
        return -1;
    }

    if(!ptin || (!ptout && count)) {
        SetLastError(ERROR_NOACCESS);
        return -1;
    }

    if (count > 0) {
        POINT pos;
        INT out_count = 1;
        GetCursorPos(&pos);

        ptout[0].x = pos.x;
        ptout[0].y = pos.y;
        ptout[0].time = GetTickCount();
        ptout[0].dwExtraInfo = 0;

        if (count > 1) {
            ptout[1].x = last_x;
            ptout[1].y = last_y;
            ptout[1].time = GetTickCount();
            ptout[1].dwExtraInfo = 0;
            out_count = 2;
        }

        last_x = pos.x;
        last_y = pos.y;

        return out_count;
    }

    SetLastError(ERROR_POINT_NOT_FOUND);
    return -1;
}

@qsniyg : ¿Quieres hacer los honores y enviarlo?

No tengo el juego actualmente, así que no puedo probarlo, pero ¿alguien tiene alguna salida de registro de bloqueo para el bloqueo del juego guardado? Casi suena como ese problema que tuvimos con los permisos de archivos.

@YellowApple, ¿te importaría crear una guía de "cómo hacer que el juego funcione desde cero para idiotas"?

No tengo el juego actualmente, así que no puedo probarlo, pero ¿alguien tiene alguna salida de registro de bloqueo para el bloqueo del juego guardado? Casi suena como ese problema que tuvimos con los permisos de archivos.

Dudo un poco que sea un problema de permisos. El juego está logrando salvarse, pero tarda entre 5 y 10 minutos en guardarse y simplemente se cuelga hasta que está listo. No sería sorprendente para mí jugar, excepto que el guardado automático se activa cada vez que comienzas una batalla y en la mayoría de los otros cambios de escena importantes.

@YellowApple, ¿te importaría crear una guía de "cómo hacer que el juego funcione desde cero para idiotas"?

El enfoque más amigable "para idiotas":

  • Descargue la compilación exacta de Proton que estoy usando: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz
  • Pégalo en ~/.steam/root/compatibilitytools.d
  • Extraerlo ( cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz )
  • Reiniciar Steam
  • Haz clic derecho en Bannerlord en tu biblioteca, haz clic en Propiedades y cambia la versión de Proton a "proton_5.0-local".
  • ???
  • Lucro

Obviamente, lo hace bajo su propio riesgo, con el entendimiento de que descargar, instalar y ejecutar archivos binarios aleatorios desde Internet es un asunto arriesgado y lleno de peligros. Caveat emptor. Se le recomienda encarecidamente que intente clonar el repositorio de Proton, aplicar los parches usted mismo y construir Proton en su propia máquina (y aunque sí, ese no es exactamente el enfoque más fácil de usar, es mucho más seguro que confiar en Internet extraños que no beban de tu cráneo, jejeje).

Con suerte, podemos hacer que estos parches se transmitan más temprano que tarde para que podamos evitar la necesidad de estas compilaciones personalizadas únicas de rinky-dink, jajaja.

Con suerte, podemos hacer que estos parches se transmitan más temprano que tarde para que podamos evitar la necesidad de estas compilaciones personalizadas únicas de rinky-dink, jajaja.

Como mínimo, siempre que estos parches no rompan otras cosas, ¿tal vez podrían colocarse en las populares compilaciones de Proton de terceros, como tkg o GE, por el momento? : 3 @GloriousEggroll?

@YellowApple, ¿te importaría crear una guía de "cómo hacer que el juego funcione desde cero para idiotas"?

El enfoque más amigable "para idiotas":

* Download the exact Proton build I'm using: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz

* Stick it in `~/.steam/root/compatibilitytools.d`

* Extract it (`cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz`)

* Restart Steam

* Right-click Bannerlord in your library, click Properties, and change the Proton version to "proton_5.0-local"

* ???

* Profit

Obviamente, lo hace bajo su propio riesgo, con el entendimiento de que descargar, instalar y ejecutar archivos binarios aleatorios desde Internet es un asunto arriesgado y lleno de peligros. Caveat emptor. Se le recomienda encarecidamente que intente clonar el repositorio de Proton, aplicar los parches usted mismo y construir Proton en su propia máquina (y aunque sí, ese no es exactamente el enfoque más fácil de usar, es mucho más seguro que confiar en Internet extraños que no beban de tu cráneo, jejeje).

Con suerte, podemos hacer que estos parches se transmitan más temprano que tarde para que podamos evitar la necesidad de estas compilaciones personalizadas únicas de rinky-dink, jajaja.

El problema es que cuando cambio la versión de protones se elimina todo Bannerlord y se empieza a descargar de nuevo. 😤

Eso no debería suceder, debería borrar la carpeta compatdata si degrada Proton pero nunca debería borrar todo el juego. En cualquier caso, deberías poder evitar la descarga haciendo una copia de seguridad de los archivos del juego y restaurándolos después de cambiar la versión de Proton. Puedes lograr esto haciendo literalmente una copia de la carpeta de instalación del juego o en Steam> Copia de seguridad y restauración de juegos

El retraso al guardar el juego es brutal. Puedo confirmar que impulsa la utilización de la CPU al 100% en las 12 CPU lógicas de mi sistema durante varios segundos (hasta aproximadamente 1 minuto para mí). El disco R / W durante este tiempo es bajo / inexistente, por lo que parece estar girando en otra cosa. No veo nada impreso en la consola cuando se ejecuta Steam mientras esto está sucediendo ... ¿hay alguna otra forma de habilitar más registros de protón / vino que pueda ayudar a diagnosticar el problema aquí?

Actualmente construyendo una versión parcheada de GE Proton. Informaré si funciona con el parche publicado aquí :)

@Amarillo

¿Qué parches aplicó exactamente?
¿Aplicar el parche git de tu publicación es suficiente? (Todavía estoy descargando Bannerlord, así que no pude probarlo todavía)

Además, ¿todavía necesitamos omitir el lanzador con este parche?

AmarilloApple

¿Qué parches aplicó exactamente?
¿Aplicar el parche git de tu publicación es suficiente? (Todavía estoy descargando Bannerlord, así que no pude probarlo todavía)

Además, ¿todavía necesitamos omitir el lanzador con este parche?

@elovin

Parece que el problema de inicio administrado se ha solucionado ahora con el parche más reciente. Entonces no.

En cualquier caso, no era necesario omitir el lanzador. Si cambia el nombre de Bannerlord.exe a ManagedStarter.exe, el lanzador funcionará bien.

@YellowApple @tomhobson
Puedo aplicar el parche a wine estable pero no a wine master porque ahora hay un parche en conflicto (¿ese parece ser su parche pero con un orden diferente de argumentos?) ,
¿Tu parche ya estaba fusionado?

EDITAR:
bien, el parche de entrada sigue siendo necesario.

@YellowApple, ¿te importaría crear una guía de "cómo hacer que el juego funcione desde cero para idiotas"?

El enfoque más amigable "para idiotas":

* Download the exact Proton build I'm using: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz

* Stick it in `~/.steam/root/compatibilitytools.d`

* Extract it (`cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz`)

* Restart Steam

* Right-click Bannerlord in your library, click Properties, and change the Proton version to "proton_5.0-local"

* ???

* Profit

Obviamente, lo hace bajo su propio riesgo, con el entendimiento de que descargar, instalar y ejecutar archivos binarios aleatorios desde Internet es un asunto arriesgado y lleno de peligros. Caveat emptor. Se le recomienda encarecidamente que intente clonar el repositorio de Proton, aplicar los parches usted mismo y construir Proton en su propia máquina (y aunque sí, ese no es exactamente el enfoque más fácil de usar, es mucho más seguro que confiar en Internet extraños que no beban de tu cráneo, jejeje).

Con suerte, podemos hacer que estos parches se transmitan más temprano que tarde para que podamos evitar la necesidad de estas compilaciones personalizadas únicas de rinky-dink, jajaja.

Funciona para mi manjaro.

Hola a todos,

Esperé tanto por este juego. ¿Se puede jugar este juego ahora?

@YellowApple, ¿te importaría crear una guía de "cómo hacer que el juego funcione desde cero para idiotas"?

El enfoque más amigable "para idiotas":

* Download the exact Proton build I'm using: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz

* Stick it in `~/.steam/root/compatibilitytools.d`

* Extract it (`cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz`)

* Restart Steam

* Right-click Bannerlord in your library, click Properties, and change the Proton version to "proton_5.0-local"

* ???

* Profit

Obviamente, lo hace bajo su propio riesgo, con el entendimiento de que descargar, instalar y ejecutar archivos binarios aleatorios desde Internet es un asunto arriesgado y lleno de peligros. Caveat emptor. Se le recomienda encarecidamente que intente clonar el repositorio de Proton, aplicar los parches usted mismo y construir Proton en su propia máquina (y aunque sí, ese no es exactamente el enfoque más fácil de usar, es mucho más seguro que confiar en Internet extraños que no beban de tu cráneo, jejeje).

Con suerte, podemos hacer que estos parches se transmitan más temprano que tarde para que podamos evitar la necesidad de estas compilaciones personalizadas únicas de rinky-dink, jajaja.

Funciona en Mint 19.2. El único problema que aparentemente permanece en este momento es el tiempo brutal (generalmente un minuto para mí) que toma cada vez que se guarda el juego.

Hola a todos,

Esperé tanto por este juego. ¿Se puede jugar este juego ahora?

@Przygi Es jugable, pero el tiempo de espera (debido al ahorro) al minuto es diabólico. Será necesario mejorar esto antes de que el juego sea agradable.

@ Rogue-Factor ¿hay alguna opción de inicio especial para un registro adicional? Trabajando para obtener un registro aquí ahora.

Rogue-Factor, ¿existen opciones de inicio especiales para el registro adicional? Trabajando para obtener un registro aquí ahora.

@sdegrace

Dentro de Steam, si vas al juego, haz clic derecho y ve a Propiedades.

Luego haga clic en establecer opciones de lanzamiento.

Ingrese PROTON_LOG=1 %command%

Inicie el juego normalmente.

Aparecerá un registro dentro de su directorio personal llamado steam-{appid}.log .

Tenga en cuenta que todavía tiene que cambiar el nombre de los archivos exe además de parchear proton.

  • Pasando por alto el lanzador

    Algunas notas:

    the game uses Battleye Anti-Cheat - it's seemingly mandatory even if you just want to play single player. No idea if there is a launch parameter that disables it.
    

    Puede cambiar el nombre de dos archivos .exe en / Mount & Blade II Bannerlord / bin / Win64_Shipping_Client /

    rename "TaleWorlds.MountAndBlade.Launcher.exe" to "TaleWorlds.MountAndBlade.Launcher.exe_backup" (or something similar - it's just not allowed to keep its original name)
    
    rename "Bannerlord.exe" to "TaleWorlds.MountAndBlade.Launcher.exe"
    

    para al menos hacer que el juego comience, ver las pantallas de bienvenida y luego llego al punto en el que tengo que interactuar con el juego por primera vez (cambiar la configuración de brillo), momento en el que mi CPU y GPU se vuelven locas y no puedo interactuar con el juego en absoluto.

  • Y luego parcheando Proton

    El enfoque más amigable "para idiotas":

    Download the exact Proton build I'm using: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz
    Stick it in ~/.steam/root/compatibilitytools.d
    Extract it (cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz)
    Restart Steam
    Right-click Bannerlord in your library, click Properties, and change the Proton version to "proton_5.0-local"
    ???
    Profit
    

    Obviamente, lo hace bajo su propio riesgo, con el entendimiento de que descargar, instalar y ejecutar archivos binarios aleatorios desde Internet es un asunto arriesgado y lleno de peligros. Caveat emptor. Se le recomienda encarecidamente que intente clonar el repositorio de Proton, aplicar los parches usted mismo y construir Proton en su propia máquina (y aunque sí, ese no es exactamente el enfoque más fácil de usar, es mucho más seguro que confiar en Internet extraños que no beban de tu cráneo, jejeje).

Gracias a todos en este hilo :)

@SylvainSoKette

¡El lanzador funciona bien para mí!
image

@tomhobson, ¿ ha hecho algo específico para que funcione, o simplemente ejecutar con el Proton parcheado debería funcionar?

¡Gracias por todo el trabajo en este hilo! ¡Ha estado en arranque dual desde que salió el juego, pero me alegro de que se haya avanzado aquí!

Mis pruebas:

  • Ejecutando Manjaro 19.0.2
  • Los archivos exe renombrados debido a que el problema del iniciador todavía me ocurre.
  • Seguí la guía de @YellowApple y
  • Fallo al ajustar el audio, sin embargo, se guardó la configuración.
  • Crash al salir del tutorial después de la creación exitosa del personaje.
  • Se las arregló para omitir el tutorial en el segundo intento y llegó al mapa de la campaña.
  • Algunas ligeras caídas de rendimiento en comparación con Windows, pero funciona bien en general.
  • Función de guardado probada y, como se discutió, el juego se bloquea durante esto. La CPU alcanza un máximo de alrededor del 90% en mi 9700k. Guardar tomó unos 35 segundos.

@tomhobson, ¿ ha hecho algo específico para que funcione, o simplemente ejecutar con el Proton parcheado debería funcionar?

@kelytha Usé el protón parcheado. pero cambié el nombre de Bannerlord_BE.exe y Bannerlord.exe a ManagedStarter_BE.exe y ManagedStarter.exe respectivamente.

¿No sería mejor usar enlaces llamados ManagedStarter.exe y ManagedStarter_BE.exe, en caso de que actualicen los ejecutables?

@ El nuevo archivo de registro de Rogue-Factor tiene más de 10 GB: / Lo intentaré de nuevo en un momento.

@sdegrace debería comprimirse bastante bien. Prueba gz'ing

Hola a todos,
Esperé tanto por este juego. ¿Se puede jugar este juego ahora?

@Przygi Es jugable, pero el tiempo de espera (debido al ahorro) al minuto es diabólico. Será necesario mejorar esto antes de que el juego sea agradable.

¡¡¡Gracias por la respuesta!!! Buen trabajo chicos !!!

Lamentablemente, no se puede reproducir para mí, se bloquea cada vez que cambio la configuración de gráficos y, a veces, se bloquea cuando es necesario dibujar / cargar una escena 3D compleja (pantalla de menú o pantalla de creación de personajes).
"Fallo de la aplicación: la aplicación tuvo un problema. Necesitamos recopilar los archivos necesarios para solucionar el problema. ¿Le gustaría cargar estos archivos ahora?"

La única vez que llegué a la pantalla de creación de personajes, la actuación fue terrible.
Pero supongo que probablemente sea un problema de controlador de mi lado, ya que estoy en Ubuntu 18.04 sin ppa exótico o sin nada instalado manualmente en cuanto al controlador.

Ubuntu 18.04, core i7 6700, 16go ddr4, gtx 1060 3go (nvidia-driver-435)

Algo a tener en cuenta: tengo 2 monitores, uno conectado a la tarjeta gráfica y el otro a la salida de la placa base (manejado por los gráficos Intel HD). El monitor principal está conectado a la tarjeta gráfica nvidia y el juego se reproduce en el monitor principal.

Actualización: Me las arreglé para cambiar la configuración gráfica cambiándolos uno por uno sin fallas. Pero aún falla mucho en la pantalla de creación de personajes: /

De acuerdo, construyo proton-tkg que usa el último wine master que solo necesita la entrada (input.c) parte del parche proporcionado por @YellowApple .
Luego agregué enlaces simbólicos para que el lanzador funcione como sugirieron @tomhobson y @ Krypton-Nova.

El juego funciona hasta ahora usando RADV con ACO y el guardado tarda unos 15 segundos.
Sin embargo, cambiar la configuración bloquea el juego (al menos se están guardando los cambios en la configuración)

CPU 3700X
GPU Vega 56
RAM 32 GB
SSD samsung 860 evo de 1TB

Distro:
Arch Linux

Núcleo:
5.5.13-zen2-1-zen

Controlador de GPU:
mesa-20.0.2

Actualización 2:

De acuerdo, después de ejecutar el juego durante 1 hora, el rendimiento es bastante bueno (en comparación con Windows), obtengo alrededor de 70 fps cuando estoy en la arena y muy buenos tiempos de fotogramas, en el mapa mundial son alrededor de 50-60 pfs con picos de tiempo de fotogramas a 50 ms, en la ciudad son alrededor de 50-60 pfs con tiempos de fotogramas de hasta 10 ms y durante una batalla real obtengo alrededor de 60-80 pfs (dependiendo del mapa) con buenos tiempos de fotogramas pero picos ocasionales de hasta> 100 ms (probablemente compilación de sombreadores).

Juego en WQHD con ajustes en "muy alto" por cierto.

Hmm ... Así que intenté construir el parcheado mientras dormía, no funcionó. Intenté descargar tu versión, @YellowApple , ¡y tampoco funciona! : sollozo: (No funciona, quiero decir que mi mouse todavía no me deja moverme Y hacer clic en los menús, aún no he probado un controlador)

¿Soy el único para quien no funcionó?

Puede confirmar lo mismo para GE Proton trabajando con el parche. El único problema que tengo es que cada segundo lanzamiento más o menos, el mouse no volverá a funcionar. Tienes que reiniciar el juego una vez más para que vuelva a funcionar correctamente.

@YellowApple ¡¡

Para someterse a Wine-Staging, consulte aquí: https://wiki.winehq.org/Wine-Staging_Development. Básicamente, adjunte el parche a https://bugs.winehq.org/show_bug.cgi?id=36873 , explique por qué cree que debería ir a la vinificación sobre el vino, luego CC Alistair y Zebediah (mantenedores de la vinificación) para para que lo examinen y lo agreguen a la preparación del vino.

Mientras tanto, intentaré ver si puedo implementar uno que refleje la implementación de Windows de la función :)

@ Rogue-Factor
https://www.dropbox.com/s/e25za0261pdco0t/steam-261550.log.gz?dl=0

En este registro, abrí Bannerlord, abrí un guardado existente, guardé el juego, luego guardé y salí del juego. Aparentemente, hay un límite superior para la cantidad de núcleos que se necesitan al guardar: para mí es 14/16. Me toma un poco menos de un minuto. Aún no se han experimentado otros problemas.

¡El parche de YellowApple funciona para mí! Ahora intentaré hacer un personaje y el tutorial.

Como parece que soy el único para el que no funciona, haré una actualización completa del sistema y luego intentaré construir de nuevo ... tal vez probar GE proton. Tengo una idea para un teclado muy básico para un controlador virtual, así que lo intentaré si la reconstrucción no hace que mi mouse funcione.

@elovin ¿Puedes enumerar todos los parches necesarios? Quiero intentar construir protones según la recomendación de YellowApple. No es que no confíe en ellos, pero quiero poder hacer estas cosas y ayudar a contribuir. Había muchos parches en el hilo, así que si no te importa enumerar los que usaste, intentaré hacer esto.

@elovin ¿Puedes enumerar todos los parches necesarios? Quiero intentar construir protones según la recomendación de YellowApple. No es que no confíe en ellos, pero quiero poder hacer estas cosas y ayudar a contribuir. Había muchos parches en el hilo, así que si no te importa enumerar los que usaste, intentaré hacer esto.

Este es el parche que hace que el mouse funcione. Por el momento no tenemos otros parches

/***********************************************************************
 * GetMouseMovePointsEx [USER32]
 *
 * RETURNS
 *     Success: count of point set in the buffer
 *     Failure: -1
 */
int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOINT ptout, int count, DWORD res) {
    static INT last_x = 0;
    static INT last_y = 0;

    if((size != sizeof(MOUSEMOVEPOINT)) || (count < 0) || (count > 64)) {
        SetLastError(ERROR_INVALID_PARAMETER);
        return -1;
    }

    if(!ptin || (!ptout && count)) {
        SetLastError(ERROR_NOACCESS);
        return -1;
    }

    if (count > 0) {
        POINT pos;
        INT out_count = 1;
        GetCursorPos(&pos);

        ptout[0].x = pos.x;
        ptout[0].y = pos.y;
        ptout[0].time = GetTickCount();
        ptout[0].dwExtraInfo = 0;

        if (count > 1) {
            ptout[1].x = last_x;
            ptout[1].y = last_y;
            ptout[1].time = GetTickCount();
            ptout[1].dwExtraInfo = 0;
            out_count = 2;
        }

        last_x = pos.x;
        last_y = pos.y;

        return out_count;
    }

    SetLastError(ERROR_POINT_NOT_FOUND);
    return -1;
}

El parche de @YellowApple también funciona para mí, muchas gracias tío.

Los tiempos de carga siguen siendo horribles, pero el juego parece funcionar, al menos un poco. Lo que podría parecer un bloqueo, a veces es solo una pantalla de carga que tarda una eternidad.

Funciona muy bien en manjaro, el guardado tarda entre 5 y 10 segundos, pero el cálculo del sombreador parece bloquear el juego (alrededor de 1/5 de probabilidades) cuando cargo un mapa por primera vez. algunas configuraciones fallan, pero se aplican después de fallar, así que eso es fin. ¡GRACIAS POR TU TRABAJO!

@elovin ¿Puedes enumerar todos los parches necesarios? Quiero intentar construir protones según la recomendación de YellowApple. No es que no confíe en ellos, pero quiero poder hacer estas cosas y ayudar a contribuir. Había muchos parches en el hilo, así que si no te importa enumerar los que usaste, intentaré hacer esto.

Usé el script de compilación de cloné el repositorio tkg PKGBUILD ) y agregué el parche a wine-tkg-git / wine-tkg-userpatches / bannerlord.mypatch (tkg buscará la extensión de archivo "mypatch" así que sí, tengo que nombrarlo como YOUR_PATCH_NAME.mypatch)

bannerlord.mypatch solo contiene el parche para input.c de @YellowApple y ese es el único parche

Apliqué (wine git master no necesita el parche completo proporcionado por

diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 46f78cbce8..40ed0f4692 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -1280,7 +1280,30 @@ int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOI
         return -1;
     }

-    FIXME("(%d %p %p %d %d) stub\n", size, ptin, ptout, count, res);
+    FIXME("(%d %p %p %d %d) hack\n", size, ptin, ptout, count, res);
+    FIXME("    Input: %d %d\n", ptin->x, ptin->y);
+
+    if (count > 0) {
+        POINT pos;
+        GetCursorPos(&pos);
+
+        ptout[0].x = pos.x;
+        ptout[0].y = pos.y;
+        ptout[0].time = GetTickCount();
+        ptout[0].dwExtraInfo = 0;
+        FIXME("    Output 0: %d %d\n", pos.x, pos.y);
+
+        if (count > 1) {
+            ptout[1].x = pos.x + 1;
+            ptout[1].y = pos.y + 1;
+            ptout[1].time = GetTickCount();
+            ptout[1].dwExtraInfo = 0;
+            FIXME("    Output 1: %d %d\n", pos.x, pos.y);
+            return 2;
+        }
+        
+        return 1;
+    }

     SetLastError(ERROR_POINT_NOT_FOUND);
     return -1;

De acuerdo, para los futuros intrépidos, tenga en cuenta que el método @elovin tiene el siguiente requisito (según la página TKG)

"PKGBUILD sólo funcionará en distribuciones con acceso a pacman y makepkg", por lo que puede que esto no sea adecuado para distribuciones basadas en Debian a menos que esté dispuesto a ir más allá para personalizarlo.

Lo intentaré sin él.

Compré el juego, lo instalé y usé el método en la descripción (descargando el protón especial, sí, lo sé, no es seguro, pero lo estoy probando), lo configuré para usar el nuevo -local y aún así no puedo acceder al lanzador .
Veo que otras personas tienen el lanzador funcionando sin cambiar el nombre de nada para omitirlo ... pero tal vez tengan otras correcciones aplicadas desde antes, esta es nueva. qué me estoy perdiendo (y podemos agregar eso a la solución alternativa hasta ahora en la parte superior)

@aradapilot Hasta donde yo sé, todavía se necesita un cambio de nombre, al menos para la mayoría de las personas, pero ya no es el primer cambio de nombre para evitar el lanzador.
Este cambio de nombre todavía usa el lanzador:
Cambie el nombre de Bannerlord.exe y Bannerlord_BE.exe a ManagedStarter.exe y ManagedStarter_BE.exe.

Nota para todos los interesados: finalmente logré que "funcionara" con el exe renombrado y el protón actualizado. Resulta que nvidia-driver-440 era obligatorio, ya que nvidia-driver-435 se bloqueaba casi el 95% del tiempo en la pantalla de creación de personajes. Sin embargo, las actuaciones siguen siendo horrendas, pero todavía no lo he probado en Windows, así que no sé si está relacionado con Linux o solo mi computadora es una basura total :)

Para someterse a Wine-Staging, consulte aquí: https://wiki.winehq.org/Wine-Staging_Development. Básicamente, adjunte el parche a https://bugs.winehq.org/show_bug.cgi?id=36873 , explique por qué cree que debería ir a la vinificación sobre el vino, luego CC Alistair y Zebediah (mantenedores de la vinificación) para para que lo examinen y lo agreguen a la preparación del vino.

Hecho. ¡Gracias!

Mientras tanto, intentaré ver si puedo implementar uno que refleje la implementación de Windows de la función :)

Dulce. Hice un poco de investigación antes, pero tengo problemas para entender exactamente cómo Wine obtiene la entrada del mouse (y dónde podría almacenarse de una manera que sea útil para GetMouseMovePointsEx). Tampoco estoy del todo seguro de si X11 (o Wayland o Quartz o la miríada de otros sistemas de visualización utilizados con Wine) tienen una funcionalidad equivalente.

El rendimiento es bastante bueno para mí con Mesa 20.0, RADV + ACO en gráficos AMD RX 580 (algo de tartamudeo, por ejemplo, al pasar a una nueva escena, pero se aclara rápidamente). El único problema con el que me he encontrado hasta ahora después de parchear para que la entrada del mouse funcione es el retraso del juego guardado.

@craftyguy ¿Cuánta RAM tienes? El juego funciona bien para mí durante unos 30 minutos, pero después de eso, el rendimiento comienza a degradarse rápidamente y el uso de RAM comienza a aumentar. Solo tengo 8 GB, así que intento averiguar si ese es el problema.

@tkamat He notado que el "estado estable" para el uso de RAM del juego parece estar alrededor de ~ 19-20GB en mi máquina (que tiene 32GB). Esto es independientemente de la configuración de los gráficos (probé tanto el más alto absoluto como el más bajo absoluto).

De acuerdo, para los futuros intrépidos, tenga en cuenta que el método @elovin tiene el siguiente requisito (según la página TKG)

"PKGBUILD sólo funcionará en distribuciones con acceso a pacman y makepkg", por lo que puede que esto no sea adecuado para distribuciones basadas en Debian a menos que esté dispuesto a ir más allá para personalizarlo.

Lo intentaré sin él.

Puede ejecutar makepkg dentro de un contenedor docker de arch linux (tal vez haga un script simple para esto) y luego descomprimir la versión de protones de la bola de alquitrán resultante (los paquetes de arch son solo bolas de alquitrán).
Yo mismo descomprimo la versión de protones y no la instalo en todo el sistema.

@tkamat Segundo el comentario de @YellowApple . También tengo 32 GB y me he dado cuenta de que se utilizan unos 20 GB mientras ejecuto el juego.

Entonces, parece que sus problemas de rendimiento están relacionados con la RAM disponible. Esto parece fuera de tema, ya que es probable que sea un problema con el juego en sí y no es específico de protón / vino.

Por lo tanto, parece que protontricks 261550 dotnet48 mejora significativamente el bloqueo de guardado (el juego se bloquea durante unos segundos en lugar de varios minutos). ¡Gracias al usuario de reddit / u / TheCaconym por el informe!

Además, en algún momento, Steam actualizó el juego y anuló mis cambios de nombre, pero el lanzador funcionó de inmediato. Ni siquiera tuve que hacer un cambio de nombre Bannerlord.exeManagedStarter.exe .

Llevamos menos de una semana de Harvesting Season ™ y Bannerlord ya está cerca de la paridad entre Linux y Windows. ¡Hurra!

Una vez que esos parches estén colocados, la mantequilla fluirá libremente.

@Amarillo

Tengo problemas para entender exactamente cómo Wine obtiene la entrada del mouse

Lo envía al servidor, generalmente a través de send_hardware_message en dlls / user32 / message.c, y la posición del cursor finalmente se enviará a update_desktop_cursor_pos . Probablemente aquí es donde deberíamos agregar la implementación, tal vez en una nueva función (¿probablemente usando un búfer de anillo estático para almacenar las 64 entradas?).

La parte molesta sería declarar una nueva solicitud del servidor para recuperar las posiciones del cursor. No he hecho esto antes, pero supongo que es una cuestión de crearlo en queue.c + request.h, indicarlo en protocol.def y luego ejecutar tools/make_requests ?

Luego surge la pregunta de si la tarea de filtrar las posiciones del cursor debe delegarse al servidor o en el espacio de usuario. Personalmente, optaría por lo último, pero dado que son bastantes entradas (probablemente ~ 1 KB o más de datos para enviar), y el código de filtrado no sería demasiado complejo, podría valer la pena hacerlo en el servidor.

Puedo confirmar que dotnet48 acelera el ahorro.
Fui uno de los afortunados donde guardar solo tomó unos 10 segundos, pero ahora toma alrededor de 2 segundos.

@ albin-engstrom, ¿está instalado en un SSD o HDD para usted? A veces noté algunos tiempos de carga realmente largos entre escenas. Actualmente instalando dotnet48.

El rendimiento se degrada mucho para mí cuanto más juego. Ojalá sea solo un error en el juego.

Las actuaciones que se degradan mientras juegas también son un problema por ahora en Windows (pérdidas de memoria, reconocidas por los desarrolladores IIRC).

@nilleairbar En un SSD NVMe, es bastante rápido. Pero no parece que al menos el ahorro de tiempo se deba a las lecturas o escrituras, es más bien la CPU la que sí funciona. Pasó de alrededor del 30% de carga mientras se juega al 60% mientras se ahorra.
Por lo tanto, puede ser más una CPU potente (3900X) la que condujo a los cortos tiempos de guardado hasta cierto punto.

@ albin-engstrom que puede ser. Con dotnet48 y un i7 8700K, el ahorro lleva menos de dos segundos aquí también.

Estoy en un 1700X y ahora, después de instalar dotnet48, el ahorro demora entre 20 y 30 segundos en lugar de 2 a 3 minutos, pero ahora el rendimiento se reduce por un tiempo después de guardar.

Obtengo resultados similares en un i5 anterior, unos 30 segundos para guardar ahora

Así que ahora de repente tengo un bloqueo ( wine: Unhandled page fault on execute access to 00000000007501C8 at address 00000000007501C8 (thread 0042), starting debugger... ) tan pronto como llego a la pantalla Prisoners después de una batalla. Aún no estoy seguro si es el resultado de usar dotnet48 . Tampoco estoy seguro aún si está afectando a todas las batallas o solo a unas con este grupo específico de saqueadores (o con saqueadores en general). Una vez que limite las cosas, pondré algunos registros.

@YellowApple He peleado varias batallas contra saqueadores y eso no me

El enfoque más amigable "para idiotas":

Hice estos pasos exactos, el juego se inicia, sin embargo, cuando me pide que deslice los controles deslizantes de brillo en el primer lanzamiento, no registra ninguna entrada (además del movimiento del mouse) ...

El juego funciona bien hasta que intento cambiar la configuración de "mostrar dirección de ataque" en el menú.
El juego se bloquea inmediatamente después de cerrar el menú, aparece el mensaje de vapor "has encontrado un error, sube tus registros". Cuando la ventana se cierra, Steam todavía cree que el juego se está ejecutando, por lo que no puedo iniciarlo nuevamente a través de Steam.

Estoy usando https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz para protones

Información del sistema:
NÚCLEO: 5.5.13-arch2-1
Sistema operativo: Arch Linux
CPU: AMD Ryzen 7 3700X de 8 núcleos
Procesador gráfico: AMD NAVI10
CONTROLADOR DE GPU: 4.6 Mesa 20.0.2
RAM: 32 GB

El juego funciona bien hasta que intento cambiar la configuración de "mostrar dirección de ataque" en el menú.
El juego se bloquea inmediatamente después de cerrar el menú, aparece el mensaje de vapor "has encontrado un error, sube tus registros". Cuando la ventana se cierra, Steam todavía cree que el juego se está ejecutando, por lo que no puedo iniciarlo nuevamente a través de Steam.

Estoy usando https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz para protones

Información del sistema:
NÚCLEO: 5.5.13-arch2-1
Sistema operativo: Arch Linux
CPU: AMD Ryzen 7 3700X de 8 núcleos
Procesador gráfico: AMD NAVI10
CONTROLADOR DE GPU: 4.6 Mesa 20.0.2
RAM: 32 GB

Tuve múltiples fallas al principio al cambiar la configuración de video, simplemente finalice el proceso y comience el juego nuevamente.

Informe: el juego funciona bien y se ahorra en aproximadamente 1 minuto en mi máquina. Usando la solución alternativa y cambia el nombre a "Administrado". En la pantalla de brillo, seleccioné una buena configuración para mí y luego salí del juego en el menú principal. Luego pasé por el tutorial, cambié algunas configuraciones adicionales y la mayoría de las configuraciones de gráficos están en alto + fijo. El rendimiento es regular (probablemente alrededor de 30-40 FPS). No he experimentado ningún accidente hasta ahora, pero acabo de salir del tutorial y me he encontrado con refugiados. Gracias a todos, desarrolladores, probadores, Valve y Taleworlds por traernos aquí.

Información del sistema:
SO: Debian 10 (destructor)
RAM: 16 GB
CPU: Ryzen 2700X
GPU: AMD 580X
Controlador: Debian 10 (Mesa 18.3.6)

El juego funciona bien hasta que intento cambiar la configuración de "mostrar dirección de ataque" en el menú.
El juego se bloquea inmediatamente después de cerrar el menú, aparece el mensaje de vapor "has encontrado un error, sube tus registros". Cuando la ventana se cierra, Steam todavía cree que el juego se está ejecutando, por lo que no puedo iniciarlo nuevamente a través de Steam.
Estoy usando https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz para protones
Información del sistema:
NÚCLEO: 5.5.13-arch2-1
Sistema operativo: Arch Linux
CPU: AMD Ryzen 7 3700X de 8 núcleos
Procesador gráfico: AMD NAVI10
CONTROLADOR DE GPU: 4.6 Mesa 20.0.2
RAM: 32 GB

Tuve múltiples fallas al principio al cambiar la configuración de video, simplemente finalice el proceso y comience el juego nuevamente.

Detuve el proceso de vapor y comencé bannerlord nuevamente, sorprendentemente, la configuración que cambié permaneció cambiada.

@elovin Acaba de intentarlo contra un grupo de Mountain Bandits y se estrella en el mismo lugar. Registros de referencia: steam-261550.log (excluye +seh porque con dotnet48 eso estaba enviando spam a todo tipo de cosas).

Probaré un prefijo nuevo con el mismo guardado y sin dotnet48 y veré si el problema persiste. Si no es así, supongo que tendremos que solucionar problemas de .NET o volveremos a la mesa de dibujo con esos largos tiempos de guardado.

@ onodera-punpun Si puede agregar PROTON_LOG=1 a sus opciones de lanzamiento y proporcionar el ~/steam-261550.log resultante, sería útil.

@YellowApple después de instalar dotnet48 con winetricks recibo un mensaje al cargar mi último juego "Cargar juego guardado con diferentes módulos" o algo así, así que tal vez un nuevo juego funcione.

El tiempo de guardado no mejoró para mí, todavía son unos 15 segundos y no hay choques hasta ahora luchando contra los saqueadores.

@elovin ese es el mensaje estándar después de cargar un guardado 1.0.0 después de una actualización a 1.0.1; tal vez ese sea el origen (solo es relevante si resulta que cargó un guardado 1.0.0 después de dotnet48, y ya ha actualizado a 1.0.1).

@YellowApple por lo que vale, con mi prefijo dotnet48 no obtengo ningún bloqueo cuando llego a la pantalla de prisioneros después de una batalla (hice numerosas batallas con muchos prisioneros). La mayoría de mis batallas hasta ahora fueron con saqueadores, sin embargo, todavía no hay bandidos de la montaña.

@ onodera-punpun Raro, nada sobresale. No tiene ningún controlador enchufado o cualquier otra cosa que pueda interferir, ¿verdad?

@elovin Creo que eso tiene que ver con las versiones actualizadas del juego (1.0.2 acaba de caer).

@ElCaconym Es bueno saberlo. El mismo ahorro con un prefijo nuevo que no sea dotnet48 bloquea en las mismas condiciones, por lo que al menos puedo descartarlo. Probablemente solo un guardado dañado (que parece ser un problema común incluso en Windows, si los foros son algo por lo que pasar). (EDITAR: y de hecho, bajo un nuevo juego con dotnet48 puedo tomar prisioneros sin estrellarme, al menos por ahora)

@YellowApple Pensé que podría haber sido mi administrador de ventanas, así que intenté ejecutar el juego en una instancia X sin ningún WM, pero eso no solucionó el problema. Solo tengo un teclado y un mouse USB normales, nada más.

EDITAR: configuré brightness_calibrated en la configuración del motor en 1 para saltar directamente al menú, y allí también hacer clic no hace nada.

EDIT2: Apagué enable steam play for all other titles , esto pareció solucionarlo. De alguna manera, esto sobrescribió el uso de mi protón personalizado configurado a la fuerza ...

¿Alguien más experimenta el problema de inicio de sesión fallido en cualquier intento de ejecutar multijugador? Sigue lanzándome esos mensajes de "inicio de sesión fallido" después de largos períodos de espera.

@YellowApple @ElCaconym Sí, tienes razón, es por la actualización.

¿Alguien más experimenta el problema de inicio de sesión fallido en cualquier intento de ejecutar multijugador? Sigue lanzándome esos mensajes de "inicio de sesión fallido" después de largos períodos de espera.

No he escuchado ningún informe de que nadie pueda ejecutar el modo multijugador desde que agregaron Batlleye al principio de la versión beta.

¿Cuáles son las probabilidades de que alguna vez se ejecute el modo multijugador en Bannerlord? Solía ​​jugar Warband todo el tiempo en línea en Ubuntu en el pasado.

muuuucho vi la nota sobre dotnet48 y la instalé, al mismo tiempo noté que Steam había actualizado el juego a 1.0.2, y ahora tartamudea en cualquier cosa con gráficos mínimos (obtuve un 1070) y falla constantemente moviéndose en mundo abierto. annnnd porque dos variables aquí no puedo decir si fue el parche o el dotnet lo que lo causó. ¿Alguna pista sobre qué buscar? o ¿cómo reiniciar mi env de protones sin dotnet para probar?

@aradapilot : Estoy funcionando bien en dotnet48 + 1.0.2 (he estado jugando durante 30 minutos aproximadamente sin problemas). ¿Posiblemente un problema de salvar la corrupción? ¿Quizás probar un nuevo juego temporalmente para confirmar? 1070 aquí también.

@aradapilot sí, acabo de hacer algunas pruebas, y parece que aunque dotnet48 reduce drásticamente el tiempo de ahorro, también introduce una gran cantidad de tartamudeo después de guardar, y esto dura hasta que reinicias el juego. Mientras que sin dotnet48, el juego funciona sin problemas antes y después de guardar. IDK si este problema solo afectará a personas con sistemas menos potentes / solo 8 GB de RAM, pero sí, es súper extraño.

De acuerdo, después de reiniciar una computadora, el juego se bloquea cuando al final de cualquier pelea y los tiempos de carga son mejores ahora, ¿el servidor de vinos no se cierra si sales del juego?

@tkamat tiene 32G aquí, no le falta memoria ni en ningún otro lugar en cuanto al hardware. Necesito descubrir cómo deshacer el protontricks del juego ahora, mis guardados no eran TAN lentos antes, pero no hay página de manual y -h no dice nada sobre la eliminación

@aradapilot tengo el mismo problema
@ElCaconym ¿Se han realizado otras modificaciones además de los cambios de nombre, el parche de piratería y la adición de dotnet480?
@tkamat Sí, la primera vez que ingresa al juego antes del primer guardado, se ejecuta como se esperaba. Tengo un potente sistema de 32 GB y todavía comienza a tartamudear en configuraciones muy bajas, por lo que no creo que su sistema esté causando esto

@tkamat Yo

@elovin Interesante. ¿Fue esto un guardado existente o una nueva campaña?

@aradapilot Desafortunadamente, no hay una manera fácil de revertir algo instalado a través de protontricks . La mejor opción es hacer una copia de seguridad de tus partidas guardadas, eliminar o cambiar el nombre de ~/.steam/steam/steamapps/compatdata/261550 , ejecutar el juego una vez para regenerar todo y copiar tus partidas guardadas nuevamente.

@elovin wineerver _should_ detenerse eventualmente; ocasionalmente no lo hace (especialmente cuando ocurre un bloqueo / una aplicación se cuelga al salir). Hacer "killall wineerver" o alternativamente "wineerver -k" (con el WINEPREFIX correcto definido en el último caso) se puede utilizar para asegurarse.

@ simi2525 nada que se le

¿Alguien más experimenta el problema de inicio de sesión fallido en cualquier intento de ejecutar multijugador? Sigue lanzándome esos mensajes de "inicio de sesión fallido" después de largos períodos de espera.

No he escuchado ningún informe de que nadie pueda ejecutar el modo multijugador desde que agregaron Batlleye al principio de la versión beta.

¿Cuáles son las probabilidades de que alguna vez se ejecute el modo multijugador en Bannerlord? Solía ​​jugar Warband todo el tiempo en línea en Ubuntu en el pasado.

El juego funcionó durante algunos parches después de que se agregó Battleye porque aún te permiten unirte a juegos sin habilitarlo. Las últimas dos semanas es cuando la beta cerrada dejó de funcionar en Linux probablemente coincidiendo con la obligatoriedad de Battleye. Creo que lo mejor que podemos esperar a falta de una versión nativa de Linux es que taleworlds anule la verificación de Battleeye para las instalaciones de Wine o el cambio a VAC. La compatibilidad de protones de Battleye probablemente no esté en las cartas, ya que hace algo de brujería en el espacio del núcleo.

@YellowApple era un guardado existente, comencé un nuevo juego ahora y ahora ya no se bloquea.

¿Alguna idea de dónde están los archivos guardados, jaja?

@NovenTheHero .steam / steam / steamapps / compatdata / 261550 / pfx / drive_c / users / steamuser / My \ Documents / Mount \ and \ Blade \ II \ Bannerlord / Game \ Saves / Native /

Escribí un par de scripts rápidos para automatizar las diversas modificaciones discutidas aquí y en ProtonDB , asegurándome de dar crédito (vía URL) por cada modificación.

@YellowApple WineHQ cree que esta es la causa del problema de entrada; Si esto es lo que ha solucionado, ¿puede realizar una publicación cruzada allí?
EDITAR: No importa, parece que ya lo hizo. :)

Antes de que la gente elimine sus prefijos de protones, asegúrese de que ningún juego esté configurado para usar dicho prefijo, ya que, si no recuerdo mal, eso causará problemas.

Gracias a todos por su trabajo en esto. ¡Es fantástico ver cómo la comunidad de Linux puede solucionar problemas rápidamente y enviar parches en sentido ascendente! He compilado una versión de protones modificada basada en un tutorial publicado anteriormente y funciona muy bien.

Para mí, guardar también me llevó un tiempo sin dotnet48, mientras que instalar esa biblioteca también lo solucionó. Me encontré con algunos problemas de rendimiento como ya lo discutieron otros. Anoche noté que mi archivo xorg-session.log estaba creciendo excesivamente, hasta 25GB. No he podido probar si este problema está relacionado con Bannerlord. Probará más por la noche.

Escribí un par de scripts rápidos para automatizar las diversas modificaciones discutidas aquí y en ProtonDB , asegurándome de dar crédito (vía URL) por cada modificación.

* [config-bannerlord-for-linux.bash](https://github.com/MilesBHuff/Misc-code/blob/master/code/setup/wine/config-bannerlord-for-linux.bash)

* [config-steam-for-bannerlord.bash](https://github.com/MilesBHuff/Misc-code/blob/master/code/setup/wine/config-steam-for-bannerlord.bash) (@YellowApple)

¿No se arreglaría el brillo de la pantalla con el cursor del mouse? Lo fue para mí al menos.

Tal vez alguien pueda probar esto, pero en este momento, visitar cualquier herrería da como resultado un juego guardado dañado, por lo que obtengo un promedio de 15 fps, pero solo en el mapa de la campaña, todo lo demás funciona bien.

Editar: esto persiste después de reiniciar el juego o la computadora.

Visité una herrería y no pasó nada notable.
(Usando la construcción de protones de Yellowapple y tiene 32 GB de RAM)

EDIT2: Apagué enable steam play for all other titles , esto pareció solucionarlo. De alguna manera, esto sobrescribió el uso de mi protón personalizado configurado a la fuerza ...

Santa mierda ... ¡Ese fue mi problema todo el tiempo! ¡Ahora los parches me funcionan! Incluso dejo que mis archivos se validen durante la noche para deshacerme de mis cambios de nombre, e incluso el lanzador funciona.

Probé Proton de YellowApple, instalando dotnet48, pero todavía falla mi WM después de la creación del personaje.

/editar
Aquí está el error de bloqueo de WM que encontré relacionado con él. Las veces que no bloquea mi WM, todo el sistema se congela. i5-3570k, AMD RX 580 y 32 GB de RAM

kernel: [34245.701791] [ drm: amdgpu_job_timedout [amdgpu]] ERROR ring gfx timeout, pero soft recuperado

Puedo confirmar que agregar dotnet48 solucionó mi problema de ahorro de tiempo. Pasó de los 60 al principio a los 90 + después de unas pocas horas de juego con un uso máximo de la CPU hasta <20 segundos y la CPU ya no está al máximo mientras se guarda.

Ahora hay un microstutter persistente en el mapa de la campaña que no estaba allí antes, sin embargo, las batallas parecen no tener problemas. Molesto pero definitivamente jugable en este estado. 32GB RAM / 1070ti, presumiblemente no son especificaciones, pero intentaré jugar con algunas opciones más adelante.

@evopls es básicamente el mismo problema al que me enfrento. Fps incorrectos y microstutter en el mapa de la campaña con todas las demás escenas que básicamente no tienen problemas. Estoy en un 1070 con 16 GB de RAM.

Editar: Está bien, hice una nueva versión de Proton a través de wine-tkg con el parche incluido en wine-staging, funciona ahora. Sin dotnet48 instalado, todo es muy suave, excepto por el ahorro (los problemas ya discutidos). Instalará dotnet48 ahora para ver si este es el culpable de la tartamudez en el mapa de la campaña.

@nilleairbar Me di cuenta de que el tartamudeo desaparece cuando reinicio el juego, pero luego, al guardarlo por primera vez (manualmente o mediante autoguardado), vuelve a activarse. Las opciones de rendimiento no marcaron ninguna diferencia.

@ekaats

¿No se arreglaría el brillo de la pantalla con el cursor del mouse? Lo fue para mí al menos.

Sí lo es. Las tres líneas de configuración que modifico con config-bannerlord-for-linux.bash eran anteriores a la disponibilidad de la corrección de entrada. Comentaré las partes obsoletas del guión.

Gracias por el script @MilesBHuff , realmente útil y me lleva al menú principal.
He intentado recopilar información, todavía es imposible jugar Campaña, ¿verdad? Algunas personas lograron hacerlo, ¿se trata de los últimos parches?

@ Haywire-dev es completamente posible jugar Campaña. El problema más importante es el "error" de la partida guardada que hace que el guardado tarde varios minutos. La instalación de dotnet48 a través de protontricks o similar alivia eso, pero posiblemente conduce a algunos problemas de rendimiento en el mapa de la campaña (consulte mis publicaciones o las de evopls).

Editar: Ah, y se me olvidó mencionar, por supuesto, necesita una versión de Proton que incluya el parche de vino mencionado en este número o se base en la versión más reciente de preparación de vinos que viene con el parche aplicado.

@nilleairbar

Editar: Ah, y se me olvidó mencionar, por supuesto, necesita una versión de Proton que incluya el parche de vino mencionado en este número o se base en la versión más reciente de preparación de vinos que viene con el parche aplicado.

Estoy seguro de que recibiré críticas por esto, pero ¿cómo me aseguro exactamente de tener el Protón correcto? Llegué tan lejos como para crear personajes antes de que el juego / WM / computadora fallara. Supongo que el 5.0-local de OP / YellowApple NO lo tiene incluido (todavía).

También tengo bloqueos ocasionales mientras navego por los menús / creación de personajes. En última instancia, parece funcionar, de una manera bastante inestable, y el mouse no funciona obviamente, al menos en los menús. Aún no lo probé en el juego.

Estoy seguro de que recibiré críticas por esto, pero ¿cómo me aseguro exactamente de tener el Protón correcto? Llegué tan lejos como para crear personajes antes de que el juego / WM / computadora fallara.

En este momento, la versión más fácil sería usar la versión de Proton @YellowApple compartida. La opción más segura sería construirlo usted mismo usando algo como https://github.com/Frogging-Family/wine-tkg-git

En este momento, la versión más fácil sería usar la versión de Proton @YellowApple compartida. La opción más segura sería construirlo usted mismo usando algo como https://github.com/Frogging-Family/wine-tkg-git

Sí, actualmente estoy usando Proton de YellowApple y he cambiado el nombre de los dos .exe, pero todavía no puedo pasar de la creación de personajes. Sin embargo, estoy investigando las cosas de wine-tkg ahora, tal vez eso ayude.

De lo contrario, solo estoy atento a cualquier otra cosa que pueda probar.

@evopls en caso de que esté interesado, hice algunas pruebas ahora y el tartamudeo aparentemente es causado por dotnet48. Jugaré sin él por ahora y tendré tiempos de ahorro bastante largos en lugar de ese tartamudeo en el mapa de la campaña.

Dotnet48 me lo arruina por completo ... Ya ni siquiera puedo iniciar el juego. He desinstalado, pero sigo teniendo los mismos problemas de pantalla de campaña que los demás.

Solo por curiosidad @ Foobar1923, ¿qué controlador de gráficos estás usando?

Obtuve una tarjeta nvidia, por lo que puede ser diferente para usted, pero tuve que actualizar el controlador de mi tarjeta gráfica, aunque el que estaba usando era bastante reciente. Pasé de un bloqueo total la mayor parte del tiempo a jugable pero con problemas de velocidad de fotogramas en algunas pantallas (toda la pantalla en la que tienes un primer plano de un personaje, ¿tal vez esté relacionado con la dispersión del subsuelo?).

@SylvainSoKette

Estoy usando stock amdgpu. Actualicé mis wine / winetricks / wine-staging, etc. y mesa (debería) estar actualizada al igual que vulkan.

¿Alguna suposición sobre cuánto tiempo pasará hasta que estos parches se introduzcan en Proton, ahora que parte de ellos está comenzando a afectar al vino corriente arriba?

@CrafterSvK Estoy bastante seguro de que ese es el valor predeterminado de Proton 5.0, ¿no?

@CrafterSvK Estoy bastante seguro de que ese es el valor predeterminado de Proton 5.0, ¿no?

Sí, lo olvidé. De todos modos, cada vez que hago clic en Continuar al final de la batalla, el juego se bloquea.

Además, no veo ninguna mención del modo seguro en este hilo. Mi juego se bloquea cada vez que abro el menú "fiesta", pero al reiniciar me pregunta si quiero iniciar en modo seguro, y si digo que sí, ya no se bloquea.

¿Todos los demás aquí usan el modo seguro?

Todavía tengo que probar el modo seguro; ¿Qué es lo que hace? Mi suposición sería que (como la mayoría de los juegos) simplemente reduciría la configuración de gráficos, pero ahora me pregunto si también está haciendo un control adicional de excepciones o una verificación de seguridad en tiempo de ejecución.

EDITAR: siguió adelante y lo probó. Parece que simplemente restablece engine_config.txt a los valores predeterminados. Ni siquiera deshabilita los mods.

Además, no veo ninguna mención del modo seguro en este hilo. Mi juego se bloquea cada vez que abro el menú "fiesta", pero al reiniciar me pregunta si quiero iniciar en modo seguro, y si digo que sí, ya no se bloquea.

¿Todos los demás aquí usan el modo seguro?

Lo probaría al menos, pero no tengo esa opción. Solo el bloqueo de WM / PC.

He estado probando algunas cosas y hasta ahora he llegado a las mismas conclusiones que el resto. dotnet48 parece resolver el problema del ahorro, pero hace que el resto del juego sea mucho menos estable.

Con dotnet48 he tenido bloqueos al guardar, cargar, entrar en batallas y pueblos. Algunos de estos fueron bloqueos del escritorio, otros bloquearon el proceso.

Sin dotnet48, de hecho, he podido jugar sin muchos problemas adicionales, justo cuando el ahorro de uso de la CPU llega al 100% durante 1:40 minutos (en un Ryzen 1700). Después, todo volvió a la normalidad y puedo continuar sin problemas.

Tenga en cuenta que el juego se guarda en algunos momentos específicos. He notado que se guarda al entrar en batalla (antes de mostrar la pantalla donde eliges luchar tú mismo o dejar que los dados decidan), a veces también después de salir de una ciudad o al entregar una misión.

Ahora estoy probando con Redistributable para Visual Studio 2017 instalado. Hasta ahora no parece importar de ninguna manera.

Mis configuraciones gráficas son las más altas y el modo seguro no las cambia.
No veo otra diferencia que no sea la falta de choque.
(No estoy usando dotnet48 ya que el juego ni siquiera se iniciaría)

Bueno, se bloquea lo mismo con el modo seguro en mi máquina.

@Xxdzs También los tengo ya que estoy usando dotnet48, pero solo si abro inmediatamente el menú después de cargar. Si juego un poco primero, me siento muy estable.

En general, el leve tartamudeo en el mapa de la campaña me parece mucho mejor que los tiempos de guardado cada vez más largos sin dotnet48, pero probablemente sea una preferencia personal. No estoy seguro de cuál de esos dos problemas sería más fácil de solucionar.

Hice algunas pruebas sin dotnet48 y sin pasar por el lanzador.

Definitivamente, algunos menús aún se bloquean, el ahorro en ocasiones aún se bloquea después de tomar más de 45 segundos. El mapa de campaña funciona muy bien, con poco o ningún retraso, aunque definitivamente hay algo extraño cuando el juego carga ciertos recursos y menús. Un amigo lo probó también en su CPU Intel y ambos vemos pequeños picos en el uso de la CPU al intentar acceder a ciertos menús junto con los retrasos habituales.

La desactivación de la Dispersión subespacial parece ayudar a ciertas áreas con dotnet48, aunque tener esta solución definitivamente parece más estable en comparación con sin dotnet48.

EDITAR: Bien, no importa, mientras que ayuda levemente con la estabilidad, el juego sigue siendo un desastre inestable para mí en su mayor parte. Después de aproximadamente 4-5 diálogos dentro del juego, el juego se bloquea y se bloquea.

Cada bloqueo me apunta a NTQueryInformationThread.

41819.290:0035:00c4:trace:seh:dump_unwind_info     handler 0x64478533758 data at 0x64478648688
41837.875:0035:00c6:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41837.875:0035:00cb:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41837.876:0035:00c9:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41838.732:0035:00c7:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41838.733:0035:00c1:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41838.829:0035:00bd:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41838.830:0035:00ca:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41838.925:0035:00c2:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41838.925:0035:00be:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.022:0035:00cc:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.023:0035:00bf:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.023:0035:00c3:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.119:0035:00cd:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.122:0035:00c5:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.122:0035:00ce:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.312:0035:00ba:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.312:0035:00c4:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.313:0035:00bc:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41839.313:0035:00c8:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
41849.393:0024:0028:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\drivers\\WineUsd.sys" : builtin
41849.396:001c:0020:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\drivers\\winehid.sys" : builtin
41849.396:001c:0020:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\hidclass.sys" : builtin
41849.397:001c:0020:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\drivers\\winebus.sys" : builtin
41849.521:007b:007c:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
41849.541:0074:0075:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
pid 155001 != 155000, skipping destruction (fork without exec?)

2da EDICIÓN:

Después de cambiar algunas cosas y parchear desde tkg, funcionó bastante bien en estabilidad, aunque mi rendimiento en el mapa de la campaña es de la adolescencia con tartamudeo severo el 80% del tiempo sin importar qué configuraciones gráficas más bajas se elijan.

Parece que las cosas se han calmado aquí, lo que debe significar que la mayoría de nosotros estamos disfrutando del juego. Estoy ejecutando una plataforma bastante robusta sin dotnet48, y aparte de los tiempos de guardado de ~ 30 segundos, no he experimentado un solo bloqueo.

Debe ser agradable, sin embargo, por lo que he visto, hay muchas personas que están tartamudeando severamente en el mapa de la campaña, los menús de diálogo / guardado están causando CTD y guardados corruptos y unos pocos seleccionados no pueden ingresar a la herrería en absoluto.

Para mí, hablar con los bandidos da como resultado un CTD el 10% del tiempo, obtengo tartamudeo severo en el mapa de la campaña, pero las batallas se desarrollan más fluidas que la máquina Windows de mi amigo, con la excepción de hipo de vez en cuando.

Sin embargo, es de esperar que las cosas se solucionen a medida que pasa el tiempo, con acceso temprano. Después de todo, también estamos viendo muchos de estos problemas en Windows. Así que me sorprende que Bannerlord incluso funcione tan bien como lo hace en WINE como lo hace ahora.

El juego funciona bien, pero me quedo atascado en infinitas pantallas de carga y aparece este error.
error

Parece que las cosas se han calmado aquí, lo que debe significar que la mayoría de nosotros estamos disfrutando del juego. Estoy ejecutando una plataforma bastante robusta sin dotnet48, y aparte de los tiempos de guardado de ~ 30 segundos, no he experimentado un solo bloqueo.

Debe ser agradable, sin embargo, por lo que he visto, hay muchas personas que están tartamudeando severamente en el mapa de la campaña, los menús de diálogo / guardado están causando CTD y guardados corruptos y unos pocos seleccionados no pueden ingresar a la herrería en absoluto.

Para mí, hablar con los bandidos da como resultado un CTD el 10% del tiempo, obtengo tartamudeo severo en el mapa de la campaña, pero las batallas se desarrollan más fluidas que la máquina Windows de mi amigo, con la excepción de hipo de vez en cuando.

Sin embargo, es de esperar que las cosas se solucionen a medida que pasa el tiempo, con acceso temprano. Después de todo, también estamos viendo muchos de estos problemas en Windows. Así que me sorprende que Bannerlord incluso funcione tan bien como lo hace en WINE como lo hace ahora.

¿Ha intentado realizar pruebas con un entorno de protones completamente limpio? Puede ejecutar protontricks 261550 annihilate . No eliminará tus partidas guardadas. Mis excusas, si este consejo es similar a "¿has intentado apagarlo y encenderlo de nuevo?", Me ayudó.

No me he encontrado con fallas mientras jugaba sin dotnet48, excepto cuando intenté cambiar la configuración, lo que provocó una falla inmediata.

@ mjm2000 El juego tiene muchos errores propios. También me he enfrentado a infinitas pantallas de carga en Windows 10

@montyubuntu, ¿el juego está

@montyubuntu, ¿el juego está

Acabo de verificar y la corrección del mouse ahora está incluida en la preparación de vinos. El lanzador todavía no me funciona, así que tuve que reemplazar el ejecutable del lanzador por el ejecutable del juego real.

Recomiendo pedir ayuda en los foros; mantengamos este problema para investigar problemas con el juego únicamente, no también con el soporte. Algunas personas lo tienen funcionando ahora, por lo que es probable que algo sea diferente con su configuración.

Curiosamente, existe este problema conocido informado (en Windows, me refiero) en los foros oficiales de taleworlds:

Stuttering camera movement on the Campaign Map is under investigation.

Lo que puede sugerir que el problema que algunas personas tienen con dotnet48 no está, o no está completamente, relacionado con el vino. También hay numerosos informes de que el juego tartamudea más a medida que una campaña está en progreso, especialmente si guardas y recargas con frecuencia; Hasta la versión 1.0.2, recargar y guardar 45 veces también garantizaría que cualquier recarga adicional del guardado en cuestión bloqueara el juego. Si bien se supone que 1.0.3 ha solucionado ese problema de hinchazón / corrupción de partidas guardadas, también hay muchos informes que no lo ha hecho (una campaña determinada dura un poco más con 1.0.3 pero eso es, aparentemente).

Bien, podría ser que encontré la solución para el tartamudeo de la campaña. Por supuesto, necesitaría un tamaño de muestra más grande que solo yo. Así es como lo arreglé en un nuevo prefijo:

  • Construya mi propia versión de Proton (tkg) desde la fuente con la compilación de preparación de vinos más nueva que incluye la corrección del cursor del mouse
  • Dotnet40 instalado a través de protontricks
  • Vcrun2015 instalado (consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Dotnet48 instalado
  • Vcrun2017 instalado (nuevamente consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Ahora no tengo tartamudeo en el mapa de la campaña, un cursor del mouse fijo y el guardado toma unos segundos. Podría valer la pena intentarlo para que alguien más lo pruebe.

Bien, podría ser que encontré la solución para el tartamudeo de la campaña. Por supuesto, necesitaría un tamaño de muestra más grande que solo yo. Así es como lo arreglé en un nuevo prefijo:

  • Construya mi propia versión de Proton (tkg) desde la fuente con la compilación de preparación de vinos más nueva que incluye la corrección del cursor del mouse
  • Dotnet40 instalado a través de protontricks
  • Vcrun2015 instalado (consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Dotnet48 instalado
  • Vcrun2017 instalado (nuevamente consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Ahora no tengo tartamudeo en el mapa de la campaña, un cursor del mouse fijo y el guardado toma unos segundos. Podría valer la pena intentarlo para que alguien más lo pruebe.

Probé esto, con 1.0.3, y el rendimiento fue peor en algunas áreas, mejor en otras.

después de actualizar a 1.0.4, todo el juego funciona perfectamente, es increíble.

@nilleairbar Acabo de probar esto, y todo el tartamudeo desapareció para mí, ¡con menos de 3 segundos para guardar! Eres un genio, gracias por descubrirlo. Curiosamente, tenía todos estos paquetes instalados en mi último prefijo, pero no había usado proton-tkg y los había instalado en un orden diferente, así que tal vez una de esas cosas marque la diferencia. De cualquier manera, este ha sido uno de los problemas más extraños que he visto en un tiempo, y espero que estas correcciones puedan eventualmente ser empujadas al vino / protón aguas arriba.

Bien, podría ser que encontré la solución para el tartamudeo de la campaña. Por supuesto, necesitaría un tamaño de muestra más grande que solo yo. Así es como lo arreglé en un nuevo prefijo:

  • Construya mi propia versión de Proton (tkg) desde la fuente con la compilación de preparación de vinos más nueva que incluye la corrección del cursor del mouse
  • Dotnet40 instalado a través de protontricks
  • Vcrun2015 instalado (consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Dotnet48 instalado
  • Vcrun2017 instalado (nuevamente consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Ahora no tengo tartamudeo en el mapa de la campaña, un cursor del mouse fijo y el guardado toma unos segundos. Podría valer la pena intentarlo para que alguien más lo pruebe.

Probé esto, con 1.0.3, y el rendimiento fue peor en algunas áreas, mejor en otras.

después de actualizar a 1.0.4, todo el juego funciona perfectamente, es increíble.

¿Cómo se instala 2017 después de 2015? Recibo errores en el instalador de 2017 que dicen que ya hay otra versión instalada. Ni siquiera estoy seguro de cómo desinstalar 2015 ahora.

Parece que Steam (al menos a través de Proton) preinstala los tiempos de ejecución de VC 2015 y 2017. También obtengo esos errores ahora (aunque ha pasado un tiempo desde que lo intenté).

En otra nota, parece que para mí la actualización a 1.0.4 empeoró las cosas sustancialmente en términos de velocidad de fotogramas del mapa (EDITAR: olvidé aclarar que es solo cuando el tiempo avanza; cuando está en pausa, se ejecuta a alrededor de 30 fps). Parece ser algo roto con multiproceso; Las GPU tienen una utilización del 1% de acuerdo con DXVK HUD, y solo un núcleo parece estar vinculado a la vez. Además, aparentemente htop informa que el juego usa 1.2TB de RAM ahora, lo cual es a la vez horrible y fascinante:

Screenshot at 2020-04-03 16-21-20

Sin embargo, podría ser un mod (ya que los he estado probando). También podría ser algo extraño con mi partida guardada nuevamente. Los registros no muestran ninguna pistola humeante en particular allí.

EDITAR: resulta que el tartamudeo era del mod ClanTweaker. Algunas otras personas también se quejaron de las caídas en la velocidad de fotogramas, aunque no tanto como yo lo experimenté.

El tamaño de la memoria virtual de 1.2 TB es un poco preocupante y puede indicar una pérdida de memoria, pero casi nada de eso está realmente _mapeado_ a páginas físicas (es decir, RAM real); solo está usando 17 de 32 GB de RAM. Entonces, de alguna manera esto es inofensivo, a menos que el proceso siga solicitando más memoria virtual, entonces podría quedarse sin direcciones de 64 bits y fallar.

Parece que Steam (al menos a través de Proton) preinstala los tiempos de ejecución de VC 2015 y 2017. También obtengo esos errores ahora (aunque ha pasado un tiempo desde que lo intenté).

En otra nota, me parece que la actualización a 1.0.4 empeoró sustancialmente las cosas en términos de velocidad de fotogramas del mapa. Parece ser algo roto con multiproceso; Las GPU tienen una utilización del 1% de acuerdo con DXVK HUD, y solo un núcleo parece estar vinculado a la vez. Además, aparentemente htop informa que el juego usa 1.2TB de RAM ahora, lo cual es a la vez horrible y fascinante:

Screenshot at 2020-04-03 16-21-20

Sin embargo, podría ser un mod (ya que los he estado probando). También podría ser algo extraño con mi partida guardada nuevamente. Los registros no muestran ninguna pistola humeante en particular allí.

Acabo de notar este comentario en reddit:

"Sí, me pasó a mí también, cambió a mi Intel en lugar de Nvidia (e incluso eso me da como 128 MB de energía solamente, como wtf?) Y no puedo volver a cambiarlo.
Lamento mucho que te haya pasado a ti también, amigo, pero por otro lado, me siento realmente mejor que mi Nvidia no se quemó xD ".

Parece que el juego está intentando utilizar los gráficos integrados en el procesador de este usuario. Interesante

Esta máquina no tiene una GPU integrada en absoluto, por lo que no parece un culpable probable en mi caso, por desgracia.

* Build my own Proton version (tkg) from source with the newest wine-staging build that includes the mouse cursor fix

Mi falta de conocimiento de Linux se está mostrando, pero esta solución es solo para usuarios de Arch, ¿verdad? Lo único que encontré para la "versión de Proton (tkg)" es esto y se refiere a PKGBUILDS, que son un arco, ¿verdad? ¿Hay alguna manera de hacer lo mismo en kde neon (ubuntu 18.04 base)?

* Build my own Proton version (tkg) from source with the newest wine-staging build that includes the mouse cursor fix

Mi falta de conocimiento de Linux se está mostrando, pero esta solución es solo para usuarios de Arch, ¿verdad? Lo único que encontré para la "versión de Proton (tkg)" es esto y se refiere a PKGBUILDS, que son un arco, ¿verdad? ¿Hay alguna manera de hacer lo mismo en kde neon (ubuntu 18.04 base)?

Sí, es una cosa de arco. Noté en el archivo Léame que dijo que era posible sin arco, solo que quizás un poco más complicado.

Además, hace un par de horas, había un error con proton-tkg que lo impedía construir de todos modos.

* Build my own Proton version (tkg) from source with the newest wine-staging build that includes the mouse cursor fix

Mi falta de conocimiento de Linux se está mostrando, pero esta solución es solo para usuarios de Arch, ¿verdad? Lo único que encontré para la "versión de Proton (tkg)" es esto y se refiere a PKGBUILDS, que son un arco, ¿verdad? ¿Hay alguna manera de hacer lo mismo en kde neon (ubuntu 18.04 base)?

Sí, es una cosa de arco. Noté en el archivo Léame que dijo que era posible sin arco, solo que quizás un poco más complicado.

Además, hace un par de horas, había un error con proton-tkg que lo impedía construir de todos modos.

Es una cosa archi, pero el ejecutable solo crea un tarball que puedes extraer donde quieras (por ejemplo, en el directorio sugerido en el comentario principal, bajo "solución actual"). Si tiene arch, puede hacerlo automáticamente por usted, pero no es un gran paso. El problema se resolvió en una hora y ahora funciona bien.

Hola,
Gracias al trabajo de @YellowApple , pude compilar un proton-tkg funcional en ubuntu, seguí los pasos de @nilleairbar y pude jugar el juego.

nvidia gtx 1070 me proporciona unos 30 fps a 3840x2160 en tierra y en pequeñas escaramuzas, conversaciones dentro de tabernas o pueblos, etc.
Screenshot from 2020-04-04 03-21-08

peleas más grandes alrededor de 20 contra 20, conversaciones en el mapa terrestre, tiendas, herrería, a veces el inventario tartamudea a aproximadamente 2 ~ 3 fps
Screenshot from 2020-04-04 03-26-10

me siguen ocurriendo accidentes, pero rara vez

editar: establecer la configuración en medio resuelve el problema de 2 ~ 3 fps, el ahorro demora aproximadamente 3 segundos como máximo

* Build my own Proton version (tkg) from source with the newest wine-staging build that includes the mouse cursor fix

Mi falta de conocimiento de Linux se está mostrando, pero esta solución es solo para usuarios de Arch, ¿verdad? Lo único que encontré para la "versión de Proton (tkg)" es esto y se refiere a PKGBUILDS, que son un arco, ¿verdad? ¿Hay alguna manera de hacer lo mismo en kde neon (ubuntu 18.04 base)?

Sí, es una cosa de arco. Noté en el archivo Léame que dijo que era posible sin arco, solo que quizás un poco más complicado.
Además, hace un par de horas, había un error con proton-tkg que lo impedía construir de todos modos.

Es una cosa archi, pero el ejecutable solo crea un tarball que puedes extraer donde quieras (por ejemplo, en el directorio sugerido en el comentario principal, bajo "solución actual"). Si tiene arch, puede hacerlo automáticamente por usted, pero no es un gran paso. El problema se resolvió en una hora y ahora funciona bien.

¿Hay algún cambio nuevo en wine-stable que parezca beneficiar a Bannerlord? Ya tengo una compilación personalizada con solo los cambios de YellowApple, solo me pregunto si valdría la pena hacer una nueva desde la puesta en escena.

Bien, podría ser que encontré la solución para el tartamudeo de la campaña. Por supuesto, necesitaría un tamaño de muestra más grande que solo yo. Así es como lo arreglé en un nuevo prefijo:

  • Construya mi propia versión de Proton (tkg) desde la fuente con la compilación de preparación de vinos más nueva que incluye la corrección del cursor del mouse
  • Dotnet40 instalado a través de protontricks
  • Vcrun2015 instalado (consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Dotnet48 instalado
  • Vcrun2017 instalado (nuevamente consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Ahora no tengo tartamudeo en el mapa de la campaña, un cursor del mouse fijo y el guardado toma unos segundos. Podría valer la pena intentarlo para que alguien más lo pruebe.

image

Intenté esto, pero ahora el juego parece querer usar gráficos integrados de Intel que ni siquiera tengo. El juego es muy lento y no parece haber una opción para cambiar la tarjeta gráfica.

Bien, podría ser que encontré la solución para el tartamudeo de la campaña. Por supuesto, necesitaría un tamaño de muestra más grande que solo yo. Así es como lo arreglé en un nuevo prefijo:

  • Construya mi propia versión de Proton (tkg) desde la fuente con la compilación de preparación de vinos más nueva que incluye la corrección del cursor del mouse
  • Dotnet40 instalado a través de protontricks
  • Vcrun2015 instalado (consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Dotnet48 instalado
  • Vcrun2017 instalado (nuevamente consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Ahora no tengo tartamudeo en el mapa de la campaña, un cursor del mouse fijo y el guardado toma unos segundos. Podría valer la pena intentarlo para que alguien más lo pruebe.

Probé esto, con 1.0.3, y el rendimiento fue peor en algunas áreas, mejor en otras.
después de actualizar a 1.0.4, todo el juego funciona perfectamente, es increíble.

¿Cómo se instala 2017 después de 2015? Recibo errores en el instalador de 2017 que dicen que ya hay otra versión instalada. Ni siquiera estoy seguro de cómo desinstalar 2015 ahora.

Tengo el mismo problema. Sin embargo, el juego funciona bastante bien, aparte de algunos bloqueos de vez en cuando. Estoy corriendo en un 1080ti en arco.

Bien, podría ser que encontré la solución para el tartamudeo de la campaña. Por supuesto, necesitaría un tamaño de muestra más grande que solo yo. Así es como lo arreglé en un nuevo prefijo:

  • Construya mi propia versión de Proton (tkg) desde la fuente con la compilación de preparación de vinos más nueva que incluye la corrección del cursor del mouse
  • Dotnet40 instalado a través de protontricks
  • Vcrun2015 instalado (consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Dotnet48 instalado
  • Vcrun2017 instalado (nuevamente consulte https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Ahora no tengo tartamudeo en el mapa de la campaña, un cursor del mouse fijo y el guardado toma unos segundos. Podría valer la pena intentarlo para que alguien más lo pruebe.

Probé esto, con 1.0.3, y el rendimiento fue peor en algunas áreas, mejor en otras.
después de actualizar a 1.0.4, todo el juego funciona perfectamente, es increíble.

¿Cómo se instala 2017 después de 2015? Recibo errores en el instalador de 2017 que dicen que ya hay otra versión instalada. Ni siquiera estoy seguro de cómo desinstalar 2015 ahora.

He tenido el mismo problema desde el principio. Simplemente use protontricks 261550 uninstaller .
Lamentablemente, dotnet hace que el juego funcione mucho peor para mí, pero ahorrar tiempo es más rápido, toma alrededor de 30 segundos.

Necesita un prefijo nuevo (no creado por Steam) para instalar vcrun2015 y vcrun2017 (¿y dotnet40?). Los instalé y luego dotnet48 según las instrucciones, pero los guardados más rápidos (aún) tienen el precio de una molesta inestabilidad de velocidad de fotogramas (tartamudeo rápido). Para mí, casi prefiero tomarme un descanso mientras se está ahorrando e ir a hacer otra cosa para sufrir problemas de rendimiento, pero soy solo yo.

¿Alguien más sufre accidentes con mucha frecuencia al hacer algo que implique un asedio? Parece menos probable si la IA lidera el asedio, pero cuando estoy atacando o defendiendo especialmente, es muy probable que el juego se bloquee (varias veces). Puedo subir algunos registros más tarde, solo quería saber si esto era algo que otras personas también estaban experimentando.

¿Alguien más sufre accidentes con mucha frecuencia al hacer algo que implique un asedio? Parece menos probable si la IA lidera el asedio, pero cuando estoy atacando o defendiendo especialmente, es muy probable que el juego se bloquee (varias veces). Puedo subir algunos registros más tarde, solo quería saber si esto era algo que otras personas también estaban experimentando.

Si; Bueno, recibo bloqueos más frecuentes desde e1.0.4, y los asedios parecen ser un desencadenante. Para mi; Las IA lideran todos los segmentos porque soy demasiado pequeño

¿Alguien más sufre accidentes con mucha frecuencia al hacer algo que implique un asedio? Parece menos probable si la IA lidera el asedio, pero cuando estoy atacando o defendiendo especialmente, es muy probable que el juego se bloquee (varias veces). Puedo subir algunos registros más tarde, solo quería saber si esto era algo que otras personas también estaban experimentando.

Tengo una partida guardada en medio de un asedio y se bloquea después de un par de segundos el 100% del tiempo. El mismo juego guardado funciona bien en Windows. Sin embargo, después de cargar un guardado anterior, pasé por un par de asedios como parte de un ejército y no se bloqueó.

No he tenido ningún bloqueo durante los asedios, pero cuando comienzas y estás desplegando uno, el mouse está torcido, parpadea constantemente y no registra clics. Sin embargo, presionar Alt hacia adentro y hacia afuera hace que registre un clic, para que pueda pasar la pantalla de implementación.

¿El parche precompilado en la publicación original ya no funciona?

@ Ryan-Vablet Funciona, al menos debería, por lo que yo sé. Aunque algunos parecen tener una mejor experiencia con su propia versión compatible de proton-tkg (y otras cosas mencionadas en este comentario ).

Lo notable es que la instalación de dotnet48 hace que el ahorro sea mucho más rápido, algo que a algunos les lleva unos minutos, pero que en algunos casos provoca problemas de rendimiento. Las otras cosas en el comentario pueden solucionar los problemas de rendimiento, una vez más en algunos casos.

Pero al final no sabemos de nada específico con proton-tkg que pueda ayudar o, si realmente lo hace, está más actualizado, por lo que es muy posible que haya algo útil en él. La actualidad rara vez duele al menos.

Para los bloqueos, al parecer, no tenemos soluciones sólidas. Pero es posible que se trate simplemente de problemas con el juego en sí, que también puede ser el caso de algunos de los problemas de rendimiento.

Instalé Bannerlord hoy (e1.0.5) y lo jugué con proton-tkg durante 5 horas. Esta es mi experiencia:

Primero intenté jugar Bannerlord sin instalar los paquetes dotnet. Tuve mucho tartamudeo y también tiempos de guardado muy largos como esperaba. También experimenté largos tiempos de carga.

Luego instalé los paquetes dotnet40 y dotnet48 a través de protontricks. Ahorre tiempos y tiempos de carga reducidos significativamente. El tartamudeo también se redujo ligeramente. El juego era prácticamente jugable en este punto. También intenté instalar vcrun2015 y vcrun2017, pero no pude porque ya estaban instalados (probablemente automáticamente por Steam).

Sin embargo, después de unas horas comencé a tener choques cada vez más frecuentes, generalmente cuando esperaba en la ciudad. Según lo que he leído aquí hasta ahora, creo que los fallos están relacionados con que solo tengo 8 GB de RAM. La elección del ajuste preestablecido medio parece haberlo solucionado (no ha tenido fallas desde entonces) y también resultó en menos tartamudeo.


Información del sistema

OS: Arch Linux
KERNEL: 5.5.13-arch2-1
CPU: AMD Ryzen 5 2600 Six-Core
GPU: Radeon RX Vega 56
GPU DRIVER: 4.6 Mesa 20.0.4
RAM: 8 GB

actualizar hasta 1.0.5 (ubuntu 19.10)
funciona perfectamente, sin problemas de rendimiento ni bloqueos, con los cambios de nombre de Managedstarter, pero sin trucos de protones; usando el protón personalizado de yellowapple (en la descripción del problema)
si instalo dotnet40 + 48 para solucionar el problema del ahorro, el rendimiento es una mierda y el juego no es realmente jugable. Me encantaría probar esta solución alternativa de tkg, pero aparentemente eso es algo solo para el arco. ambos vcruns se instalan de forma predeterminada.

Pude superar uno o dos asedios (liderados por la IA) en el parche más nuevo con los pasos descritos por YellowApple anteriormente. Editaré este comentario cuando vuelva a jugar y haga un asedio dirigido por un jugador.

Después de actualizar a 1.05 (usando el protón de YellowApple, sin instalaciones de dotnet), comencé a fallar en la pantalla de botín después de luchar contra los saqueadores y al comienzo de una gran batalla de campo. Lo primero sucedió unas 3 veces, lo último una vez (dejé de intentarlo después). Hubo un par de errores nuevos en el registro, y después de fallas, el juego todavía se mostraba como en reproducción (también el reportero de fallas fallaba):

[000000000000004A:] EXCEPTION handling: System.IO.FileNotFoundException: Could not load the file 'TaleWorlds.PSAI.XmlSerializers'.
...
[000000000000003F:] EXCEPTION handling: System.PlatformNotSupportedException: System.Management currently is only supported for Windows desktop applications.

Actualizar:
Reinicié mi computadora, gané una pelea en un guardado anterior, recargué la que había estado fallando y entré en una pelea diferente sin problemas.

actualizar hasta 1.0.5 (ubuntu 19.10)
funciona perfectamente, sin problemas de rendimiento ni fallas, _con_ los cambios de nombre de Managedstarter, pero _sin_ ningún protontricks; usando el protón personalizado de yellowapple (en la descripción del problema)
si instalo dotnet40 + 48 para solucionar el problema del ahorro, el rendimiento es una mierda y el juego no es realmente jugable. Me encantaría probar esta solución alternativa de tkg, pero aparentemente eso es algo solo para el arco. ambos vcruns se instalan de forma predeterminada.

@aradapilot El script de construcción proton-tkg también funciona bien en sistemas que no son de Arch. Solo asegúrese de instalar las dependencias de wine-tkg.

He configurado algo usando la compilación Proton de dotnet40 y luego dotnet48 (que parece reemplazar la versión anterior), lo que creo que aceleró el ahorro, pero el rendimiento fue regular, especialmente en el mapa de la campaña. Una nota interesante, traté de desinstalar los verbos dotnet, pero luego el juego me hizo saber que necesitaba al menos dotnet 4.0. Reinstalar dotnet40 no fue suficiente para que el juego se iniciara correctamente, y de alguna manera deja a protontricks pensando que la versión 4.8 todavía está instalada. Desinstalé dotnet40 pero eso no lo solucionó. Al final, annihilate d el entorno y no instalé dotnet, que al menos tiene un rendimiento mucho mejor, aunque creo que mi configuración es baja para mis especificaciones. El ahorro tarda unos 60 segundos en lugar de 30 segundos con dotnet.

¡Otra cosa a tener en cuenta es el limitador de fotogramas! Pensé que tartamudeaba incluso en configuraciones bajas, pero resultó que mi velocidad de fotogramas era más alta que mi monitor (60 Hz) pero muy entrecortada. La limitación para monitorear la frecuencia de actualización ayudó mucho.

Especificaciones:
R5 2600
RX 580 de 4 GB
16 GB de RAM
Linux Mint 19.3 con kernel 5.5
Mesa 20.1 de Oibaf PPA

EDITAR: Las cosas también parecen significativamente más estables sin dotnet, así que creo que me mantendré firme. Además, el modo seguro parece restablecer la prueba de brillo y la configuración de gráficos y no noté ninguna mejora de estabilidad, por lo que no me molestaría en habilitarlo después de un bloqueo.

Así que no sé si fue protontricks 261550 vcrun2019 o usando el último Proton-GE, pero uno o ambos han erradicado casi por completo cualquier tartamudeo restante para mí. Los guardados manuales tardan unos segundos, mientras que los guardados automáticos parecen ser instantáneos; tampoco causan ningún tipo de retraso residual. También obtengo 10 veces el FPS en la pantalla de Inventario (anteriormente era bastante atroz).

Así que sí, para cualquier otra persona que todavía esté usando mi construcción: ve por GloriousEggroll's en protontricks 261550 vcrun2019 si todavía tienes tartamudeo relacionado con dotnet48 .

¿Utiliza vcrun2019 con o sin dotnet48?

¿Utiliza vcrun2019 con o sin dotnet48?

Con.

Mi orden exacto de operaciones para el prefijo actual que estoy usando:

  • Ejecuté el lanzador al menos una vez en mi compilación (para generar un prefijo)
  • protontricks 261550 uninstall y desinstalar todo
  • protontricks 261550 dotnet40
  • protontricks 261550 vcrun2015
  • protontricks 261550 dotnet48
  • protontricks 261550 vcrun2017
  • Ejecuté el juego de nuevo al menos una vez bajo mi versión
  • Cambiado a Proton 5.5-GE-1
  • protontricks 261550 --force vcrun2019 (ya que técnicamente entra en conflicto con vcrun2015 )
  • Corrió el juego nuevamente y observó una mejora marcada

Todavía no he probado la ruta más simple de protontricks 261550 doetnet48 && protontricks 261550 vcrun2019 en un prefijo nuevo. Mi esperanza es que funcione de maravilla.

Como parece que no puedo salir del infierno de la dependencia por compilar las compilaciones de tkg, estas compilaciones previas son una bendición para mí personalmente.

Mis enfoques anteriores:

  • Utilice la construcción de protones personalizada de YellowApples
    ---> Juego fluido, pero los 60 ahorran tiempo para un nuevo juego. ~ 90 después de las 10 horas aproximadamente en la partida guardada.
  • Instalar dotnet48
    ---> Pequeño tartamudeo en el mapa de la campaña y ~ 30 segundos de ahorro de tiempo. Absolutamente jugable para mí.

Simplemente cambié a Proton 5.5-GE-1 y no hice más modificaciones, todo funcionó de inmediato. El tartamudeo en el mapa de la campaña se ha ido y los tiempos de ahorro son ~ 3 s.


Dicho todo esto, sigo experimentando bloqueos aquí y allá (el juego, por ejemplo, se bloqueó mientras escribía este comentario en la pestaña Alt), pero eso podría estar relacionado con el acceso temprano. Es hora de esperar que esto funcione perfectamente para todos los demás. <3

@evopls Podría ser el mismo problema que tuve:
https://www.reddit.com/r/linuxquestions/comments/fun9qr/did_i_bork_protontkg/

Después de construir mi protón, tuve tiempos de guardado de ~ 5 segundos, todavía no he jugado completamente con el nuevo tiempo de ahorro 5.5 GE-1, pero este juego todavía se está cayendo una tonelada de cosas aleatorias más adelante en el juego. Incluso en Windows es un desastre genuino, todavía hay esperanza ya que es un acceso temprano y esencialmente estamos jugando una versión beta (lo que parece ser una primera).

De hecho, estoy realmente impresionado de que, a pesar de los errores, el juego funciona muy bien. El último parche parece haber manejado el CTD instantáneo para ciertos diálogos y entrar en la herrería y el parche anterior ayudó significativamente a la tartamudez en el mapa de la campaña.

Todavía tengo problemas con solo dotnet48 con Proton-GE o no, pero con vcrun2019 es mayormente estable.

No necesitaba los otros pasos Proton-GE + dotnet48 + vcrun2019 funciona para mí

protontricks 261550 dotnet48

protontricks 261550 --force vcrun2019

vcrun2019 solo no era suficiente, necesitaba tanto dotnet48 + vcrun2019

Parece que no tengo vcrun2019 disponibles para instalar. Acabo de reinstalar protontricks-git desde aur , por lo que debería ser la versión más reciente. ¿Cómo consigo vcrun2019 instalado y / o disponible para instalar desde protontricks?

@yarbelk Es de winetricks, actualiza winetricks con

# protontricks will pass --self-update to winetricks
protontricks 261550 --self-update

editar: No creo que tuviera que hacer la actualización cuando reinstalé el prefijo, tal vez intente reinstalarlo con Steam

--auto-actualización tomará lo último de git / master see
https://github.com/Winetricks/winetricks/blob/master/src/winetricks#L1148

El último winetricks es 20191224 (https://github.com/Winetricks/winetricks/releases) que es lo que he instalado. Estoy en NixOS, por lo que winetricks: la autoactualización no funciona (por lo tanto, tampoco protontricks). Todavía no tengo ningún vcrun2019 disponible.

El último winetricks es 20191224 (https://github.com/Winetricks/winetricks/releases) que es lo que he instalado. Estoy en NixOS, por lo que winetricks: la autoactualización no funciona (por lo tanto, tampoco protontricks). Todavía no tengo ningún vcrun2019 disponible.

¿Por qué estar en NixOS evita que winetricks --self-update funcione? Tal vez ejecutarlo como root: estoy en Ubuntu y sudo winetricks --self-update funcionó.

De todos modos, puede obtener el último código de winetricks git. La versión que tiene vcrun2019 para mí es 20191224-next - sha256sum: 472eba29dbf056c87afd39a70426886064040e0bc2c3b63c17baf469b0bf2be2 . Parece que vcrun2019 no está en ninguna versión publicada de winetricks, pero --self-update definitivamente toma lo último (de git, no de los lanzamientos).

Aquí está la confirmación en la versión "-siguiente" (actualmente inédita) que tiene vcrun2019: https://github.com/Winetricks/winetricks/commit/94edaddc039c205a98c2a620399a741c7a70ce02

¿Por qué estar en NixOS evita que winetricks --self-update funcione? Tal vez ejecutarlo como root: estoy en Ubuntu y sudo winetricks --self-update funcionó.

Es porque NixOS es un sistema operativo declarativo y no usa la jerarquía estándar del sistema de archivos Unix. Utiliza un entorno chroot especial para aplicaciones como Steam que hacen presunciones y quieren controlar su propio entorno. El paquete winetricks se instala en una ruta de solo lectura en /nix/store/ donde todos los paquetes se aíslan en función de su hash. Es imposible que se actualice.

De todos modos, puede obtener el último código de winetricks git

Intentaré actualizar la revisión del paquete y veré si funciona. ¡Gracias!

Editar: funcionó en la medida en que existe vcrun2019, pero al intentar instalarlo obtengo una suma de comprobación incorrecta:

sha256sum mismatch! Rename /home/ludvig-new/.cache/winetricks/vcrun2019/vc_redist.x86.exe and try again.

@lboklin si no tiene ganas de eliminar cosas, haga una copia de seguridad del directorio en caché

mv ~/.cache/winetricks/{,bak.}vcrun2019

luego intente instalar

@lboklin si no tiene ganas de eliminar cosas, haga una copia de seguridad del directorio en caché

mv ~/.cache/winetricks/{,bak.}vcrun2019

luego intente instalar

Lo intenté sin éxito, pero lo ejecuté con vino (¿creo que lo instalé correctamente? Configuré todas las variables env que se me ocurrieron), pero estoy divagando. Esto es específico de mi sistema y no quiero saturar este hilo. Lo averiguaré.

Sigo recibiendo esto ahora:

d3d_device_->CreateTexture2D at
rglGPU_device::create_texture_from_image
failed!
Invalid parameter.

Last Executed Marker: Only supported with nVidia
Gpus and Windows 10.

(Se agregaron envolturas de líneas extrañas para mayor verosimilitud)

Estoy ejecutando dotnet48 vcrun2019 (gracias @chrisrhayden), y el protón ge-5.5

Tengo un 1080ti, que sospecho que califica como nVidia.

Es extraño porque cualquiera que reciba este error en Windows está deshabilitando Nvidia / Radeon Sharpening para una posible solución, lo único que sé que está remotamente cerca en nuestro Panel Nvidia es Conformant Texture Clamping para texturas 2d sin bordes, que no se está utilizando en absoluto HASTA DONDE SE.

Algunos dicen que regresemos a e1.0.3 para evitar el problema por ahora, puede seleccionar esto en Propiedades-> BETAS-> Seleccione e1.0.3 en el menú desplegable. Yo diría que lo intente, he estado recibiendo errores cada vez más raros desde la última actualización, mientras que jugué durante 3 horas completas el parche anterior. No digo que esa sea la causa, pero no está de más comprobarlo.

Probé la versión más reciente de GE con y sin dotnet48 y vcrun19 . Parece que se atasca en la primera pantalla de carga con estos errores:

[0405/100010.058616:ERROR:frame_sink_video_capturer_impl.cc(206)] Invalid resolutions constraints: 0x0 must not be greater than 0x0; and also within media::limits.
eventfd: Too many open files

A veces, las compilaciones de GE o YellowApple me avisan esto:

image

Pero después de descartar el diálogo 2-3 veces, el juego aún se inicia y se ejecuta normalmente. ¿Decir que sí no parece proporcionar información adicional?

Volviendo a la compilación de YellowApple con esos dos verbos instalados tiene un buen rendimiento y ~ 10-15 segundos guardados, todavía no he probado la estabilidad mucho, pero creo que lo seguiré por ahora.

Ya no puedo instalar dotnet48 mientras pude anteriormente ... Aparece esta ventana emergente:
image

¿Por qué pasaría esto ahora?

Editar: crear un nuevo prefijo manualmente y luego instalar dotnet48 y 2019 antes de iniciarlo a través de Steam funcionó.

Hola @ Gyrfalcon5 , ejecute ulimit -Hn y verifique que le dé un valor alto y no 4096.

Hola @ Gyrfalcon5 , ejecute ulimit -Hn y verifique que le dé un valor alto y no 4096.

Eso me da 4096. ¿Es eso un problema? Creo que vi algo aquí sobre aumentar un valor como ese, pero no estoy seguro.

Utilicé las instrucciones de YellowApple anteriores y el juego funciona bien, pero todavía no tengo un cursor de mouse que funcione. ¿Hay un paso esencial que quizás me perdí? Estaba resignado a usar mi controlador para los menús, pero tan pronto como llego al mapa después de la creación del personaje, recibo una notificación de que no puedo hacer clic con mi controlador.

Utilicé las instrucciones de YellowApple anteriores y el juego funciona bien, pero todavía no tengo un cursor de mouse que funcione. ¿Hay un paso esencial que quizás me perdí? Estaba resignado a usar mi controlador para los menús, pero tan pronto como llego al mapa después de la creación del personaje, recibo una notificación de que no puedo hacer clic con mi controlador.

En otro sistema, a veces funciona y a veces no. Reiniciar el juego lo ha solucionado. encogimiento de hombros

Utilicé las instrucciones de YellowApple anteriores y el juego funciona bien, pero todavía no tengo un cursor de mouse que funcione. ¿Hay un paso esencial que quizás me perdí? Estaba resignado a usar mi controlador para los menús, pero tan pronto como llego al mapa después de la creación del personaje, recibo una notificación de que no puedo hacer clic con mi controlador.

Sí, por alguna razón, el mouse tampoco funciona en mi sistema la primera vez que inicio el juego después de iniciar sesión en Steam. Si reinicio el juego, comienza a funcionar.

Utilicé las instrucciones de YellowApple anteriores y el juego funciona bien, pero todavía no tengo un cursor de mouse que funcione. ¿Hay un paso esencial que quizás me perdí? Estaba resignado a usar mi controlador para los menús, pero tan pronto como llego al mapa después de la creación del personaje, recibo una notificación de que no puedo hacer clic con mi controlador.

Sí, por alguna razón, el mouse tampoco funciona en mi sistema la primera vez que inicio el juego después de iniciar sesión en Steam. Si reinicio el juego, comienza a funcionar.

¿Que demonios? Está bien, sí. Es solo la primera vez después de iniciar Steam. Qué curioso.

Actualización: tuve que eliminar y volver a crear el prefijo manualmente sin Steam para instalar dotnet48 y vcrun2019. Luego pude iniciar a través de Steam y tanto el rendimiento como el ahorro parecen funcionar bien (probado solo durante un minuto hasta ahora). Esto es con Proton-GE y winetricks construidos a partir de esta revisión .

Sí, lea https://github.com/zfigura/wine/blob/esync/README.esync .

Siguió las instrucciones allí y Proton GE está trabajando con un rendimiento mucho mejor. Sin embargo, a la estabilidad le vendría bien un poco de trabajo, tuve un bloqueo al buscar un personaje después de uno o dos minutos. Puedo intentar borrar mi prefijo y reinstalar cosas para ver si eso ayuda, aunque sé que el juego en sí es bastante inestable en este momento.

EDITAR: Buscar un personaje es un bloqueo súper consistente, con el siguiente resultado cuando ejecuto Steam desde la línea de comando:

mesa: for the   --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the   --global-isel-abort option: may only occur zero or one times!
ERROR: ld.so: object '/home/roland/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
>>> Adding process 5460 for game ID 261550
ERROR: ld.so: object '/home/roland/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
>>> Adding process 5468 for game ID 261550
wine: Unhandled page fault on execute access to 000000001E770198 at address 000000001E770198 (thread 0035), starting debugger...
ERROR: ld.so: object '/home/roland/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

EDIT2: Más información sobre el accidente de un nuevo entorno Proton-GE:

=================================================================
    Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
    Managed Stacktrace:
=================================================================
domain required for stack walk
=================================================================

EDITAR 3: Probar dotnet48 nuevamente para ver si eso resuelve el error de información adicional.

EDICIÓN 4: La queja sobre mono desapareció, pero los problemas de estabilidad con la enciclopedia y la clasificación de la arena persisten. Creo que tiene algo que ver con el diálogo adicional que aparece en el mapa de la campaña, pero no estoy seguro.

¿Cómo se instala vcrun2019? cuando ejecuto protontricks 261550 vcrun2019
Siempre obtengo "Unknown arg vcrun2019"
(estoy usando los últimos protontricks)

¿Cómo se instala vcrun2019? cuando ejecuto protontricks 261550 vcrun2019
Siempre obtengo "Unknown arg vcrun2019"
(estoy usando los últimos protontricks)

¿También has actualizado Winetricks? Creo que a la gente le costaba que los trucos de protones estuvieran actualizados, pero hablaron antes con trucos de vino obsoletos. Debería ser suficiente con solo hacer winetricks --self-update , es posible que necesite sudo.

Obteniendo muchos bloqueos con proton-GE, dotnet48 y vcrun2019.
Salida en terminal:

wine: Unhandled exception 0xe0434352 in thread 3f at address 000000007B00FDCE (thread 003f), starting debugger...

Editar:
Creo que habilitar el modo seguro (te pregunta cuándo vuelves a iniciar después de que se bloqueó) ayudó a evitar un bloqueo inevitable en mi campaña (es probable que algún evento lo haya desencadenado).

Edición 2:
Ampliar el mapa de la campaña a menudo provoca un bloqueo (ocurrió al menos 3 veces en la última hora).

Edición 3:
Básicamente es injugable. Tuvo más de 5 choques en la última media hora. No veo nada útil en la salida; sólo

wine: Unhandled exception 0xe0434352 in thread 74 at address 7B00DE67 (thread 0074), starting debugger...

Edición 3:
Ok, ahora me estrellé en el menú de configuración:

wine: Unhandled page fault on execute access to 0000000000000000 at address 0000000000000000 (thread 003b), starting debugger...

Debido a que el juego de repente se olvidaría y se negaría a guardar mi configuración, agregué permisos de lectura del directorio de guardado y configuración al grupo (lo mantengo vinculado simbólicamente fuera del prefijo para no borrarlo accidentalmente). Después de eso, el juego recordó mi configuración. Puede estar relacionado con el último bloqueo en el menú de configuración.

@lboklin
También tengo bloqueos cada pocos minutos 5-30 cuando uso dotnet48 y vcrun2019 y siempre está en el mapa mundial.
proton-GE y proton-tkg tienen este problema, proton-GE no mejoró nada para mí.

@craftyguy Excepto si desea que winetricks actualice, depende de cómo lo instaló originalmente.

$ winetricks --self-update
------------------------------------------------------
You don't have the proper permissions to run this command. Try again with sudo or as root.
------------------------------------------------------

Si lo obtuvo de su administrador de paquetes, lo más probable es que se encuentre en /usr/bin , y _no_ necesita acceso de root para actualizarlo allí.

Sólo una sugerencia. Si alguien necesita permisos de root para actualizar Winetricks. Utilice sudo -E para preservar su medio ambiente.

@lboklin

Intentaré actualizar la revisión del paquete y veré si funciona. ¡Gracias!

Hola, compañero usuario de nixos, ¿cómo hiciste esto?

"cómo actualizar Winetricks" en la distribución que elijas parece fuera de tema aquí. Pregunte en el foro público de su distribución o instale winetricks localmente para su usuario.

@lboklin

Intentaré actualizar la revisión del paquete y veré si funciona. ¡Gracias!

Hola, compañero usuario de nixos, ¿cómo hiciste esto?

Si bien estoy de acuerdo en que es un tema fuera de tema, solo me tomaré un momento para responder y ahorrarle algo de tiempo.

  1. clonar el repositorio de nixpkgs
  2. CD en él
  3. edite pkgs / misc / emulators / wine / sources.nix como se muestra a continuación
  4. nix-env -f . -iA winetricks
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 0e3eb2ce698..aeb0cdef883 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -56,10 +56,10 @@ in rec {

   winetricks = fetchFromGitHub rec {
     # https://github.com/Winetricks/winetricks/releases
-    version = "20191224";
-    sha256 = "07q3zh2i3xqzpg46ljarhq3a4ha9zwpc6jqzvly0kfglkh3b3v66";
+    version = "20191229";
+    sha256 = "0vzb9fxnrmbv1x86q7ri0xx4slvmbyjsf59y9hl48gxyr5kld68q";
     owner = "Winetricks";
     repo = "winetricks";
-    rev = version;
+    rev = "94edaddc039c205a98c2a620399a741c7a70ce02";
   };
 }

Tengo un sistema nuevo con:

Bannerlord recién instalado de Steam
vino recién instalado
winetricks recién construidos desde la fuente
instalación nueva de protontricks usando los winetricks anteriores

❯ wine --version
wine-5.0
❯ winetricks --version
20191224-next - sha256sum: f183161a93a92f2fe38ec90b723055d5a2ca691c85400874879b0ef779a7f46e
❯ protontricks --version
protontricks (1.4.1)
❯ rm -rf ~/.steam/steam/steamapps/compatdata/261550
❯ rm -rf ~/.wine

Instalé la versión 5.5-GE-1 de proton y la moví a .steam/root/compatibilitytools.d

Entonces he corrido:

❯ steam # Launched game from steam with Proton-5.5-GE-1 selected
...
Proton: Upgrading prefix from None to 5.5-GE-1 ($HOME/.local/share/Steam/steamapps/compatdata/261550/)
...
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'ManagedStarter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: 'ManagedStarter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'ManagedStarter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.

❯ cp ~/.steam/steam/steamapps/common/Mount\ \&\ Blade\ II\ Bannerlord/bin/Win64_Shipping_Client/Bannerlord.exe ~/.steam/steam/steamapps/common/Mount\ \&\ Blade\ II\ Bannerlord/bin/Win64_Shipping_Client/ManagedStarter.exe
❯ cp ~/.steam/steam/steamapps/common/Mount\ \&\ Blade\ II\ Bannerlord/bin/Win64_Shipping_Client/Bannerlord_BE.exe ~/.steam/steam/steamapps/common/Mount\ \&\ Blade\ II\ Bannerlord/bin/Win64_Shipping_Client/ManagedStarter_BE.exe

En este punto, el juego se inicia.

❯ killall wineserver
❯ protontricks 261550 dotnet48
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20191224-next - sha256sum: 21f89159ef089f5e8c70568b34c40973f6cdc7de04832f3d79c9b74fcbfc32ed with wine-5.0 and WINEARCH=win64
Executing w_do_call dotnet48
# ..... fails

¿Debo decir de alguna manera que la versión sea de 32 bits? El directorio es creado por Steam, ¿necesito crearlo manualmente con winecfg usando WINEARCH = win32? Parece que bannerlord es de 64 bits, así que no estoy seguro de cómo funcionaría.

@TannerYoung parece que estás ejecutando la versión 1.0.0 del juego.

Puedes actualizar el juego a la última versión o cambiar el nombre de ManagedStarter.exe a ManagedStarter.exe.old (o cualquier cosa en realidad) y luego copiar / symlink / renombrar Bannerlord.exe a ManagedStarter.exe para solucionar el problema.

Para las personas que aún tienen problemas de bloqueo después de instalar las distintas versiones de vcrun, verifique dos veces su versión de Windows en winecfg. El mío se configuró en WinXP durante una de las instalaciones y el cambio a Windows 10 solucionó muchos de mis bloqueos.

Hasta ahora he tenido mucha suerte con dotnet472 y no dotnet48:

protontricks 261550 dotnet472

Estoy usando Proton de Valve (etiqueta @ proton_5.0-next ), con el parche de @YellowApple de wine-staging aplicado, y no estas compilaciones de Proton aleatorias que la gente está distribuyendo. Tampoco instalé vcrun2019.

Los guardados son alrededor de 5 segundos para mí, y el juego no se ha bloqueado desde que usé esta configuración (estoy ejecutando la última versión parcheada del juego con la revisión de hoy).

Vale la pena señalar que las dependencias del juego publicadas en el foro por Taleworlds son .NET 4.7.2, vcrun 2015 y 2017: https://forums.taleworlds.com/index.php?threads/installing -missing-required-dependencies. 407126 /

No hay nada sobre tener .NET 4.8 o vcrun 2019 ..

@craftyguy : ¡muchas gracias por esto! con dotnet48, el juego funcionaba en su mayor parte bien, pero cada campaña eventualmente terminaría colapsando / congelando eventualmente, hasta el punto en que seguir avanzando era casi imposible. Con dotnet472, este problema parece estar resuelto por completo. Además, ahora veo notificaciones a la derecha de la pantalla (como cuando alguien está levantando un ejército en alguna parte), lo que no era el caso de dotnet48, ni siquiera sabía que existía la función.

Tampoco veo tartamudeo en el mapa (aunque nunca lo vi ni siquiera con dotnet48).

Puede confirmar los hallazgos de @craftyguy ; Proton 5.5-GE-1 y protontricks 261550 dotnet472 son suficientes para corregir tanto el tartamudeo como los largos tiempos de guardado. ¡Buena atrapada!

Me doy cuenta de que obtengo un bloqueo que se puede reproducir constantemente cuando veo la página de la enciclopedia de una ciudad en un guardado existente y bloqueos intermitentes en la pantalla de inventario, tanto en mi prefijo anterior (con vcrun201(5|7|9) y dotnet48 ) y el actual (con solo dotnet472 ). Voy a probar un juego nuevo ( suspiro ) y ver si persiste.

No estoy seguro de qué hacer con lo que está pasando, por mi parte. Siento que estoy de vuelta en el punto de partida, donde la entrada del mouse es completamente no funcional sin importar la versión de protones que ejecute, sin importar qué paquetes de Windows instale. Incluso la versión anterior de YellowApple, que funcionaba bien antes, no funciona.

Voy a tener que probar este dotnet472, veré si me ayuda a resolver mis problemas con estos bloqueos aleatorios en un juego nuevo. Supongo que mi antiguo juego está estropeado, ya que ha pasado por varias actualizaciones ahora. Lo tuve jugando durante unas horas y algunos de mis amigos en Windows informan los mismos bloqueos en los guardados anteriores.

Con dotnet472 también puedo confirmar que el ahorro es rápido, pero fallé antes de poder hacer observaciones sustanciales sobre el rendimiento, por lo que parece tan improbable como con vcrun2019 y dotnet48.

Actualizar:
Funciona bien y el ahorro es rápido como se señaló, pero de hecho la estabilidad no es excelente. Muchas fallas en el mapa de la campaña.

Offtopic, pero quiero ayudar rápidamente a cualquier usuario de NixOS compartiendo este script para mi configuración de prefijo actual: https://gist.github.com/lboklin/c735c867a00fbb2d30bb89dbcd910c03

Debería haber mencionado: mi juego sin fallas fue solo después de comenzar una nueva campaña en 1.0.5 (antes de la siguiente revisión pero después de la actualización 1.0.5 real). También he notado tiempos de carga ligeramente más largos (+ ~ 50%) entre escenas con dotnet472 en comparación con dotnet8, lo que realmente no es un gran problema dada la estabilidad enormemente mayor.

@Ampsersanddd otras personas han mencionado esto, pero es común que el juego no responda a la entrada del mouse incluso después de la corrección en el primer lanzamiento por alguna razón; reiniciarlo lo arregla. ¿Quizás ese es tu problema?

dotnet472 se bloquea con los archivos guardados de 1.0.4 (sin embargo, tomó alrededor de 10 minutos mientras estaba en el menú de la ciudad) pero también ofrece un muy buen rendimiento (probado con proton-GE). Más adelante probaré si esto también es cierto para un nuevo juego que usa 1.0.5.

ACTUALIZAR:

Jugué unos 30 minutos con un juego nuevo hasta que se bloqueó al abrir el menú de la ciudad.

Incluso con una nueva campaña es bastante complicado para mí. La mayoría de las veces obtengo el código de excepción 0000000c, aunque el último fallo (más uno de hoy) fue el código de excepción 6ba.

Por el lado positivo, sin embargo, al menos pude confirmar que el portapapeles funciona (usando bannerlord.party para hacer un banner genial ). Entonces, ya sabes, no puede ser del todo malo.

¿Alguien ha descubierto una forma de obtener un registro generado por el juego? Se mencionan archivos de registro (es decir, rgl_log.txt o algo así) en los foros, pero parece que no puedo encontrarlos en ninguna parte. La herramienta de informe de fallos también parece completamente obsoleta, y los registros de Proton no proporcionan ningún seguimiento de pila significativo.

Creo que puede ser útil saber cómo eliminar por completo un prefijo de protón. Sé que está un poco fuera de tema, pero dada la cantidad de veces que la gente hace esto, puede reducir los informes de errores causados ​​por kruft.

Sé que no estoy seguro de lo que estoy haciendo: pero estoy borrando el directorio ~/.steam/steam/steamapps/compatdata/261550/ y ejecutando el juego nuevamente para recrearlo. es esto suficiente?

Sé que no estoy seguro de lo que estoy haciendo: pero estoy borrando el directorio ~/.steam/steam/steamapps/compatdata/261550/ y ejecutando el juego nuevamente para recrearlo. es esto suficiente?

Sí, eso es todo. Personalmente, me gusta cambiar el nombre en su lugar, para poder cambiar entre prefijos y probar cosas rápidamente (y también para facilitar la extracción de mis guardados y configuraciones), pero tú lo haces.

Y hablando de eso: parece que un prefijo nuevo (sin ningún protontricks en absoluto) es menos chocante para mí, pero aún tiene el error de guardado de varios minutos y reintroduce un poco de tartamudeo en el mapa de campaña. Ganas algo, pierdes algo, supongo, lol

Varias cosas:

1) Ahora estoy en un estado extraño en el que con un prefijo nuevo ni siquiera puedo hacer que el lanzador se inicie más. También sospecho que algunos recursos no se limpian correctamente cuando se bloquea (debido a un aumento sospechoso en el uso de la memoria que no he intentado depurar activamente más allá de ps aux | grep Mount y ps aux | grep wine e intentando para que salgan limpiamente. Reiniciaré el sistema pero quiero escribir esto antes de hacerlo.

2) al instalar los paquetes donet y vcrun, sigo viendo 'no parece que mono esté instalado', que es (6.4, arch linux); ¿Es esto algo que rompe los protones o el comportamiento esperado?

3) no escriba mientras se ejecuta protontricks. presionarás Enter a la derecha cuando te pregunte 'instalar esta cosa que tardó una eternidad en llegar' y cancelarás.

4) @YellowApple podría haber jurado que vi un registro que tenía dxvk en la salida: ¿estás usando una versión específica de dicho dxvk? Dados los extraños errores need nvidia card cuando estoy ejecutando una tarjeta nvidia ... me pregunto si hay algo que me falta.

@yarbelk El problema "necesito tarjeta nvidia o windows 10" se solucionó fácilmente cambiando la versión de Windows en winecfg a Windows 10 como se describe aquí: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -609480224

Dicho esto, ahora también recibo los frecuentes bloqueos del mapa de campaña. Lo único que cambié fue la configuración anterior y el parche M&B en sí. No estoy seguro si fue 1.0.3 o 1.0.4 donde funcionó bien, pero estos bloqueos de campaña son completamente nuevos para mí. Dotnet472 o dotnet480 tampoco hicieron ninguna diferencia.

Para las personas que tienen toneladas de problemas extraños de inestabilidad, creo que solo necesitan eliminar su prefijo de vino de Bannerlord, verificar los archivos del juego (asegúrese de estar actualizado) e instalar vcrun2019 y dotnet48. También asegúrese de no tener la anulación global para SteamPlay (página principal de Configuración de Steam -> SteamPlay) y use la última versión de Proton-GE.

Si hace todo esto y aún tiene problemas, actualice también su controlador de gráficos. Para Nvidia, debería ejecutar la última versión binaria de nvidia.com; si esto ya está empaquetado para tu distribución, genial. Para AMD, debe ejecutar los últimos binarios de Catalyst o una versión reciente de git de mesa / libdrm / AMD DDX y un kernel de Linux reciente.

El juego funciona muy bien sin problemas importantes para mí. Tengo problemas de 1-2 segundos la primera vez que se carga una animación de combate o un nuevo atuendo en el campo, pero pausa todo el juego, por lo que no es que luche en desventaja cuando sucede, y no se repite si sigo luchando contra los mismos enemigos. Probablemente algún tipo de almacenamiento en caché de sombreadores relacionado con efectos de tela realistas.

También publique qué GPU tiene cuando informe problemas. Estoy en un 2080 Ti. Pude jugar sin parar durante 4 horas sin choques y con buen rendimiento.

@Amarillo

Los registros de juego se encuentran en el prefijo de vino aquí: </261550 prefix>/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/logs/

por ejemplo, ~/.steam/steam/steamapps/compatdata/261550/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/logs

Si el cargador de fallas funcionó (lo cual es realmente desafortunado que no lo haga ...), parece que cargaría los artefactos encontrados aquí: <261550 prefix>/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/crashes/

Parece que el juego crea un directorio en el directorio crashes cada vez que se bloquea, e incluye algunos registros diferentes + el juego guardado del bloqueo.

Bueno, he avanzado más con la compilación más reciente de Proton-GE y la instalación de dotnet472 (que instaló retroactivamente alrededor de 5-6 versiones anteriores).

Ahora obtengo el lanzador, pero el juego todavía está congelando toda la computadora después de crear el personaje. Puedo escuchar música / sonidos de fondo, pero nada. Lo dejé reposar un rato, pensando que solo necesitaba ponerse al día. Nada. El cierre completo es la única solución.

Bueno, he avanzado más con la compilación más reciente de Proton-GE y la instalación de dotnet472 (que instaló retroactivamente alrededor de 5-6 versiones anteriores).

Ahora obtengo el lanzador, pero el juego todavía está congelando toda la computadora después de crear el personaje. Puedo escuchar música / sonidos de fondo, pero nada. Lo dejé reposar un rato, pensando que solo necesitaba ponerse al día. Nada. El cierre completo es la única solución.

¿Qué versión de distribución, GPU y controlador de gráficos?

Ubuntu 18.04, RX 580 y controladores amd estándar / estándar. También tengo wine / winetricks / mesa / vulkan actualizado.

Es solo este juego, actualmente, el que no se ejecuta, pero eso no significa que no sea mi sistema, simplemente lo lanza.

Controladores de Ubuntu 18.04, RX 580 y stock / defautl amd. También tengo wine / winetricks / mesa / vulkan actualizado.

Es solo este juego, actualmente, el que no se ejecuta, pero eso no significa que no sea mi sistema, simplemente lo lanza.

Ubuntu 18.04 está usando controladores Mesa (código abierto) bastante antiguos ahora. ¿Puede intentar cambiar a los controladores AMD Adrenaline (anteriormente conocido como Catalyst o fglrx)?

Si desea seguir con la pila de gráficos de código abierto, también puede probar el PPA de gráficos de oibaf: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers

La pila de gráficos de código abierto envejece muy mal. Esto se debe en gran parte al ritmo extremadamente rápido de las mejoras. Un controlador de gráficos de código abierto de 1 año es como un automóvil de 80 años. Total y absolutamente obsoleto. En este punto, estoy pensando seriamente que la falla está en la pila de gráficos de código abierto para su problema.

Estoy en Ubuntu 20.04 (que es en su mayoría similar a 18.04 en la mayoría de los aspectos, en realidad) y la principal diferencia es que estoy ejecutando los controladores binarios de Nvidia. El juego funciona muy bien. Si la actualización de la pila de gráficos de código abierto de Oibaf no lo soluciona, probaría el controlador binario Adrenaline.

La pila de gráficos de código abierto envejece muy mal.

No culpes a Mesa por una distribución de mierda (ubuntu) que envía versiones antiguas. Hay PPA públicos que le permitirán instalar un Mesa más nuevo en su antigua distribución obsoleta.

Estoy ejecutando un RX 580 en Mesa 20.0 (e incluso en la rama maestra de Mesa) sin bloqueos gráficos como los descritos.

Estoy ejecutando un RX 580 en Mesa 20.0 (e incluso en la rama maestra de Mesa) sin bloqueos gráficos como los descritos.

Demuestro que estoy en Mesa 20.0.0-devel, pero si esa es la versión incorrecta y hay una diferente / mejor, no soy de los que ignoran los consejos de los demás. También estoy revisando el otro PPA, porque pensé que lo tenía antes, pero podría haberlo eliminado hace un tiempo.

La pila de gráficos de código abierto envejece muy mal.

No culpes a Mesa por una distribución de mierda (ubuntu) que envía versiones antiguas. Hay PPA públicos que le permitirán instalar un Mesa más nuevo en su antigua distribución obsoleta.

Estoy ejecutando un RX 580 en Mesa 20.0 (e incluso en la rama maestra de Mesa) sin bloqueos gráficos como los descritos.

Oh, no culpo a Mesa en absoluto. El hecho es que Mesa a partir de hoy es 1000% mejor (más funcional y con funciones completas) que Mesa de hace un año. Esto ha sido así durante todos los años de existencia de la pila de gráficos de código abierto. Simplemente estaba justificando por qué no está bien confiar en cualquier versión "estable" (también conocida como _stale_) de Mesa que una distribución LTS envíe, mientras se trata de jugar juegos de alta gama.

Editar: Por otra parte, nunca he tenido mucho éxito al ejecutar juegos "reales" (es decir, algo con más detalles gráficos que Stellaris o Team Fortress 2) con la pila de gráficos de código abierto. Probé una versión maestra de git de marzo a partir del PPA de oibaf con una Radeon VII con Kingdom Come: Deliverance, Elder Scrolls Online, PULSAR: Lost Colony, Stellaris y varios otros juegos. El rendimiento fue aceptable en ESO y Stellaris pero increíblemente lento en los demás (5 fps o peor). Cambié la eGPU de una Radeon VII a una 2080 Ti y usé el controlador binario de Nvidia, y de repente el rendimiento supera los 60 fps en todas las escenas y más de 100 a menudo. Noche y dia.

Si está utilizando la pila de gráficos de código abierto, está bastante limitado a jugar cualquier juego que admita bien, que probablemente sea alrededor del 20-50% de todos los juegos existentes (estimación aproximada). Si está utilizando los controladores binarios de Nvidia, más del 95% de los juegos funcionan bien. Espero que los controladores de código abierto lleguen al punto en que sean tan buenos o mejores que los binarios algún día, pero eso no es hoy.

Así que noté esto , en la sección de soporte de los foros, diciendo que a veces Steam no está instalando todos los deps necesarios.

No sé si .net Core está incluido (o se supone que está) con dotnet472 , pero usé el enlace desde esa publicación para instalar esa versión específica y parece que la mayoría de mis fallas desaparecieron. Todavía me cuelgo ocasionalmente, especialmente cuando cosas como las texturas se cargan por primera vez en cada sesión, ¡pero incluso puedo subir la notoria clasificación de la arena sin fallar ahora!

Para aquellos que quisieran probarlo, hice algo como lo siguiente:

$ wget https://download.visualstudio.microsoft.com/download/pr/cd223083-8c0e-4963-9fcd-fcf01a55e56c/15500e764899442ed6e014687caa34e9/dotnet-runtime-2.1.17-win-x64.exe

$ export STEAM_COMPAT_DATA_PATH=/games/steamapps/compatdata/261550/

$ cd ~/.steam/steam/compatibilitytools.d/proton_butterlord/

$ ./proton run ~/dotnet-runtime-2.1.17-win-x64.exe

donde la ruta compatdata sería la ruta a la carpeta compatdata de bannerlord y el cd es el directorio que contenga el protón que está utilizando.

Si desea seguir con la pila de gráficos de código abierto, también puede probar el PPA de gráficos de oibaf: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers

Bueno, mierda, ¡si reinstalarlos no parece funcionar! ¡De hecho, llegué al primer diálogo después de la creación del personaje! Voy a probar más, pero solo quería tirarlo, esa podría haber sido la solución (toco madera).

/editar
Me gustaría agregar un agradecimiento de un extraño en Internet al azar a todos los que han estado solucionando problemas y encontrando soluciones para esto.

@Aliervo - Entonces después del último comando y parece fallar con esto -

ProtonFixes [12023] INFO: Ejecución de protonfixes
ProtonFixes [12023] INFO: Comprobaciones en ejecución
ProtonFixes [12023] INFO: Todas las comprobaciones se realizaron correctamente
ProtonFixes [12023] INFO: No se encontró ningún protonfix para UNKNOWN (261550)

@yarbelk El problema "necesita tarjeta nvidia o windows 10" se solucionó fácilmente cambiando la versión de Windows en winecfg a Windows 10 como se describe aquí: # 3706 (comentario)

Dicho esto, ahora también recibo los frecuentes bloqueos del mapa de campaña. Lo único que cambié fue la configuración anterior y el parche M&B en sí. No estoy seguro si fue 1.0.3 o 1.0.4 donde funcionó bien, pero estos bloqueos de campaña son completamente nuevos para mí. Dotnet472 o dotnet480 tampoco hicieron ninguna diferencia.

Desafortunadamente; configurar Windows 10 no detuvo el bloqueo de nvidia por mí (con prefijo vacío también)
al inicio del nuevo juego antes de la creación del personaje: nvida crash. reiniciar. justo después de ganar el torneo: nvidia crash (10 minutos).

@ jake-hedges ¿Cayó al indicador después de eso? Recuerdo haberlos visto, pero después de un segundo se ejecutó y apareció el instalador.

Editar: Solo le di otra oportunidad con un prefijo limpio, obtuve

ProtonFixes[32252] INFO: Running protonfixes
ProtonFixes[32252] INFO: Running checks
ProtonFixes[32252] INFO: All checks successful
ProtonFixes[32252] INFO: No protonfix found for UNKNOWN (261550)
ProtonFixes[32252] INFO: Creating MS Core font links in /games/Steam/steamapps/compatdata/261550/pfx/drive_c/windows/Fonts

pero luego, después de unos segundos, apareció el diálogo de instalación y me permitió instalar.

Verifique /your/path/to/compatdata/261550/pfx/drive_c/Program\ Files/ para una carpeta dotnet en caso de que haya realizado una instalación silenciosa. Si no hay nada allí, intente ejecutarlo nuevamente y déjelo reposar durante uno o dos minutos para ver si aparece la ventana de instalación.

@Aliervo - Entonces después del último comando y parece fallar con esto -

ProtonFixes [12023] INFO: Ejecución de protonfixes
ProtonFixes [12023] INFO: Comprobaciones en ejecución
ProtonFixes [12023] INFO: Todas las comprobaciones se realizaron correctamente
ProtonFixes [12023] INFO: No se encontró ningún protonfix para UNKNOWN (261550)

También recibí este error, pero funcionó agregando "pfx /" al final

$ exportar STEAM_COMPAT_DATA_PATH = / juegos / steamapps / compatdata / 261550 / pfx /

Sin embargo, esto no hizo nada por mí. Obteniendo los mismos choques aleatorios.

Editar: NVM me equivoqué. Pensé que lo solucionó, pero leí mal
Error al usar 261550 /

ProtonFixes [25930] INFO: Ejecución de protonfixes
ProtonFixes [25930] INFO: Comprobaciones en ejecución
ProtonFixes [25930] INFO: Todas las comprobaciones se realizaron correctamente
ProtonFixes [25930] INFO: No se encontró ningún protonfix para UNKNOWN (261550)

Error al usar 261550 / pfx /

./proton run ~ / dotnet-runtime-2.1.17-win-x64.exe Proton: prefijo de actualización de None a 5.5-GE-1 (/ run / media / m / 850EVO / Games / SteamLibrary / steamapps / compatdata / 261550 / pfx //)
ProtonFixes [25999] INFO: Ejecución de protonfixes
ProtonFixes [25999] INFO: Comprobaciones en ejecución
ProtonFixes [25999] INFO: Todas las comprobaciones se realizaron correctamente
ProtonFixes [25999] INFO: No se encontró ningún protonfix para UNKNOWN (261550)
ProtonFixes [25999] INFO: Creación de enlaces de fuentes MS Core en / run / media / m / 850EVO / Games / SteamLibrary / steamapps / compatdata / 261550 / pfx / pfx / drive_c / windows / Fonts
Por alguna razón, agregó los enlaces de fuentes de MS Core cuando usé pfx, pero el instalador no se inició.

Sin dotnet472 o dotnet48, el iniciador no funcionará, y tengo que cambiar el nombre del juego .exe como se sugirió al principio del hilo para iniciar el juego sin el iniciador, pero cada guardado toma de 30 a 90 segundos. Sin embargo, parece un poco más estable, pero el juego se guarda automáticamente con demasiada frecuencia, lo que me obliga a esperar más de un minuto cada 5-10 minutos, especialmente al principio del juego.

Con dotnet, el lanzador funciona y el ahorro demora entre 1 y 5 segundos, pero puede fallar al azar en el mapa del juego o antes de iniciar conversaciones o batallas. Sin embargo, es principalmente jugable. De vez en cuando puedo jugar una hora o más antes de que mi FPS caiga a .5 en conversaciones y batallas (que se corrige al reiniciar) o se bloquea.

@EmquCC Verifique dos

Uno de los scripts vcrun lo establece en XP y el otro en 7. Recuerdo fallar mucho cuando mi prefijo estaba configurado en XP y hay informes en los foros de problemas con Windows 7, así que recomiendo ir con 10.

Además, 1.0.6 acaba de caer, así que voy a lanzar un prefijo nuevo y asegurarme de que todo sigue funcionando.

@EmquCC Verifique dos

Uno de los scripts vcrun lo establece en XP y el otro en 7. Recuerdo fallar mucho cuando mi prefijo estaba configurado en XP y hay informes en los foros de problemas con Windows 7, así que recomiendo ir con 10.

Además, 1.0.6 acaba de caer, así que voy a lanzar un prefijo nuevo y asegurarme de que todo sigue funcionando.

Gracias :) Ayer me cambié a Windows 10, pero hoy me olvidé de comprobarlo. Edité mi publicación porque leí mal. Cuando agregué pfx, hizo algunos enlaces para las fuentes de MS Core, pero el instalador no se inició. Voy a crear un prefijo nuevo e intentarlo de nuevo con 1.0.6, y me comunicaré contigo.

Editar: El nuevo RC para Proton 5.0.6 cayó al mismo tiempo que 1.0.6. Todavía no veo ningún registro de cambios, pero también intentaré esto. Para aquellos que quieran probar las compilaciones de prueba de Proton, haga clic con el botón derecho en Proton 5.0 en la biblioteca de Steam> propiedades> Betas> optar por "siguiente -"

. Para aquellos que quieran probar las compilaciones de prueba de Proton, haga clic con el botón derecho en Proton 5.0 en la biblioteca de Steam> propiedades> Betas> optar por "siguiente -"

A menos que agreguen el parche de entrada del mouse en 5.0.6, deberá parchearlo usted mismo o perderá la capacidad de hacer clic con el mouse.

@craftyguy Sí, tuve que intentarlo ya que todavía no hay un registro de cambios para Proton 5.0.6 RC2. El parche de entrada del mouse no se ha agregado en RC2.

@Aliervo @ jake- protontricks --gui , luego "Ejecutar explorador" y ejecutar el .exe desde el explorador. Lo probaré ahora

Editar: ahora mi juego se bloquea antes de llegar a la pantalla del menú. Reiniciando con un prefijo nuevo nuevamente ^^

Edición 2: cargado ahora en un nuevo prefijo con dotnet-runtime instalado. Probablemente fue un error de usuario de mi lado :)

Solo un aviso , el último

Solo un aviso , el último

Con estas correcciones, todavía solo obtengo el control del mouse, tal vez 1 de cada 10 lanzamientos.

Solo un aviso , el último

Con estas correcciones, todavía solo obtengo el control del mouse, tal vez 1 de cada 10 lanzamientos.

Eso es realmente extraño, después de parchear vino hace un tiempo, obtengo el control del mouse el 100% del tiempo. ¿Alguien más experimenta este mismo problema donde los parches no funcionan?

@jaynus : ¿intentaste usar un prefijo nuevo (ejecuta protontricks 261550 annihilate )? No debería hacer ninguna diferencia, pero tal vez tenga algunas anulaciones extrañas de antes, ¿o?

Solo un aviso , el último

Con estas correcciones, todavía solo obtengo el control del mouse, tal vez 1 de cada 10 lanzamientos.

Eso es realmente extraño, después de parchear vino hace un tiempo, obtengo el control del mouse el 100% del tiempo. ¿Alguien más está experimentando este mismo problema donde los parches _no_ funcionan?

@jaynus : ¿intentaste usar un prefijo nuevo (ejecuta protontricks 261550 annihilate )? No debería hacer ninguna diferencia, pero tal vez tenga algunas anulaciones extrañas de antes, ¿o?

¡Sí! He estado eliminando todo el prefijo y comenzando de nuevo, todavía es muy esporádico

Tuve la oportunidad de probar un poco con un nuevo prefijo ahora. Tuvo exactamente 2 choques. Uno cuando cambié la configuración de inmediato (igual que antes, se bloqueó pero guardé los cambios de configuración). El otro fue cuando traté de cambiar de mi pantalla de inventario a la pantalla de mi grupo. Cuando intenté reproducirlo, las pantallas cambiaron bien, con solo un ligero bloqueo para que se cargaran las cosas, por lo que supongo que fue un error de carga único.

También presté más atención a lo que realmente hace la instalación de vcrun2019 , el instalador que aparece dice que es el redistribuible de 2015-2019, por lo que es probable que no haga nada mejor que instalar vcrun2015 y vcrun2017 independiente, solo es un paso conveniente.

Agregar el .net Core que vinculé anteriormente (ya sea usando la línea de comando como publiqué o protontricks 261550 --gui seguido de "Ejecutar Explorador" como señaló @EmquCC ) completa nuestra lista de dependencias requeridas como se enumeran aquí , así que teóricamente , la mayoría de los bloqueos restantes son causados ​​por errores en el juego y pronto serán corregidos.

así que teóricamente, la mayoría de los bloqueos restantes son causados ​​por errores en el juego y pronto serán corregidos.

No sé, hay una larga y sangrienta historia de componentes de Windows que fallan en el vino por varias razones, por lo que no descartaría por completo que no haya más errores de vino aquí.

Es realmente desafortunado que el cargador de fallos del juego no parezca funcionar. Podría haber clases de errores del juego que solo nos afectan en Wine y que Taleworlds podría abordar, ¡si tan solo supieran sobre ellos!

Es realmente desafortunado que el cargador de fallos del juego no parezca funcionar. Podría haber clases de errores del juego que solo nos afectan en Wine y que Taleworlds podría abordar, ¡si tan solo supieran sobre ellos!

¿No crees que existe una forma conveniente de depurar? : ojos_cerrados_ lengua_atacada:

Noté algo extraño, cada vez que cierro el juego, o se cuelga, si voy a iniciarlo nuevamente, también necesito reiniciar Steam, de lo contrario no pasa nada.

OK, entonces lo que he hecho hasta ahora con un prefijo nuevo es:

  • vcrun2019
  • el extra del núcleo dotnet depende
  • dotnet48

Ejecutando Debian Busters 18.3 Mesa Jugué durante aproximadamente una hora antes de chocar contra bandidos de la montaña. Por lo demás, el juego fue bastante fluido y realmente agradable. Me deshice por completo de los tiempos de espera para guardar, con lo que creo que estoy de acuerdo. Solo necesita adquirir el hábito de ahorrar más a menudo por si acaso.

¡Estoy bien con esta configuración por ahora!

He estado jugando durante 3 horas y "solo" tuve 3 bloqueos, usando la misma configuración que la que acaba de escribir @ jake-hedges. Dotnet core + 1.0.6 parece haberse ocupado de la mayoría de los problemas.
Se bloqueó una vez después de ganar un torneo, y dos veces seguidas al ver la misma página en la enciclopedia. La segunda vez que gané el torneo no se bloqueó y la enciclopedia no bloqueó el juego cuando intenté acceder a ella. en un lugar y momento diferente del juego.

Yo mismo estoy bastante contento con la configuración. Tampoco he tenido caídas duraderas de FPS todavía

También estoy funcionando sin problemas, aunque todavía tengo algunos bloqueos menores de vez en cuando. Estoy bastante seguro de que es solo porque hago cosas tontas como habilitar la compresión transparente en mis discos y reproducir un disco duro en lugar de un ssd.

Estaré por aquí o por los foros si algo empieza a romperse ... Hasta entonces, ¡feliz cosecha!

La ejecución de protontricks 261550 dotnet472, que instaló .NET 4.0, 4.5, 4.6, 4.6.1, 4.6.2 y 4.7.2, redujo los tiempos de guardado a unos pocos segundos, y tampoco parece mejorar la estabilidad de ninguna manera.

@ptkato Intente instalar dotnet Core (consulte https://github.com/ValveSoftware/Proton/issues/3706#issuecomment-609959973 y https://github.com/ValveSoftware/Proton/issues/3706#issuecomment-610022040 para conocer las formas de hacer esto).

Además, verifique que su prefijo no se haya configurado en WinXP o Win7, ya que ambos tienen problemas conocidos. Recomiendo Windows 10 para el prefijo.

Después de seguir la solución alternativa actual (Proton 5.5-GE https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1 + protontricks 261550 dotnet472 , prefijo establecido en Windows 10) el El juego funciona sin problemas, incluso en batallas de gran tamaño (400+).

Sin embargo, cada vez que entro en un asedio, el juego tartamudea y se congela como loco. ¿Alguien más tiene esto? (Puedes probar rápidamente los asedios de Custom Battle y cambiar el tipo de batalla). La instalación de dotnet core no ayudó.

@dufuspaelli Tuve el mismo problema con la tartamudez. Para mí estaba relacionado con el estrangulamiento térmico de la GPU, al bajar la tapa del marco obtuve una suavidad mucho mejor. (Puede que sea lo mismo para ti o no).

¿Alguna ayuda para fallar en el inicio sin nada más que el siguiente error para mostrar? Bueno, al menos es lo que se registra justo antes de un seguimiento de pila masivo.

  218 38705.528:0030:0031:fixme:reg:GetEnabledXStateFeatures
  219 38705.531:0030:0031:trace:loaddll:load_native_dll Loaded L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\clrjit.dll" at 0x1a7e0000: native
  220 38705.532:0030:0031:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 0x1a8c2bc0, 0x1a8eb8a0, 0x1a8eb8c0) stub.
  221 38705.532:0030:0031:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x1a8d7e91, 28) stub
  222 38705.535:0030:0031:fixme:path:parse_url failed to parse L"TaleWorlds.Library"
  223 38705.537:0030:0031:fixme:path:parse_url failed to parse L"netstandard"
  224 38705.540:0030:0031:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\bcrypt.dll" at 0x7f0bfdf90000: builtin
  225 38705.542:0030:0031:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\crypt32.dll" at 0x7f0bfde90000: builtin
  226 38705.542:0030:0031:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rsaenh.dll" at 0x66500000: PE builtin
  227 38705.556:0030:0031:fixme:path:parse_url failed to parse L"System.Core"
  228 38705.566:0030:0031:fixme:path:parse_url failed to parse L"TaleWorlds.TwoDimension.Standalone"
  229 38705.567:0030:0031:fixme:path:parse_url failed to parse L"ManagedStarter"

Ejecutando proton-5.5-GE-1 con protontricks 261550 dotnet472 y win10.

Después de seguir la solución alternativa actual (Proton 5.5-GE https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1 + protontricks 261550 dotnet472 , prefijo establecido en Windows 10) el El juego funciona sin problemas, incluso en batallas de gran tamaño (400+).

Sin embargo, cada vez que entro en un asedio, el juego tartamudea y se congela como loco. ¿Alguien más tiene esto? (Puedes probar rápidamente los asedios de Custom Battle y cambiar el tipo de batalla). La instalación de dotnet core no ayudó.

De acuerdo, después de probar diferentes configuraciones de gráficos, lo descubrí.

Esto puede ser útil para las personas que se ejecutan en configuraciones altas + y se encuentran con retraso / tartamudeo en batallas grandes: reduzca su configuración Texture Streaming Budget en la configuración del juego.

En mi RTX 2060, un gran asedio al castillo (más de 400 unidades) consume alrededor de 4,7 gigas de VRAM cuando el presupuesto de transmisión de texturas se establece en bajo. Entonces, básicamente, optar por un presupuesto de transmisión más alto consume toda mi VRAM y, por lo tanto, resulta en grandes tartamudeos. No estoy seguro de si esto es un error o un comportamiento esperado de esta configuración.

@Evilbits Mi instinto dice que tal vez algo se corrompió, ¿te importaría compartir el registro completo?

Además, es posible que no tengas la última versión del juego. Vi ManagedStarter allí que creo que se ha eliminado en una de las actualizaciones más recientes.

@dufuspaelli Creo que este es el comportamiento previsto. Básicamente, el presupuesto de transmisión de texturas le dice al juego cuánto vram debe ahorrar para poner todas las texturas en todas las cosas, por lo que si lo configuras demasiado alto, te quedas sin vram para cosas como mostrar animaciones y, por lo tanto, tartamudea mientras esas cosas intentan hacer.

Entonces, por algún milagro, el reportero de fallas comenzó a trabajar para mí (con dotnet472 y esa descarga de .NET Core):

Screenshot at 2020-04-07 09-13-55

No estoy seguro de si realmente envió el informe con éxito, o si TaleWorlds podría hacer algo útil con él, incluso si lo hiciera (salvo apoyarnos activamente a los señores de la mantequilla que usan Proton, lo cual sería una sorpresa, pero bienvenida), pero bueno, no puede hacer daño probarlo, ¿verdad?

De todos modos, al menos una fuente de inestabilidad continua para mí (y lo que llevó a ese descubrimiento incidental) parece ser un System.AccessViolationException que arruina System.Text.RegularExpressions.RegexRunner.Scan al intentar mostrar / actualizar la placa de identificación de una fiesta (yo estoy asumiendo, basado en el nombre del método SandBox.ViewModelCollection.Nameplate.PartyNameplateVM.RefreshDynamicProperties ). Normalmente escribiría esto como "bueno, es probable que algo más esté golpeando la memoria y esta función esté en el lugar equivocado en el momento equivocado", pero esta es la segunda vez que este método exacto muestra esta excepción de acceso a la memoria exacta, que es por tanto un poco sospechoso.

Aún no estoy seguro de cuáles podrían ser los próximos pasos para solucionar este problema (además de tirar +heap en mi WINEDEBUG , que parece que será doloroso en términos de rendimiento).

De todas formas,
aquí están steam-261550.log , rgl_log_42.txt y rgl_log_errors_42.txt , por el bien de la posteridad.

@Yarwin

Noté que editaste el comentario inicial superior para recomendar la instalación de alguna compilación de Proton aleatoria para 'solucionar' este problema, pero no creo que sea una buena idea recomendar compilaciones de Proton aleatorias de personas al azar en Internet, sin entrar en un gran debate sobre los (de) méritos de ejecutar binarios de personas al azar (por ejemplo, wine tiene acceso al sistema de archivos a todo su directorio personal, por ejemplo). Probablemente tampoco sea útil para Valve si la 'solución alternativa' es ejecutar algo de Proton bifurcado con una gran cantidad de cambios.

La solución actual para los problemas de entrada es construir Proton a partir de este repositorio con el parche de preparación de vinos anterior aplicado.

@YellowApple , tratando de recrear tu accidente, pero no tengo nada hasta ahora ... Cuando dices placa de identificación, ¿te refieres a la placa del mapa mundial con el nombre del ejército y la información de la tropa?

Verlo pasar por todas las cosas de localización antes de presionar Sandbox.ViewModelCollection.Nameplate.PartyNameplateVM.RefreshDynamicProperties me recordó este hilo . Es una posibilidad remota, pero podría intentar eliminar los datos de localización chinos como se describe allí.


@craftyguy , por lo que vale, GloriousEggroll contribuye tanto a la puesta en escena de vinos como a lutris. Personalmente, no lo considero una "persona aleatoria de Internet", pero veo su punto. Quizás un descargo de responsabilidad sea más apropiado con información adicional para aquellos que se sentirían mejor construyendo el suyo.

Finalmente, @Yarwin , dado que se mencionó el OP, podría considerar agregar las nuevas cosas de .net Core, ya que parece reducir los bloqueos y ahora tenemos un informe del informe de bloqueos funcionando después de que se instaló.

@Yarwin

Noté que editaste el comentario inicial superior para recomendar la instalación de alguna compilación de Proton aleatoria para 'solucionar' este problema, pero no creo que sea una buena idea recomendar compilaciones de Proton aleatorias de personas al azar en Internet, sin entrar en un gran debate sobre los (de) méritos de ejecutar binarios de personas al azar (por ejemplo, wine tiene acceso al sistema de archivos a todo su directorio personal, por ejemplo). Probablemente tampoco sea útil para Valve si la 'solución alternativa' es ejecutar algo de Proton bifurcado con una gran cantidad de cambios.

La solución actual para los problemas de entrada es construir Proton a partir de este repositorio con el parche de preparación de vinos anterior aplicado.

GloriousEggroll no es "aleatorio" más de lo que Proton mismo es aleatorio, o Mozilla Firefox, o cualquier software de código abierto en Internet que se proporcione de forma gratuita sin garantía ni indemnización.

Pasar 15 minutos leyendo las diferencias de confirmación del repositorio de GloriousEggroll muestra muy claramente que está haciendo un gran trabajo para proporcionar las últimas correcciones y características de una compilación de Proton que incorpora el último código de desarrollo de vino y muchas correcciones específicas del juego que aún no se han implementado. Vino. No es un sombrero negro "aleatorio" que proporciona binarios, solo con la intención de extraer sus datos o ejecutar un rootkit en su sistema. Pone un montón de trabajo para mantener una muy buena bifurcación de Proton.

La mayoría de los jugadores de Linux, honestamente, no tienen la capacidad técnica o la paciencia para construir todo su software desde la fuente. E incluso si lo hace, a menos que también esté auditando ese código, no es _realmente_ mejor que descargar binarios. Si está realmente paranoico, debería jugar en un sistema aislado que no tiene datos personales ni acceso a ningún recurso de red privilegiado, o una máquina virtual configurada de manera similar. Se sabe que los juegos de código cerrado en sí mismos cargan una cantidad espeluznante de datos sobre sus usuarios al desarrollador del juego, y es poco probable que ejecutarlos bajo wine cambie eso.

En general, creo que está exagerando enormemente al considerar que GE no es confiable o es "aleatorio". Si está seriamente paranoico, solo debería ejecutar software verdaderamente gratuito y de código abierto (que por definición excluye a M&B II: Bannerlord) que haya auditado manualmente cada línea de código fuente. Ah, y tampoco ejecute un BIOS propietario, eso significa que debe comprar una CPU y una placa base que tengan un microcódigo abierto.

En cuanto a Valve, no parecen estar muy involucrados en trabajar con la comunidad de usuarios de Proton para ayudar a mejorar Proton. Solo puedo asumir que su posición es (a) no nos preocupamos por Proton en general, o (b) solo nos preocupan los problemas que nos preocupan, no de lo que se quejan nuestros usuarios. No he visto a ningún empleado de Valve participando en este informe de errores, ¿verdad?

Valve probablemente se contenta con permitir que la comunidad de este juego tan popular encuentre soluciones para Bannerlord y las transmita a _Wine_. Honestamente, eso es menos trabajo para ellos, así que tiene sentido. A menos que haya algo específico en lo que hace _Proton_ que no se pueda arreglar en el principio de _Wine_, es casi seguro que ignorarán este informe de problemas y esperarán a que Wine solucione el problema.

La versión Proton-GE es la forma más conveniente de jugar Bannerlord hoy en día para jugadores de Linux no muy técnicos. Para aquellos que no confían en la compilación pero carecen de las habilidades para compilar desde la fuente, pueden esperar hasta que Valve actualice la versión estable de SteamPlay desde el cliente oficial de Steam con una versión de Wine que contiene las correcciones de Bannerlord. Según la experiencia anterior, esto podría llevar de varias semanas a varios meses.

GloriousEggroll no es "aleatorio" más de lo que Proton mismo es aleatorio, o Mozilla Firefox, o cualquier software de código abierto en Internet que se proporcione de forma gratuita sin garantía ni indemnización.

Mozilla y Valve son muchísimo más confiables que algunos individuos que proporcionan binarios en Internet. Las primeras son empresas responsables, las segundas no.

Y, de nuevo, es casi seguro que ayude menos a Valve si los datos que tienen para este juego están usando una bifurcación de Proton que ni siquiera se acerca a lo que están lanzando. Porque no nos engañemos, el objetivo de este problema en este repositorio es promover el objetivo de que este juego funcione con el lanzamiento de Proton de Valve, no con eggroll o con la bifurcación de Proton de cualquier otra persona. Y este no es un foro de soporte general para juegos (hay uno en el sitio web de Taleworld).

Para mí (Fedora 32 KDE Beta), los .exes todavía necesitan ser renombrados. No se puede entrar en el juego con la solución alternativa actual (5.5-GE-1 + protontricks 261550 dotnet472).
Así que renombramos Mount & Blade II Bannerlord / bin / Win64_Shipping_Client /
Bannerlord.exe
a
TaleWorlds.MountAndBlade.Launcher.exe

@craftyguy Literalmente es un colaborador de puesta en escena de vinos. Usted argumenta desde una posición de ignorancia. Y este tampoco es tu blog.

GloriousEggroll no es "aleatorio" más de lo que Proton mismo es aleatorio, o Mozilla Firefox, o cualquier software de código abierto en Internet que se proporcione de forma gratuita sin garantía ni indemnización.

Mozilla y Valve son muchísimo más confiables que algunos individuos que proporcionan binarios en Internet. Las primeras son empresas responsables, las segundas no.

Y nuevamente, es casi seguro que ayude a Valve _less_ si los datos que tienen para este juego están usando una bifurcación de Proton que ni siquiera se acerca a lo que están lanzando. Porque no nos engañemos, el objetivo de este problema en este repositorio es promover el objetivo de que este juego funcione con el lanzamiento de Proton de Valve, no con eggroll o con la bifurcación de Proton de cualquier otra persona. Y este no es un foro de soporte general para juegos (hay uno en el sitio web de Taleworld).

Hay bifurcaciones de Proton específicamente porque lograr que las contribuciones sean aceptadas en estos proyectos ascendentes (Proton y Wine) es históricamente difícil y un proceso muy lento y laborioso.

  • Valve no responde a la comunidad. Cuando salen nuevos títulos importantes, no hacen ningún esfuerzo por interactuar con la comunidad, para anunciar "estamos trabajando en ello" o "ayúdanos e incorporaremos tus correcciones en Proton" o algo por el estilo. Proton se ejecuta en gran medida como un repositorio comercial de GitHub de código abierto de "torre de marfil". Las solicitudes de extracción permanecen durante meses o años con poca o ninguna retroalimentación.
  • Valve (y, a menudo, Wine upstream) a veces rechaza contribuciones prácticas y útiles y, en cambio, insiste en una solución "perfecta" que es mucho más difícil de desarrollar. Cuando se intenta ejecutar un juego o un software, a menudo es fácil hacer una "solución rápida" que resuelva el problema inmediato. Incluso puede limitar esta corrección a un nombre de proceso específico para evitar que afecte a otro software. Pero los upstream con los que estamos lidiando, Valve / Proton y Wine, a menudo son reacios a aceptar estas contribuciones, en lugar de insistir en que el código subyacente sea completamente rediseñado o reelaborado a la perfección antes de que una contribución pueda ser aceptada. Estas importantes refactorizaciones a menudo están fuera del conjunto de habilidades de las personas que pueden aportar soluciones rápidas; incluso si están dentro de sus capacidades, puede llevar meses o años completar estos cambios importantes. Mientras tanto, no tendríamos compatibilidad con el software / juego roto sin una solución rápida. Esta es la razón por la que las compilaciones de corrección para Proton (y Wine antes) son tan populares y útiles.
  • Las empresas que trabajan en este software a veces son bastante hipócritas acerca de las soluciones. Una de las principales empresas involucradas en Wine / Proton es Codeweavers. Distribuyen una distribución comercial pagada de Wine llamada CrossOver Linux (y CrossOver Mac también). Si bien estos se basan en gran medida en Wine upstream, no es raro que implementen hacks, soluciones y otras medidas "prácticas" para arreglar un título importante o una pieza importante de software (generalmente Microsoft Office) en su producto comercial, sin fusionar la misma solución alternativa para el código fuente abierto ascendente. Por lo tanto, las soluciones están bien si hacen que su producto se vea mejor, pero no están bien si otros están contribuyendo a las soluciones.
  • ¡El upstreaming ya está sucediendo! Hay una publicación anterior en este hilo con evidencia directa de que la corrección del cursor del mouse para Bannerlord ha sido aceptada por wine-staging, que es la corriente ascendente de Proton. Lo único que evita que ese parche se convierta en una versión estable de Proton es el tiempo. Mucho tiempo, semanas o meses, probablemente. Por lo tanto, no queda mucho trabajo por hacer para difundir este material ahora. Mis puntos anteriores sobre la dificultad de obtener cosas en sentido ascendente se refieren principalmente a otros juegos y otros tipos de soluciones que no son tan claras como este. La bifurcación de Proton de GE contiene muchas correcciones prácticas para juegos que pueden no llegar a la corriente ascendente durante meses, si es que alguna vez lo hacen.

@YellowApple obtengo esa excepción si uso el backend del compilador de sombreadores ACO para mesa,
desde que cambié de nuevo a llvm, los bloqueos han sido menos frecuentes y, en lugar de esta excepción, el juego simplemente se congela (hasta ahora he sido demasiado vago para registrar lo que está sucediendo allí, pero lo haré en los próximos días).

Software utilizado:
último protón-ge
dotnet472
mesa git (llvm 9)
linux-zen 5.6.2

Hardware usado:
Vega 56
3700X

Actualizar:
Me equivoqué al cambiar a llvm solo que parecía mejor.

Estoy siguiendo el trabajo actual en torno a: Proton 5.5-GE + protontricks 261550 dotnet472, asegurándome de haber configurado Win 10 como sistema operativo.

Me encuentro con un bloqueo cada pocos minutos, con aproximadamente los mismos módulos cargados. No puedo entender completamente el registro, espero que alguien lo haga.
backtrace.txt

1060Ti 6GB (controlador nvidia 440) con CPU Ryzen 1800x

¡Buen trabajo a todos para solucionar este problema y lograr que sea algo jugable para las masas!

@Demannu Intente instalar dotnet Core si no lo ha hecho. Ayer hice un prefijo nuevo y pasé de fallar cada pocos minutos a cada 1-2 horas. Se estrelló dos veces seguidas cuando comencé el juego esta mañana, pero funcionó en el tercer intento.

Cómo instalar: Protontricks Terminal / Protontricks GUI

También asegúrese de que su prefijo esté configurado en Windows 10 y no en WinXP, al que aparentemente cambia uno de los scripts de dotnet.

Las únicas cosas que le he hecho a mi nuevo prefijo es;

  • Utilice Proton 5.5-GE-1
  • Instalar dotnet48
  • Instalar vcrun2019
  • Instalar dotnet Core manualmente
  • Asegúrese de que el prefijo esté configurado en Windows 10

Usé protontricks --gui para instalar todo y establecer el prefijo en Win10.

Editar: si está usando mods, asegúrese de buscar actualizaciones todos los días también, e intente deshabilitarlas si está fallando. Después de que se lanzó 1.0.6, mi juego comenzó a fallar en la arena, pero resulta que eran las modificaciones de arena que estaba usando

Entonces, como una actualización:

Con un prefijo nuevo, configure en este orden:

  • Inicie Bannerlord una vez con Proton-5.5-GE-1 configurado como capa de compatibilidad en Steam
  • protontricks 261550 vcrun2019
  • Instale el núcleo dotnet a través del método GUI y descárguelo en este hilo
  • protontricks 261550 dotnet48

Parece que todavía tengo los siguientes problemas:

  • El mouse parece no funcionar tal vez el 70% del tiempo. Tengo que reiniciar repetidamente hasta que funcione. Este no es el caso de mi computadora portátil, solo mi computadora de escritorio.
  • dotnet472 y dotnet48 no parecen estar resolviendo el problema de guardar y colgar. Todavía parece que estoy tardando más de 90 segundos en guardar. ¿Cómo se determinó si era .NET? ¿Qué debo investigar para ver por qué esto todavía no funciona?

En un tema diferente, ¿alguien ha comenzado a hurgar en el lado multijugador del juego? Sé que Battleye va a ser difícil, pero hay informes de juegos de Battleye que funcionan en Linux.

El error actual es algo como:
Error 31: error del controlador

En un tema diferente, ¿alguien ha comenzado a hurgar en el lado multijugador del juego? Sé que Battleye va a ser difícil, pero hay informes de juegos de Battleye que funcionan en Linux.

El error actual es algo como:
Error 31: error del controlador

BattleEye en estos días instala un controlador de kernel y un servicio para anticheat. Ambas cosas simplemente no son posibles con el vino, realmente.

En un tema diferente, ¿alguien ha comenzado a hurgar en el lado multijugador del juego? Sé que Battleye va a ser difícil, pero hay informes de juegos de Battleye que funcionan en Linux.

El error actual es algo como:
Error 31: error del controlador

El multijugador siempre me ha funcionado perfectamente, el emparejamiento y los servidores personalizados. Acabo de cancelar la instalación de BattleEye cuando se me solicitó.

En un tema diferente, ¿alguien ha comenzado a hurgar en el lado multijugador del juego? Sé que Battleye va a ser difícil, pero hay informes de juegos de Battleye que funcionan en Linux.
El error actual es algo como:
Error 31: error del controlador

El multijugador siempre me ha funcionado perfectamente, el emparejamiento y los servidores personalizados. Acabo de cancelar la instalación de BattleEye cuando se me solicitó.

Vaya, tienes razón, ni siquiera había probado el modo multijugador debido al BattleEye mencionado anteriormente, pero sí, también me ha funcionado bien después de cancelar la instalación al principio. Deben haberlo desactivado por ahora, y estoy seguro de que dejará de funcionar en algún momento en el futuro, pero por ahora todo parece estar funcionando.

En lo que respecta a un jugador, mi configuración actual implica usar dotnet48, vcrun2019 e instalar dotnet core exe, además de configurar el prefijo en Windows 10. Sigo teniendo bloqueos cada hora aproximadamente, y a veces con más frecuencia, especialmente justo después de cargar un salvar. También recibí el mismo error que @YellowApple que involucra una

Finalmente, @Yarwin , dado que se mencionó el OP, podría considerar agregar las nuevas cosas de .net Core, ya que parece reducir los bloqueos y ahora tenemos un informe del informe de bloqueos funcionando después de que se instaló.

Gracias por tu aporte, agregaré .net core a la mini-guía de solución.
Lista de requisitos si alguien tiene curiosidad: https://forums.taleworlds.com/index.php?threads/installing -missing-required-dependencies.407126 / (los vcruns se instalan de forma predeterminada por Steam y parece que funcionan bien )

En un tema diferente, ¿alguien ha comenzado a hurgar en el lado multijugador del juego? Sé que Battleye va a ser difícil, pero hay informes de juegos de Battleye que funcionan en Linux.
El error actual es algo como:
Error 31: error del controlador

El multijugador siempre me ha funcionado perfectamente, el emparejamiento y los servidores personalizados. Acabo de cancelar la instalación de BattleEye cuando se me solicitó.

No tenía idea de que estaba funcionando. Eso es hilarante.

Probablemente la única persona que intenta ejecutar CentOS 8, pero ... no importa lo que haga, parece que no puedo pasar por la pantalla de carga inicial al inicio, no se congela pero la pantalla de carga nunca termina.

La compilación actual es Proton-5.5-GE-1 con dot472 (también probé dot48) en win10.

Veo gente sugiriendo vcrun2019, no puedo instalarlo, solo veo hasta vcrun2017 como una opción para mí.

¿Alguna sugerencia?

Probablemente la única persona que intenta ejecutar CentOS 8, pero ... no importa lo que haga, parece que no puedo pasar por la pantalla de carga inicial al inicio, no se congela pero la pantalla de carga nunca termina.

La compilación actual es Proton-5.5-GE-1 con dot472 (también probé dot48) en win10.

Veo gente sugiriendo vcrun2019, no puedo instalarlo, solo veo hasta vcrun2017 como una opción para mí.

¿Alguna sugerencia?

Definitivamente será algo en su sistema entonces. Estoy ejecutando exactamente la misma configuración sin literalmente problemas. La única vez que uso CentOS es en el trabajo. Estoy seguro de que se puede hacer, pero no puedo imaginarme jugando con él.

Arch Linux o Manjaro parecen ser el camino a seguir para los juegos de Proton.

Probablemente la única persona que intenta ejecutar CentOS 8, pero ... no importa lo que haga, parece que no puedo pasar por la pantalla de carga inicial al inicio, no se congela pero la pantalla de carga nunca termina.
La compilación actual es Proton-5.5-GE-1 con dot472 (también probé dot48) en win10.
Veo gente sugiriendo vcrun2019, no puedo instalarlo, solo veo hasta vcrun2017 como una opción para mí.
¿Alguna sugerencia?

Definitivamente será algo en su sistema entonces. Estoy ejecutando exactamente la misma configuración sin literalmente problemas. La única vez que uso CentOS es en el trabajo. Estoy seguro de que se puede hacer, pero no puedo imaginarme jugando con él.

Arch Linux o Manjaro parecen ser el camino a seguir para los juegos de Proton.

Supuse que ese sería el caso. Supongo que es hora de aprender a pacman ...

Entonces, solo para confirmar el comportamiento.

Si el juego falla, necesito matar manualmente su proceso en el administrador de tareas. Sin embargo, si intento ejecutarlo de nuevo en Steam, no pasa nada. Solo se iniciará de nuevo si reinicio Steam por completo.

Entonces, solo para confirmar el comportamiento.

Si el juego falla, necesito matar manualmente su proceso en el administrador de tareas. Sin embargo, si intento ejecutarlo de nuevo en Steam, no pasa nada. Solo se iniciará de nuevo si reinicio Steam por completo.

Esto también me estaba pasando a mí durante mis pruebas.

Solo se iniciará de nuevo si reinicio Steam por completo.

Esto parece un poco extraño. Después de matar el proceso, ¿sigue funcionando el servidor de vinos o se termina solo?

Entonces, solo para confirmar el comportamiento.

Si el juego falla, necesito matar manualmente su proceso en el administrador de tareas. Sin embargo, si intento ejecutarlo de nuevo en Steam, no pasa nada. Solo se iniciará de nuevo si reinicio Steam por completo.

Descubrí que a menudo hay un explorer.exe persistente (entre otras cosas) en ejecución (especialmente si aparece con un diálogo de error de Wine). Matar eso suele ser suficiente para eliminar todo lo demás (generalmente mantengo htop funcionando con un filtro .exe específicamente para detectarlos en caso de que se queden).

También necesitará asesinar cualquier proceso wineserver persistente.

Intenté agregar el núcleo .NET que necesitamos para protontricks dotnet472 y protontricks dotnetcore2

Probablemente la única persona que intenta ejecutar CentOS 8, pero ... no importa lo que haga, parece que no puedo pasar por la pantalla de carga inicial al inicio, no se congela pero la pantalla de carga nunca termina.
La compilación actual es Proton-5.5-GE-1 con dot472 (también probé dot48) en win10.
Veo gente sugiriendo vcrun2019, no puedo instalarlo, solo veo hasta vcrun2017 como una opción para mí.
¿Alguna sugerencia?

Definitivamente será algo en su sistema entonces. Estoy ejecutando exactamente la misma configuración sin literalmente problemas. La única vez que uso CentOS es en el trabajo. Estoy seguro de que se puede hacer, pero no puedo imaginarme jugando con él.
Arch Linux o Manjaro parecen ser el camino a seguir para los juegos de Proton.

Supuse que ese sería el caso. Supongo que es hora de aprender a pacman ...

O simplemente desplácese hacia arriba en este hilo gigante (lo sé; es mucha lectura) y vea dónde la gente ha mencionado la solución para "no puedo encontrar vc2019 en winetricks / protontricks" varias veces.

GloriousEggroll no es "aleatorio" más de lo que Proton mismo es aleatorio, o Mozilla Firefox, o cualquier software de código abierto en Internet que se proporcione de forma gratuita sin garantía ni indemnización.

Mozilla y Valve son muchísimo más confiables que algunos individuos que proporcionan binarios en Internet. Las primeras son empresas responsables, las segundas no.
Y nuevamente, es casi seguro que ayude a Valve _less_ si los datos que tienen para este juego están usando una bifurcación de Proton que ni siquiera se acerca a lo que están lanzando. Porque no nos engañemos, el objetivo de este problema en este repositorio es promover el objetivo de que este juego funcione con el lanzamiento de Proton de Valve, no con eggroll o con la bifurcación de Proton de cualquier otra persona. Y este no es un foro de soporte general para juegos (hay uno en el sitio web de Taleworld).

Hay bifurcaciones de Proton específicamente porque lograr que las contribuciones sean aceptadas en estos proyectos ascendentes (Proton y Wine) es históricamente difícil y un proceso muy lento y laborioso.

* **Valve isn't responsive to the community.** When major new titles come out, they make no effort to engage with the community, to announce "we're working on it" or "help us out and we'll incorporate your fixes into Proton" or anything of the sort. Proton is very much run as an "ivory tower" commercial open source GitHub repository. Pull requests sit for months or years with little or no feedback.

* **Valve (and often, upstream Wine) sometimes decline practical, useful contributions and instead insist on a "perfect" solution that is much more difficult to develop.** When trying to get a game or a piece of software running, it's often easy to make a "quick fix" that solves the immediate problem. You can even scope this fix to a specific process name to prevent it from affecting other software. But the upstreams we're dealing with -- Valve/Proton and Wine -- are often reluctant to accept these contributions, instead insisting that the underlying code be completely redesigned or reworked to perfection before a contribution can be accepted. These major refactorings are often out of the skillset of the people who can contribute quick fixes; even if they are within their abilities, it can take months or years to complete such major changes. In the meantime, we'd have no compatibility with the broken software/game without a quick fix. **This is why fix builds to Proton (and Wine before it) are so popular and useful.**

* **The companies that work on this software are sometimes pretty hypocritical about workarounds.** One of the major companies involved in Wine/Proton is Codeweavers. They distribute a paid, commercial distribution of Wine called CrossOver Linux (and CrossOver Mac, too). While these are heavily based on upstream Wine, it's not uncommon for them to implement hacks, workarounds and other such "practical" measures to fix a major title or major piece of software (most often Microsoft Office) in their commercial product, while not merging the same workaround to the upstream, open source code. So workarounds are fine if it makes their product look better, but not fine if others are contributing the workarounds.

* **The upstreaming is already happening!** There is an earlier post in this thread with direct evidence that the mouse cursor fix for Bannerlord has been accepted by wine-staging, which is Proton's upstream. The only thing preventing that patch from getting pulled into a stable release of Proton, is time. Lots and lots of time -- weeks or months, probably. So there is no real work left to be done to get this stuff upstreamed now. My earlier points about the difficulty of getting stuff upstream are mostly pertaining to other games and other types of workarounds that aren't as clear-cut as this one was. GE's fork of Proton contains many practical fixes for games that may not hit wine upstream for months, if ever.

Estoy de acuerdo con la mayor parte de esto, pero creo que las soluciones alternativas 'pirateadas' y las específicas del nombre del proceso deben minimizarse tanto como sea posible en los repositorios principales. Todo está bien tal como está ahora, con la comunidad proporcionando correcciones para las últimas versiones, mientras que las versiones anteriores solo contienen confirmaciones que tienen en cuenta la imagen más amplia. No creo que se deba culpar a ninguno de los proyectos ni a sus responsables por no incluir tales soluciones, ya que eventualmente conducirá a enormes deudas técnicas. La corrección del cursor del mouse para este juego ya está transmitida en la preparación de vinos, por lo que no es como si estuvieran ignorando las correcciones 'no pirateadas'

Proton 5.5 GE no funciona con mi configuración. Se bloquea instantáneamente en batalla o después de 2 minutos en el mapa.

Estoy siguiendo el trabajo actual en torno a: Proton 5.5-GE + protontricks 261550 dotnet472, asegurándome de haber configurado Win 10 como sistema operativo.

Me encuentro con un bloqueo cada pocos minutos, con aproximadamente los mismos módulos cargados. No puedo entender completamente el registro, espero que alguien lo haga.
backtrace.txt

1060Ti 6GB (controlador nvidia 440) con CPU Ryzen 1800x

¡Buen trabajo a todos para solucionar este problema y lograr que sea algo jugable para las masas!

Estaba teniendo estos bloqueos aleatorios en un sistema que de otro modo funcionaba y finalmente descubrí, 99%, seguro de que era el guardado automático con la versión incorrecta. Por ejemplo, actualizar un guardado 1.0.6 a 1.0.7 fallaría en 1-15 minutos sin que yo hiciera nada especial. Eliminar el autoguardado (1.0.6) solucionó esto. También intenté esto con cambios de versiones anteriores. Esto eliminó el 90% de mis accidentes. Espero que ayude a alguien aquí.

Estoy siguiendo el trabajo actual en torno a: Proton 5.5-GE + protontricks 261550 dotnet472, asegurándome de haber configurado Win 10 como sistema operativo.
Me encuentro con un bloqueo cada pocos minutos, con aproximadamente los mismos módulos cargados. No puedo entender completamente el registro, espero que alguien lo haga.
backtrace.txt
1060Ti 6GB (controlador nvidia 440) con CPU Ryzen 1800x
¡Buen trabajo a todos para solucionar este problema y lograr que sea algo jugable para las masas!

Estaba teniendo estos bloqueos aleatorios en un sistema que de otro modo funcionaba y finalmente descubrí, 99%, seguro de que era el guardado automático con la versión incorrecta. Por ejemplo, actualizar un guardado 1.0.6 a 1.0.7 fallaría en 1-15 minutos sin que yo hiciera nada especial. Eliminar el autoguardado (1.0.6) solucionó esto. También intenté esto con cambios de versiones anteriores. Esto eliminó el 90% de mis accidentes. Espero que ayude a alguien aquí.

Haré una prueba, he estado guardando mis partidas guardadas, así que las borraré y volveré a intentarlo. ¡Gracias!

Yo uso proton-5.5-GE-1, tengo dotnet472, vcrun2019 y dotnetcore2 instalados. Cuando comienzo el juego, parece que funciona bien. Sin embargo, tengo bloqueos aleatorios y, después de algunos bloqueos, ya no puedo reiniciar el juego. Si esto sucede, abrir protontricks 261550 da el siguiente error:
/home/krulvis/.cache/protontricks/proton/Proton-5.5-GE-1/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""
¿Alguien tuvo experiencias similares o posiblemente sabe lo que está pasando?

Noté un patrón, si solo resuelvo automáticamente las batallas con el botón "¡Enviar tropas!" opción, el juego se bloquea con mucha más frecuencia en comparación con solo ir al campo y luchar manualmente.

@Krulvis A

Yo uso proton-5.5-GE-1, tengo dotnet472, vcrun2019 y dotnetcore2 instalados. Cuando comienzo el juego, parece que funciona bien. Sin embargo, tengo bloqueos aleatorios y, después de algunos bloqueos, ya no puedo reiniciar el juego. Si esto sucede, abrir protontricks 261550 da el siguiente error:
/home/krulvis/.cache/protontricks/proton/Proton-5.5-GE-1/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""
¿Alguien tuvo experiencias similares o posiblemente sabe lo que está pasando?

Sí, tenía esto. Usé la compilación original de protones proporcionada por

https://forums.taleworlds.com/index.php?threads/known -issues-will-be-updated-soon.401168 /

Algunos de nuestros jugadores pueden experimentar que el juego no se inicia en absoluto, se bloquea después del iniciador y se bloquea después de la pantalla de carga. Estamos investigando este problema. Es crucial si usa el cargador de fallas después de todas las fallas. Puede probar una posible solución para este problema aquí. Tenga en cuenta que estamos trabajando muy duro para solucionar este problema que no se inicia.

https://forums.taleworlds.com/index.php?threads/possible -workaround-for-game-not-launching-issue.407128

El juego que no se inicia también es un problema de Windows.

Probablemente la única persona que intenta ejecutar CentOS 8, pero ... no importa lo que haga, parece que no puedo pasar por la pantalla de carga inicial al inicio, no se congela pero la pantalla de carga nunca termina.
La compilación actual es Proton-5.5-GE-1 con dot472 (también probé dot48) en win10.
Veo gente sugiriendo vcrun2019, no puedo instalarlo, solo veo hasta vcrun2017 como una opción para mí.
¿Alguna sugerencia?

Definitivamente será algo en su sistema entonces. Estoy ejecutando exactamente la misma configuración sin literalmente problemas. La única vez que uso CentOS es en el trabajo. Estoy seguro de que se puede hacer, pero no puedo imaginarme jugando con él.
Arch Linux o Manjaro parecen ser el camino a seguir para los juegos de Proton.

Supuse que ese sería el caso. Supongo que es hora de aprender a pacman ...

O simplemente desplácese hacia arriba en este hilo gigante (lo sé; es mucha lectura) y vea dónde la gente ha mencionado la solución para "no puedo encontrar vc2019 en winetricks / protontricks" varias veces.

Soy nuevo en github, así que cuando ejecuté originalmente un ctrl-f "vcrun2019" no vi nada.

Gracias por poner tu nombre en tu perfil para que sepa evitarte en un entorno profesional.

Probablemente la única persona que intenta ejecutar CentOS 8, pero ... no importa lo que haga, parece que no puedo pasar por la pantalla de carga inicial al inicio, no se congela pero la pantalla de carga nunca termina.
La compilación actual es Proton-5.5-GE-1 con dot472 (también probé dot48) en win10.
Veo gente sugiriendo vcrun2019, no puedo instalarlo, solo veo hasta vcrun2017 como una opción para mí.
¿Alguna sugerencia?

Definitivamente será algo en su sistema entonces. Estoy ejecutando exactamente la misma configuración sin literalmente problemas. La única vez que uso CentOS es en el trabajo. Estoy seguro de que se puede hacer, pero no puedo imaginarme jugando con él.
Arch Linux o Manjaro parecen ser el camino a seguir para los juegos de Proton.

Supuse que ese sería el caso. Supongo que es hora de aprender a pacman ...

O simplemente desplácese hacia arriba en este hilo gigante (lo sé; es mucha lectura) y vea dónde la gente ha mencionado la solución para "no puedo encontrar vc2019 en winetricks / protontricks" varias veces.

Soy nuevo en github, así que cuando ejecuté originalmente un ctrl-f "vcrun2019" no vi nada.

Gracias por poner tu nombre en tu perfil para que sepa evitarte en un entorno profesional.

¿Eh? No estaba siendo sarcástico. Realmente es mucha lectura. Si vas a evitar a alguien por tratar genuinamente de ayudar, esa es tu prerrogativa, supongo.

La razón por la que no lo habrías encontrado cuando hiciste ctrl + f es por esta cosa escondida en el medio de esta página: https://i.imgur.com/nxX7Qz4.png

Nunca antes había trabajado en un problema tan grande, así que no lo noté hasta que realmente miré. ¡TIL! Perdón por cualquier malentendido.

@allquixotic Dicho todo esto, después de una búsqueda bastante exhaustiva de este problema, no he encontrado nada que realmente explique cómo instalar vcrun2019, y estoy teniendo el mismo problema ... ¿Le importaría una explicación? Probé la opción --force y busqué en Google.

Decidí echar un vistazo al registro generado al usar la bandera PROTON_LOG y, sorprendentemente, generó un archivo de 274 MB con millones de líneas, ¿se supone que debe ser así? Tenga en cuenta que eliminé el registro anterior antes de iniciar el juego.

@ptkato Tuve un archivo de registro de 8GB una vez porque habilité PROTON_LOG=1 . Eso fue con e1.0.4 y stock proton y una sesión _ más larga_ (alrededor de 30 minutos). Aparentemente, esos archivos de registro crecen rápidamente.

@allquixotic Dicho todo esto, después de una búsqueda bastante exhaustiva de este problema, no he encontrado nada que realmente explique cómo instalar vcrun2019, y estoy teniendo el mismo problema ... ¿Le importaría una explicación? Probé la opción --force y busqué en Google.

Por lo que encontré arriba, vcrun2019 no parece hacer nada diferente, excepto instalar tanto vcrun2015 como vcrun2017. Aunque personalmente intenté instalar ambos y la instalación falló diciendo que ya estaba instalado ...

@ptkato Ayer tuve uno que llenó completamente mi disco duro ... Unos 340GB

@allquixotic Dicho todo esto, después de una búsqueda bastante exhaustiva de este problema, no he encontrado nada que realmente explique cómo instalar vcrun2019, y estoy teniendo el mismo problema ... ¿Le importaría una explicación? Probé la opción --force y busqué en Google.

vcrun2019 parece ser una adición reciente a winetricks. En arch se encuentra en el paquete winetricks-git pero no en winetricks.

Quería dar una actualización;
Estoy corriendo:

  • Protón-5.5-GE-1
  • protontricks 261550 dotnet472
  • proton - solución alternativa para instalar dotnet core
  • Windows 10 en winecfg
  • Elimina todos los guardados automáticos anteriores de parches anteriores del juego

Pude jugar una sesión de hora y media con solo un bloqueo al cambiar la configuración de video (me volví codicioso). De lo contrario, todavía no he encontrado ninguno.

Cosas probadas:

  • Arena
  • Aldea de asalto
  • Simulación de batalla y batalla real
  • Se unió a una batalla que ya estaba en curso.
  • Hablé con numerosas personas
  • Pausé en casi cualquier momento que pudiera pensar
  • Traté de escupir conversaciones y batallas
  • Marcado como un maníaco durante las batallas y después de las batallas
  • Alt + Tab prácticamente desde cualquier lugar del juego

Puede encontrar una guía actualizada aquí

Déjame intentar ponerlo todo junto entonces ...

¡Gracias a VictorRogers , YellowApple , Metal079 , allquixotic , lboklin por sus excelentes sugerencias y correcciones y a todos los demás por ayudar a que Bannerlord funcione!

Obteniendo todo lo que necesitas

Protón-5.5-GE-1

  • descargue el comunicado desde aquí .

    • hay un botón "Activos" al final de cada publicación de lanzamiento

  • extraer el contenido del archivo .tar.gz en /home/<your-name>/.steam/compatibilitytools.d/

    • si esa carpeta no existe, créala

    • ahora debería tener una subcarpeta en esa carpeta llamada Proton-5.5-GE-1

  • reiniciar Steam si ya está funcionando
  • haga clic derecho en Bannerlord y vaya a "Propiedades"

    • en la pestaña "General" en la parte inferior, marque la opción "Forzar el uso de una herramienta de compatibilidad de Steam Play específica"

    • debería poder seleccionar la opción "Proton-5.5-GE-1"

  • si no ve la opción en las propiedades, intente mover la carpeta "Proton-5.5-GE-1" a la siguiente ubicación: ~/.local/share/Steam/compatibilitytools.d (cree las carpetas si no existen) como se recomienda aquí

    • reinicia Steam y comprueba si la opción existe ahora

protontricks

  • lamentablemente, parece que no hay otra forma "fácil" de obtener protontricks que no sea el método de instalación pipx
  • las instrucciones de instalación se pueden encontrar aquí
  • de acuerdo con esta publicación , los usuarios de Arch pueden tener otra alternativa usando pamac install protontricks-git

núcleo dotNet

winetricks con vcrun2019

  • es una buena idea instalar la última versión de winetricks, porque muchos repositorios distribuyen versiones antiguas de winetricks que no saben cómo manejar vcrun2019
  • winetricks es solo un archivo binario que necesita descargar y hacer ejecutable:

    • Compilé las instrucciones de esta y esta fuente

cd "${HOME}/Downloads"
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
  • si desea instalarlo para el usuario actual:
mkdir "${HOME}/bin"
mv winetricks "${HOME}/bin"
  • si desea instalarlo en todo el sistema:
sudo mv winetricks /usr/bin/
  • tendrá que volver a iniciar sesión para ver el comando en la consola

Hacer que Bannerlord funcione

  • asegúrese de tener instalada la versión de protón y los trucos de protones necesarios
  • vaya a /home/<your-name>/.steam/steam/steamapps/compatdata/ y cambie el nombre de la carpeta "261550" a algo como "Backup_261550"

    • copiar no es suficiente, ya que realmente desea comenzar con la inicialización de y prefijo de vino completamente nuevo

    • copiar la carpeta hará una copia de seguridad de sus partidas guardadas, su configuración y todo su prefijo de vino en caso de que desee recuperar o probar cosas más adelante

  • ejecutar el juego una vez

    • esto es para permitir que Steam instale algunas dependencias

    • no es necesario iniciar una nueva campaña

  • salir del juego
  • abre una consola y ejecuta protontricks 261550 dotnet472

    • se ejecutará a través de varias instalaciones de versiones anteriores de dotnet

    • cuando el instalador pregunte, elija "Reiniciar ahora" (en realidad no reiniciará su PC)

  • cuando termine, ejecute protontricks 261550 vcrun2019

    • _No estoy cien por ciento seguro de si esto es necesario, pero lo hice y mi configuración parece funcionar bien_

  • cuando termine, ejecute protontricks 261550 --gui

    • seleccione "Seleccionar el prefijo de vino predeterminado"

    • verifique en el título de la ventana si se selecciona el prefijo correcto, debería ser /home/<your-name>/.steam/steam/steamapps/compatdata/261550/pfx

    • seleccione "Ejecutar explorador"

    • abra el dispositivo "/" y vaya a donde descargó el archivo dotnet-core y haga doble clic en él para que se instale

    • _ como tenía dos archivos "dotnet core", instalé ambos de esta manera_

    • cerrar el explorador cuando la instalación haya terminado

    • seleccione "Ejecutar winecfg"

    • en la pestaña "Aplicaciones" en la parte inferior, configure "Versión de Windows" en Windows 10

    • _No estoy cien por ciento seguro de que sea necesario. Lo tengo en Windows 7 y todo parece funcionar bien_

    • cierre winecfg con el botón "Aceptar" y deje la interfaz gráfica de usuario de protontricks presionando "Cancelar" hasta que se cierre

  • iniciar Bannerlord a través de Steam
  • iniciar una nueva campaña

    • no tienes otra opción, porque tus antiguas partidas guardadas solo están en la copia de seguridad

    • puedes intentar recuperar tus antiguas partidas guardadas, pero solo si las creaste con la misma versión de juego que la que estás usando ahora

    • Aún no lo he probado, así que ... infórmanos si funciona.

Solución de problemas

Si las cosas aún no funcionan, hay algunas cosas que se mencionaron en el largo número de github que puedes intentar hacer.

Estás ejecutando una GPU AMD y el juego no funciona

  • puede intentar actualizar a los últimos controladores MESA
  • una buena opción para esto es el ppa de oibaf

Estás ejecutando NixOS y quieres instalar Winetricks

  • Los procedimientos de instalación de NixOS son diferentes, por lo que instalar Winetricks es un poco más complicado. No lo uso, pero se proporcionó un script que se puede usar para instalar los últimos winetricks

El juego se bloquea y no puedo reiniciarlo

  • esto podría deberse a un proceso de vino atascado. Compruebe el administrador de tareas de su sistema operativo y elimínelo si es necesario.

Quiero depurar el juego, pero los archivos de registro son ENORMES

  • proton asume un conjunto de configuraciones de depuración, pero puede cambiar eso. Vea esta publicación para obtener una explicación

@Tercus

extraer el contenido del archivo .tar.gz en /home/<your-name>/.steam/compatibilitytools.d/

  • ahora debería tener una subcarpeta en esa carpeta llamada Proton-5.5-GE-1

Parece que estoy atascado en este paso, no hay una carpeta de herramientas de compatibilidad allí para mí y si creo una y extra la carpeta allí, no tengo la opción de usarla como una versión de protones

Déjame intentar ponerlo todo junto entonces ...

¡Buen guía! Algunas sugerencias:

  • Haga de esto un GitHub Gist para que se pueda vincular en lugar de tener que buscar este problema (su publicación quedará enterrada a este ritmo). Enlace a él en un comentario aquí. El resto de nosotros puede simplemente vincularnos a su problema cada vez que alguien haga una pregunta (en este problema de GitHub o en otro lugar) que ya esté cubierta por su guía.

  • Dado que sus instrucciones incluyen vcrun2019 , también debe incluir los pasos de solución de problemas sobre cómo solucionar la situación en la que el usuario no tiene vcrun2019 disponible en la instalación de Winetricks porque es demasiado antiguo. Yo y algunos otros carteles incluimos este paso hace unos días en este hilo, pero el quid de esto es ejecutar sudo winetricks --self-update . También puede notar que esto no funciona para "NixOS" debido a la forma única de empaquetar software de NixOS, ¡pero otro usuario contribuyó amablemente con una solución para los usuarios de NixOS! Con suerte, también puedes encontrar esa publicación en este hilo.

  • Otra solución alternativa: si el usuario no ve el directorio ~/.steam/compatibilitytools.d entonces debe ejecutar mkdir -p ~/.local/share/Steam/compatibilitytools.d y luego copiar la carpeta Proton-GE allí. Gracias a @ Metal079

  • Otro usuario informó que el juego fallaba de manera confiable temprano y a menudo con los controladores de gráficos de código abierto de AMD en Ubuntu 18.04, pero cuando se actualizó a la última pila de gráficos de código abierto git master de oibaf PPA, el juego comenzó a funcionar. Entonces, supongo que otro problema conocido sería que si está ejecutando una instalación antigua de Ubuntu con los controladores de gráficos de código abierto de AMD, necesita actualizarlos usando el PPA de oibaf.

@allquixotic ¡Resolví el problema! Necesitaba crear la carpeta compatibilidadtools.d en /home/USERNAME/.local/share/Steam

Asegúrese de que el nombre de la carpeta sea correcto (el ".d" al final) y también reinicie Steam después de haber extraído la versión de protones. Compruebe si el archivo de protones extrajo accidentalmente un nivel más profundo, como "Proton-5.5.0-GE-1 / Proton-5.5.0-GE-1 /"

@allquixotic ¡Resolví el problema! Necesitaba crear la carpeta compatibilidadtools.d en /home/USERNAME/.local/share/Steam

Oh bien. No estoy seguro de qué pasa con ese camino que es diferente al habitual ~ / .steam. ¡Edité mis sugerencias para la guía de Tercus arriba!

Quería agregar algo, también estaba teniendo muchos bloqueos con la solución descrita anteriormente (Proton-GE, dotnet472, dotnet core y Windows 10), y lo que me solucionó fue cambiar al controlador ACO mesa en lugar del controlador predeterminado (estoy ejecutando Manjaro con Mesa 20.0.4 y una Radeon RX 580). Antes de cambiar, tenía fallas cada pocos minutos (a veces podía jugar hasta una hora sin fallar), pero después de cambiar al controlador ACO, el juego aún no se bloquea después de jugar durante aproximadamente 2 horas. Con suerte, esto puede ayudar a las personas que todavía tienen problemas.

Quería agregar algo, también estaba teniendo muchos bloqueos con la solución descrita anteriormente (Proton-GE, dotnet472, dotnet core y Windows 10), y lo que me solucionó fue cambiar al controlador ACO mesa en lugar del controlador predeterminado (estoy ejecutando Manjaro con Mesa 20.0.4 y una Radeon RX 580). Antes de cambiar, tenía fallas cada pocos minutos (a veces podía jugar hasta una hora sin fallar), pero después de cambiar al controlador ACO, el juego aún no se bloquea después de jugar durante aproximadamente 2 horas. Con suerte, esto puede ayudar a las personas que todavía tienen problemas.

Estoy usando ACO y no pareció mejorar de ninguna manera.

Hasta ahora puedo ahorrar entre 3 y 4 horas antes de comenzar a fallar constantemente en todas las correcciones, y eso es si tengo suerte. A menudo, solo puedo conseguir una hora. Actualizar el pfx parece que tal vez me dé una hora en un guardado antiguo con la misma versión del juego. Hasta ahora, solo he pasado las primeras horas sin dotnet *, pero los tiempos de guardado hacen que sea difícil de probar.

@allquixotic
~ / .steam debe ser un enlace simbólico a ~ / .local / share / Steam

linux 5.6.2.arch1-2
mesa-aco-git 20.1.0_devel | mesa 20.0.4-1
Procesador AMD Ryzen 5 3600X de 6 núcleos
AMD Radeon RX 580

Yo uso proton-5.5-GE-1, tengo dotnet472, vcrun2019 y dotnetcore2 instalados. Cuando comienzo el juego, parece que funciona bien. Sin embargo, tengo bloqueos aleatorios y, después de algunos bloqueos, ya no puedo reiniciar el juego. Si esto sucede, abrir protontricks 261550 da el siguiente error:
/home/krulvis/.cache/protontricks/proton/Proton-5.5-GE-1/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""
¿Alguien tuvo experiencias similares o posiblemente sabe lo que está pasando?

@Krulvis Es muy probable que haya un proceso wineserver atascado que deba eliminarse. Encontré lo mismo y al matar eso atascado wineserver solucionó.

Decidí echar un vistazo al registro generado al usar la bandera PROTON_LOG y, sorprendentemente, generó un archivo de 274 MB con millones de líneas, ¿se supone que debe ser así? Tenga en cuenta que eliminé el registro anterior antes de iniciar el juego.

@ptkato Sí, eso es normal con las versiones .NET de protontricks 'd. Puede reducir eso pasando una variable WINEDEBUG en sus opciones de lanzamiento. Por defecto, Proton asume WINEDEBUG=+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree ; +seh es lo que genera esas líneas, así que eso es lo que querría sacar.

También puede configurar esto creando un user_settings.py en la carpeta de instalación de Proton, por ejemplo, ~/.steam/steam/compatibilitytools.d/$PROTON_VERSION/ o ~/.steam/steam/steamapps/common/$PROTON_VERSION/ (debería haber un user_settings.sample.py allí como plantilla) . Esta es la forma en que Valve parece recomendar hacerlo, pero personalmente prefiero configurar estas cosas por juego.

cuando termine, ejecute protontricks 261550 --gui dlls

@Tercus También puede ejecutar protontricks 261550 --gui y usar la opción "seleccionar el prefijo predeterminado" (que se selecciona automáticamente). Debería llevarte al mismo lugar (incluso si esa opción tiene un nombre engañoso, dado que el conjunto de protontricks "predeterminado" es de hecho el de compatdata/261550/pfx lugar de, por ejemplo, ~/.wine ).

Hasta ahora puedo ahorrar entre 3 y 4 horas antes de comenzar a fallar constantemente en todas las correcciones, y eso es si tengo suerte. A menudo, solo puedo conseguir una hora. Actualizar el pfx parece que tal vez me dé una hora en un guardado antiguo con la misma versión del juego. Hasta ahora, solo he pasado las primeras horas sin dotnet *, pero los tiempos de guardado hacen que sea difícil de probar.

Este es ahora mi comportamiento también. Puedo tener unas horas guardadas antes de que empiece a fallar constantemente. Voy a intentar mirar un poco más de cerca algunos registros y ver qué puedo encontrar. ¡Estoy muriendo por aquí! :)

Hasta ahora puedo ahorrar entre 3 y 4 horas antes de comenzar a fallar constantemente en todas las correcciones, y eso es si tengo suerte. A menudo, solo puedo conseguir una hora. Actualizar el pfx parece que tal vez me dé una hora en un guardado antiguo con la misma versión del juego. Hasta ahora, solo he pasado las primeras horas sin dotnet *, pero los tiempos de guardado hacen que sea difícil de probar.

@allquixotic
~ / .steam debe ser un enlace simbólico a ~ / .local / share / Steam

linux 5.6.2.arch1-2
mesa-aco-git 20.1.0_devel | mesa 20.0.4-1
Procesador AMD Ryzen 5 3600X de 6 núcleos
AMD Radeon RX 580

Sí, lo de ACO era una bandera falsa, y después de cargar mi guardado más tarde hoy, he tenido el mismo comportamiento. He estado mirando los registros y parece que el bloqueo se debe al mismo error cada vez, lo que debería ser alentador al menos:

 Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that othe

TaleWorlds.Localization.TextProcessor.Tokenizer.FindTokenMatches(String text, Int32 beginIndex, Int32 endIndex, List`1 tokenMatches)
   at TaleWorlds.Localization.TextProcessor.Tokenizer.FindTokenMatchesAndText(String text)
   at TaleWorlds.Localization.TextProcessor.Tokenizer.<Tokenize>d__2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at TaleWorlds.Localization.MBTextManager.Process(String query, TextObject parent)
   at TaleWorlds.Localization.MBTextManager.ProcessText(TextObject to)
   at TaleWorlds.Localization.MBTextManager.ProcessText(TextObject to)
   at TaleWorlds.Localization.TextObject.ToString()
   at SandBox.ViewModelCollection.Nameplate.PartyNameplateVM.RefreshDynamicProperties(Boolean forceUpdate)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

@ptkato Sí, eso es normal con las versiones protontricks 'd .NET. Puede reducir eso pasando una variable WINEDEBUG en sus opciones de lanzamiento. Por defecto, Proton asume WINEDEBUG=+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree ; +seh es lo que genera esas líneas, así que eso es lo que querría sacar.

Gracias, eso ayudó, el registro ahora sigue:
steam-261550.log

Excepción no controlada: System.AccessViolationException: se intentó leer o escribir en la memoria protegida. Esto es a menudo una indicación de que otros
TaleWorlds.Localization.TextProcessor.Tokenizer.FindTokenMatches (String text, Int32 beginIndex, Int32 endIndex, List`1 tokenMatches)
en TaleWorlds.Localization.TextProcessor.Tokenizer.FindTokenMatchesAndText (texto de cadena)
en TaleWorlds.Localization.TextProcessor.Tokenizer.d__2.MoveN
...

@tkamat Lo siento si esto es ruido, pero de qué registro es, no pude encontrar nada similar en 261550/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/logs/ o en WINEDEBUG = + timestamp, + pid, + tid, + seh, + debugstr, + loaddll, + mscoree

@allquixotic @Tercus Yo diría que los trucos de Proton se pueden instalar a través de AUR "pamac install protontricks-git" Creo que IIRC (No en mi escritorio actualmente para verificar el nombre del paquete)

¿El multijugador dejó de funcionar para alguien? Ahora recibo couldn't receive login results from server errores. :(

He actualizado mi pequeña guía e incluido las sugerencias. La esencia se puede encontrar aquí . Puede comentar allí para ver los cambios. Gracias a todos por el gran trabajo. ¡Tan poco después del lanzamiento y el juego se puede jugar en Linux!

@ptkato Miré el registro, lo único que noté fue

4307.340:002a:0032: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 puedo estar seguro de que esto sea lo que está causando sus fallas, pero es fácil de solucionar; ¡le falta un paquete de Linux! Si está en distribuciones basadas en Debian / Ubuntu, será winbind como dice el mensaje de error, si está ejecutando algo basado en Arch, será samba .

Pruébelo y vea si eso soluciona algo.

He descubierto qué fue lo que, al menos para mí, hizo que mis tiempos de ahorro fueran mucho más rápidos que otros.
Sin dotnet, mis tiempos de ahorro fueron de alrededor de 10 segundos y con dotnet me tomó alrededor de 2 segundos. Algunos otros tenían números similares.
Donde para la mayoría, parece, los números fueron más alrededor de 2-3 minutos y 30 segundos respectivamente.

La razón, para mí, es fsync. Con él habilitado obtengo los tiempos de ahorro rápido, con él desactivado obtengo los tiempos de ahorro lentos.

Para mí, dotnet parece ser la causa de muchos fallos aparentemente aleatorios, he probado todas las combinaciones de correcciones aquí, así como las cosas que se me ocurrieron sin mejorar. Los problemas de rendimiento que algunos tenían con dotnet nunca parecen suceder para mí, por lo que los bloqueos son el único problema que he tenido con dotnet.

Entonces, mi mejor experiencia, actualmente, es no hacer ningún ajuste / instalación de protontricks, pero asegurarme de que fsync esté funcionando, que ya estaba funcionando. Prefiero tener guardados de 10 segundos y ningún / mucho menos choques que guardados de 2 segundos y muchos choques. No lo he probado el tiempo suficiente para saber qué tan libre de accidentes estoy, pero al menos ha mejorado significativamente.

Sin embargo, necesito dotnet para que el lanzador funcione, así que utilizo la nueva solución alternativa prevista para omitir el lanzador TaleWorlds introducido en un parche reciente, para lanzar Bannerlord.Native.exe lugar. Cambie el nombre a TaleWorlds.MountAndBlade.Launcher.exe y listo.

Editar: un inconveniente con el exe alternativo es que el lanzador maneja la carga de mods, por lo que los mods no se cargan si se omite el lanzador. Puede manejarse haciendo lo que se menciona aquí , por lo que es manejable pero no ideal.

@ albin-engstrom Mmmm, el juego que funciona mejor con fsync me hace pensar que esync podría ser un problema, como lo ha sido para otros juegos. ¿Alguien ha intentado ejecutar el juego con PROTON_NO_ESYNC=1 ?

@tkamat He probado todas las combinaciones de fsync y esync encendidas o apagadas. Pero solo con dotnet.
Con esync y fsync desactivados, el bloqueo fue el mismo que cualquier otra combinación, por lo que pude ver. Como eso era lo que estaba probando en ese momento, no noté específicamente cómo estaban los tiempos de ahorro, pero si fueran notablemente más lentos, supongo que lo habría notado.

@tkamat @ albin-engstrom También probé el juego con esync, fsync y sin ambos y sin dotnet los tiempos de ahorro son siempre alrededor de 15 segundos (con una cpu ryzen 3700x y samsung 860 evo ssd).

ACTUALIZAR:
@ albin-engstrom Cuando utilizo su sugerencia ( Bannerlord.Native.exe enlazado simbólicamente a TaleWorlds.MountAndBlade.Launcher.exe ) mis tiempos de guardado mejoran en aproximadamente un 50%, por ejemplo, ahora obtengo tiempos de guardado de alrededor de 7.5 segundos (cuando no ejecuto ningún comando winetricks).

¿El multijugador dejó de funcionar para alguien? Ahora recibo couldn't receive login results from server errores. :(

¡Comprobado de nuevo esta mañana y está funcionando ahora! ¡Cortejar!

También probé el juego con esync, fsync y sin ambos y sin dotnet los tiempos de ahorro son siempre de alrededor de 15 segundos (con una cpu ryzen 3700x y un samsung 860 evo ssd).

@elovin Eso es interesante. Puede ser que haya algún tipo de problema que fsync resuelve / solución en mi caso, pero en otros casos el problema puede no estar presente y fsync no cambia tanto las cosas. Y tengo un Ryzen 3900X y un 970 Evo, cosas bastante similares, por lo que es poco probable que eso sea la diferencia para nosotros.

Cuando utilizo su sugerencia (Bannerlord.Native.exe enlazado simbólicamente a TaleWorlds.MountAndBlade.Launcher.exe), mis tiempos de guardado mejoran en aproximadamente un 50%, por ejemplo, ahora obtengo tiempos de guardado de alrededor de 7.5 segundos (cuando no ejecuto ningún comando de winetricks).

Eso es genial, la razón puede ser que parece cargar las cosas de manera diferente. Cuando lo intenté por primera vez, tenía dotnet instalado y los tiempos de guardado cortos y el cambio de nombre del exe parece deshabilitar / no cargar dotnet. Tuve los largos tiempos de ahorro una vez que lo hice.
Puede ser que dotnet solo se necesite específicamente para el lanzador y se cargue con él, por lo que cuando se omite el lanzador, dotnet no se carga.
Es posible que haya algunas otras cosas que no se cargan también y que podrían ser la razón de sus resultados.

@ albin-engstrom Bueno, finalmente terminé de compilar un kernel habilitado para fsync (usé linux-tkg ), y puedo confirmar que los tiempos de guardado sin dotnet o cualquier otro protontricks bajaron de ~ 2 minutos a solo 10 segundos No he jugado durante el tiempo suficiente para sacar conclusiones definitivas sobre la estabilidad, pero hasta ahora no he tenido fallas con esta configuración, mientras que todas las soluciones dotnet que probé terminaron fallando eventualmente.

Para reiterar, estos son los pasos que seguí:

  1. Instale un kernel habilitado para fsync (nuevamente, recomendaría linux-tkg).
  2. Enlace simbólico Bannerlord.Native.exe a TaleWorlds.MountAndBlade.Launcher.exe
  3. Seleccione Proton-5.5-GE-1, elimine el prefijo anterior e inicie el juego.
  4. ¡Eso es! No se requieren trucos de protones u otras cosas.

Si bien los tiempos de guardado son un poco más largos con este método, creo que la estabilidad enormemente aumentada compensa la diferencia de unos pocos segundos, y lo usaré hasta que alguien logre depurar los bloqueos de dotnet. Sería genial ver si esto funciona para alguien más, y sí, gracias a @ albin-engstrom por descubrir el asunto de fsync.

@tkamat Es genial escuchar que también funciona bien para otra persona, ahora he jugado durante aproximadamente 3 horas con esta configuración sin un solo bloqueo, donde antes tenía al menos unas pocas horas, a veces mucho más y a veces mucho menos. Pero 3 horas sin choques son algo inaudito.

También estoy usando linux-tkg y puedo recomendarlo, es una gran ayuda para compilar su propio kernel sin hacerlo completamente por su cuenta. Lo hago por varias razones, siendo fsync una.
Pero si uno no quiere compilar uno propio, es probable que haya algunos precompilados disponibles en la distribución que elija.

En mi caso, también estoy usando proton-tgk y scripts de tkg para compilar dxvk.

@ albin-engstrom Bueno, finalmente terminé de compilar un kernel habilitado para fsync (usé linux-tkg ), y puedo confirmar que los tiempos de guardado sin dotnet o cualquier otro protontricks bajaron de ~ 2 minutos a solo 10 segundos No he jugado durante el tiempo suficiente para sacar conclusiones definitivas sobre la estabilidad, pero hasta ahora no he tenido fallas con esta configuración, mientras que todas las soluciones dotnet que probé terminaron fallando eventualmente.

Para reiterar, estos son los pasos que seguí:

  1. Instale un kernel habilitado para fsync (nuevamente, recomendaría linux-tkg).
  2. Enlace simbólico Bannerlord.Native.exe a TaleWorlds.MountAndBlade.Launcher.exe
  3. Seleccione Proton-5.5-GE-1, elimine el prefijo anterior e inicie el juego.
  4. ¡Eso es! No se requieren trucos de protones u otras cosas.

Si bien los tiempos de guardado son un poco más largos con este método, creo que la estabilidad enormemente aumentada compensa la diferencia de unos pocos segundos, y lo usaré hasta que alguien logre depurar los bloqueos de dotnet. Sería genial ver si esto funciona para alguien más, y sí, gracias a @ albin-engstrom por descubrir el asunto de fsync.

¿Has liderado algún asedio en el juego todavía? He notado participar en asedios, pero especialmente liderar el asedio es una actividad muy propensa a choques.

@vahtos No he liderado ninguno, pero he participado en 3 sin choques.

@vahtos Acabo de intentar liderar un asedio y no se estrelló. Puede que tenga que ver con sus especificaciones, tal vez intente reducir sus gráficos. Me di cuenta de que establecer el presupuesto de texturas en un nivel bajo fue muy útil para mí.

@tkamat Gracias. Intentaré tu configuración entonces. No creo que sea una cuestión de presupuesto de textura, ya que me bloqueo en el mapa de la campaña cuando preparo el asedio o construyo máquinas de asedio. En realidad, nunca he llegado a la batalla en un asedio que estoy liderando.

Acabo de probar el juego con un prefijo nuevo sin ninguna de las correcciones de protrontricks, mientras tenía habilitado fsync, y no tuve ni un solo bloqueo. Además de tratar de jugar con la configuración del juego, que aún colapsaba el juego, el juego es muy estable hasta el punto de ser totalmente jugable.

@ albin-engstrom Bueno, finalmente terminé de compilar un kernel habilitado para fsync (usé linux-tkg ), y puedo confirmar que los tiempos de guardado sin dotnet o cualquier otro protontricks bajaron de ~ 2 minutos a solo 10 segundos No he jugado durante el tiempo suficiente para sacar conclusiones definitivas sobre la estabilidad, pero hasta ahora no he tenido fallas con esta configuración, mientras que todas las soluciones dotnet que probé terminaron fallando eventualmente.
Para reiterar, estos son los pasos que seguí:

  1. Instale un kernel habilitado para fsync (nuevamente, recomendaría linux-tkg).
  2. Enlace simbólico Bannerlord.Native.exe a TaleWorlds.MountAndBlade.Launcher.exe
  3. Seleccione Proton-5.5-GE-1, elimine el prefijo anterior e inicie el juego.
  4. ¡Eso es! No se requieren trucos de protones u otras cosas.

Si bien los tiempos de guardado son un poco más largos con este método, creo que la estabilidad enormemente aumentada compensa la diferencia de unos pocos segundos, y lo usaré hasta que alguien logre depurar los bloqueos de dotnet. Sería genial ver si esto funciona para alguien más, y sí, gracias a @ albin-engstrom por descubrir el asunto de fsync.

¿Has liderado algún asedio en el juego todavía? He notado participar en asedios, pero especialmente liderar el asedio es una actividad muy propensa a choques.

Intenté participar en un asedio en particular unas seis veces, que se congeló unos dos segundos en la pantalla de carga en todas menos una ocasión. Todavía no he intentado sitiar ninguna otra ciudad.
Esto es con un 5700XT, usando los controladores de código abierto, con el protón original publicado por @YellowApple , y sin otros ajustes.

Regresé a Warband, pero parece que se ha avanzado mucho aquí, así que podría volver a subirme al tren de la depuración del vino este fin de semana.

Fedora 32, Kernel 5.6.3
Ryzen 2700 a 4 GHz
AMD Rx580
Protón-5.5-GE-1

Instalé DotNet 4.72 usando Winetricks. El lanzador funciona bien si haces esto. Sin embargo, el rendimiento no es tan bueno. Luego intenté reemplazar el lanzador con Bannerlord.Native.exe . En realidad, esto mejoró significativamente el rendimiento. Pero guardar el juego ahora toma ~ 2 minutos. Además, habrá momentos en que el juego alcance el 100% de uso de la CPU y parezca que se congele. Después de un par de minutos, volverá a la normalidad y se podrá reproducir de nuevo.

El rendimiento es algo bueno. Se siente un poco tartamudo y se congela ocasionalmente.

Editar: un inconveniente con el exe alternativo es que el lanzador maneja la carga de mods, por lo que los mods no se cargan si se omite el lanzador. Puede manejarse haciendo lo que se menciona aquí , por lo que es manejable pero no ideal.

Podría valer la pena intentar pasarlos como opciones de lanzamiento; parece que .exe toma una lista de ellos en sus argumentos si mi rgl_log es algo por lo que pasar:

Command Args: /singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*BannerLogger*CalradiaFutureWarfare*CharacterTrainer*DeveloperConsole*XorberaxYell*zzBannerlordTweaks*zzCharacterCreation*_MODULES_ /anticheat

Instalé el kernel de XanMod para Ubuntu 19.10 y puedo confirmar que los tiempos de guardado cayeron de un minuto o dos a un par de segundos con un prefijo nuevo sin protontricks.

@DeathTBO Pruebe un kernel habilitado para fsync, que debería acelerar el ahorro a unos 10 segundos o menos. Lo ha hecho al menos para algunos. Sin embargo, no sé si hay uno precompilado disponible para Fedora, pero supongo que hay al menos uno. De lo contrario, puede que tenga que compilar el suyo.
Y las congelaciones que menciona son solo los autoguardados, por lo que también serían mucho más rápidos.

Podría valer la pena intentar pasarlos como opciones de lanzamiento; parece que el .exe toma una lista de ellos en sus argumentos si mi rgl_log es algo por lo que pasar:
Command Args: /singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*BannerLogger*CalradiaFutureWarfare*CharacterTrainer*DeveloperConsole*XorberaxYell*zzBannerlordTweaks*zzCharacterCreation*_MODULES_ /anticheat

@YellowApple Le daré una oportunidad más tarde, si funciona es un mejor enfoque, ya que el otro enfoque requiere copiar los archivos mod en los otros módulos en lugar de mantenerlos separados como se pretendía.

Probé el juego con solo protones GE y funciona muy bien. Como era de esperar, el problema principal son las paradas largas, pero lo toleraría si el juego no se guardara automáticamente antes de cada pelea ... ¿hay alguna manera de desactivar esas salvadas automáticas? Prefiero hacer algunos guardados (largos) cuando quiero que ejecutar un kernel diferente.

Instala dotnet472, hace que el juego se guarde casi instantáneamente y un amigo mío que jugaba a Warband regularmente me dijo que querrás guardar con mucha frecuencia porque falla con frecuencia (incluso en Windows). También corrige el lanzador, pero eso no es muy especial, ya que el enlace simbólico de Bannerlord.exe con ManagedStarter.exe hace lo mismo.

Instala dotnet472, hace que el juego se guarde casi instantáneamente y un amigo mío que jugaba a Warband regularmente me dijo que querrás guardar con mucha frecuencia porque falla con frecuencia (incluso en Windows). También corrige el lanzador, pero eso no es muy especial, ya que el enlace simbólico de Bannerlord.exe con ManagedStarter.exe hace lo mismo.

Intenté con dotnet pero el juego se bloqueó varias veces, así que prefiero ejecutar el juego solo con proton GE si es posible deshabilitar el guardado automático.

@ Zouizoui78 Por lo que yo sé, no existe una forma conocida de desactivar el guardado automático, desafortunadamente.

Instalé el kernel de liquorix (que supongo que está habilitado para fsync) en Linux Mint 19.2, usé un prefijo nuevo y ahora obtengo aproximadamente 10 segundos de guardado. Hasta ahora parece estable, solo tuve una sesión de juego de una hora, pero no se bloquearon, excepto cuando inicialmente cambié mi configuración (parece que siempre sucede).

Rendimiento notablemente peor que antes (tartamudea al cargar texturas o la primera vez que entro en combate, el menú principal tenía caídas masivas de fps en la configuración gráfica predeterminada / máxima), pero bajarlo a medio parece estar bien.

Solo un aviso , el último

Con estas correcciones, todavía solo obtengo el control del mouse, tal vez 1 de cada 10 lanzamientos.

Eso es realmente extraño, después de parchear vino hace un tiempo, obtengo el control del mouse el 100% del tiempo. ¿Alguien más está experimentando este mismo problema donde los parches _no_ funcionan?

@jaynus : ¿intentaste usar un prefijo nuevo (ejecuta protontricks 261550 annihilate )? No debería hacer ninguna diferencia, pero tal vez tenga algunas anulaciones extrañas de antes, ¿o?

@craftyguy Usando un prefijo nuevo, obtengo clics del mouse cada dos lauch. Estoy usando proton-5.5-GE-1 y protontricks dotnet472 y vcrun2019

Usar un kernel habilitado para fsync + un prefijo nuevo ha hecho que el juego sea muy estable para mí ahora.
Anteriormente he tenido choques cada 10/15 minutos e incluso con más frecuencia en algunas áreas.

Instalé linux-zen que ya tiene fsync parcheado.
En Arch linux, el kernel zen precompilado está en el repositorio oficial, por lo que es muy fácil de instalar.
Hice un nuevo prefijo, ejecutando proton-tkg 5.5 y no instalé ninguna biblioteca adicional.

El juego es muy estable y jugué durante más de 1 hora sin fallas. Los tiempos de ahorro son un poco lentos (10 segundos), pero es una buena compensación por la estabilidad.

Recomiendo a todos que prueben el kernel linux-zen .


Información del sistema

Sistema operativo: Arch Linux
NÚCLEO: 5.6.3-zen1-1-zen
CPU: AMD Ryzen 5 2600 de seis núcleos
GPU: Radeon RX Vega 56
CONTROLADOR DE GPU: 4.6 Mesa 20.0.4
RAM: 8 GB

Instalé el kernel de liquorix (que supongo que está habilitado para fsync) en Linux Mint 19.2, usé un prefijo nuevo y ahora obtengo aproximadamente 10 segundos de guardado. Hasta ahora parece estable, solo tuve una sesión de juego de una hora, pero no se bloquearon, excepto cuando inicialmente cambié mi configuración (parece que siempre sucede).

Rendimiento notablemente peor que antes (tartamudea al cargar texturas o la primera vez que entro en combate, el menú principal tenía caídas masivas de fps en la configuración gráfica predeterminada / máxima), pero bajarlo a medio parece estar bien.

El rendimiento cae cuando se cargan texturas / escenas por primera vez es normal, estas deberían comenzar a desaparecer cuanto más juegues, ya que el caché de sombreado hace su trabajo.

Recomiendo a todos que prueben el kernel linux-zen .

He estado leyendo durante algunas horas sobre este nuevo kernel. Parece que no puedo encontrar una opción de reversión. Estoy mirando licorix en particular. Digamos que hay algún problema con el kernel, ¿es difícil volver al valor predeterminado de Debian?

Instalé el kernel de liquorix (que supongo que está habilitado para fsync) en Linux Mint 19.2, usé un prefijo nuevo y ahora obtengo aproximadamente 10 segundos de guardado. Hasta ahora parece estable, solo tuve una sesión de juego de una hora, pero no se bloquearon, excepto cuando inicialmente cambié mi configuración (parece que siempre sucede).
Rendimiento notablemente peor que antes (tartamudea al cargar texturas o la primera vez que entro en combate, el menú principal tenía caídas masivas de fps en la configuración gráfica predeterminada / máxima), pero bajarlo a medio parece estar bien.

El rendimiento cae cuando se cargan texturas / escenas por primera vez es normal, estas deberían comenzar a desaparecer cuanto más juegues, ya que el caché de sombreado hace su trabajo.

Parece que, después de jugar durante unas horas, realmente no noté nada. En general, una sesión de 5 horas sin un solo accidente.

@ jake-hedges Normalmente, cuando quiero experimentar con diferentes núcleos, configuro mi cargador de arranque para que tenga una opción de menú para arrancar el núcleo experimental, mientras dejo estable / línea principal como opción predeterminada. De esa manera, no perderá la opción de respaldo.

Recomiendo a todos que prueben el kernel linux-zen .

He estado leyendo durante algunas horas sobre este nuevo kernel. Parece que no puedo encontrar una opción de reversión. Estoy mirando licorix en particular. Digamos que hay algún problema con el kernel, ¿es difícil volver al valor predeterminado de Debian?

Intente preguntar en el IRC de Debian o en algún otro canal de soporte para su distribución. Esto está fuera de tema aquí ...

Y una advertencia para los demás: no descargue kernels aleatorios o juegue con la experimentación con kernels si no sabe cómo recuperarse o no tiene la motivación para resolverlo. Las personas generalmente recomiendan rápidamente cosas que podrían dañar su sistema, pero lentas para ayudarlo a arreglar las cosas cuando se rompen.

Intente preguntar en el IRC de Debian o en algún otro canal de soporte para su distribución. Esto está fuera de tema aquí ...

Esta es una rotación de 180 grados que proviene del usuario que habla sobre el uso de soluciones alternativas de desarrolladores aleatorios en un hilo de solución de problemas.

Lo siento, pero creo que si se sugieren soluciones que pueden afectar a todo su sistema, discutir una reversión es una buena práctica. Puede que no se ajuste a _su_ alcance de este hilo, pero parece que esta opción es muy atractiva para muchas personas en este momento. Por qué decides convertirte de repente en un pseudo moderador es cómico.

Intente preguntar en el IRC de Debian o en algún otro canal de soporte para su distribución. Esto está fuera de tema aquí ...

Esta es una rotación de 180 grados que proviene del usuario que habla sobre el uso de soluciones alternativas de desarrolladores aleatorios en un hilo de solución de problemas.

Lo siento, pero creo que si se sugieren soluciones que pueden afectar a todo su sistema, discutir una reversión es una buena práctica. Puede que no se ajuste a _su_ alcance de este hilo, pero parece que esta opción es muy atractiva para muchas personas en este momento. Por qué decides convertirte de repente en un pseudo moderador es cómico.

@ jake-hedges tal vez no esté prestando atención (pista: no lo está) pero nunca sugerí que usara un kernel aleatorio, alguien más lo hizo. Estoy sugiriendo que todo este "¡Dios mío, bloqueé mi sistema probando algunos núcleos!" la discusión vaya a otra parte, no tiene nada que ver con el tema aquí.

Por qué decides convertirte de repente en un pseudo moderador es cómico.

La relación señal: ruido en este problema es súper alta, por lo que aquellos de nosotros que realmente nos preocupamos por rastrear los problemas con este juego tenemos que leer los comentarios de payasos como tú que prefieren hablar sobre cómo arreglar la instalación de tu distribución que arruinaste. probando sugerencias que no comprendes.

Entonces, vaya a pedir soporte para arreglar su instalación de Linux en otro lugar (que evidentemente se rompió, lol), este no es un foro de soporte de Debian.

Si bien la instalación de otro kernel como solución alternativa nos interesa a los que queremos jugar ahora, no es realmente relevante para que el juego funcione correctamente, ya que Steam no va a instalar un nuevo kernel para que un juego funcione correctamente con proton. Entonces, con la lógica de @craftyguy , no debería haber más discusión al respecto. La otra opción es permitir algunas guías breves (no de soporte) sobre cómo hacer esto para varias distribuciones.

Si bien ya estoy comentando esto, también podría agregar que para NixOS no hay un kernel zen en nixpkgs, pero es muy fácil agregar el parche a su configuration.nix así:

boot.kernelPatches = [
      { name = "fsync-support"; patch = ./linux-v5.4-fsync.patch; }
    ];

donde linux-v5.4-fsync.patch se toma de aquí . Eso es todo al respecto. Me tomó un tiempo compilar el kernel y tuve que limitar la cantidad de núcleos a usar o bloquearía mi sistema por alguna razón.

La solución alternativa del kernel es incorrecta en muchos sentidos. No lo use a menos que realmente quiera jugar con menos fallas cuando esté en estado de acceso temprano. En mi humilde opinión, funciona bien en un kernel estable en ArchLinux con Proton 5.5 GE + dotnet472 y dotnet core de los comentarios anteriores. Tengo un juego de 13 horas con un juego ocasional de 1 a 2 horas sin problemas. Guárdelo con frecuencia y estará bien. Y también, tómatelo con calma, es solo un juego.

@CrafterSvK Tengo entendido que la motivación para usar un kernel con el parche fsync de Valve no es reducir los bloqueos. El juego parece usar algunas primitivas de sincronización de Windows que tienen un paralelo en Linux (eventfd) pero no son del todo idénticas. Los desarrolladores de Proton escribieron un parche del kernel para permitir que un hilo espere en múltiples futexes exactamente de la misma manera que se hace en Windows, pero aún no ha pasado los altos estándares de Linux y, por lo tanto, no se fusiona en sentido ascendente.

Supongo que la falta de estos primitivos obliga a Wine a emularlos de una manera extremadamente ineficiente, y produce un bloqueo brutal en el juego cada vez que guarda, lo cual es muy frecuente. He jugado muchas horas con él y es jugable pero doloroso. Estaré experimentando con el kernel zen más tarde hoy, y si funciona, valdría la pena iniciarlo solo para jugar este juego. "Guardar con frecuencia" es un consejo excepcionalmente malo porque el problema que se aborda aquí es que guardar el juego lleva más de 2 minutos.

Veo sugerencias para que el enlace simbólico omita el lanzador, pero una solución más limpia que no requiere que repitas el proceso en cada parche es decirle a Steam que ejecute el binario correcto para comenzar en las opciones de lanzamiento. Aquí está el mío: echo %command% && exec /usr/share/steam/compatibilitytools.d/proton-ge-custom/proton waitforexitandrun "/home/$USER/.local/share/Steam/steamapps/common/Mount & Blade II Bannerlord/bin/Win64_Shipping_Client/Bannerlord.exe"

En caso de que estés usando un directorio de Proton diferente, puedes obtener el comando% real% Steam se está ejecutando iniciando el juego con echo %command% > ~/cmd .

@CrafterSvK Tengo entendido que la motivación para usar un kernel con el parche fsync de Valve no es reducir los bloqueos. El juego parece usar algunas primitivas de sincronización de Windows que tienen un paralelo en Linux (eventfd) pero no son del todo idénticas. Los desarrolladores de Proton escribieron un parche del kernel para permitir que un hilo espere en múltiples futexes exactamente de la misma manera que se hace en Windows, pero aún no ha pasado los altos estándares de Linux y, por lo tanto, no se fusiona en sentido ascendente.

Supongo que la falta de estos primitivos obliga a Wine a emularlos de una manera extremadamente ineficaz, y produce un bloqueo _brutal_ en el juego cada vez que guarda, lo que es muy frecuente. He jugado muchas horas con él y es jugable pero doloroso. Estaré experimentando con el kernel zen más tarde hoy, y si funciona, valdría la pena iniciarlo solo para jugar este juego. "Guardar con frecuencia" es un consejo excepcionalmente malo porque el problema que se aborda aquí es que guardar el juego lleva más de 2 minutos.

Estoy ahorrando en 1-2 segundos con la versión GE de proton, por lo que mi consejo se basa en la experiencia.

@KimmoKM ¿Qué versión de XanMod estás usando? Probé XanMod y (después de que arreglé los controladores nvidia totalmente estropeados) las cosas están decididamente peor por mi parte.

Parece que los parches del kernel FUTEX_WAIT_MULTIPLE tuvieron un impacto bastante bueno en una nueva compilación no protontricks 'd para mí (usando el parche de linux-tkg , combinado con una versión modificada de Slackware64-current kernel-generic.SlackBuild ). El rendimiento y los tiempos de ahorro siguen siendo notablemente peores que con dotnet472 (todavía hay muchos tartamudeos, especialmente en el mapa de la campaña), pero los tiempos de ahorro son significativamente mejores que con un prefijo predeterminado y sin FUTEX_WAIT_MULTIPLE (al grano donde "guardar con frecuencia" es realmente viable, ya que el ahorro tarda entre 10 y 30 segundos en lugar de varios minutos), y es infinitamente menos accidentado que con dotnet472 (solo jugué durante varias horas seguidas sin bloqueos, mientras que antes Tendría suerte si lo hiciera una hora).

Veo sugerencias para que el enlace simbólico omita el lanzador, pero una solución más limpia que no requiere que repitas el proceso en cada parche es decirle a Steam que ejecute el binario correcto para comenzar en las opciones de lanzamiento.

Si solo está haciendo los enlaces simbólicos ManagedStarter.exeBannerlord.exe y ManagedStarter_BE.exeBannerlord_BE.exe , esos deberían sobrevivir a los parches y aún así hacer que el lanzador funcione (o al menos ambos han sido ciertos en mi caso, a través de casi todos los parches durante las últimas dos semanas y docenas de prefijos con y sin cualquier versión de dotnet ). Si de hecho está pasando por alto el lanzador por completo, entonces sí, las opciones de lanzamiento son una forma limpia de hacerlo.

@KimmoKM ¿Qué versión de XanMod estás usando? Probé XanMod y (después de que arreglé los controladores nvidia totalmente estropeados) las cosas están decididamente peor por mi parte.

5.5.15-xanmod1 de este repositorio . Estoy usando AMD GPU.

@KimmoKM esa es la misma versión que saqué ...
$cat /proc/version
Linux version 5.5.15-xanmod1 (root@mascote) (gcc version 9.3.0 (Debian 9.3.0-8)) #0 SMP PREEMPT Thu Apr 2 10:37:55 -03 2020

Quizás Nvidia / AMD podría ser el problema. Estoy usando Proton 5.5-1 de GloriousEggroll. Después del cambio, el iniciador del juego funciona bien, pero cuando intento iniciar el juego, se abre en una pantalla blanca y luego se bloquea inmediatamente. El cargador de bloqueo funciona ahora, aunque de alguna manera.

@KimmoKM esa es la misma versión que saqué ...
$cat /proc/version
Linux version 5.5.15-xanmod1 (root@mascote) (gcc version 9.3.0 (Debian 9.3.0-8)) #0 SMP PREEMPT Thu Apr 2 10:37:55 -03 2020

Quizás Nvidia / AMD podría ser el problema. Estoy usando Proton 5.5-1 de GloriousEggroll. Después del cambio, el iniciador del juego funciona bien, pero cuando intento iniciar el juego, se abre en una pantalla blanca y luego se bloquea inmediatamente. El cargador de bloqueo funciona ahora, aunque de alguna manera.

Si no me equivoco, la solución se documenta aquí: https://gist.github.com/Tercus/3db75788df3c7e1efee06904bb985419 en Solución de problemas.

@allquixotic Lamentablemente no ... Estoy usando controladores Nvidia, no AMD. En general, las cosas me funcionaban, aunque con frecuentes caídas. El kernel de xanmod parece haber roto mi configuración. Jugaré un poco más y veré si puedo hacer que funcione, pero es posible que tenga que revertir.

Procesador AMD® Ryzen threadripper 1900x de 8 núcleos × 16
NVidia 2060
Ubuntu 19.10 con kernel xanmod (5.5.15-xanmod1)


EDITAR

Solucionado: resulta que los controladores de Nvidia seguían siendo el problema, parece que no puedes instalar nuevos controladores con la GUI de Ubuntu después de cambiar al nuevo kernel ... Un intento más con la línea de comandos y todo estará listo y funcionando fácilmente.

Después de realizar pruebas más rigurosas hoy, me retracto de mi declaración anterior. El rendimiento es mejor con Dotnet 4.7 instalado y usando el lanzador. Dotnet también acelera los tiempos de ahorro a solo unos segundos, así como las áreas de carga. El rendimiento general podría necesitar algo de trabajo, pero creo que eso está relacionado con el juego en sí.

@YellowApple La carga de modificaciones a través de las opciones de inicio funciona.

Entonces, para las personas que omiten el lanzador al lanzar Bannerlord.Native.exe lugar y tienen mods que desean cargar, pueden usar esto como una opción de lanzamiento en Steam.

%command%
 _MODULES_
*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*TheNameOfAMod*
_MODULES_

@allquixotic Lamentablemente no ... Estoy usando controladores Nvidia, no AMD. En general, las cosas me funcionaban, aunque con frecuentes caídas. El kernel de xanmod parece haber roto mi configuración. Jugaré un poco más y veré si puedo hacer que funcione, pero es posible que tenga que revertir.

Procesador AMD® Ryzen threadripper 1900x de 8 núcleos × 16
NVidia 2060
Ubuntu 19.10 con kernel xanmod (5.5.15-xanmod1)

EDITAR

Solucionado: resulta que los controladores de Nvidia seguían siendo el problema, parece que _no puedes_ instalar nuevos controladores con la GUI de Ubuntu después de cambiar al nuevo kernel ... Un intento más con la línea de comandos y todo estará listo y funcionando fácilmente.

Estoy usando los últimos controladores de Nvidia con el kernel Xanmod LTS (el último 5.4.x estable) y también está funcionando bien aquí.

@allquixotic Lamentablemente no ... Estoy usando controladores Nvidia, no AMD. En general, las cosas me funcionaban, aunque con frecuentes caídas. El kernel de xanmod parece haber roto mi configuración. Jugaré un poco más y veré si puedo hacer que funcione, pero es posible que tenga que revertir.

Procesador AMD® Ryzen threadripper 1900x de 8 núcleos × 16
NVidia 2060
Ubuntu 19.10 con kernel xanmod (5.5.15-xanmod1)

EDITAR

Solucionado: resulta que los controladores de Nvidia seguían siendo el problema, parece que _no puedes_ instalar nuevos controladores con la GUI de Ubuntu después de cambiar al nuevo kernel ... Un intento más con la línea de comandos y todo estará listo y funcionando fácilmente.

Estoy experimentando el mismo bloqueo en el que simplemente se apaga en la pantalla blanca con un informe de bloqueo. Estoy usando Ubuntu 18.04.4 en un MBP con una GPU Intel y todavía no he logrado superar este bloqueo de pantalla blanca. Por lo que sé, parece que eres el único en este hilo que experimentó este bloqueo, así que supongo que es un problema de controlador. Mi pregunta es ¿sus controladores trabajaban con Bannerlord antes de usar xanmod? Si es así, sé que eso es lo que tengo que investigar a menos que alguien tenga otros pensamientos útiles.

Definitivamente hay algo que hace el lanzador que tiene un impacto en los tiempos de ahorro.
No tengo dotnet instalado ya que causa bloqueos y fsync habilitado para obtener tiempos de ahorro decentes.

Como el lanzador no se inicia sin dotnet, puedo omitirlo cambiando el nombre de Bannerlord.Native.exe a TaleWorlds.MountAndBlade.Launcher.exe que hace que Steam lo inicie en su lugar. También se pueden crear enlaces simbólicos o utilizar opciones de lanzamiento para lograrlo.

O puedo cambiar el nombre de Bannerlord.exe y Bannerlord_BE.exe a ManagedStarter.exe y ManagedStarter_BE.exe respectivamente para que el lanzador funcione, no sé por qué lo hace, puede haber sido explicado en algún momento de este hilo. El enfoque de enlace simbólico o opción de lanzamiento también puede funcionar allí.

Al hacer lo primero y omitir el lanzador, obtengo tiempos de ahorro de alrededor de 9 segundos, cuando uso el último enfoque para usar el lanzador, obtengo tiempos de ahorro de alrededor de 16 segundos.

@remosasso Sí, mis controladores estaban funcionando antes de usar xanmod. Si va a la sección Acerca de en la configuración, debería ver sus gráficos en la lista ... Antes de actualizar los controladores, no identificaba mi tarjeta como NVidia ... Actualicé con lo siguiente:

$ sudo add-apt-repository ppa: controladores de gráficos / ppa
$ sudo apt actualización
$ sudo apt-get install nvidia-driver-440

Reiniciar

@remosasso Sí, mis controladores estaban funcionando antes de usar xanmod. Si va a la sección Acerca de en la configuración, debería ver sus gráficos en la lista ... Antes de actualizar los controladores, no identificaba mi tarjeta como NVidia ... Actualicé con lo siguiente:

$ sudo add-apt-repository ppa: controladores de gráficos / ppa
$ sudo apt actualización
$ sudo apt-get install nvidia-driver-440

Reiniciar

Gracias. Sin embargo, parece que mis controladores están bien instalados y no tuve suerte allí. ¿Ha encontrado a alguien más con el problema del bloqueo de la pantalla blanca? Tengo el mismo bloqueo sin importar qué Proton use, ya sea que use dotnet 472 o cambie cualquier archivo .exe. Los controladores parecen ser el problema lógico, pero no lo parecen.

Estoy enfrentando el mismo bloqueo de pantalla blanca en nvidia. El autoguardado se creó mientras se ejecutaba en Linux y se bloquea unos segundos después de cargarlo. El juego funciona bien desde el mismo guardado en Windows

¿Alguien ha hecho comparaciones de rendimiento entre Proton y Windows?

No puedo encontrar juegos en multijugador en la rama 1.1 beta y volviendo a la rama estable no puedo iniciar sesión. ¿Alguien más puede jugar mp?

Editar:
Parece que mp está roto para todos (sin confirmar) en la rama beta: https://forums.taleworlds.com/index.php?threads/e1 -1-0-cant-test-new-patch-because-can't-find- una coincidencia.413059 /

Intentaré la rama estable de nuevo y veré si puedo iniciar sesión ahora.

No puedo encontrar juegos en multijugador en la rama 1.1 beta y volviendo a la rama estable no puedo iniciar sesión. ¿Alguien más puede jugar mp?

Editar:
Parece que mp está roto para todos (sin confirmar) en la rama beta: https://forums.taleworlds.com/index.php?threads/e1 -1-0-cant-test-new-patch-because-can't-find- una coincidencia.413059 /

Intentaré la rama estable de nuevo y veré si puedo iniciar sesión ahora.

Solo pude iniciar sesión en el modo multijugador en la rama estable. Tuve un problema hace unas dos noches en el que no pude iniciar sesión, pero se resolvió al día siguiente.

No puedo iniciar sesión en una rama estable en este momento. ¿Quizás algo se estropea al volver de la versión beta?

No puedo iniciar sesión en una rama estable en este momento. ¿Quizás algo se estropea al volver de la versión beta?

Me pasó hace varias noches antes de que existiera la beta. Pensé que finalmente habían descubierto que no estaba en Windows y me prohibieron. Comenzó a funcionar de nuevo al día siguiente.

Me está funcionando ahora, y estaba jugando SP en la beta antes de volver a estable para MP.

Usando la opción PROTON_LOG=1 , encuentro esto en el registro:

[000000000000006F:] EXCEPTION handling: System.Net.Sockets.SocketException: Connection reset by peer.
...
[000000000000006F:] EXCEPTION handling: System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer.
...
[000000000000006E:] EXCEPTION handling: System.Net.Sockets.SocketException: Error looking up error string
[000000000000006E:] EXCEPTION handling: System.IO.IOException: Unable to write data to the transport connection: Error looking up error string.
[0000000000000067:] EXCEPTION handling: System.IO.IOException: The authentication or decryption has failed.
...
[0000000000000073:] EXCEPTION handling: System.Net.WebException: Error: SecureChannelFailure (The authentication or decryption has failed.)
...
[0000000000000073:] EXCEPTION handling: System.AggregateException: One or more errors occurred. (Error: SecureChannelFailure (The authentication or decryption has failed.))
...
[0000000000000066:] EXCEPTION handling: System.Net.WebException: The operation has timed out.
...

Debo agregar que esto está en el prefijo predeterminado que se ejecuta en un kernel habilitado para fsync. Lo he intentado con y sin VPN.

La nueva versión beta 1.1.0 parece solucionar más fallas. Incluso recupero un guardado dañado de 1.0.10. Estoy usando proton-gtk de "vainilla". Todavía noto algunos problemas de rendimiento a veces, un tiempo de ahorro de alrededor de 10 ~ 12 segundos y bloqueos aleatorios después de 3-4 horas, pero claramente se puede reproducir.

He dedicado más de 60 horas a este juego en Linux. Viví con el tiempo de ahorro de más de 30 segundos por un tiempo, pero el uso de Proton 5.5-GE con dotnet472 y dotnetcore ha reducido mis tiempos de guardado a menos de 5 segundos.

.NET core es de código abierto, tal vez wine / proton debería considerar empaquetarlo como un componente opcional de la misma manera que lo hacen con gecko.

Mi juego se bloquea durante el inicio. Estoy en la versión e1.1.0 - Beta con Proton-5.5-GE-1

❯ rm -rf ~/.steam/steam/steamapps/compatdata/261550
❯ # Launch the game
❯ protontricks --version
protontricks (1.4.1)
❯ winetricks --version
20191224 - sha256sum: 1582b249d827074bb4c456b6ee5f55293a5fea5a66245f5cbe474f771c65e820
❯ protontricks 261550 dotnet472 2&>1 > log


Salida de registro

------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20191224 - sha256sum: 7b91df1f0a0c7be5e085edce2737ea9d8cea60b6ed891e04f041a46e61242131 with wine-5.0 and WINEARCH=win64
Executing w_do_call dotnet472
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet472 
------------------------------------------------------
This package (dotnet472) may not fully work on a 64-bit installation. 32-bit prefixes may work better.
------------------------------------------------------
Current Wine does not have Wine bug 42170, so not applying workaround
Executing w_do_call remove_mono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_remove_mono 
uninstaller: The application with GUID '{8938A429-407D-5208-903D-37777470D766}' was not found
------------------------------------------------------
Working around wine bug 34803 
------------------------------------------------------
reg: The system was unable to find the specified registry key or value
reg: The system was unable to find the specified registry key or value
reg: The system was unable to find the specified registry key or value
Executing rm -f /home/tanner/.steam/steam/steamapps/compatdata/261550/pfx/dosdevices/c:/windows/system32/mscoree.dll
Executing rm -f /home/tanner/.steam/steam/steamapps/compatdata/261550/pfx/dosdevices/c:/windows/syswow64/mscoree.dll
Executing w_do_call dotnet462
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet462 
------------------------------------------------------
This package (dotnet462) may not fully work on a 64-bit installation. 32-bit prefixes may work better.
------------------------------------------------------
Executing w_do_call remove_mono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_remove_mono 
------------------------------------------------------
Mono does not appear to be installed.
------------------------------------------------------
Executing w_do_call dotnet461
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet461 
------------------------------------------------------
This package (dotnet461) may not fully work on a 64-bit installation. 32-bit prefixes may work better.
------------------------------------------------------
Executing w_do_call remove_mono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_remove_mono 
------------------------------------------------------
Mono does not appear to be installed.
------------------------------------------------------
Executing w_do_call dotnet46
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet46 
------------------------------------------------------
This package (dotnet46) may not fully work on a 64-bit installation. 32-bit prefixes may work better.
------------------------------------------------------
Executing w_do_call remove_mono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_remove_mono 
------------------------------------------------------
Mono does not appear to be installed.
------------------------------------------------------
Executing w_do_call dotnet45
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet45 
------------------------------------------------------
This package (dotnet45) may not fully work on a 64-bit installation. 32-bit prefixes may work better.
------------------------------------------------------
Executing w_do_call remove_mono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_remove_mono 
------------------------------------------------------
Mono does not appear to be installed.
------------------------------------------------------
Executing w_do_call dotnet40
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet40 
------------------------------------------------------
This package (dotnet40) may not fully work on a 64-bit installation. 32-bit prefixes may work better.
------------------------------------------------------
------------------------------------------------------
dotnet40 does not yet fully work or install on wine.  Caveat emptor.
------------------------------------------------------
Current Wine does not have Wine bug 42701, so not applying workaround
Executing w_do_call remove_mono
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_remove_mono 
------------------------------------------------------
Mono does not appear to be installed.
------------------------------------------------------
Executing w_do_call winxp
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_winxp 
The operation completed successfully
Setting Windows version to winxp
Executing /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wine regedit C:\windows\Temp\set-winver.reg
Executing /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wine64 regedit C:\windows\Temp\set-winver.reg
------------------------------------------------------
Running /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wineserver -w. This will hang until all wine processes in prefix=/home/tanner/.steam/steam/steamapps/compatdata/261550/pfx terminate
------------------------------------------------------
Executing cd /home/tanner/.cache/winetricks/dotnet40
Unhandled exception: C++ exception(object = 0x0032f594, type = 0x1009be00) in 32-bit code (0x7b032c45).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b032c45 ESP:0032f494 EBP:0032f4f8 EFLAGS:00000212(   - --  I   -A- - )
 EAX:0032f4a0 EBX:e06d7363 ECX:0032f490 EDX:0032f4b4
 ESI:100187cc EDI:00000000
Stack dump:
0x0032f494:  0032f534 0000000c 7bc75a1c e06d7363
0x0032f4a4:  00000001 00000000 7b032c45 00000003
0x0032f4b4:  19930520 0032f594 1009be00 0032fe18
0x0032f4c4:  00641a00 0032f4e8 00860000 00641a58
0x0032f4d4:  0032f4e8 0032f500 00110000 00000000
0x0032f4e4:  00000000 0032f528 7bc769e5 0032f510
Backtrace:
=>0 0x7b032c45 RaiseException+0x50(code=<couldn't compute location>, flags=<couldn't compute location>, count=<couldn't compute location>, args=<couldn't compute location>) [Z:\build\wine-5.0\dlls\kernelbase\debug.c:319] in kernelbase (0x0032f4f8)
  1 0x100814f2 in setupengine (+0x814f1) (0x0032f540)
  2 0x10066a29 EntryPoint+0xffffffff() in setupengine (0x0032f5b0)
  3 0x100636d8 EntryPoint+0xffffffff() in setupengine (0x0032f5d0)
  4 0x10061338 EntryPoint+0xffffffff() in setupengine (0x0032f608)
  5 0x10035a14 EntryPoint+0xffffffff() in setupengine (0x0032f678)
  6 0x1006b498 EntryPoint+0xffffffff() in setupengine (0x0032fdd8)
  7 0x1005fa6e EntryPoint+0xffffffff() in setupengine (0x0032fe48)
  8 0x10058323 EntryPoint+0xffffffff() in setupengine (0x0032fe9c)
  9 0x00402928 EntryPoint+0xffffffff() in setup (0x0032ff30)
  10 0x7b454c52 call_process_entry+0x11() in kernel32 (0x0032ff48)
  11 0x7b455070 start_process+0xdf(entry=<couldn't compute location>, peb=<couldn't compute location>) [Z:\build\wine-5.0\dlls\kernel32\process.c:153] in kernel32 (0x0032ffd8)
  12 0x7b454c5e __wine_start_process+0x9() in kernel32 (0x0032ffec)
0x7b032c45 RaiseException+0x50 [Z:\build\wine-5.0\dlls\kernelbase\debug.c:319] in kernelbase: addl  $12,%esp
Unable to access file 'Z:\build\wine-5.0\dlls\kernelbase\debug.c'
Modules:
Module  Address         Debug info  Name (112 modules)
PE    400000-  415000   Export          setup
PE  10000000-100c8000   Export          setupengine
PE  6cd00000-6cd24000   Deferred        sqmapi
ELF 7b000000-7b0e0000   Dwarf           kernelbase<elf>
  \-PE  7b020000-7b0e0000   \               kernelbase
ELF 7b400000-7b510000   Dwarf           kernel32<elf>
  \-PE  7b420000-7b510000   \               kernel32
ELF 7bc00000-7beb6000   Deferred        ntdll<elf>
  \-PE  7bc30000-7beb6000   \               ntdll
ELF 7c000000-7c006000   Deferred        <wine-loader>
ELF 7ccd2000-7cceb000   Deferred        kerberos<elf>
  \-PE  7cce0000-7cceb000   \               kerberos
ELF 7cceb000-7cd2a000   Deferred        uxtheme<elf>
  \-PE  7cd00000-7cd2a000   \               uxtheme
ELF 7cd2a000-7cd33000   Deferred        libxfixes.so.3
ELF 7cd33000-7cd40000   Deferred        libxcursor.so.1
ELF 7ce40000-7ce55000   Deferred        libxi.so.6
ELF 7ce55000-7ce5a000   Deferred        libxcomposite.so.1
ELF 7ce5a000-7cedb000   Deferred        setupapi<elf>
  \-PE  7ce70000-7cedb000   \               setupapi
ELF 7cedb000-7cf0a000   Deferred        libxcb.so.1
ELF 7cf0a000-7d05d000   Deferred        libx11.so.6
ELF 7d05d000-7d100000   Deferred        winex11<elf>
  \-PE  7d080000-7d100000   \               winex11
ELF 7d124000-7d133000   Deferred        libxrandr.so.2
ELF 7d133000-7d141000   Deferred        libxrender.so.1
ELF 7d141000-7d149000   Deferred        libxxf86vm.so.1
ELF 7d149000-7d15f000   Deferred        libxext.so.6
ELF 7d15f000-7d17c000   Deferred        libz.so.1
ELF 7d17c000-7d1bc000   Deferred        libpng16.so.16
ELF 7d1bc000-7d1cf000   Deferred        libbz2.so.1
ELF 7d1cf000-7d295000   Deferred        libfreetype.so.6
ELF 7d2ca000-7d2e3000   Deferred        libresolv.so.2
ELF 7d2e3000-7d311000   Deferred        iphlpapi<elf>
  \-PE  7d2f0000-7d311000   \               iphlpapi
ELF 7d311000-7d356000   Deferred        netapi32<elf>
  \-PE  7d320000-7d356000   \               netapi32
ELF 7d356000-7d394000   Deferred        secur32<elf>
  \-PE  7d360000-7d394000   \               secur32
ELF 7d394000-7d3b4000   Deferred        jsproxy<elf>
  \-PE  7d3a0000-7d3b4000   \               jsproxy
ELF 7d3b4000-7d3f9000   Deferred        winhttp<elf>
  \-PE  7d3c0000-7d3f9000   \               winhttp
ELF 7d3f9000-7d40f000   Deferred        psapi<elf>
  \-PE  7d400000-7d40f000   \               psapi
ELF 7d40f000-7d429000   Deferred        userenv<elf>
  \-PE  7d420000-7d429000   \               userenv
ELF 7d429000-7d449000   Deferred        bcrypt<elf>
  \-PE  7d430000-7d449000   \               bcrypt
ELF 7d449000-7d4ff000   Deferred        crypt32<elf>
  \-PE  7d460000-7d4ff000   \               crypt32
ELF 7d4ff000-7d53a000   Deferred        wintrust<elf>
  \-PE  7d510000-7d53a000   \               wintrust
ELF 7d53a000-7d55d000   Deferred        odbccp32<elf>
  \-PE  7d540000-7d55d000   \               odbccp32
ELF 7d55d000-7d579000   Deferred        mspatcha<elf>
  \-PE  7d560000-7d579000   \               mspatcha
ELF 7d579000-7d595000   Deferred        imagehlp<elf>
  \-PE  7d580000-7d595000   \               imagehlp
ELF 7d595000-7d5b2000   Deferred        sxs<elf>
  \-PE  7d5a0000-7d5b2000   \               sxs
ELF 7d5b2000-7d5da000   Deferred        cabinet<elf>
  \-PE  7d5c0000-7d5da000   \               cabinet
ELF 7d5da000-7d602000   Deferred        imm32<elf>
  \-PE  7d5e0000-7d602000   \               imm32
ELF 7d602000-7d651000   Deferred        usp10<elf>
  \-PE  7d610000-7d651000   \               usp10
ELF 7d651000-7d7a7000   Deferred        comctl32<elf>
  \-PE  7d680000-7d7a7000   \               comctl32
ELF 7d7a7000-7d7e5000   Deferred        ws2_32<elf>
  \-PE  7d7c0000-7d7e5000   \               ws2_32
ELF 7d7e5000-7d80d000   Deferred        mpr<elf>
  \-PE  7d7f0000-7d80d000   \               mpr
ELF 7d80d000-7d88c000   Deferred        wininet<elf>
  \-PE  7d820000-7d88c000   \               wininet
ELF 7d88c000-7d933000   Deferred        urlmon<elf>
  \-PE  7d8b0000-7d933000   \               urlmon
ELF 7d933000-7da62000   Deferred        msi<elf>
  \-PE  7d960000-7da62000   \               msi
ELF 7da62000-7db99000   Deferred        oleaut32<elf>
  \-PE  7da90000-7db99000   \               oleaut32
ELF 7db99000-7dc34000   Deferred        rpcrt4<elf>
  \-PE  7dbc0000-7dc34000   \               rpcrt4
ELF 7dc34000-7dda0000   Deferred        ole32<elf>
  \-PE  7dc70000-7dda0000   \               ole32
ELF 7dda0000-7ddc8000   Deferred        shcore<elf>
  \-PE  7ddb0000-7ddc8000   \               shcore
ELF 7ddc8000-7de2d000   Deferred        shlwapi<elf>
  \-PE  7dde0000-7de2d000   \               shlwapi
ELF 7de2d000-7e7d6000   Deferred        shell32<elf>
  \-PE  7de60000-7e7d6000   \               shell32
ELF 7e7d6000-7e8b1000   Deferred        msvcrt<elf>
  \-PE  7e800000-7e8b1000   \               msvcrt
ELF 7e8b1000-7e8c8000   Deferred        version<elf>
  \-PE  7e8c0000-7e8c8000   \               version
ELF 7e8c8000-7ea14000   Deferred        gdi32<elf>
  \-PE  7e8f0000-7ea14000   \               gdi32
ELF 7ea14000-7ec46000   Deferred        user32<elf>
  \-PE  7ea50000-7ec46000   \               user32
ELF 7ec46000-7ecca000   Deferred        advapi32<elf>
  \-PE  7ec60000-7ecca000   \               advapi32
ELF 7eeff000-7f000000   Deferred        libm.so.6
ELF f7afe000-f7b6a000   Deferred        msxml3<elf>
  \-PE  f7b10000-f7b6a000   \               msxml3
ELF f7bb0000-f7bb8000   Deferred        libxdmcp.so.6
ELF f7bb8000-f7bbd000   Deferred        libxau.so.6
ELF f7bc1000-f7bc7000   Deferred        libdl.so.2
ELF f7bc7000-f7da7000   Deferred        libc.so.6
ELF f7da7000-f7dc9000   Deferred        libpthread.so.0
ELF f7dc9000-f7f7d000   Dwarf           libwine.so.1
ELF f7f81000-f7fab000   Deferred        ld-linux.so.2
ELF f7fae000-f7fb0000   Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 dotNetFx40_Full_x86_x64.exe
    00000028    0
    00000009    0
0000000e services.exe
    00000025    0
    0000001c    0
    00000015    0
    00000010    0
    0000000f    0
00000011 plugplay.exe
    00000019    0
    00000018    0
    00000012    0
00000013 explorer.exe
    00000022    0
    00000021    0
    0000001f    0
    00000014    0
0000001a winedevice.exe
    00000020    0
    0000001e    0
    0000001d    0
    0000001b    0
00000023 winedevice.exe
    00000027    0
    00000026    0
    00000024    0
0000002c (D) C:\9121dba59fb375d0b974\Setup.exe
    00000030    0
    0000002d    0 <==
System information:
    Wine build: wine-5.0
    Platform: i386 (WOW64)
    Version: Windows XP
    Host system: Linux
    Host version: 4.19.108
Using native override for following DLLs: mscoree
Executing /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wine regedit C:\windows\Temp\override-dll.reg
Executing /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wine64 regedit C:\windows\Temp\override-dll.reg
The operation completed successfully
The operation completed successfully
The operation completed successfully
Setting Windows version to default
Executing /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wine regedit C:\windows\Temp\set-winver.reg
Executing /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wine64 regedit C:\windows\Temp\set-winver.reg
------------------------------------------------------
Running /nix/store/rq1ra5a2fki62dmw2yc3d3750q0avisw-wine-wow-5.0/bin/wineserver -w. This will hang until all wine processes in prefix=/home/tanner/.steam/steam/steamapps/compatdata/261550/pfx terminate
------------------------------------------------------
------------------------------------------------------
dotnet40 install completed, but installed file /home/tanner/.steam/steam/steamapps/compatdata/261550/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found
------------------------------------------------------

El error del lanzamiento real del juego parece ser:

ERROR: ld.so: object '/home/tanner/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

Todavía no puedo iniciar sesión en el modo multijugador en una rama estable (e1.0.10).

@agates , ¿no has tenido problemas para iniciar el juego después de reiniciar?
Lo estoy reinstalando para ver si corrige la configuración. Anoche funcionó bien, pero hoy no se lanzó
Tengo que ejecutar protontricks 261550 dotnetcore para instalarlo después de dotnet472 ?

@agates , ¿no has tenido problemas para iniciar el juego después de reiniciar?
Lo estoy reinstalando para ver si corrige la configuración. Anoche funcionó bien, pero hoy no se lanzó
Tengo que ejecutar protontricks 261550 dotnetcore para instalarlo después de dotnet472 ?

Cualquier problema que haya tenido ha estado relacionado con modificaciones, hasta ahora.

dotnetcore no está en winetricks, así que debes instalarlo manualmente. @Aliervo mostró cómo hacerlo en un comentario anterior .

@Amarillo
¡Fuimos noticia! ¡Gracias por la solución!

@Aliervo @agates Estoy obteniendo este resultado:

./proton run ~/dotnet-runtime-2.1.17-win-x64.exe
ProtonFixes[19625] INFO: Running protonfixes
ProtonFixes[19625] INFO: Running checks
ProtonFixes[19625] INFO: All checks successful
ProtonFixes[19625] INFO: No protonfix found for UNKNOWN (261550)

Me estoy perdiendo algo?

@Aliervo @agates Estoy obteniendo este resultado:

./proton run ~/dotnet-runtime-2.1.17-win-x64.exe
ProtonFixes[19625] INFO: Running protonfixes
ProtonFixes[19625] INFO: Running checks
ProtonFixes[19625] INFO: All checks successful
ProtonFixes[19625] INFO: No protonfix found for UNKNOWN (261550)

Me estoy perdiendo algo?

¿Está el archivo dotnet-runtime-2.1.17-win-x64.exe en su directorio personal?

Obtengo ese resultado exacto cuando la ubicación especificada no existe.

El mío está en ~/Downloads/dotnet-runtime-2.1.17-win-x64.exe , por ejemplo.

@agates sí, todo en su lugar, ¿tal vez sea porque ya lo tengo instalado?

Pruebas

Planes

Intenté probar algunas de las sugerencias que hemos visto hasta ahora. Intentaré algunas combinaciones más mañana, que podrían incluir el uso de un kernel habilitado para fsync. También intentaré extender las pruebas en algunas de las soluciones más prometedoras, como cambiar la configuración de gráficos sin fallar y la estabilidad general del juego. Actualizaré esta publicación, pero también se puede ver en esta esencia .

La puesta en marcha

Mi forma actual de realizar pruebas es increíblemente básica. Creo un nuevo prefijo y ejecuto el juego una vez para realizar la configuración básica de Steam. Luego agrego los componentes que quiero probar. Si la nueva prueba incluye los componentes probados anteriormente, omito la creación de un nuevo prefijo (sin prefijo nuevo cuando cambié de vcrun2019 a vcrun20190 + dotnet472 ). Luego comienzo el juego, comienzo una nueva campaña, corro por el área de entrenamiento, lo dejo, corro por el mapa del mundo y, por último, guardo el juego una vez. Ampliaré las pruebas para las soluciones más prometedoras.


En caso de que quiera conocer las especificaciones de mi sistema

System:    Host: tobias-X570 Kernel: 5.5.0-050500rc5-generic x86_64 bits: 64 Desktop: KDE Plasma 5.18.4
           Distro: KDE neon User Edition 5.18
Machine:   Device: desktop System: Gigabyte product: X570 AORUS MASTER v: -CF serial: N/A
           Mobo: Gigabyte model: X570 AORUS MASTER v: x.x serial: N/A
           UEFI: American Megatrends v: F11 date: 12/06/2019
CPU:       8 core AMD Ryzen 7 3800X (-MT-MCP-) speed/max: 1897/3900 MHz
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Device 7340
           Display Server: x11 (X.Org 1.19.6 ) drivers: ati,amdgpu (unloaded: modesetting,fbdev,vesa,radeon)
           Resolution: [email protected]
           OpenGL: renderer: Radeon RX 5500 XT (NAVI14, DRM 3.36.0, 5.5.0-050500rc5-generic, LLVM 9.0.1)
           version: 4.6 Mesa 20.1.0-devel (git-089e1fb 2020-04-09 bionic-oibaf-ppa)

Ser aconsejado

Si bien mis pruebas pueden mostrar algunos resultados prometedores, no muestran qué tan estable es el juego a largo plazo. Todo lo que hice en mis pruebas fue abrir el juego y comenzar una nueva campaña, dejar los terrenos de prueba y guardar el juego.

Los resultados (hasta ahora)

| Versión del juego | vcrun 2019 | dotnet 472 | dotnet 480 | .Net-Core 2.1.17 | .NET-Core 3.1.3 | Campo de entrenamiento FPS | FPS mapa del mundo | Ahorre tiempo | Transmisión lenta * |
|: -: |: -: |: -: |: -: |: -: |: -: |: -: |: -: |: -: |: -: |
| 1.1.0 | 🔲 | 🔲 | 🔲 | 🔲 | 🔲 | 45-50 | 56-72 | 1:12 | no |
| 1.1.0 | ☑️ | 🔲 | 🔲 | 🔲 | 🔲 | 45-50 | 56-72 | 1:28 | no |
| 1.1.0 | ☑️ | ☑️ | 🔲 | 🔲 | 🔲 | 69-74 | 65-75 | 0:02 | no |
| 1.1.0 | 🔲 | ☑️ | 🔲 | 🔲 | 🔲 | 69-74 | 66-79 | 0:02 | no |

* esto se refiere al efecto de un juego lento mientras todos los objetos se cargan al ingresar a una nueva área

@matheo , debería obtener una ventana de instalación incluso si ya está instalada. Tal vez revise su carpeta STEAM_COMPAT_DATA_PATH y compatibilitytools.d .

¿Alguien ha conseguido que el sonido envolvente (por ejemplo, 5.1) funcione correctamente?

Me encontré con el siguiente problema con la versión recomendada de Proton-5-5-GE cada vez que intento abrir una ventana en ella (como la ventana de Bannerlord o el explorador de protontricks):

000b:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
000b:err:winediag:nodrv_CreateWindow The explorer process failed to start.

Curiosamente, ejecutar, por ejemplo, el instalador central dotnet con wine-staging funciona bien, por lo que parece ser específico para esta versión de Proton. ¿Alguna idea de cuál podría ser la causa de esto o cómo solucionarlo?

Cambié mi prefijo (predeterminado de Steam) por uno con dotnet472 y dotnetcore2 y ahora puedo iniciar sesión en el modo multijugador en una rama estable. No sé si están instalados vcrun2015 y vcrun2017; no aparecen en la lista cuando se ejecuta protontricks 261550 list-installed .

Sin embargo, es extraño cómo puedo iniciar sesión en 1.1 beta con un pfx predeterminado (aunque no hay servidores disponibles para jugar).

Me encontré con el siguiente problema con la versión recomendada de Proton-5-5-GE cada vez que intento abrir una ventana en ella (como la ventana de Bannerlord o el explorador de protontricks):

000b:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
000b:err:winediag:nodrv_CreateWindow The explorer process failed to start.

Curiosamente, ejecutar, por ejemplo, el instalador central dotnet con wine-staging funciona bien, por lo que parece ser específico para esta versión de Proton. ¿Alguna idea de cuál podría ser la causa de esto o cómo solucionarlo?

¿Ha intentado eliminar la carpeta compatdata/261550/ instalar todas las dependencias, incluidas dotnet472 y dotnetcore? Eso hizo que funcionara en mi sistema.

¿Ha intentado eliminar la carpeta compatdata/261550/ instalar todas las dependencias, incluidas dotnet472 y dotnetcore? Eso hizo que funcionara en mi sistema.

Intenté eliminar la carpeta e instalar dotent472 nuevamente, pero no pareció ayudar. No pude instalar dotnetcore en este caso porque el instalador no parece iniciarse debido al mismo error. También intenté lo mismo con la versión 5.6-GE-1 de hace 2 horas, pero encontré los mismos problemas.

No sé si están instalados vcrun2015 y vcrun2017; no aparecen en la lista cuando se ejecuta protontricks 261550 list-installed .

No he instalado vcrun en absoluto en mi configuración actual.

Puedo confirmar que obtengo un gran rendimiento, tiempos de ahorro de ~ 5-10 segundos y fallas muy raras con Proton-GE, el kernel zen (para parches fsync) y un prefijo de protón normal creado y aprovisionado por Steam.

Para cualquier otra persona en un sistema NixOS, cargue el siguiente archivo en su configuration.nix para compilar e instalar el kernel zen: https://gist.github.com/hjones2199/11b45917a2944b692dac40015ea0fd41 Probablemente también necesite deshabilitar su boot.kernelPackages actual expresión para evitar conflictos.

Para cualquier otra persona en un nuevo kernel (estoy ejecutando xanmod): también instalé dotnetcore y hasta ahora parece ser lo mejor de ambos mundos: todavía no he experimentado un solo bloqueo y el rendimiento es muy bueno. Ocasionalmente, las batallas se retrasarán mucho, pero un reinicio parece solucionarlo y el tartamudeo del mapa de la campaña desaparecerá por completo.

¿Sigue fallando al cambiar la configuración de video con dotnet472 instalado (y muchos otros bloqueos aleatorios), a menos que de alguna manera lo instale incorrectamente? ¿Hay una manera de comprobar? (He usado protontricks 261550 con la lista instalada y aparece dotnet 472).

Ocasionalmente, las batallas se retrasarán mucho, pero un reinicio parece solucionarlo y el tartamudeo del mapa de la campaña desaparecerá por completo.

El lado de Windows tiene problemas de rendimiento similares y pérdidas de memoria, etc., por lo que parece que está funcionando muy bien :).

Me encontré con el siguiente problema con la versión recomendada de Proton-5-5-GE cada vez que intento abrir una ventana en ella (como la ventana de Bannerlord o el explorador de protontricks):

000b:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
000b:err:winediag:nodrv_CreateWindow The explorer process failed to start.

Curiosamente, ejecutar, por ejemplo, el instalador central dotnet con wine-staging funciona bien, por lo que parece ser específico para esta versión de Proton.
Intenté eliminar la carpeta e instalar dotent472 nuevamente, pero no pareció ayudar. No pude instalar dotnetcore en este caso porque el instalador no parece iniciarse debido al mismo error. También intenté lo mismo con la versión 5.6-GE-1 de hace 2 horas, pero encontré los mismos problemas.

Probé otras versiones de Proton "vainilla" ahora (5.0-5 e incluso 4.2-9) y obtengo exactamente el mismo error en los registros, por lo que no parece ser específico de las compilaciones de GE.

Editar: Después de buscar más, encontré # 2878, lo que indica que este es un problema específico de NTFS: mover el juego a mi SSD ext4 resolvió el problema

Puedo confirmar que obtengo un gran rendimiento, tiempos de ahorro de ~ 5-10 segundos y fallas muy raras con Proton-GE, el kernel zen (para parches fsync) y un prefijo de protón normal creado y aprovisionado por Steam.

Para cualquier otra persona en un sistema NixOS, cargue el siguiente archivo en su configuration.nix para compilar e instalar el kernel zen: https://gist.github.com/hjones2199/11b45917a2944b692dac40015ea0fd41 Probablemente también necesite deshabilitar su boot.kernelPackages actual expresión para evitar conflictos.

Este problema es casi imposible de navegar, así que no lo culpo por perderse, pero ya proporcioné una solución fácil para esto simplemente agregando un parche al kernel actual y es muy sencillo: https://github.com/ ValveSoftware / Proton / issues / 3706 # issuecomment -612160300

Básicamente, agregue el parche a su configuration.nix así:
boot.kernelPatches = [{ name = "fsync-support"; patch = ./linux-v5.4-fsync.patch; }];
donde linux-v5.4-fsync.patch se toma de aquí . Sin embargo, la compilación puede llevar un tiempo.

En este momento, si intento entrar en un asedio, la interfaz se bloquea un poco y no puedo hacer nada, el juego funciona bien, pero parece que el mouse no responde; Aún puedo mover el mouse, pero parpadea muy rápido. También necesito presionar Esc y Alt + Tab dentro y fuera del juego para que aparezca el menú de escape.

Edite, eso con solo fsync y sin correcciones de protontricks. Si también utilizo las correcciones de protontricks, el juego vuelve a fallar como antes.

El último parche (1.0.11) me rompió el juego (probado con un prefijo de vino limpio) cada vez que intento ir a la pantalla con los archivos guardados, obtengo esta excepción:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object

Sin embargo, puedo iniciar una nueva campaña, pero cuando selecciono la opción "Guardar como" obtengo la misma excepción.

Actualizar:
@agates La rama beta funciona gracias

@elovin ¿Has probado la rama beta (e1.1.0)?

Parece que Bannerlord no funciona con primusrun este momento, pero me las arreglé para hacerlo funcionar en una computadora portátil con gráficos intercambiables de nvidia usando nvidia-xrun .

Parece que Bannerlord no funciona con primusrun este momento, pero me las arreglé para hacerlo funcionar en una computadora portátil con gráficos intercambiables de nvidia usando nvidia-xrun .

Bueno, nada funciona tan bien con Bumblebee y Primus. Tuve que cambiarme a xrun para que la mitad de los juegos funcionaran.

También debería funcionar con PRIME Render Offloading.

Bien, supongo que esto probablemente no esté estrictamente relacionado con Bannerlord, pero, de nuevo, tal vez las bibliotecas que Steam instala con el prefijo o algún otro factor específico de Bannerlord cambien algo (no lo sabría), así que supongo bien pregunte aquí: Estoy tratando de ejecutar protontricks para dotnet472, pero eso resulta en un bloqueo cuando se abre el cuadro de diálogo "Extrayendo archivos" y finaliza la barra de progreso. dotnet48 protontricks falla de manera similar. Salida de consola

¿Algún consejo?

hola, estoy teniendo dificultades para ejecutar bannerlord en arch, he probado proton 5.5-ge y 5.6-ge-2. ¡Hasta ahora tengo una ventana para abrir y mostrar el cursor una vez antes de estrellarse!

  • mi biblioteca de Steam está en un disco duro (ntfs), que ahora está montado correctamente y enlazado simbólicamente (desde esa biblioteca) para apuntar a mi carpeta de linux compatdata

  • Eliminé la carpeta compatdata y la lancé, luego hice protontricks 261550 dotnet472 : así es como primero abrí la ventana del juego y el cursor se pudo ver durante unos segundos.

aquí está el registro de steam / proton: https://gist.github.com/hadallen/336ffcf1f8ae7e73024898306bb6ac01

y el informe de fallos de Windows / Wine cuando se inicia y se bloquea. No puedo hacer que el cursor y la ventana vuelvan a aparecer, el bloqueo aparece primero. Después, aparentemente, Bannerlord todavía está "funcionando" con vapor, no puedo detenerlo. https://gist.github.com/hadallen/d7b00c97e492195f360b8589c5d67685

Me preocupa que sea solo un error tonto de mi parte en alguna parte, pero no sé qué hacer aquí

edit1: finalmente revisé este hilo lo suficiente como para encontrar la guía que escribió Tercus. Pasé por eso de nuevo y sigo teniendo el mismo problema.

edit2 : estaba casi listo para rendirme, reinstalé bannerlord en Steam

  1. protontricks 261550 dotnet48 para empezar. Realmente no quería esperar los 30 minutos para que se instalara dotnet472, así que probé esto solo y funcionó --Ran in steam; estrellado
  2. instalado vcrun2019 y los 2 dotnetcore (según la redacción de Tercus) --Ran de nuevo; ¡EMPEZADO! pero muy lento y sin entrada del mouse, falla después de salir de la configuración ... sonaba como si no estuviera usando el protón actualizado
  3. Eso fue extraño, ya que bannerlord había seleccionado el protón 5.6-GE-1. esto me dio la idea de deshabilitar "Habilitar Steam Play para todos los demás títulos" en la configuración de Steam, y _voila_; ¡Está funcionando muy bien!

Dado que dotnetcore todavía parece ser útil, mencionaré aquí que mi PR fue aceptado y ahora está en winetricks.

Ejecute winetricks --self-update (como root si instaló con su administrador de paquetes) para obtener la última versión, ¡entonces puede usar winetricks dotnetcore2 !

Consejo profesional: en cualquier instalación de Winetricks, agregue -q para ponerlo en modo desatendido y no tener que hacer clic en "Instalar" en un montón de ventanas. Entonces lo anterior sería winetricks -q dotnetcore2

@Aliervo me sale un error de vino:
https://docs.microsoft.com/en-us/dotnet/framework/install/application-not-started?version= (nulo) & processName = rundll32.exe & platform = 0009 & osver = 3 & isServer = 0 & shimver = 4.0.30319.0
y luego este:
image
¿Es normal para instalaciones de 64 bits?

@matheo , no estoy seguro del error, pero winetricks instalará las versiones de 32 y 64 bits de .Net Core. Se espera tanto.

También comprueba que se instaló corregido, por lo que si no ve un mensaje de error después de los dos instaladores, sabremos que el primer error no afectó nada.

Tengo tiempos de guardado muy lentos (1 min +) con dotnet472 con o sin vcrun2019. ¿Alguien sabe si el parche de kernel fsync es esencial para reducir los tiempos de ahorro / otras buenas ideas para mejorar los tiempos de ahorro?

@rgreenblatt
Hasta donde yo sé, Fsync acelera notablemente los tiempos de guardado para casi todo el mundo, por lo que puede valer la pena intentarlo si se siente cómodo ejecutando kernels personalizados y / o compilando el suyo.

Otra cosa que puede hacer es omitir el lanzador si aún no lo está. Como comenzar Bannerlord.Native.exe lugar de TaleWorlds.MountAndBlade.Launcher.exe . Se puede hacer cambiándolos de nombre o enlazándolos o configurando cuál iniciar en las opciones de inicio de Steam.

Por razones desconocidas, el lanzador que se usa duplica aproximadamente mis tiempos de guardado cuando uso fsync y ningún otro ajuste de protontricks. No sé si se aplica en cualquier otro escenario, pero podría valer la pena intentarlo de cualquier manera.

Mi mejor experiencia ha sido con fsync, ese cambio de nombre y sin trucos de protones. Relativamente pocas fallas y aproximadamente 7-8 segundos de tiempo de guardado. Dotnet acortaría los tiempos de guardado a unos 2 segundos, pero introduciría muchos más bloqueos.

@rgreenblatt por lo que he visto en el resto de este hilo, dotnet fue la solución para los tiempos de guardado largos, a expensas de cierta inestabilidad. Como dijo albin-engstrom, fsync tuvo un rendimiento de ahorro de tiempo mucho peor. Dicho todo esto, he encontrado que el juego no se puede reproducir sin un kernel habilitado para fsync, y no puedo recomendarlo lo suficiente.

Para todos los demás, ¿el modo multijugador ha funcionado para alguien más? No he podido iniciar sesión durante casi una semana. Llego a la página de inicio de sesión y obtengo el círculo giratorio de la fatalidad durante unos minutos antes de que me diga que no puedo iniciar sesión. Esto en las ramas Beta y Stable.

¿Existe alguna diferencia entre Bannerlord.exe y Bannerlord.Native.exe? (disculpas si esto está en algún lugar del hilo anterior, no pude encontrar una manera de buscar en los comentarios de github)

Pude reducir los tiempos de guardado a menos de 10 segundos (de más de un minuto) instalando https://liquorix.net/ (que creo que tiene parches fsync) y usando Bannerlord.Native.exe en lugar de Bannerlord.exe. No estoy seguro de qué cambio fue útil. Podría hacer más pruebas científicas más tarde.

@rgreenblatt Liquorix tiene fsync hasta donde yo sé, por lo que es probable que haya tenido el mayor impacto y ejecutar Bannerlord.Native.exe ayudó un poco más. Al menos esa ha sido mi experiencia.

En cuanto a la diferencia con Bannerlord.exe , no lo sé. Ejecutar el nativo es la forma oficial de evitar el lanzador, así que lo he estado usando. Supongo que está ajustado para ejecutarse solo, mientras que el no nativo está diseñado / solo funciona cuando lo ejecuta el lanzador.

Hay un montón de argumentos que el lanzador agrega cuando ejecuta el exe, así que quizás no funcione correctamente sin ellos.

Relacionado con eso, entre esos argumentos están los mods para cargar, que el lanzador normalmente maneja, por lo que al omitir el lanzador, cualquier mod tendría que agregarse manualmente como argumentos a través de las opciones de lanzamiento de Steam.

He explicado cómo se hace en algún lugar de los comentarios anteriores, pero de hecho no hay una buena manera de buscar comentarios en github, así que si quieres saber cómo hacerlo, puedo explicarlo nuevamente. Llevará mucho menos tiempo que buscar un comentario anterior.

Para todos los demás, ¿el modo multijugador ha funcionado para alguien más? No he podido iniciar sesión durante casi una semana. Llego a la página de inicio de sesión y obtengo el círculo giratorio de la fatalidad durante unos minutos antes de que me diga que no puedo iniciar sesión. Esto en las ramas Beta y Stable.

Puedo jugar en una rama estable, pero no pude hacerlo durante aproximadamente un parche antes de la 1.1. Lo hice funcionar nuevamente instalando dotnet472 y / o dotnetcore2 (no sé cuál marcó la diferencia).

Para mí, la solución dotnet causaba bloqueos cada 5-10 minutos de juego, peor que los tiempos de guardado de 2 minutos.
Voy a probarlo con licorix, pero tengo algunas preguntas sobre los comentarios anteriores sobre cómo omitir el lanzador. sin dotnet, el lanzador no aparece en absoluto, el juego simplemente sale inmediatamente. ¿Cómo lo configuro en las opciones de lanzamiento para pasar a nativo?

Intenté configurarlo en "Bannerlord.Native.exe" o "bin / Win64_Shipping_Client / Bannerlord.Native.exe", pero es posible que vaya en la dirección equivocada.

@aradapilot Alguien en algún lugar de este hilo ha dicho cómo hacerlo a través de las opciones de lanzamiento, pero no lo hago, así que no sé exactamente cómo se hace.
Personalmente cambio el nombre de Bannerlord.Native.exe a TaleWorlds.MountAndBlade.Launcher.exe y elimino o cambio el nombre del lanzador exe original. Debe rehacerse después de la mayoría de las actualizaciones del juego, el enlace simbólico también debería funcionar y es posible que no tenga que rehacerse.

Hago los comandos de carga de mod en las opciones de lanzamiento, pero no en esta parte.

bueno, no puedo encontrarlo, pero algunos avances.
Configuré las opciones de lanzamiento a solo
echo "%command%" > /tmp/cm

luego, después de eso, el archivo tenía
wraymond @ shelob : ~ $ gato / tmp / cm
'/home/wraymond/.steam/compatibilitytools.d/Proton-5.6-GE-1'/proton waitforexitandrun' /home/wraymond/.steam/steam/steamapps/common/Mount & Blade II Bannerlord / bin / Win64_Shipping_Client / TaleWorlds .MountAndBlade.Launcher.exe '

de CLI
wraymond @ shelob : ~ $ PROTON_LOG = 1 '/home/wraymond/.steam/compatibilitytools.d/Proton-5.6-GE-1'/proton waitforexitandrun' /home/wraymond/.steam/steam/steamapps/common/Mount & Blade II Bannerlord / bin / Win64_Shipping_Client / Bannerlord.Native.exe '
Proton: ¿No hay ruta de datos compatible?

así que pensé que tenía algún conjunto de env, sin embargo env/set/printenv > / tmp / steamenv - deja un archivo vacío, no tiene un conjunto de env. no tengo idea de dónde está obteniendo el directorio compatdata, qué mecanismo usa Steam.

y, por supuesto, debido a que la vida es difícil, configurar esa cadena en las opciones de lanzamiento no hace nada
PROTON_LOG = 1 '/home/wraymond/.steam/compatibilitytools.d/Proton-5.6-GE-1'/proton waitforexitandrun' /home/wraymond/.steam/steam/steamapps/common/Mount & Blade II Bannerlord / bin / Win64_Shipping_Client / Bannerlord.Native.exe '
- no se ha creado ningún archivo de registro
- nada se lanza, muere inmediatamente

así que todavía atrapado allí. Intentaré cambiar el nombre / vinculación simbólica, pero esperaba una forma en que no necesitaría rehacer cada parche

hah cambié el nombre del ejecutable del lanzador y copié el exe nativo en esa ruta. el juego se lanzó, pero ahora nuevamente no hay entrada de mouse (con proton-GE 5.5 o 5.6).
Voy a probar el cambio de nombre de Managestarter ya que funcionó en el pasado, pero pasa por el lanzador, por lo que podría arruinar mis tiempos de guardado ... ahhhhhhh
actualización que tampoco ayuda. sin entrada de mouse, no puedo pasar la pantalla de calibración. Estoy perdido.

Según: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -612178492
echo %command% && exec /home/USERNAME/.steam/compatibilitytools.d/Proton-5.6-GE-2/proton waitforexitandrun "/PATH/TO/steam/steamapps/common/Mount & Blade II Bannerlord/bin/Win64_Shipping_Client/Bannerlord.exe"

Gracias, no puedo hacer que empiece a apuntar al lanzador o al nativo ni nada con eso. ¿Hay alguna forma de hacer esto en CLI? hacerlo a través de la interfaz de usuario de Steam solo esconde mucha información

Muchas pruebas después.
Puedo hacer que el juego comience con el método de enlace simbólico original re ManagedStarter.
Cuando arranco en Liquorix, no tengo entrada de mouse (el cursor se mueve, pero no puedo hacer clic en nada). Probado en proton-GE 5.5-1, 5.6-1 y 5.6-2.
Cuando se inicia en mi kernel normal (5.3, ubuntu), funciona bien, pero ese es el problema del tiempo de ahorro de minutos.
El mouse funciona normalmente de lo contrario en el arranque de Liquorix, por lo que será un problema depurarlo. ¿Alguien más tiene un problema similar?

@aradapilot Por lo que puedo recordar, hay algunas personas que todavía tienen problemas con el mouse por razones desconocidas (creo). Para la mayoría de ellos, parece funcionar a veces, por lo que reinician hasta que funciona. Para algunos, funciona con más frecuencia que para otros. Pero también creo que hubo una persona para la que el mouse nunca funcionó, no recuerdo si al final se solucionó.

Pero creo que todo esto fue antes del uso de kernels fsync / custom y no creo que nadie haya tenido problemas con el mouse en un kernel de este tipo específicamente. Por lo tanto, es posible que no sea el mismo problema, aunque es probable que esté relacionado de alguna manera.

También es posible que haya una solución que pasó desapercibida en algún lugar de este hilo, el mouse ha funcionado bien para mí, así que no he estado muy atento a esas discusiones.

sí, el mouse es lo único con lo que nunca tuve problemas en el pasado, siempre funcionó desde el primer día que lo adquirí con el protón de Yellowapple. por eso, es extraño que de repente sea sorprendente ahora, y solo en un kernel específico, y no sea esporádico, definitivamente reproducible.

@aradapilot ¡ Reproducible es bueno! ¿Algo digno de mención sucediendo en los registros cuando se usa el núcleo de licorix?

He optado por mantener la estabilidad de la configuración predeterminada de Steam con Proton 5.6-GE (sin instalar dotnet ) y usar el mod Save Overhaul para

@Aliervo no sabe demasiado sobre cómo analizarlos. tiene una de estas líneas:
189763.685: 0029: 0055: fixme: win : GetMouseMovePointsEx (24 0x315ef298 0x315ef2b0 64 1) semi-stub
registro completo (proton GE 5.6-2, liquorix 5.5.0 kernel en ubuntu 19.10, bannerlord 1.3.0b [lo mismo en otras compilaciones, pero el registro es de esta versión], solución de enlace simbólico de Managedstarter [usa lanzador])
https://gist.github.com/aradapilot/96e4c046c1cef7bd7e3aca53b108e7c1

@aradapilot : ¿Puede agregar +win a su variable WINEDEBUG (ya sea a través de user_settings.py en la carpeta de Proton GE o agregando WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree,+win" a sus opciones de lanzamiento)? Curioso lo que GetMouseMovePointsEx está viendo y regresando.

nuevo desarrollo. si no me salto la película de introducción de taleworlds, puedo usar el mouse. Estaba tan acostumbrado a saltarme con Esc (después de relanzar el juego mil veces en las últimas semanas), fue solo cuando me alejé por un segundo, se jugó hasta el final y luego pude usar mi mouse. Obtuve dos registros con esa configuración de winedebug, uno omitido / sin mouse y otro reproducido / mouse ok (etiquetado en el nombre de la esencia):
https://gist.github.com/aradapilot/27aee80b3eb88a5e7026457120791c08
https://gist.github.com/aradapilot/586137d7fc1742dd801a9b5fe3b25304
aún está bien en el kernel de ubuntu 5.3, omitir no importa. así que o algo con descargar la película o presionar escape, no tengo idea.
Además, con la configuración de winedebug, ahora obtengo un bucle infinito de ventanas emergentes de "operación de lectura asincrónica fallida 6" al cerrar el juego (a través del menú con un buen mouse o alt-f4 sin mouse, el mismo resultado) - tengo que matar el proceso del juego para detenerlo.
Y para colmo, liqourix kernel 5.6 acaba de ser lanzado, así que tengo algo nuevo que probar. Lo haré un poco más tarde. Las pruebas anteriores estaban todas en 5.5 para eliminar la adición de nuevas variables.

Hmm.

Lo que es realmente extraño es que en ambos registros hay exactamente un rastro completo de esa función. Borked:

237796.904:0029:0054:fixme:win:GetMouseMovePointsEx (24 0x30fcf298 0x30fcf2b0 64 1) semi-stub
237796.904:0029:0054:trace:win:GetMouseMovePointsEx     ptin: 835 868
237796.904:0029:0054:trace:win:GetMouseMovePointsEx     ptout[0]: 835 868
237796.904:0029:0054:trace:win:GetMouseMovePointsEx     ptout[1]: 0 0

OKAY:

237537.240:0029:0054:fixme:win:GetMouseMovePointsEx (24 0x30fcf298 0x30fcf2b0 64 1) semi-stub
237537.240:0029:0054:trace:win:GetMouseMovePointsEx     ptin: 918 642
237537.240:0029:0054:trace:win:GetMouseMovePointsEx     ptout[0]: 918 642
237537.240:0029:0054:trace:win:GetMouseMovePointsEx     ptout[1]: 0 0

Con +win esta función debería generar esos rastros cada vez que se mueve el mouse. Dado que no es así, parece que el juego no recibe ninguna entrada del mouse (v. El error de puesta en escena parcheado en Wine donde el juego recibiría la entrada del mouse pero no sabría cómo mover el cursor). Sin embargo, este también parece ser el caso del ejemplo de trabajo, lo que indica que de alguna manera puede funcionar sin llamar a GetMouseMovePointsEx más de una vez.

Para ser claros, no tienes ninguna configuración extraña de joystick mapeada como mouse o viceversa, ¿verdad?

no, configuración normal del mouse y el teclado. el cursor se mueve bien en cualquiera de los escenarios, solo falta la entrada de clic en uno.
y mi prueba de kernel 5.6 está detenida en este momento ya que no reconoce mi tarjeta inalámbrica (basada en broadcom), algo con compatibilidad con bcmwl, tomará algo de trabajo

@YellowApple no tiene un registro sobre mí (en el trabajo), pero mi amigo en Manjaro KDE notó un cambio significativo en las veces que se leyó el mouse al deshabilitar la administración del controlador de Steam.

@rgreenblatt
Para todos los demás, ¿el modo multijugador ha funcionado para alguien más? No he podido iniciar sesión durante casi una semana. Llego a la página de inicio de sesión y obtengo el círculo giratorio de la fatalidad durante unos minutos antes de que me diga que no puedo iniciar sesión. Esto en las ramas Beta y Stable.

He estado en 5.5 GE para la corrección del mouse para un solo jugador, pero lamentablemente nunca he podido iniciar sesión en el modo multijugador. Me falla cada vez con un error genérico "Error al iniciar sesión"

¡así que mi problema se vuelve un poco más extraño (con 5.5 licorix)!
el mouse funciona, solo con un retraso de ~ 30 segundos. difícil de explicar ...
si muevo el mouse al punto A, no pasa nada. no se puede hacer clic en A, no se resalta el mouse over. permanecerá así para siempre.
si espero ~ 30 segundos sin ninguna entrada y el mouse sobre A, no ha sucedido nada. pero después de esperar, si muevo el mouse al punto B, el juego piensa que el cursor está ahora en A. A se resaltará, y puedo hacer clic en él, incluso con el cursor en otra parte de la pantalla, en B. El juego piensa que El cursor está allí hasta que dejo de ingresar por otros 30 segundos y luego me muevo a C, después de lo cual pensará que estaba en B.
Es por eso que obtuve alguna función sin omitir la introducción, porque resultó ser 30 segundos sin entrada. no tiene nada que ver con la introducción, puedo reproducir este comportamiento en todos los menús.
Entonces, ¿algo está actualizando la nueva posición del cursor como la posición anterior del mouse real y, por alguna razón, requiere ~ 30 segundos de tiempo de inactividad para verificar?

un registro reciente
https://gist.github.com/aradapilot/15aceaeb18fbdc8ef1304c1211a1c389

En las notas de las versiones 5.0-7 RC, hay esta nota: "Solucionar fallas en Mount & Blade 2: Bannerlord"
Pero el juego todavía no se inicia para mí con proton 5.0.7. ¿Me he perdido de algo? ¡Gracias!

En las notas de las versiones 5.0-7 RC, hay esta nota: "Solucionar fallas en Mount & Blade 2: Bannerlord"
Pero el juego todavía no se inicia para mí con proton 5.0.7. ¿Me he perdido de algo? ¡Gracias!

Si echas un vistazo a las notas de la versión 5.0-7 reales, esa solución no existe, ¿tal vez se eliminó en el último minuto?

¿Existe alguna diferencia entre Bannerlord.exe y Bannerlord.Native.exe? (disculpas si esto está en algún lugar del hilo anterior, no pude encontrar una manera de buscar en los comentarios de github)

Bannerlord.Native.exe usa la versión Win64 de Mono. El ejecutable regular utiliza .NET Framework.

Bannerlord.Native.exe usa la versión Win64 de Mono. El ejecutable regular utiliza .NET Framework.

Esa es una información interesante. Descubrí que, por alguna razón, usar el exe nativo conduce a aproximadamente la mitad de los tiempos de guardado que usar el exe normal, al menos cuando usé fsync, ya que no probé sin él, y creo que alguien más tuvo resultados similares sin fsync.

Pero nunca descubrí qué era diferente, excepto que el nativo pasó por alto el lanzador, y no sabía si eso era lo que lo afectaba o por qué podría serlo.

Como la instalación de dotnet tiene un gran impacto en los tiempos de ahorro, parece probable que la diferencia mono / .NET sea la razón real de la diferencia en el tiempo de ahorro con los ejecutables nativos y normales.

@mustafakorkmaz, ¿hay algo que puedan hacer para ayudar a la estabilidad de la versión Proton? ¿O el desarrollo todavía está demasiado ocupado en este momento?
Estoy ansioso por obtener este juego, pero también espero un puerto para Linux, o al menos un equivalente Proton sólido como una roca.

@pierrep Tengo 0 bloqueos usando solo fsync y Proton-GE, y nada más, el juego es realmente estable y los tiempos de guardado son de 10 segundos en el peor de los casos.

Usando linux-zen (que incluye f-sync ) y Proton-5.6-GE-2 , tengo ~ 30 s guardados, y el rendimiento del juego se ralentiza con el tiempo y me obliga a reiniciar el juego después de algunas horas (a menudo, unas pocas horas a veces menos de 1 hora) para que vuelva a funcionar bien.

Pero tengo menos bloqueos que mi hermano, que juega en Windows. No estoy seguro si es por los mods que usa, o porque el ejecutable .NET es mucho más defectuoso.

@mustafakorkmaz, ¿hay algo que puedan hacer para ayudar a la estabilidad de la versión Proton? ¿O el desarrollo todavía está demasiado ocupado en este momento?
Estoy ansioso por obtener este juego, pero también espero un puerto para Linux, o al menos un equivalente Proton sólido como una roca.

Estoy revisando este hilo de vez en cuando, pero no puedo trabajar activamente en la compatibilidad con Proton. Sin embargo, es algo en lo que quiero centrarme durante el acceso temprano. Parece que ya no hay problemas con D3D11 como los que teníamos en la versión beta, así que son buenas noticias :)

Recibo bloqueos / congelaciones en menos de una hora de reproducción, hasta un punto en el que, cuando no hago alt-f4 inmediatamente, mi sistema se bloquea por completo. Supongo que los errores Xid (nvidia) que estoy recibiendo son los culpables. El cambio a la consola virtual no funciona, lo cual creo que se debe a que la GPU tal vez (?) Se bloquee o algo debido a los errores Xid.
journalctl -o short-precise -k -b -1 para los mensajes anteriores del kernel.
He probado esto en dos máquinas nvidia linux mint, una con el kernel fsync de aquí
y uno con un kernel de linux estándar (proton con dotnet y co). Ambos usan Proton-5.6-GE-2.
Solo una máquina obtiene un error Xid 68 (excepción del procesador de video)
NVRM: Xid (PCI:0000:01:00): 68, pid=1301, CCMDs 0000004f 0000c2b0

Pero ambos obtienen un error Xid 31 (falla en la página de memoria de la GPU) en ambas máquinas.
NVRM: Xid (PCI:0000:01:00): 31, pid=17919, Ch 0000004e, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_RAST faulted @ 0x0_00000000. Fault is of type FAULT_PDE ACCESS_TYPE_WRITE
¿Alguien más recibe estos errores o tiene una solución?

EDITAR: Usé el kernel fsync con la otra PC ahora, y funciona bastante bien. También se actualizó el controlador de 435.21 a 440.59. Sin embargo, no estoy seguro de cuál hizo el truco.

Parece que habilitaron BattlEye con el parche 1.3, el anti trampas me pateó.
Screenshot from 2020-05-07 17-40-07

@pierrep Tengo 0 bloqueos usando solo fsync y Proton-GE, y nada más, el juego es realmente estable y los tiempos de guardado son de 10 segundos en el peor de los casos.

He leído algunas historias de éxito, pero no todos tienen la misma suerte. No estoy dispuesto a arriesgarme por un juego de precio completo en esta etapa.

Parece que habilitaron BattlEye con el parche 1.3, el anti trampas me pateó.

Así parece :( De las notas del parche 1.3 :

  • Los juegos personalizados oficiales ahora requieren anti-trampas.

No sé si eso también incluye los servidores de reproducción rápida, pero presumiblemente. ¿Existe alguna forma de jugar en servidores no oficiales?

Me entristece mucho porque he disfrutado mucho del modo multijugador últimamente.

Actualizar:
Intenté jugar rápido y pude unirme, pero me patearon después de unos segundos.

Así que sí, no puedo encontrar ninguna forma de crear o encontrar servidores no oficiales. Esto significa que el modo multijugador está completamente roto para nosotros.

He probado algunas soluciones alternativas:

  1. Proton GE 5.5+ con
  2. Proton GE 5.5+ con
  3. Proton GE 5.5+ sin protontricks 261550 dotnet y linux-fsync (ArchLinux)
  4. Proton GE 5.5+ sin protontricks 261550 dotnet y linux-xanmod (ArchLinux)

Casi la misma estabilidad (el juego se cuelga en el mapa global, el juego se cuelga en el campo de batalla).
Mejor rendimiento con protontricks 261550 dotnet472 o protontricks 261550 dotnet48
El juego es casi injugable en el sentido común (tienes que hacer guardados rápidos cada pocos minutos para volver a cargar después de cada vez que el juego quiere colgar un poco). También debe matar el proceso manualmente (con el administrador de procesos), porque ni el vapor ni el entorno no pueden cerrar el proceso.

Para la estabilidad, la recomendación en este momento es evitar .NET por completo a través de enlaces simbólicos exutables: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -611595369

Evitar .NET hace que los tiempos de guardado sean mucho más largos, por lo que se recomienda combinarlo con un kernel habilitado para fsync.

Desde el parche de Bannerlord v1.4.2, tenía problemas para guardar el juego. Solo mostraba el cuadro de diálogo "No se pueden crear datos guardados" en el juego y mostraba el siguiente error en los registros del juego [0]MonoPosixHelper assembly:<unknown assembly> type:<unknown type> member:(null)

Si se encuentra con este error en particular, puede solucionarlo haciendo lo siguiente:

  1. Descargue la versión de Windows de Mono x64
  2. Instálelo en cualquier prefijo de vino (solo necesitamos un archivo de él, puede eliminar el prefijo después)
  3. Copiar <wine_pfx>/drive_c/Program Files/Mono/bin/MonoPosixHelper.dll a <your_steam_library>/steamapps/common/Mount & Blade II Bannerlord/bin/Win64_ShippingClient/

Buenas noticias: ahora se incluye una versión más robusta de la corrección del cursor del mouse en una versión real de Wine (específicamente, Wine 5.20 ). Así que tan pronto como Proton capte eso, es de esperar que ya no necesitemos Proton-GE para un mouse que funcione.

Así que la v1.5.4 es una gran actualización y me rompió el lanzador. No tengo ningún problema con la v1.5.3: funcionaba bastante bien y rara vez fallaba. Bajo v1.5.4, obtengo solo un lanzador apagado brevemente, luego un bloqueo.

>>> Adding process 19718 for game ID 261550
Unhandled exception: page fault on read access to 0x7a23df50 in 64-bit code (0x00000001802b2e3d).

Tuve que recurrir al enlace simbólico del lanzador con Bannerlord.Native.exe para superar el problema de lanzamiento y cambiar a Proton-5.9-GE-8-ST de 5.11-GE-3-MF para entrar en el juego, todos los demás protones que probé (5.13-1, 5.11, 5.5, 5.0.9) se detuvo en la primera pantalla de carga, antes de las animaciones. Ha vuelto a funcionar para mí. No hay necesidad de protontricks (no es que ninguno de los que probé ayudó con el lanzador), y el uso del kernel zen ha aliviado un molesto problema de detección de clics del mouse (los clics de la primera ejecución ya no se detectan).

Arriba ^ fix consiguió 1.5.4 funcionando para mí. Todavía tengo algunos bloqueos normales, pero ahora:

Recibo algunos congelamientos nuevos (sin mensaje de error) durante el combate, siempre en el impacto de un arma y con bastante frecuencia. La única respuesta es presionar Alt y reiniciar el juego. Los registros muestran una tonelada de "El flujo de bits transcodificado no era válido, esto puede indicar un archivo dañado o una versión del transcodificador incompatible". luego terminar de repente.

También obtengo algunos congelamientos breves al hacer clic en un lugar al que moverme, después de dejar un asentamiento. Unos segundos, pero muy a menudo. Realmente no afectan el juego, solo son molestos.

Usando xanmod kernel 5.8 que hace que el ahorro sea tolerable, sin protontricks, proton 5.9-GE-8

En caso de que pueda ser útil para cualquiera que tenga dificultades para iniciar el lanzador, descubrí que podría cargar mods sin él gracias a este parámetro de lanzamiento (también funciona directamente en Bannerlord.Native.exe):
/singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*_MODULES_

Simplemente tiene que agregar sus mods entre * * dependiendo del orden de mods que necesite. Será el nombre de sus respectivas carpetas en Modules/ . Este comando cargará mods en orden. Estos 5 módulos son los predeterminados que vienen con el juego y son necesarios para que el juego se inicialice.
No olvide iniciar y cerrar la lista de módulos con un asterisco.

¿Fue útil esta página
0 / 5 - 0 calificaciones