Proton: Mount & Blade II: Bannerlord (261550)

Созданный на 30 мар. 2020  ·  540Комментарии  ·  Источник: ValveSoftware/Proton

Отчет о совместимости

  • Название игры с проблемами совместимости: Mount & Blade II Bannerlord
  • Steam AppID игры: 261550

Системная информация

  • Графический процессор: X.Org AMD Radeon RX 5700 XT (NAVI10, DRM 3.36.0, 5.5.11-050511-generic, LLVM 9.0.0)
  • Версия драйвера / LLVM: 4.5 (профиль совместимости) Mesa 19.2.8
  • Версия ядра: 5.5.11-050511-gen
  • Ссылка на полный отчет о системе в виде Gist : https://gist.github.com/Yarwin/5648be675565aafa1e3930fede59ca07
  • Версия протона: 5.0-5

Я подтверждаю:

  • [x], что я не нашел существующего отчета о совместимости для этой игры.
  • [x], что я проверил, доступны ли обновления для моей системы.

Журнал сбоев Proton:

steam-261550.log

Симптомы

Игра не запускается

Размножение

  1. Скачать M&B II: Bannerlord
  2. Попробуйте запустить это
  3. Игра вылетает с:
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'

сообщение в журнале.

Текущее решение

Proton 5.5-GE https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1 + protontricks 261550 dotnet472 (необходимые зависимости Bannerlord можно найти там: https: // форумы .taleworlds.com / index.php? Threads / install-missing-required-dependencies.407126 /)
Установка ядра dotnet может значительно сократить количество сбоев: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -609959973, https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -610022040

Многопользовательская игра: работает, просто пропустите установку BattleEye, когда появится соответствующий запрос.

.NET Game compatibility - Unofficial

Самый полезный комментарий

@YellowApple, не написать руководство "как заставить игру работать с нуля для идиотов"?

Максимально «для идиотов» дружелюбный подход:

  • Загрузите точную сборку Proton, которую я использую: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz
  • Вставьте это в ~/.steam/root/compatibilitytools.d
  • Извлеките его ( cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz )
  • Перезапустите Steam
  • Щелкните правой кнопкой мыши Bannerlord в своей библиотеке, выберите «Свойства» и измените версию Proton на «proton_5.0-local».
  • ???
  • Прибыль

Очевидно, что вы делаете это на свой страх и риск, понимая, что загрузка, установка и запуск случайных двоичных файлов из Интернета - рискованное дело, чреватое опасностями. Пусть покупатель будет бдителен. Вам настоятельно рекомендуется попробовать свои силы в клонировании репозитория Proton, самостоятельном применении исправлений и создании Proton на вашем собственном компьютере (и хотя да, это не совсем удобный подход, он намного безопаснее, чем доверять Интернету. чужие не пить из черепа, лол).

Надеюсь, мы сможем обновить эти патчи раньше, чем позже, чтобы мы могли избежать необходимости в этих забавных одноразовых пользовательских сборках, lol

Все 540 Комментарий

Несколько заметок:

  • в игре используется Battleye Anti-Cheat - он кажется обязательным, даже если вы просто хотите играть в одиночную игру. Не знаю, есть ли параметр запуска, который его отключает.

Вы можете переименовать два файла .exe в / Mount & Blade II Bannerlord / bin / Win64_Shipping_Client /

  • переименуйте "TaleWorlds.MountAndBlade.Launcher.exe" в "TaleWorlds.MountAndBlade.Launcher.exe_backup" (или что-то подобное - просто не разрешается сохранять его исходное имя)

  • переименуйте "Bannerlord.exe" в "TaleWorlds.MountAndBlade.Launcher.exe"

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

Я могу подтвердить, что обход средства запуска (путем перемещения TaleWorlds.MountAndBlade.Launcher.exe в сторону и замены его копией Bannerlord.exe ) действительно приводит его, по крайней мере, к экрану калибровки яркости (или как до главного меню, если я установил brightness_calibrated = 1 в $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Configs/engine_config.txt ).

Однако похоже, что есть ошибка с вводом мыши; курсор перемещается и отображается, но пункты меню не выделяются при перемещении по ним, и игра не реагирует на щелчки (и, естественно, нет навигации с клавиатуры ...). Проблема сохраняется при каждой перестановке V-sync, запуске на виртуальном рабочем столе, отключении оверлея Steam и т. Д.

Особый интерес в steam-261550.log представляет рассылка спама fixme:win:GetMouseMovePointsEx (24 0x3c87f298 0x3c87f2b0 64 1) stub . Возможно, связано с ошибкой Wine 36873 ?

Дальнейшее обсуждение на форуме TaleWorlds: https://forums.taleworlds.com/index.php?threads/linux.385761/page -2 и https://forums.taleworlds.com/index.php?threads/b0 -8 -9-щелчки-мыши-незарегистрированные-на-linux.395650 /

РЕДАКТИРОВАТЬ: попытался подключить контроллер, и это позволило мне фактически перемещаться по меню. Посмотрим, как далеко я смогу зайти, но ... прогресс!

Для меня игра все еще вылетала при запуске после запуска Bannerlord.exe вместо TaleWorlds.MountAndBlade.Launcher.exe . Используя protontricks, я установил dotnet4.8 и vcrun2015 - игра все еще вылетает, но, по крайней мере, я могу любоваться экраном загрузки игры.

Могу подтвердить, что у меня такая же проблема с вводом мыши, на Manjaro с Proton 5.0-5. Я был в закрытой бета-версии, и игра работала нормально до самого последнего обновления, поэтому я почти уверен, что остальная часть игры должна работать, как только нам удастся исправить эту проблему с навигацией.

Итак, после того, как я возился с созданием персонажа полностью с помощью геймпада Logitech, похоже, что я столкнулся с другим препятствием в виде жесткого сбоя на экране загрузки сразу после создания персонажа (соответствующая запись из steam-261550.log : wine: Call from 0x7b00fc3e to unimplemented function api-ms-win-crt-private-l1-1 -0.dll._o___stdio_common_vswprintf, aborting ). Это сохраняется даже после запуска protontricks 261550 vcrun2015 и protontricks 261550 vcrun2017 .

Просто быстрый поиск в Google, поскольку я не могу проверить это прямо сейчас (все еще загружаю), но похожая проблема, по-видимому, в какой-то момент преследовала BNet Launcher и была исправлена ​​путем добавления ucrtbase и api-msi-win и т.д. winecfg.

Пользовательские битвы работают, когда вы переходите к ним с помощью геймпада, а в реальной игре вы можете использовать мышь для сражения.

Однако игра для меня выглядела невероятно размытой и яркой во время игры, и изменение настроек приводило к сбою игры в половине случаев, а установка всего на низкий уровень вылетала в игре.
Вот журнал сбоя при сохранении настроек.
steam-261550.log

Изменить: изменение настроек с высокого привело к тому, что таможня перестала работать, поэтому избегайте этого.

Верно, я немного прочитал, исследовал, скачал игру трижды вниз и еще несколько исследований, и я думаю, что понял это.

Bannerlord использует Battleye, программу Kernel Anti-Cheat. Поскольку экземпляр Proton-Wine не является базовым ядром Linux, а является ядром Windows, Battleye не может перехватить ввод мыши прямо с USB-порта, чтобы убедиться, что это реальная сделка, а затем пустить его в игру или ошибочно принимая ввод мыши в Wine за ввод с помощью искусственной программы, что означает, что срабатывает система Anti-Cheat.

Я действительно помню, как где-то читал, что Battleye вообще не работает с Linux, но этот комментарий был от ... 3 года назад? Так что я на самом деле не знаю, в каком состоянии находится античит-программа. Так что, я думаю, есть варианты: попросить TaleWorlds настроить Battleye так, чтобы он работал с Proton, отключить его для Proton, пока не будет создана подходящая версия Linux, а затем снова включить его там (они для чего-то используют Mono. пусковой установки?) Подождите, пока игра не будет выпущена должным образом, потому что есть вероятность, что они, скорее всего, будут отложить поддержку нескольких ОС до более позднего периода раннего доступа, поэтому в 10 раз проще выпускать обновления ... Или выясните, как пусть Window Executable Battleye войдет прямо в ядро ​​на базе Linux, чтобы он мог сканировать все, что хочет, и позволить нам вносить данные в игру, не вызывая античит ...

Так что я думаю, мы еще немного ждем Bannerlord.

Верно, я немного прочитал, исследовал, скачал игру трижды вниз и еще несколько исследований, и я думаю, что понял это.

Bannerlord использует Battleye, программу Kernel Anti-Cheat. Поскольку экземпляр Proton-Wine не является базовым ядром Linux, а является ядром Windows, Battleye не может перехватить ввод мыши прямо с USB-порта, чтобы убедиться, что это реальная сделка, а затем пустить его в игру или ошибочно принимая ввод мыши в Wine за ввод с помощью искусственной программы, что означает, что срабатывает система Anti-Cheat.

Я действительно помню, как где-то читал, что Battleye вообще не работает с Linux, но этот комментарий был от ... 3 года назад? Так что я на самом деле не знаю, в каком состоянии находится античит-программа. Так что, я думаю, есть варианты: попросить TaleWorlds настроить Battleye так, чтобы он работал с Proton, отключить его для Proton, пока не будет создана подходящая версия Linux, а затем снова включить его там (они для чего-то используют Mono. пусковой установки?) Подождите, пока игра не будет выпущена должным образом, потому что есть вероятность, что они, скорее всего, будут отложить поддержку нескольких ОС до более позднего периода раннего доступа, поэтому в 10 раз проще выпускать обновления ... Или выясните, как пусть Window Executable Battleye войдет прямо в ядро ​​на базе Linux, чтобы он мог сканировать все, что хочет, и позволить нам вносить данные в игру, не вызывая античит ...

Так что я думаю, мы еще немного ждем Bannerlord.

Я не куплюсь на это. Если Battleye вызывает проблемы с курсором, почему бы нам не увидеть ту же проблему при использовании геймпада?

Battleye - это не проблема, это дополнительная установка и требуется только для многопользовательской игры.

Battleye - это не проблема, это дополнительная установка и требуется только для многопользовательской игры.

Чтобы расширить сообщение tkamat, я также был в закрытой бета-версии, и игра все еще работала в течение нескольких патчей после того, как Battleeye был исправлен в бета-версии. Насколько я понимаю, в то время они сделали это необязательным, вы могли просто игнорировать отмену установки Battle Eye при первом запуске, и она не выкинет вас из игр за то, что вы ее не используете.

Около двух недель назад был патч, который также нарушил способность пользователей Windows играть, очевидно, он имел какое-то отношение к подключению контроллера или джойстика при попытке играть с клавиатурой / мышью. Они устранили проблему через пару дней, но все пользователи Linux на форуме сообщили, что не происходит ввода мыши, независимо от того, был ли подключен контроллер, даже после обновления.

Мы обсуждали на форуме, что это может быть проблема с Steamplay, представляющим виртуальный контроллер игре на уровне драйвера, но так и не подтвердили это. Что касается сбоя при запуске кампании, мы никогда не заходили так далеко, так как это была многопользовательская бета-версия.

Battleye - это не проблема, это дополнительная установка и требуется только для многопользовательской игры.

Чтобы расширить сообщение tkamat, я также был в закрытой бета-версии, и игра все еще работала в течение нескольких патчей после того, как Battleeye был исправлен в бета-версии. Насколько я понимаю, в то время они сделали это необязательным, вы могли просто игнорировать отмену установки Battle Eye при первом запуске, и она не выкинет вас из игр за то, что вы ее не используете.

Около двух недель назад был патч, который также нарушил способность пользователей Windows играть, очевидно, он имел какое-то отношение к подключению контроллера или джойстика при попытке играть с клавиатурой / мышью. Они устранили проблему через пару дней, но все пользователи Linux на форуме сообщили, что не происходит ввода мыши, независимо от того, был ли подключен контроллер, даже после обновления.

Мы обсуждали на форуме, что это может быть проблема с Steamplay, представляющим виртуальный контроллер игре на уровне драйвера, но так и не подтвердили это. Что касается сбоя при запуске кампании, мы никогда не заходили так далеко, так как это была многопользовательская бета-версия.

Игра хорошо работала на Linux до Battleye? Я был на Windows еще во время бета-тестирования, поэтому мне так и не удалось попробовать его через Proton.

Battleye - это не проблема, это дополнительная установка и требуется только для многопользовательской игры.

Чтобы расширить сообщение tkamat, я также был в закрытой бета-версии, и игра все еще работала в течение нескольких патчей после того, как Battleeye был исправлен в бета-версии. Насколько я понимаю, в то время они сделали это необязательным, вы могли просто игнорировать отмену установки Battle Eye при первом запуске, и она не выкинет вас из игр за то, что вы ее не используете.
Около двух недель назад был патч, который также нарушил способность пользователей Windows играть, очевидно, он имел какое-то отношение к подключению контроллера или джойстика при попытке играть с клавиатурой / мышью. Они устранили проблему через пару дней, но все пользователи Linux на форуме сообщили, что не происходит ввода мыши, независимо от того, был ли подключен контроллер, даже после обновления.
Мы обсуждали на форуме, что это может быть проблема с Steamplay, представляющим виртуальный контроллер игре на уровне драйвера, но так и не подтвердили это. Что касается сбоя при запуске кампании, мы никогда не заходили так далеко, так как это была многопользовательская бета-версия.

Игра хорошо работала на Linux до Battleye? Я был на Windows еще во время бета-тестирования, поэтому мне так и не удалось попробовать его через Proton.

Он начал работать в Linux примерно в декабре, время от времени падал, но производительность была приемлемой после завершения компиляции шейдеров для каждой карты. В то время я также пользовался относительно слабой видеокартой (rx 480), поэтому я думаю, что с точки зрения производительности игра будет в порядке на Linux, если мы сможем получить небольшую помощь от Taleworlds в устранении этих проблем. Мы получили ответ разработчиков о проблеме с мышью, с которой мы столкнулись, поэтому кажется, что они, по крайней мере, не враждебно относятся к пользователям Linux и Proton.

Какой день, чтобы не найти свой контроллер! Я действительно получил что-то работающее! Я выполнил переименование, как указано выше, а затем попытался подключить свой переключатель Joy-Cons с помощью этого удобного драйвера .

Когда радости распознаются как профессиональный контроллер, я могу щелкать мышью после использования левого джойстика для позиционирования курсора. В моих быстрых тестовых боях прицеливание и щелчок мышью работают нормально, поэтому проблема может быть связана с меню. Не уверен, будет ли это работать с другими контроллерами, или это как-то связано со способом реализации этого драйвера.

Просто быстрый поиск в Google, поскольку я не могу проверить это прямо сейчас (все еще загружаю), но похожая проблема, по-видимому, в какой-то момент преследовала BNet Launcher и была исправлена ​​путем добавления ucrtbase и api-msi-win и т.д. winecfg.

Добавление их в качестве переопределений по-прежнему приводило к сбою, но я смог подобрать его, выполнив шаги из аналогичной проблемы re: 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

Что дало мне намного больше:

Tutorial works

Мышь по-прежнему непригодна для диалогов и меню паузы (вы можете «щелкнуть, чтобы продолжить» там, так что она, очевидно, распознает щелчки мыши, но не знает, действительно ли мышь над чем-то, если вы не перемещаете курсор с контроллером). Прекрасно работает для передвижения и боя. Выполнил несколько задач руководства, прежде чем снова потерпел крах (на этот раз из-за eventfd: Too many open files ; перезагрузился с накачанным ulimit -Hn и повторил попытку).

ИЗМЕНИТЬ re: BattlEye:

Bannerlord использует Battleye, программу Kernel Anti-Cheat. Поскольку экземпляр Proton-Wine не является базовым ядром Linux, а является ядром Windows, Battleye не может перехватить ввод мыши прямо с USB-порта, чтобы убедиться, что это реальная сделка, а затем пустить его в игру или ошибочно принимая ввод мыши в Wine за ввод с помощью искусственной программы, что означает, что срабатывает система Anti-Cheat.

Это кажется маловероятным. Если бы это было связано с античитом, я бы ожидал противоположного от текущих симптомов (например, мышь нормально работает в меню / диалогах, но не для движения / боя). Я бы также ожидал, что клавиатуры и контроллеры будут затронуты аналогичным образом (что, похоже, не так).

BattlEye, безусловно, будет препятствовать многопользовательской игре, но в одиночной игре в этом нет необходимости (и действительно, другие игры BattlEye с однопользовательскими режимами достаточно хорошо работают в Proton, например, Conan: Exiles).

@YellowApple Не могли бы вы увидеть, исправляет ли следующий патч сбой без vcredist? (т.е. установите ucrtbase и api-ms-win-crt-private-l1-1-0 как встроенные при тестировании)

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

Было бы здорово, если бы это можно было исправить в апстриме без необходимости переопределения :) У меня сейчас нет игры, поэтому я не могу протестировать.

@YellowApple Я попытался воспроизвести ваше решение, но, к сожалению, у меня это не сработало, а кампания вылетает после создания персонажа. Файлы журналов по-прежнему указывают на api-ms-win-crt-private-l1-1-0.dll._o___stdio_common_vswprintf как на проблему. Выполняли ли вы какие-либо другие шаги, например, переустановку vcrun-2017 или что-то еще?

Так что увеличение моего ulimit -Hn помогло, и я смог добраться до основной карты, но заметил, что любая попытка сохранить игру приведет к временному зависанию игры на несколько минут при привязке каждого ядра / поток на моем процессоре (хотя некоторые звуки продолжают воспроизводиться в фоновом режиме). Я подозреваю, что есть функция автосохранения, которая также вызывает подобные зависания (произошло после обмана в некотором инвентаре и снова произошло при простое в течение некоторого времени).

Кроме того, кажется, что всплывающие диалоговые окна заставят курсор мыши, управляемый джойстиком, исчезнуть (не определено, всегда ли это происходит; при достаточном покачивании мне удалось заставить кнопку «ОК» ненадолго выделить, поэтому я думаю курсор просто невидим).

Я также могу подтвердить, что кнопки мыши и колесо прокрутки полностью работают в меню / диалогах; вам просто нужно использовать контроллер, чтобы переместить курсор на то, что вы хотите щелкнуть или прокрутить. Так что все, что вызывает эту ошибку, связано исключительно с тем, куда, по мнению игры, указывает мышь.

@YellowApple Не могли бы вы увидеть, исправляет ли следующий патч сбой без vcredist? (т.е. установите ucrtbase и api-ms-win-crt-private-l1-1-0 на встроенный при тестировании)

Сделаю @qsniyg (как только я получу Vagrant для сотрудничества). Все эти функции реализованы, но заглушены или что-то в этом роде?

@YellowApple Я попытался воспроизвести ваше решение, но, к сожалению, у меня это не сработало, а кампания вылетает после создания персонажа. Файлы журналов по-прежнему указывают на проблему api-ms-win-crt-private-l1-1-0.dll._o ___ stdio_common_vswprintf. Выполняли ли вы какие-либо другие шаги, например, переустановку vcrun-2017 или что-то еще?

@tkamat : Точные шаги, которые я сделал (насколько я помню):

  • protontricks 261550 vcrun2015 (и запустил игру; вылетел)
  • protontricks 261550 vcrun2017 (и запустил игру; вылетел)
  • Добавлены собственные переопределения для ucrtbase и api-ms-win-crt-private-l1-1-0 через winecfg (и запустил игру; разбился)
  • Была ли вся эта штука "ударить VC redist EXE с помощью cabextract " (и запустить игру; сработало)

@YellowApple, возможно, это слепой выстрел, но можете ли вы попробовать установить dotnet 4.8 с помощью protontricks? Я смог использовать мышь на экране заставки / загрузки.

@YellowApple

Сделаю @qsniyg (как только я получу Vagrant для сотрудничества). Все эти функции реализованы, но заглушены или что-то в этом роде?

Они реализованы, но Windows использует эти api-ms-win-... dll, которые в основном просто импортируются из других dll (advapi32, kernel32, ucrtbase и т. Д.). Я предполагаю, что Wine добавляет функции к этим dll по мере необходимости, чтобы убедиться, что они верны.

Возможно, игра снова вылетит из-за какой-то другой нереализованной функции из одной из этих api dll. Вы можете добавить их в себя или сообщить мне. Надеюсь, после небольшой итерации мы сможем найти, какие функции необходимы, а затем отправить их в восходящий поток в Wine :)

@Yarwin @tkamat У меня есть подозрение, что установка protontricks dotnet4.8 может вызывать вашу проблему (хотя это, похоже, позволяло мне использовать предполагаемую пусковую установку, мышь должна была управляться с помощью контроллера в реальной игре). Я установил и это, и не смог заставить решение @YellowApple работать.
Я закончил тем, что полностью удалил $COMPATDATA/2615501 и прошел процесс проверки файлов для Proton 5.0 и Bannerlord. После этого сработал метод cabextract (не забудьте, что вам придется снова отредактировать $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Configs/engine_config.txt чтобы установить brightness_calibrated = 1 ). Это может решить вашу проблему независимо от причины.

+1 за зависание из-за сохранения. Мне также удавалось закончить руководство, пока я не закрыл его из-за зависания, теперь новая папка появилась в $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Game Saves .

@YellowApple, возможно, это слепой выстрел, но можете ли вы попробовать установить dotnet 4.8 с помощью protontricks? Я смог использовать мышь на экране заставки / загрузки.

Похоже, на меня это не повлияло.

+1 за зависание из-за сохранения. Я также смог закончить обучение, пока я не закрыл его из-за зависания, теперь новая папка появилась в $COMPATDATA/261550/pfx/drive_c/users/steamuser/My Documents/Mount and Blade II Bannerlord/Game Saves .

Да, я тоже столкнулся с зависанием после обучения. Отчасти ругаю себя за то, что я не просто дождался этого и не посмотрел, откроется ли он в конце концов, как, кажется, делают эти другие зависания с сохранением.

@ChemiKyle, спасибо за подсказку, я только что закончил

@YellowApple @tkamat Я создал хакерский патч для GetMouseMovePointsEx, я не тестировал его, поэтому он может ошибаться, но не могли бы вы попробовать?

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

Он написан против винной постановки, поэтому вам может потребоваться применить его вручную.

@qsniyg Только что попробовал новый префикс с обоими вашими патчами; ни с одним кубиком. Ввод с помощью мыши по-прежнему прерывается и все еще дает сбой из-за той же нереализованной функции. Логи с пропатченного запуска.

РЕДАКТИРОВАТЬ: ах, похоже, патч был для v f wprintf, тогда как сбой вызван v s wprintf. Дай-ка посмотреть, смогу ли я это исправить ...

@YellowApple Черт , ну, хотя бы +rawinput,+win,+cursor,+dinput,+xinput , вероятно, даст много понимания проблемы (хотя вам может потребоваться .gz сжать журнал ... :)

В любом случае, вот патч vswprintf: https://gist.github.com/qsniyg/4ba247c7398e3a1926988e3f6ca252ce#file -vswprintf-patch

Черт возьми, это помогло (хотя я пропатчил его как _o___stdio_common_vswprintf(int64 wstr long wstr ptr ptr) , так как я пытался как можно точнее сопоставить

Я попытаюсь получить несколько журналов с этими флагами, чтобы мы могли решить эту проблему с мышью.

Хорошо знать! Отправил их :)

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

Я тоже не знаю, почему вино так поступило, я просто скопировал, как они объявили vswprintf из более раннего объявления в файле :)

Привет, я добавил приложение в Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=38834&iTestingId=107964

@qsniyg Вы хотите связать ошибки с приложением или я должен?

@tomhobson Вперед! (Я ни в коем случае не являюсь частью команды разработчиков Wine, я просто пишу патчи и ставлю себя в неловкое положение в списке рассылки из-за того, что всегда что-то не так, ха-ха)

@tomhobson Вперед! (Я ни в коем случае не являюсь частью команды разработчиков Wine, я просто пишу патчи и ставлю себя в неловкое положение в списке рассылки из-за того, что всегда что-то не так, ха-ха)

Если вы пишете патчи, звучит так, будто вы являетесь частью команды разработчиков Wine :)

Хорошо, я связал ошибку: https://bugs.winehq.org/show_bug.cgi?id=36873

Я не уверен, как / если вы свяжете исправления с ошибкой. Но когда они объединятся, мы сможем заняться следующим.

Есть ли ошибки, которые я пропустил?

Таким образом, «современное состояние» со всеми патчами здесь по-прежнему требует какого-то геймпада для управления меню. Это правильно? Просто проверяю, что проблема с мышью никогда не решалась даже экспериментально.

@allquixotic : это правильно.

Привет, ребята! Я не играю в Linux и Wine, но у меня была аналогичная проблема: геймпад подходил для курсора мыши, но не для настоящей мыши.

Я играю на Shadow (удаленный компьютер), и когда я включил «курсор захвата», проблема просто исчезла. Я не знаю, как именно работает Wine, но, возможно, если этот вариант доступен, вы можете его попробовать.

Ура

Привет, ребята! Я не играю в Linux и Wine, но у меня была аналогичная проблема: геймпад подходил для курсора мыши, но не для настоящей мыши.

Я играю на Shadow (удаленный компьютер), и когда я включил «курсор захвата», проблема просто исчезла. Я не знаю, как именно работает Wine, но, возможно, если этот вариант доступен, вы можете его попробовать.

Ура

Спасибо за информацию. Это настройка курсора захвата в bannerlord?

Спасибо за информацию. Это настройка курсора захвата в bannerlord?

Я считаю, что он имеет в виду решение для потоковой передачи. Возможно, стоит попробовать проверить, может ли сработать разрешение Wine брать на себя исключительное управление мышью.

Единственные настройки, относящиеся к мыши в engine_config.txt, выглядят следующим образом:

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

Неудивительно, что их изменение не помогает решить проблему.

Спасибо за информацию. Это настройка курсора захвата в bannerlord?

Я считаю, что он имеет в виду решение для потоковой передачи. Возможно, стоит попробовать проверить, может ли сработать разрешение Wine брать на себя исключительное управление мышью.

да, я имел в виду именно это.

@ElCaconym извините, если это не поможет :(

Если кто-то доступен для тестирования (я все еще работаю)

Я нашел кое-что, что может быть здесь полезно:
https://askubuntu.com/questions/968252/ubuntu-17-10-mouse-problem-in-wine

Если кто-то доступен для тестирования (я все еще работаю)
Я нашел кое-что, что может быть здесь полезно:
https://askubuntu.com/questions/968252/ubuntu-17-10-mouse-problem-in-wine

Это была идея, которую я только что получил. Включение этой опции потенциально может помочь,
Automatically capture the mouse in full-screen windows
насколько я помню, в других играх были, по крайней мере, сопоставимые проблемы с курсорами мыши в Wine.

@tomhobson : это уже пробовал; неудачно.

Сообщения « fixme: win : GetMouseMovePointsEx» просто обозначают заглушку в Wine для этой функции; Я сомневаюсь, что они вообще связаны с проблемой отсутствия регистрации кликов; и действительно, разработчик Taleswords сказал здесь :

Мы начали использовать GetMouseMovePointsEx для ввода некоторых движений мыши. Может, в WINE это не реализовано? Однако он не используется для щелчков мышью.

Запуск с + rawinput, + win, + cursor, + dinput, + xinput, похоже, не приводит к появлению каких-либо понятных журналов, по крайней мере на первый взгляд; в частности, при нажатии вы получаете обычное:

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

(в зависимости от того, используете ли вы левую или правую кнопку мыши)

@ElCaconym Не могли бы вы поделиться журналом? Полный журнал может содержать дополнительную информацию, которая может помочь отладить проблему :)

Конечно; прилагается. WINEDEBUG: + err, + fixme, + rawinput, + win, + cursor, + dinput, + xinput.

Я не использую протон, заметьте: это Wine-staging 5.4 со всеми промежуточными патчами, без пользовательских патчей (даже не упомянутых выше - я хотел исправить проблему с мышью перед применением патча vfwprintf / vswprintf) и dxvk 1.6 . Winetricks: vcrun2010, vcrun2015 и dotnet48 (может понадобиться только последний).

Я запустил игру и, чтобы не засорять логи, избегал перемещать мышь, пока не добрался до экрана выбора гаммы. Затем я переместил курсор на кнопку «Принять» и щелкнул левой кнопкой мыши. Потом убил игру с другого термина.

Файл:

stderr_bannerlord.log.gz

@ElCaconym Может быть, они проверяют, что мышь находится на экране.

Эта функция используется в меню. Я был бы удивлен, если бы это не было связано с проблемой меню.

Вы используете несколько мониторов или один?

Один монитор.

@ElCaconym Да, интересно, он еще и отсекает курсор каждый кадр, как в AoT2. Интересно, поможет ли этот патч? https://source.winehq.org/patches/data/181257 Это было предназначено для устранения проблемы с неправильной регистрацией движения курсора мыши, а не щелчков, поэтому в этом случае это может быть бесполезно, но кто знает, этого не должно быть. но больно :)

Второй щелчок создает полноэкранное окно клипа:

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)

С этим патчем щелчки мыши по-прежнему игнорируются. И я до сих пор регулярно получаю следующую последовательность:

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

... что сначала заставило меня усомниться, что патч был применен правильно, поэтому я полностью перекомпилировал вино с нуля (вместо использования моего предыдущего каталога компиляции) и использовал другой префикс (я имею в виду префикс установки autotools, а не префикс Wine) только в случай тоже. Соответствующие журналы сохраняются - хотя этого можно ожидать?

Ну ладно, имеет смысл. Это было немного похоже, ха-ха.

На всякий случай, не могли бы вы попробовать вино само по себе, а не винную постановку? Wine-staging имеет патч rawinput, который не позволяет нажимать на такие игры, как Mass Effect: Andromeda. В качестве альтернативы вы можете просто перекомпилировать Wine-staging без патча rawinput.

Я здесь просто вытаскиваю вещи из шляпы, это тоже может не сработать.

Пробовал вином без постановочных патчей: без изменений. Журналы, конечно, немного меняются; например, теперь я получаю:

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

... при щелчках мыши вместо предыдущих строк X11DRV_RawButtonEvent, но после этого щелчки по-прежнему игнорируются. Учтите, что в этот новый тест не входил ваш патч, указанный выше (на всякий случай попробую его сейчас).

Я здесь просто вытаскиваю вещи из шляпы, это тоже может не сработать.

Конечно - спасибо за попытку! :-)

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

Если это так, игра должна думать, что указатель заблокирован в очень определенной позиции (может быть, в верхнем левом углу?), Потому что игра вообще не реагирует, куда бы вы ни перемещали указатель. Некоторые другие игры создают проблемы в Wine, когда указатель отображается в другом месте, чем думает игра, но все же существует некоторая корреляция между тем, где, по мнению игры, он находится, и тем, где он находится на самом деле; например, он может быть сдвинут на несколько десятков пикселей или что-то в этом роде.

«Настоящий» указатель оказывается там, где вы его оставили, когда последний раз использовали геймпад. Если вы переключитесь с геймпада на мышь и обратно на геймпад, курсор переместится в то место, где он был последним, когда вы использовали геймпад.

Если навести курсор на кнопку с геймпадом, а затем щелкнуть мышью, регистрируется ли?

Пробовал с ванильным вином (без промежуточных патчей) _and_ патч qsniyg и без изменений.

@ Krypton-Nova: Я не могу лично проверить это, нет геймпада. Хотя я предполагаю, что если бы существовал инструмент, который можно было бы использовать для имитации виртуального геймпада и сопоставления его с мышью / клавиатурой (противоположность чему-то вроде этого инструмента ), он мог бы работать как обход проблемы с мышью.

Изменить: возможно, MoltenGamepad ?

У меня есть геймпад, и он у меня сработал. Просто любопытно, подходит ли это для других :)

@ Krypton-Nova Да, я могу подтвердить, что перемещение курсора с помощью геймпада и щелчок мышью действительно работают. Кажется, это предполагает, что проблема связана с отслеживанием мыши при перемещении мыши, а не с самими щелчками мыши.

Сама мышь также работает при управлении персонажем. Игра может обнаруживать движение мыши, но положение курсора не обновляется - базовое физическое образование предполагает, что эта проблема неразрешима . В Steam есть встроенная функция захвата мыши, я думаю, я могу попробовать, когда выйду с работы, если никто не доберется до нее.

Исходя из этого и без подключенного геймпада, я добавил регистрацию второго параметра, переданного игрой, в GetMouseMovePointsEx ( lppt ), и он обновляется:

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

И ниже, на том же экране:

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

Это говорит о том, что игра _ знает_, где находится курсор на каком-то уровне; делает еще более странным то, что перемещение курсора с помощью геймпада работает, а с мышью - нет.

Может быть, функция GetMouseMovePointsEx используется для сглаживания мыши и требует еще нескольких точек, возвращаемых для интерполяции?
Взлом @qsniyg вернул только один балл, кто-то должен попробовать с двумя или более баллами.

Я даже не могу вывести игру в главное меню, просто вылетает при нажатии на экран загрузки.

Я даже не могу вывести игру в главное меню, просто вылетает при нажатии на экран загрузки.

Одна и та же. Я перепробовал все разные стандартные релизы Proton и пару релизов GloriousEggroll.

Я предполагаю, что мне любопытно, что именно Bannerlord делает с результатом. Я догадываюсь, что, как и в случае с ошибкой OpenTk, спам в журнале GetMouseMovePointsEx - отвлекающий маневр, и любой код, обрабатывающий ответ (будь то сбой или фактические возвращенные точки), скрывается. Однако трудно сказать, не увидев исходный код Bannerlord.

Может быть, функция GetMouseMovePointsEx используется для сглаживания мыши и требует еще нескольких точек, возвращаемых для интерполяции?
Взлом @qsniyg вернул только один балл, кто-то должен попробовать с двумя или более баллами.

Добавление второй точки (возможно, дубликата первой) кажется выполнимым. Я попробую это сделать на своей местной копии. Что-то вроде этого:

/***********************************************************************
 * 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;
}

Я даже не могу вывести игру в главное меню, просто вылетает при нажатии на экран загрузки.

@giantrat , @NovenTheHero : можете ли вы добавить PROTON_LOG=1 к параметрам запуска (например, PROTON_LOG=1 %command% ) и предоставить полученный ~/steam-261550.log (желательно в качестве ссылки, например, на Pastebin или Github Суть)?

Вот и все: Gist

@NovenTheHero удалите свой винный префикс, а затем выполните следующие действия:

  1. Переименуйте Bannerlord.exe и Bannerlord_BE.exe в ManagedStarter.exe и ManagedStarter_BE.exe.
  2. запустить protontricks 261550 vcrun2015
  3. запустить protontricks 261550 vcrun2017
  4. Добавьте собственные переопределения для ucrtbase и api-ms-win-crt-private-l1-1-0 через winecfg
  5. Выполните эти команды:
    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. Запустите игру и используйте контроллер для меню. Этого должно быть достаточно, чтобы ввести вас в пользовательские сражения и начать кампанию, хотя вы, вероятно, столкнетесь с некоторыми проблемами ввода и зависанием при сохранении.

@NovenTheHero Если вы еще не обошли программу запуска, попробуйте это сделать (например, 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 ). В качестве альтернативы (если программа запуска работает для вас и вы хотите ее использовать) попробуйте просто скопировать Bannerlord.exe в ManagedStarter.exe .

Эта ошибка ManagedStarter связана с тем, что TaleWorlds изменил имя EXE без обязательной перекомпиляции (если я правильно понял, когда прочитал это на форумах).

steam-261550.log
вот, кстати, спасибо за этот вариант запуска!

@giantrat Похоже, вам просто нужно либо создать собственный Wine / Proton с патчем qsniyg, либо выполнить стандартные шаги переопределения (см. комментарий @tkamat выше).

Последнее обновление (e1.0.1), похоже, устранило проблему с пусковой установкой для меня. К сожалению, даже после выполнения всех упомянутых шагов я даже не могу заставить контроллер работать (у меня есть паровой контроллер, не типичный, может ли это быть?)

Я также просто попробовал свой Steam Controller, и он не работал. Я думаю, это потому, что Steam Controller имитирует мышь.

ну с комментарием tkamat, лаунчер теперь работает, но у меня все равно вылетает после вступления сказочных миров.

NVM, добрался до калибровки яркости после повторного запуска! Пог.

@NovenTheHero убедитесь, что левый джойстик вашего контроллера настроен на движение джойстика, а НЕ движение мыши. Это должно делать свое дело.

ой нет ввода мыши по яркости экрана, чувствует себя плохо. попробую вышеуказанные скрипты.

@tkamat, предполагая, что вы имеете в виду контроллер пара, все оси настроены как движение джойстика, ни одна из них в настоящее время не работает ... Я также пробовал все безумные оси, возможные на джойстике HOTAS, безрезультатно.

Добавление второй идентичной точки к выходным данным GetMouseMovePointsEx не имело никакого эффекта. Также очевидно (в соответствии с выводами @ElCaconym ), что функция

Дикая теория.

OpenTK, который, как я полагаю, является библиотекой, которую TaleWorlds использует для графического интерфейса, не поддерживает высокий DPI. Это проблема SLD2, которая также используется winebus.sys, который является интерфейсом HID внутри вина. Я думаю, что высокий DPI по умолчанию перегружает SLD2 / winebus вводом, и он не может его догнать. Так что, возможно, если мы сможем изменить DPI мыши в конфигурации на что-то более низкое, то игра уловит движение мыши.

С другой стороны, запуск hid_test.exe (находится в test.winehq.org) в cmd в префиксе Wine для Bannerlord показывает, что обнаружена мышь Wine HID и мой беспроводной приемник, но ничего больше. Это могло быть просто на моей стороне из-за правил udev, но мне интересно, опять же, из-за моей неспособности изменить мой DPI мыши по умолчанию (черт возьми, Асус! Сделайте уже инструмент настройки Linux!) Затем, опять же, SLD2 перегружен информацией. Или не замечает этого.

У меня выбор яркости заработал!
@YellowApple был близок, просто важно, чтобы эти два пункта различались.

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

(а может, это был патч, выпущенный пару часов назад, не уверен, что тестировал перед изменением кода)

РЕДАКТИРОВАТЬ: не из-за патча, этот код действительно исправил его

Сладкий! Восстановление с этим прямо сейчас.

Получил несколько странных сбоев, но сумел закончить бой 1 на 1 против ИИ, так что это выглядит многообещающе.

Пока все хорошо с этой настройкой. Мог поиграть с меню, создать персонажа, пропустить обучение, вернуться в тренировочный лагерь и выполнить все учебные задачи со всем оружием. Единственная проблема, которую я заметил до сих пор, заключается в том, что вращение карты с помощью правой кнопки мыши работает только в одном направлении (то есть, как и обратный Zoolander, карта будет поворачиваться только влево, смеется).

Я думаю, что единственное остающееся раздражение здесь - это долгое зависание при сохранении, и, к сожалению, у меня нет никаких подсказок, чтобы выяснить, что вызывает это.

Пока все хорошо с этой настройкой. Мог поиграть с меню, создать персонажа, пропустить обучение, вернуться в тренировочный лагерь и выполнить все учебные задачи со всем оружием. Единственная проблема, которую я заметил до сих пор, заключается в том, что вращение карты с помощью правой кнопки мыши работает только в одном направлении (то есть, как и Zoolander, карта отказывается поворачивать влево, смеется).

Я думаю, что единственное остающееся раздражение здесь - это долгое зависание при сохранении, и, к сожалению, у меня нет никаких подсказок, чтобы выяснить, что вызывает это.

Мышь сейчас работает или вы все еще используете игровой планшет?

Кто-нибудь еще сталкивался с этой проблемой?

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

Игра продолжает зависать от меня сразу после создания персонажа, и это моя единственная подсказка, прежде чем я буду вынужден убить его.

Мышь сейчас работает или вы все еще используете игровой планшет?

: mouse: Игровая панель даже не подключена.

@YellowApple , вы можете попробовать сохранить точку из предыдущего вызова функции в статической переменной, а затем передать ее как точку с индексом 1. Я чувствую, что они используют две точки для вычисления какой-то дельты мыши.
Сейчас пойду спать.

Это определенно стоит того. Я напишу этот код и посмотрю, смогу ли я что-нибудь придумать в этом направлении. Долгосрочное решение, в конечном итоге, заключалось бы в том, чтобы иметь статический буфер до 64 из них и непрерывно их циклически перебирать (то есть: фактически полностью реализовать вызов API вместо текущего подхода «взломать вместе», лол).

Это напоминает мне об одной проблеме: в прошлом году (с тех пор в игру были внесены исправления), у Naval Action были проблемы в протоне, когда он не обнаруживал размещение курсора после изменения контекста синтаксического анализа мыши (с mouselook на меню), и если бы у вас был открытое меню, переход с alt-tab и обратно, он обнаружит это, и меню будет работать. Кажется, простая вещь, но кто-нибудь пробовал?

Я не подумал попробовать alt-tabbing, но я просто попробовал, и, к сожалению, у меня ничего не получилось. :расстроен:

Кто-нибудь знает, связана ли эта бродячая моно-ошибка, которая меня замораживает, Steam или Mount and Blade?

@YellowApple Не могли бы вы объяснить, как и где вы пропатчили этот код в Wine? Я новичок в компиляции Wine (но я уже много лет заинтересован в том, чтобы различные игры работали на Linux), и я не совсем понимаю, к чему это должно стремиться. Пару недель назад у меня была подруга, которая полностью перешла на Linux, и она очень ждала этой игры, так что было бы здорово, если бы я смог заставить ее работать на нее. Я не думаю, что в ближайшее время она вернется к Windows, но я также не хочу, чтобы она разочаровывалась из-за того, что не смогла сыграть в единственную игру, которую она с нетерпением ждала.

Смена версии протона начала загрузку с 0% и удалила загрузку 31 ГБ два раза подряд, у меня чуть не случился сердечный приступ.

Хорошо, мне трудно даже сохранить его на диске, поскольку Steam удаляет его каждый раз, когда я полностью его устанавливаю. Я расстроен.

Мне нравится блестящее сотрудничество, которое здесь происходит, и оно не позволяет мне вернуть деньги в Steam. Я не разбираюсь в технологиях, но вижу, что здесь есть прогресс. С помощью простых вещей, описанных выше, я могу пройти почти весь путь создания персонажа до того, как игра жестко заблокируется, заставив меня физически перезагрузить свой компьютер, но вы все даете мне надежду =).

Для зависания сохранения игры нам, возможно, придется привлечь Codeweavers (в основном основных разработчиков Wine). Надеюсь, они заметят, насколько популярна эта игра, и поработают над ней. Даже если у нас работает поддержка мыши, зависание при сохранении по-прежнему является причиной присвоения этой игре рейтинга «мусор».

Контроллер не помогал, все еще не мог запустить игру, думаю, жду день.

@giantrat А переименования пробовали? Программа запуска, которую Steam пытается запустить по умолчанию, не нравится многим из нас.

@coltondrg Рассматриваемый исходный файл dlls/user32/input.c . Вам нужно найти определение функции для GetMouseMovePointsEx и заменить его следующим:

(нажмите, чтобы показать)

/***********************************************************************
 * 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;
}

Если вы создаете ту же версию Wine, которую использует Proton, вы можете вместо этого сохранить следующие данные в файл (скажем, butterlord.patch ), cd в дереве исходных кодов Wine и запустить git apply path/to/butterlord.patch (сюда также входят патчи для исправления сбоя после создания персонажа):

(нажмите, чтобы показать)

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;

Это исправит ваше вино так, что оно будет в точности идентично тому, что я использую.

@giantrat А переименования пробовали? Программа запуска, которую Steam пытается запустить по умолчанию, не нравится многим из нас.

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

@YellowApple Ты потрясающий. Вставленный вами файл исправления также включает предыдущие исправления для сбоя, верно? (неважно, я могу читать) Мне уже удалось сделать сборку с этими патчами, но игра не обнаруживала контроллер на моем компьютере, поэтому я не смог продвинуться достаточно далеко, чтобы увидеть, действительно ли это было эффективно. Также я не уверен, имеет ли это какое-то значение, но я компилировал свои сборки с помощью скрипта proton-tkg (из wine-tkg-git), поэтому я могу просто перетащить файлы пользовательских патчей и заставить скрипт выплюнуть приятно мне протон перетащить в инструменты совместимости. d. Думаю, это означает, что в моей сборке также есть все исправления tkg, которые, как я надеюсь, не конфликтуют и не могут что-то сломать.

Просто хотел обновить, после применения патча от @YellowApple выше, игра теперь полностью работает для меня, включая

РЕДАКТИРОВАТЬ: Итак, после часа игры в кампанию кажется, что может быть утечка памяти, поскольку игра продолжает использовать все больше и больше оперативной памяти, а производительность начинает ухудшаться. Это вполне может быть проблемой самой игры, учитывая, что я видел, как некоторые пользователи Windows также жалуются на проблемы с производительностью. У меня 8 ГБ оперативной памяти, поэтому может быть интересно посмотреть, случится ли это с людьми с большим количеством оперативной памяти.

А вот слегка доработанная версия GetMouseMovePointsEx , которая исправляет ошибку обратного вращения карты Zoolander и, хотя она все еще изобилует хакерскими атаками, скорее всего, Good Enough ™ для отправки в апстрим:

(нажмите, чтобы показать)

/***********************************************************************
 * 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 : Хочешь оказать честь и отправить?

В настоящее время у меня нет игры, поэтому я не могу протестировать, но есть ли у кого-нибудь какие-либо результаты аварийного журнала для зависания сохранения? Это почти похоже на ту проблему, с которой мы столкнулись с разрешениями файлов.

@YellowApple, не написать руководство "как заставить игру работать с нуля для идиотов"?

В настоящее время у меня нет игры, поэтому я не могу протестировать, но есть ли у кого-нибудь какие-либо результаты аварийного журнала для зависания сохранения? Это почти похоже на ту проблему, с которой мы столкнулись с разрешениями файлов.

Я несколько сомневаюсь, что это проблема с разрешениями. Игра удается сохранить, но на сохранение требуется ~ 5-10 минут, и она просто зависает, пока не будет завершена. Для меня это не было бы препятствием, за исключением того, что автосохранение выключается каждый раз, когда вы начинаете битву, и при большинстве других крупных изменений сцены.

@YellowApple, не написать руководство "как заставить игру работать с нуля для идиотов"?

Максимально «для идиотов» дружелюбный подход:

  • Загрузите точную сборку Proton, которую я использую: https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz
  • Вставьте это в ~/.steam/root/compatibilitytools.d
  • Извлеките его ( cd ~/.steam/root/compatibilitytools.d && tar xvf proton_5.0-local.tar.gz )
  • Перезапустите Steam
  • Щелкните правой кнопкой мыши Bannerlord в своей библиотеке, выберите «Свойства» и измените версию Proton на «proton_5.0-local».
  • ???
  • Прибыль

Очевидно, что вы делаете это на свой страх и риск, понимая, что загрузка, установка и запуск случайных двоичных файлов из Интернета - рискованное дело, чреватое опасностями. Пусть покупатель будет бдителен. Вам настоятельно рекомендуется попробовать свои силы в клонировании репозитория Proton, самостоятельном применении исправлений и создании Proton на вашем собственном компьютере (и хотя да, это не совсем удобный подход, он намного безопаснее, чем доверять Интернету. чужие не пить из черепа, лол).

Надеюсь, мы сможем обновить эти патчи раньше, чем позже, чтобы мы могли избежать необходимости в этих забавных одноразовых пользовательских сборках, lol

Надеюсь, мы сможем обновить эти патчи раньше, чем позже, чтобы мы могли избежать необходимости в этих забавных одноразовых пользовательских сборках, lol

По крайней мере, если эти патчи не ломают другие вещи, может быть, они могут быть включены в популярные сторонние сборки Proton, такие как tkg или GE? : 3 @GloriousEggroll?

@YellowApple, не написать руководство "как заставить игру работать с нуля для идиотов"?

Максимально «для идиотов» дружелюбный подход:

* 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

Очевидно, что вы делаете это на свой страх и риск, понимая, что загрузка, установка и запуск случайных двоичных файлов из Интернета - рискованное дело, чреватое опасностями. Пусть покупатель будет бдителен. Вам настоятельно рекомендуется попробовать свои силы в клонировании репозитория Proton, самостоятельном применении исправлений и создании Proton на вашем собственном компьютере (и хотя да, это не совсем удобный подход, он намного безопаснее, чем доверять Интернету. чужие не пить из черепа, лол).

Надеюсь, мы сможем обновить эти патчи раньше, чем позже, чтобы мы могли избежать необходимости в этих забавных одноразовых пользовательских сборках, lol

Проблема в том, что когда я переключаю протонную версию, весь Bannerlord удаляется и снова начинает загрузку. 😤

Этого не должно происходить, он должен удалить папку compatdata, если вы понижаете версию Proton, но он никогда не должен удалять всю игру. В любом случае вы сможете обойти повторную загрузку, создав резервные копии файлов игры и восстановив их после изменения версии Proton. Вы можете сделать это буквально сделав копию установочной папки игры или в Steam> Резервное копирование и восстановление игр.

Задержка при сохранении игры зверская. Я могу подтвердить, что он увеличивает загрузку ЦП до 100% на всех 12 логических ЦП в моей системе в течение нескольких секунд (примерно до 1 минуты для меня). Диск R / W в это время низкий / отсутствует, поэтому кажется, что он крутится на чем-то другом. Я не вижу ничего, напечатанного на консоли, когда запускаю с нее Steam, пока это происходит ... Есть ли другой способ включить больше журналов из proton / wine, который может помочь диагностировать проблему здесь?

В настоящее время создается исправленная версия GE Proton. Сообщу, если он работает с патчем, размещенным здесь :)

@YellowApple

Какие именно патчи вы применили?
Достаточно применить патч git из вашего сообщения ? (Я все еще скачиваю Bannerlord, поэтому пока не смог его протестировать)

Также нужно ли обходить лаунчер с этим патчем?

Желтый яблоко

Какие именно патчи вы применили?
Достаточно применить патч git из вашего сообщения ? (Я все еще скачиваю Bannerlord, поэтому пока не смог его протестировать)

Также нужно ли обходить лаунчер с этим патчем?

@elovin

Похоже, что проблема с управляемым стартером была исправлена ​​с помощью самого последнего патча. Так что нет.

В любом случае в обходе средства запуска не было необходимости. Если вы переименовали Bannerlord.exe в ManagedStarter.exe, программа запуска будет работать нормально.

@YellowApple @tomhobson
Я могу применить патч к винной конюшне, но не к винному мастеру, потому что теперь есть конфликтующий патч (кажется, ваш патч, но с другим порядком аргументов?) ,
ваш патч уже был слит?

РЕДАКТИРОВАТЬ:
хорошо, входной патч все еще необходим.

@YellowApple, не написать руководство "как заставить игру работать с нуля для идиотов"?

Максимально «для идиотов» дружелюбный подход:

* 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

Очевидно, что вы делаете это на свой страх и риск, понимая, что загрузка, установка и запуск случайных двоичных файлов из Интернета - рискованное дело, чреватое опасностями. Пусть покупатель будет бдителен. Вам настоятельно рекомендуется попробовать свои силы в клонировании репозитория Proton, самостоятельном применении исправлений и создании Proton на вашем собственном компьютере (и хотя да, это не совсем удобный подход, он намного безопаснее, чем доверять Интернету. чужие не пить из черепа, лол).

Надеюсь, мы сможем обновить эти патчи раньше, чем позже, чтобы мы могли избежать необходимости в этих забавных одноразовых пользовательских сборках, lol

Это работает для моего манжаро.

Привет всем,

Я так долго ждал эту игру. В эту игру теперь можно играть?

@YellowApple, не написать руководство "как заставить игру работать с нуля для идиотов"?

Максимально «для идиотов» дружелюбный подход:

* 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

Очевидно, что вы делаете это на свой страх и риск, понимая, что загрузка, установка и запуск случайных двоичных файлов из Интернета - рискованное дело, чреватое опасностями. Пусть покупатель будет бдителен. Вам настоятельно рекомендуется попробовать свои силы в клонировании репозитория Proton, самостоятельном применении исправлений и создании Proton на вашем собственном компьютере (и хотя да, это не совсем удобный подход, он намного безопаснее, чем доверять Интернету. чужие не пить из черепа, лол).

Надеюсь, мы сможем обновить эти патчи раньше, чем позже, чтобы мы могли избежать необходимости в этих забавных одноразовых пользовательских сборках, lol

Работает на Mint 19.2. Единственная проблема, которая, казалось бы, осталась на данный момент, - это жестокое время (обычно минута для меня), которое требуется на сохранение игры.

Привет всем,

Я так долго ждал эту игру. В эту игру теперь можно играть?

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

@ Rogue-Factor есть ли какие-то особые варианты запуска для дополнительной регистрации? Сейчас работаю над получением журнала.

Rogue-Factor есть ли какие-то особые варианты запуска для дополнительной регистрации? Сейчас работаю над получением журнала.

@sdegrace

В Steam, если вы войдете в игру, щелкните правой кнопкой мыши и перейдите к свойствам.

Затем нажмите «Установить параметры запуска».

Введите PROTON_LOG=1 %command%

Запустите игру как обычно.

В вашем домашнем каталоге появится журнал с именем steam-{appid}.log .

Обратите внимание на то, что вам еще нужно переименовать exe-файлы в дополнение к исправлению proton!

  • Обход лаунчера

    Несколько заметок:

    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.
    

    Вы можете переименовать два файла .exe в / 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"
    

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

  • А потом прошиваем Proton

    Максимально «для идиотов» дружелюбный подход:

    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
    

    Очевидно, что вы делаете это на свой страх и риск, понимая, что загрузка, установка и запуск случайных двоичных файлов из Интернета - рискованное дело, чреватое опасностями. Пусть покупатель будет бдителен. Вам настоятельно рекомендуется попробовать свои силы в клонировании репозитория Proton, самостоятельном применении исправлений и создании Proton на вашем собственном компьютере (и хотя да, это не совсем удобный подход, он намного безопаснее, чем доверять Интернету. чужие не пить из черепа, лол).

Спасибо всем в этой теме :)

@SylvainSoKette

Лаунчер у меня отлично работает!
image

@tomhobson , вы сделали что-то конкретное, чтобы он

Спасибо за всю работу над этой веткой! С момента выхода игры была двойная загрузка, но я рад, что здесь удалось добиться прогресса!

Мои тесты:

  • Запуск Manjaro 19.0.2
  • Файлы exe были переименованы из-за проблемы с запуском, которая у меня все еще возникает.
  • Последовал руководству @YellowApple и загрузил игру отредактированным Proton.
  • Сбой при настройке звука, однако настройки сохранились.
  • Сбой при выходе из учебника после успешного создания персонажа.
  • Со второй попытки удалось пропустить туториал и попасть на карту кампании.
  • Некоторое снижение производительности по сравнению с Windows, но в целом работает нормально.
  • Протестировано сохранение и, как уже говорилось, игра при этом зависает. Максимальный уровень процессора на моем 9700k составляет около 90%. Сохранение заняло около 35 секунд.

@tomhobson , вы сделали что-то конкретное, чтобы он

@kelytha Я использовал пропатченный протон. но я переименовал Bannerlord_BE.exe и Bannerlord.exe в ManagedStarter_BE.exe и ManagedStarter.exe соответственно.

Не лучше ли использовать ссылки с именами ManagedStarter.exe и ManagedStarter_BE.exe, если они обновляют исполняемые файлы?

@ Rogue-Factor новый файл журнала больше 10 ГБ: / Я собираюсь попробовать еще раз через некоторое время.

@sdegrace, он должен хорошо сжиматься. Попробуйте gz'ing это

Привет всем,
Я так долго ждал эту игру. В эту игру теперь можно играть?

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

Спасибо за ответ!!! Отличная работа, ребята !!!

К сожалению, игра не работает для меня, вылетает каждый раз, когда я меняю настройки графики, и иногда дает сбой, когда нужно нарисовать / загрузить сложную трехмерную сцену (экран меню или экран создания персонажа).
«Сбой приложения: приложение столкнулось с проблемой. Нам нужно собрать необходимые файлы, чтобы устранить проблему. Вы хотите загрузить эти файлы сейчас?»

Единственный раз, когда я добрался до экрана создания персонажа, представление было ужасным.
Но я предполагаю, что это, вероятно, проблема с драйвером на моей стороне, поскольку я использую Ubuntu 18.04 без экзотического ppa или без ручной установки драйверов.

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

На заметку: у меня есть 2 монитора, один из которых подключен к видеокарте, а другой к выходу материнской платы (обрабатывается графикой Intel HD). Основной монитор подключен к видеокарте nvidia, и игра отображается на основном мониторе.

Обновление: мне удалось изменить графические настройки, изменяя их один за другим без сбоев. Но по-прежнему много вылетает на экране создания персонажа: /

Хорошо, я создаю proton-tkg, который использует последнюю версию Wine Master, которой нужна только часть input (input.c) патча, предоставленного @YellowApple .
Затем я добавил символические ссылки, чтобы программа запуска работала, как предлагали @tomhobson и @ Krypton-Nova.

Игра пока работает с использованием RADV с ACO, и сохранение занимает около 15 секунд.
Однако изменение настроек приводит к сбою игры (по крайней мере, изменения в настройках сохраняются)

Процессор 3700X
Графический процессор Vega 56
RAM 32 ГБ
SSD samsung 860 evo 1 ТБ

Дистро:
Arch Linux

Ядро:
5.5.13-zen2-1-zen

Драйвер графического процессора:
меса-20.0.2

Обновление 2:

Хорошо, после запуска игры в течение 1 часа производительность на самом деле довольно хорошая (по сравнению с Windows), я получаю около 70 кадров в секунду на арене и очень хорошее время кадра, на карте мира его около 50-60 кадров в секунду с пиками времени кадра до 50 мс, в городе около 50-60 пфс со временем кадра до 10 мс, а во время реального боя я получаю около 60-80 пфс (в зависимости от карты) с хорошим временем кадра, но случайными скачками до> 100 мс (вероятно, компиляция шейдеров).

Кстати, играю на WQHD с настройками "очень высокий".

Хм ... Так что я попробовал собрать пропатченный, пока спал, не получилось. Я только что попробовал скачать вашу версию, @YellowApple , и она тоже не работает! : sob: (Не работает, я имею в виду, что моя мышь все еще не позволяет мне двигаться И нажимать на меню, еще не пробовал контроллер)

Я единственный, у кого это не сработало?

Могу подтвердить то же самое для GE Proton, работающего с патчем. Единственная проблема, которая у меня есть, это то, что каждый второй запуск или около того, мышь не будет работать снова. Придется перезапустить игру еще раз, чтобы она снова работала правильно.

@YellowApple Отличная работа !! :) Лично я думаю, что патч лучше подходит для винной постановки, чем для вина (а затем для отправки его в вилки, например, proton-ge и т. Д.), Поскольку вино довольно строго следит за тем, чтобы функция работала как можно ближе к окна.

Чтобы подать заявку на постановку вина, см. Здесь: https://wiki.winehq.org/Wine-Staging_Development. По сути, прикрепите патч к https://bugs.winehq.org/show_bug.cgi?id=36873 , объясните, почему вы думаете, что он должен идти на винную постановку вместо вина, а затем на CC Алистер и Зебедия (сопровождающие винной постановки) для им нужно изучить это и добавить к винной постановке.

А пока я попробую и посмотрю, смогу ли я реализовать тот, который отражает реализацию функции в Windows :)

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

В этом журнале я открыл Bannerlord, открыл существующее сохранение, сохранил игру, затем сохранил и вышел из игры. Видимо есть верхний предел количества ядер, которое требуется при сохранении - для меня это 14/16. Для меня это займет чуть меньше минуты. Других проблем пока не было.

У меня работает патч YellowApple! Теперь попробуем создать персонажа и учебник.

Поскольку я, кажется, единственный, для кого это не работает, я сделаю полное обновление системы, а затем попробую построить снова ... может быть, попробую GE proton. У меня есть идея от очень простой клавиатуры к виртуальному контроллеру, поэтому я займусь этим, если восстановление не заставит мою мышь работать.

@elovin Можете ли вы перечислить все требуемые исправления? Я хочу попробовать построить протон на основе рекомендации YellowApple. Не то чтобы я им не доверял, но я хочу иметь возможность делать это и помогать вносить свой вклад. В ветке было много патчей, поэтому, если вы не против перечислить те, которые вы использовали, я попробую сделать это.

@elovin Можете ли вы перечислить все требуемые исправления? Я хочу попробовать построить протон на основе рекомендации YellowApple. Не то чтобы я им не доверял, но я хочу иметь возможность делать это и помогать вносить свой вклад. В ветке было много патчей, поэтому, если вы не против перечислить те, которые вы использовали, я попробую сделать это.

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

/***********************************************************************
 * 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;
}

Патч от @YellowApple у меня тоже работает, большое спасибо.

Время загрузки по-прежнему ужасное, но игра вроде работает, по крайней мере, отчасти. То, что может показаться сбоем, иногда бывает просто экраном загрузки, который длится вечно lol.

Он очень хорошо работает на Manjaro, сохранение занимает около 5-10 секунд, но вычисление шейдера, кажется, вылетает в игре (примерно 1/5 шанса), когда я загружаю карту в первый раз. некоторые настройки вылетают из строя, но применяются после сбоя, так что это фин. СПАСИБО ЗА РАБОТУ!

@elovin Можете ли вы перечислить все требуемые исправления? Я хочу попробовать построить протон на основе рекомендации YellowApple. Не то чтобы я им не доверял, но я хочу иметь возможность делать это и помогать вносить свой вклад. В ветке было много патчей, поэтому, если вы не против перечислить те, которые вы использовали, я попробую сделать это.

Я использовал сценарий сборки из proton-tkg ( клонируйте репозиторий tkg PKGBUILD ) и добавил патч в wine-tkg-git / wine-tkg-userpatches / bannerlord.mypatch (tkg будет искать расширение файла "mypatch", так что да, вы должен на самом деле называть его как YOUR_PATCH_NAME.mypatch)

bannerlord.mypatch содержит только патч для input.c от

Я применил (мастеру винного git не нужен полный патч, предоставленный @YellowApple ):

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;

Хорошо, для будущих бесстрашных людей обратите внимание, что метод @elovin имеет следующее требование (на странице TKG)

«PKGBUILD будут работать только с дистрибутивами с доступом к pacman и makepkg», поэтому это может не подходить для дистрибутива на основе debian, если вы не захотите пойти дальше, чтобы настроить это.

Я попробую без него.

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

@aradapilot Насколько мне известно, по-прежнему требуется переименование, по крайней мере, для большинства людей, но это уже не первое переименование, которое позволяет обойти средство запуска.
Это переименование по-прежнему использует пусковую установку:
Переименуйте Bannerlord.exe и Bannerlord_BE.exe в ManagedStarter.exe и ManagedStarter_BE.exe.

На заметку всем заинтересованным: наконец-то мне удалось заставить "работать" с переименованным exe и обновленным протоном. Оказалось, что nvidia-driver-440 был обязательным, поскольку nvidia-driver-435 приводил к сбою почти 95% времени на экране создания персонажа. Выступления по-прежнему ужасны, но я еще не пробовал на Windows, поэтому не знаю, связано ли это с Linux или просто мой компьютер - полный мусор :)

Чтобы подать заявку на постановку вина, см. Здесь: https://wiki.winehq.org/Wine-Staging_Development. По сути, прикрепите патч к https://bugs.winehq.org/show_bug.cgi?id=36873 , объясните, почему вы думаете, что он должен идти на винную постановку вместо вина, а затем на CC Алистер и Зебедия (сопровождающие винной постановки) для им нужно изучить это и добавить к винной постановке.

Готово. Благодаря!

А пока я попробую и посмотрю, смогу ли я реализовать тот, который отражает реализацию функции в Windows :)

Сладкий. Я немного покопался в этом ранее, но мне трудно понять, как именно Wine получает ввод от мыши (и где это можно сохранить таким образом, чтобы это было полезно для GetMouseMovePointsEx). Я также не совсем уверен, что X11 (или Wayland, или Quartz, или множество других систем отображения, используемых с Wine) имеют эквивалентную функциональность.

Производительность у меня вполне нормальная с Mesa 20.0, RADV + ACO на графике AMD RX 580 (некоторые заикания, например, при переходе к новой сцене, но они быстро исчезают). Единственная проблема, с которой я столкнулся с этим до сих пор после исправления, чтобы заставить работать мышь, - это задержка сохранения игры.

@craftyguy Сколько у вас оперативной памяти? Игра отлично работает у меня около 30 минут, но после этого производительность начинает быстро ухудшаться, а использование оперативной памяти начинает расти. У меня только 8 ГБ, поэтому пытаюсь выяснить, не в этом ли проблема.

@tkamat Я заметил, что "устойчивое состояние" использования ОЗУ в игре составляет около 19-20 ГБ на моей машине (которая имеет 32 ГБ). Это не зависит от настроек графики (пробовал как абсолютный, так и самый низкий).

Хорошо, для будущих бесстрашных людей обратите внимание, что метод @elovin имеет следующее требование (на странице TKG)

«PKGBUILD будут работать только с дистрибутивами с доступом к pacman и makepkg», поэтому это может не подходить для дистрибутива на основе debian, если вы не захотите пойти дальше, чтобы настроить это.

Я попробую без него.

Вы можете запустить makepkg внутри док-контейнера Arch Linux (возможно, я сделаю для этого простой скрипт), а затем распаковать протонную версию из полученного tar-шара (пакеты Arch - это просто tar-шары).
Я сам распаковываю протонную версию и не устанавливаю ее на всю систему.

@tkamat Второй комментарий @YellowApple . У меня также есть 32 ГБ, и я заметил, что при запуске игры он используется примерно до 20 ГБ.

Итак, похоже, что ваши проблемы с производительностью связаны с доступной оперативной памятью. Это кажется не по теме, поскольку, скорее всего, проблема связана с самой игрой, а не с proton / wine ..

Итак, похоже, что protontricks 261550 dotnet48 значительно улучшает зависание при сохранении (игра зависает на несколько секунд вместо нескольких минут). Спасибо пользователю reddit / u / TheCaconym за отчет!

Кроме того, в какой-то момент Steam обновил игру и убрал мои переименования, но, тем не менее, программа запуска работала из коробки. Даже не нужно было переименовывать Bannerlord.exeManagedStarter.exe .

До начала сезона сбора урожая ™ осталось меньше недели, а Bannerlord уже близок к паритету между Linux и Windows. Ура!

Как только эти пятна появятся, масло начнет течь свободно.

@YellowApple

Мне сложно понять, как именно Wine получает ввод от мыши

Он отправляет его на сервер, обычно через send_hardware_message в dlls / user32 / message.c, и позиция курсора в конечном итоге будет отправлена ​​на update_desktop_cursor_pos . Вероятно, именно здесь мы должны добавить реализацию, возможно, в новую функцию (возможно, используя статический кольцевой буфер для хранения 64 записей?).

Досадной частью было бы объявление нового запроса сервера на получение позиций курсора. Я не делал этого раньше, но думаю, дело в том, чтобы создать его в queue.c + request.h, указать в protocol.def, а затем запустить tools/make_requests ?

Затем возникает вопрос: следует ли делегировать задачу фильтрации позиций курсора серверу или в пользовательском пространстве? Я бы лично выбрал последнее, но, поскольку это довольно много записей (вероятно, ~ 1 КБ или около того данных для отправки), а код фильтрации не будет слишком сложным, возможно, стоит сделать это на сервере.

Могу подтвердить, что dotnet48 ускоряет экономию.
Я был одним из счастливчиков, где сохранение заняло всего около 10 секунд, но теперь оно занимает около 2 секунд.

@ albin-engstrom он у вас установлен на SSD или HDD? Иногда замечает очень долгую загрузку между сценами. В данный момент устанавливается dotnet48.

Чем дольше я играю, тем хуже производительность. Надеюсь, это просто ошибка в игре.

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

@nilleairbar На твердотельном накопителе NVMe, поэтому он довольно быстрый. Но не похоже, что, по крайней мере, время сохранения связано с чтением или записью, это скорее процессор, который действительно работает. Он снизился с 30% загрузки во время игры до 60% во время сохранения.
Так что это может быть более мощный процессор (3900X), что в некоторой степени привело к сокращению времени сохранения.

@ albin-engstrom, может быть. С dotnet48 и i7 8700K экономия и здесь занимает менее двух секунд.

Я использую 1700X, и теперь после установки dotnet48 сохранение занимает от 20 до 30 секунд вместо 2–3 минут, но теперь производительность снижается на некоторое время после сохранения.

Я получаю аналогичные результаты на более старом i5, около 30 секунд, чтобы сэкономить сейчас

Итак, теперь у меня внезапно вылетает ( wine: Unhandled page fault on execute access to 00000000007501C8 at address 00000000007501C8 (thread 0042), starting debugger... ), как только я добираюсь до экрана заключенных после битвы. Еще не уверен, является ли это результатом использования dotnet48 . Также еще не уверен, влияет ли это на все битвы или только на битвы с этой конкретной группой мародеров (или с мародерами в целом). Как только я сузлю круг вопросов, я поставлю несколько журналов.

@YellowApple Я участвовал в нескольких битвах с мародерами, и это не привело к

Максимально «для идиотов» дружелюбный подход:

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

Игра работает нормально, пока я не попробую переключить настройку «показывать направление атаки» в меню.
Игра вылетает сразу после закрытия меню, появляется сообщение Steam «вы добавили ошибку, пожалуйста, загрузите свои журналы». Когда окно закрывается, Steam по-прежнему считает, что игра запущена, поэтому я не могу запустить ее снова через Steam.

Я использую https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz для протона

Системная информация:
ЯДРО: 5.5.13-arch2-1
ОС: Arch Linux
Процессор: AMD Ryzen 7 3700X 8-ядерный
Графический процессор: AMD NAVI10
ДРАЙВЕР GPU: 4.6 Mesa 20.0.2
Оперативная память: 32 ГБ

Игра работает нормально, пока я не попробую переключить настройку «показывать направление атаки» в меню.
Игра вылетает сразу после закрытия меню, появляется сообщение Steam «вы добавили ошибку, пожалуйста, загрузите свои журналы». Когда окно закрывается, Steam по-прежнему считает, что игра запущена, поэтому я не могу запустить ее снова через Steam.

Я использую https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz для протона

Системная информация:
ЯДРО: 5.5.13-arch2-1
ОС: Arch Linux
Процессор: AMD Ryzen 7 3700X 8-ядерный
Графический процессор: AMD NAVI10
ДРАЙВЕР GPU: 4.6 Mesa 20.0.2
Оперативная память: 32 ГБ

У меня в начале было несколько сбоев при изменении настроек видео, просто убейте процесс и снова запустите игру.

Отчет: Игра работает нормально и сохраняется примерно через 1 минуту на моей машине. Используем обходной путь и переименовываем в «Управляемый». На экране яркости я выбрал хорошие настройки, а затем вышел из игры в главном меню. Затем я прошел обучение, изменил некоторые дополнительные настройки, и большинство настроек графики все еще на высоком уровне. Производительность так себе (примерно 30-40 FPS). У меня пока не было сбоев, но я только что вышел из учебника и столкнулся с беженцами. Спасибо всем, разработчикам, тестировщикам, Valve и Taleworlds за то, что привели нас сюда.

Системная информация:
ОС: Debian 10 (buster)
Оперативная память: 16 ГБ
Процессор: Ryzen 2700X
Графический процессор: AMD 580X
Драйвер: Debian 10 (Mesa 18.3.6)

Игра работает нормально, пока я не попробую переключить настройку «показывать направление атаки» в меню.
Игра вылетает сразу после закрытия меню, появляется сообщение Steam «вы добавили ошибку, пожалуйста, загрузите свои журналы». Когда окно закрывается, Steam по-прежнему считает, что игра запущена, поэтому я не могу запустить ее снова через Steam.
Я использую https://yellowapple-misc.s3-us-west-2.amazonaws.com/proton_5.0-local.tar.gz для протона
Системная информация:
ЯДРО: 5.5.13-arch2-1
ОС: Arch Linux
Процессор: AMD Ryzen 7 3700X 8-ядерный
Графический процессор: AMD NAVI10
ДРАЙВЕР GPU: 4.6 Mesa 20.0.2
Оперативная память: 32 ГБ

У меня в начале было несколько сбоев при изменении настроек видео, просто убейте процесс и снова запустите игру.

Я отключил процесс Steam и снова запустил bannerlord, но на удивление измененные настройки остались измененными.

@elovin Только что пытался противостоять группе горных бандитов, и она терпит крах в том же месте. Логи для справки: steam-261550.log (исключает +seh потому что с dotnet48 рассылался спам разного рода).

Попробую новый префикс с тем же сохранением и без dotnet48 и посмотрю, сохраняется ли проблема. Если этого не произойдет, то, думаю, нам придется либо устранять ошибки .NET, либо мы вернемся к чертежной доске с этими долгими временами сохранения.

@ onodera-punpun Если вы можете добавить PROTON_LOG=1 к параметрам запуска и предоставить полученный результат ~/steam-261550.log , это будет полезно.

@YellowApple после установки dotnet48 с помощью winetricks я получаю сообщение при загрузке моей последней игры «Загрузить игру, сохраненную с разными модулями» или что-то в этом роде, так что, возможно, новая игра работает.

Время сохранения не улучшилось для меня, все еще около 15 секунд, и пока нет сбоев, борьба с мародерами

@elovin это стандартное сообщение после загрузки сохранения 1.0.0 после обновления до 1.0.1; возможно, это происхождение (актуально только в том случае, если окажется, что вы загрузили сохранение 1.0.0 после dotnet48, и вы уже обновились до 1.0.1)?

@YellowApple, чего бы он ни стоил, с моим префиксом dotnet48 я не получаю сбоев при переходе к экрану заключенных после битвы (провел многочисленные сражения с множеством заключенных). Большинство моих сражений до сих пор велось с мародерами, а не с горными бандитами.

@ onodera-punpun Странно, ничего не торчит. У вас случайно нет подключенных контроллеров или чего-либо еще, что могло бы мешать, верно?

@elovin Думаю, это связано с обновленными версиями игры (только что выпала 1.0.2).

@ElCaconym Это хорошо. То же самое сохранение под новым префиксом, отличным от dotnet48 дает сбой при тех же условиях, так что, по крайней мере, я могу это исключить. Скорее всего, просто поврежденное сохранение (что, кажется, является распространенной проблемой даже в Windows, если на форумах есть какие-то ссылки). (РЕДАКТИРОВАТЬ: и действительно, в новой игре с dotnet48 я могу брать пленных без сбоев, по крайней мере, сейчас)

@YellowApple Я подумал, что это мог быть мой оконный менеджер, поэтому я попытался запустить игру в экземпляре X без какого-либо WM, но это не устранило проблему. У меня просто обычная USB клавиатура и мышь, больше ничего.

РЕДАКТИРОВАТЬ: Я установил brightness_calibrated в конфигурации движка на 1, чтобы перейти прямо к меню, и там тоже щелчок ничего не делает.

EDIT2: я отключил enable steam play for all other titles , похоже, это исправило. Каким-то образом это перезаписало использование моего принудительно установленного кастомного протона ....

У кого-нибудь еще возникают проблемы с входом в систему при любой попытке запустить многопользовательский режим? Он просто продолжает кидать мне сообщения о неудачном входе в систему после долгого ожидания.

@YellowApple @ElCaconym Да вы правы из-за обновления.

У кого-нибудь еще возникают проблемы с входом в систему при любой попытке запустить многопользовательский режим? Он просто продолжает кидать мне сообщения о неудачном входе в систему после долгого ожидания.

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

Каковы шансы, что у нас когда-нибудь появится многопользовательский режим на Bannerlord? Раньше я все время играл в Warband онлайн в Ubuntu.

Так вот, я увидел заметку о dotnet48 и установил ее, в то же время я заметил, что Steam обновил игру до 1.0.2, и теперь он заикается на любой графике, превышающей минимальную (получил 1070) и постоянно вылетает, просто перемещаясь в открытом мире. annnnd, потому что здесь две переменные, я не могу сказать, вызвало ли это патч или дотнет. есть подсказка, что искать? или как сбросить мой протонный env без dotnet для тестирования?

@aradapilot : Я отлично работаю на dotnet48 + 1.0.2 (без проблем играл около 30 минут). Возможно, проблема с коррупцией? может попробовать новую игру временно для подтверждения? 1070 здесь тоже.

@aradapilot да, я только что провел небольшое тестирование, и кажется, что хотя dotnet48 значительно сокращает время сохранения, он также вызывает огромное количество заиканий после сохранения, и это длится, пока вы не перезапустите игру. В то время как без dotnet48 игра работает очень гладко до и после сохранения. IDK, если эта проблема затронет только людей с менее мощными системами / только 8 ГБ ОЗУ, но да, это супер странно.

Хорошо, после перезапуска ПК игра вылетает, когда в конце любого боя и время загрузки улучшилось, винный сервер не выходит, если вы выходите из игры?

@tkamat получил здесь

@aradapilot У меня такая же проблема
@ElCaconym Были ли
@tkamat Да, при первом входе в игру до первого сохранения запускается как положено. У меня мощная система на 32 ГБ, и она все еще начинает заикаться на очень низких настройках, поэтому я не думаю, что ваша система вызывает это

@tkamat Я тоже это заметил. Кажется, в первую очередь ограничивается просмотром карты; драки, прогулки по городам / деревням и т.д. кажутся лучше.

@elovin Интересно. Это уже существующее сохранение или новая кампания?

@aradapilot К сожалению, нет простого способа отменить что-то установленное с помощью protontricks . Лучше всего сделать резервную копию ваших сохранений, удалить или переименовать ~/.steam/steam/steamapps/compatdata/261550 , запустить игру один раз, чтобы восстановить все, и скопировать свои сохранения.

@elovin wineserver _должен_ в конце концов остановиться; иногда нет (особенно когда происходит сбой / приложение зависает при выходе). Чтобы убедиться в этом, можно использовать команду «killall wineserver» или «wineserver -k» (с правильным WINEPREFIX, определенным в последнем случае).

@ simi2525 ничего не приходит в голову; чистый префикс вина, используя только dotnet48. Я использую вино напрямую вместо протона, но это не должно иметь никакого влияния.

У кого-нибудь еще возникают проблемы с входом в систему при любой попытке запустить многопользовательский режим? Он просто продолжает кидать мне сообщения о неудачном входе в систему после долгого ожидания.

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

Каковы шансы, что у нас когда-нибудь появится многопользовательский режим на Bannerlord? Раньше я все время играл в Warband онлайн в Ubuntu.

Игра работала несколько патчей после добавления Battleye, потому что они по-прежнему позволяют вам присоединяться к играм без его включения. Последние две недели - это когда закрытая бета-версия перестала работать в Linux, вероятно, по времени, когда они сделали Battleye обязательным. Я думаю, что лучшее, на что мы можем надеяться, если не считать родного выпуска Linux, - это переопределить проверку боевого глаза для винных установок или переключиться на VAC. Совместимость с протонами Battleye, вероятно, не обсуждается, так как она вносит некоторую колдовство в ядерное пространство.

@YellowApple, это уже существующее сохранение, я начал новую игру, и теперь она больше не вылетает.

Есть идеи, где находятся файлы сохранения, ха-ха?

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

Я написал несколько быстрых сценариев для автоматизации различных работ, обсуждаемых здесь и на ProtonDB , не

@YellowApple WineHQ считает, что это причина проблемы ввода; если это то, что вы исправили, можете ли вы разместить там перекрестную публикацию?
РЕДАКТИРОВАТЬ: Nevermind, кажется, у вас уже есть. :)

Прежде чем люди удалят свои протонные префиксы, убедитесь, что ни одна игра не настроена на использование указанного префикса, поскольку, если я правильно помню, это вызовет проблемы.

Спасибо всем за вашу работу над этим. Приятно видеть, как сообщество Linux может быстро устранять неполадки и отправлять исправления вверх по течению! Я скомпилировал модифицированную протонную версию на основе ранее опубликованного руководства, и она отлично работает.

Для меня сохранение также заняло некоторое время без dotnet48, но установка этой библиотеки исправила и это для меня. Я столкнулся с некоторыми проблемами производительности, о которых уже говорили другие. Вчера вечером я заметил, что мой файл xorg-session.log чрезмерно увеличился до 25 ГБ. Мне не удалось проверить, связана ли эта проблема с Bannerlord. Вечером еще опробую.

Я написал несколько быстрых сценариев для автоматизации различных работ, обсуждаемых здесь и на ProtonDB , не

* [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)

Разве яркость экрана не была бы исправлена ​​с исправлением курсора мыши? По крайней мере, для меня.

Может быть, кто-то сможет это протестировать, но прямо сейчас посещение любой кузницы приводит к повреждению сохранения, так что я получаю в среднем 15 кадров в секунду, но только на карте кампании, все остальное работает нормально.

Изменить: это сохраняется после перезапуска игры или компьютера.

Я действительно был в кузнице, и ничего примечательного не произошло.
(Использование протонной сборки yellowapple и 32 ГБ оперативной памяти)

EDIT2: я отключил enable steam play for all other titles , похоже, это исправило. Каким-то образом это перезаписало использование моего принудительно установленного кастомного протона ....

Черт возьми ... Это была моя проблема все время! Теперь патчи у меня работают! Я даже позволяю своим файлам проверяться на ночь, чтобы избавиться от переименований, и даже программа запуска работает.

Я пробовал Proton от YellowApple, установил dotnet48, но после создания персонажа мой WM все равно вылетает.

/редактировать
Вот обнаруженная мной ошибка сбоя WM, связанная с этим. Когда это не приводит к сбою моего WM, вся система зависает. i5-3570k, AMD RX 580 и 32 ГБ ОЗУ

ядро: [34245.701791] [ drm: amdgpu_job_timedout [amdgpu]] ERROR ring gfx timeout, но мягкое восстановление

Я могу подтвердить, что добавление dotnet48 устранило мою проблему с сохранением времени. После нескольких часов игры при максимальной загрузке ЦП он уменьшился с 60-х в начале до 90-х + до <20 секунд, и ЦП больше не загружается во время сохранения.

Теперь на карте кампании есть постоянные микрорельефы, которых раньше не было, но в битвах, похоже, нет проблем. Раздражает, но определенно можно играть в этом состоянии. 32GB RAM / 1070ti, предположительно, это не спецификации, но я попробую поиграть с некоторыми опциями позже.

@evopls, это в основном та же проблема, с которой я столкнулся. Плохой fps и микростаттер на карте кампании, со всеми остальными сценами практически никаких проблем. Я использую 1070 с 16 ГБ ОЗУ.

Изменить: Хорошо, была ли новая версия Proton через wine-tkg с патчем, включенным в Wine-staging, теперь работает из коробки. Без установленного dotnet48 все гладко, кроме сохранения (уже обсуждаемые вопросы). Установим dotnet48 сейчас, чтобы увидеть, не является ли это причиной заикания на карте кампании.

@nilleairbar Я заметил, что заикание исчезло, когда я перезапускаю игру, но затем самое первое сохранение (вручную или через автосохранение) запускает его снова. Параметры производительности не имели значения.

@ekaats

Разве яркость экрана не была бы исправлена ​​с исправлением курсора мыши? По крайней мере, для меня.

Да, это так. Три строки конфигурации, которые я изменяю с помощью config-bannerlord-for-linux.bash были созданы до того, как исправление ввода было доступно. Я прокомментирую устаревшие части скрипта.

Спасибо за сценарий @MilesBHuff , действительно полезный, и он действительно позволяет мне попасть в главное меню.
Я пытался собрать информацию, пока нельзя играть в Кампанию, верно? Кому-то это удалось, дело в последних патчах?

@ Haywire-dev в Кампанию вполне можно играть. Самая большая проблема - это "ошибка" сохранения, из-за которой сохранение занимает до нескольких минут. Установка dotnet48 с помощью protontricks или аналогичных средств облегчает, но может привести к некоторым проблемам с производительностью на карте кампании (см. Сообщения my или evopls).

Изменить: О, и забыл упомянуть, конечно, вам нужна версия Proton, которая либо включает в себя патч для вина, упомянутый в этом выпуске, либо основана на самой последней версии винной постановки, которая поставляется с примененным патчем.

@nilleairbar

Изменить: О, и забыл упомянуть, конечно, вам нужна версия Proton, которая либо включает в себя патч для вина, упомянутый в этом выпуске, либо основана на самой последней версии винной постановки, которая поставляется с примененным патчем.

Я уверен, что получу за это зенитку, но как мне убедиться, что у меня правильный Протон? Я дошел до создания персонажа до того, как игра / WM / компьютер вылетят. Я предполагаю, что 5.0-местный из OP / YellowApple НЕ имеет этого (пока)?

У меня тоже случаются сбои при просмотре меню / создании персонажа. В конечном итоге кажется, что это работает довольно шатко, и мышь явно не работает, по крайней мере, в меню. Еще не тестировал в игре.

Я уверен, что получу за это зенитку, но как мне убедиться, что у меня правильный Протон? Я дошел до создания персонажа до того, как игра / WM / компьютер вылетят.

Прямо сейчас самая простая версия - использовать версию Proton @YellowApple . Самым безопасным вариантом было бы создать его самостоятельно, используя что-то вроде https://github.com/Frogging-Family/wine-tkg-git.

Прямо сейчас самая простая версия - использовать версию Proton @YellowApple . Самым безопасным вариантом было бы создать его самостоятельно, используя что-то вроде https://github.com/Frogging-Family/wine-tkg-git.

Да, в настоящее время я использую Proton от YellowApple и переименовал два файла .exe, но все еще не могу обойтись без создания персонажа. Я сейчас смотрю на винные tkg, может быть, это поможет.

В противном случае я просто слежу за этим, чтобы попробовать что-нибудь еще.

@evopls, если вам интересно, только что провел некоторое тестирование, и, похоже, заикание вызвано dotnet48. Я пока поиграю без него, и у меня будет довольно долгое время сохранения вместо того заикания на карте кампании.

Dotnet48 полностью разрушает его для меня ... Я больше не могу даже запустить игру. Я удалил, но все еще сталкиваюсь с теми же проблемами экрана кампании, что и другие.

Просто из любопытства @ Foobar1923, какой у вас графический драйвер?

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

@SylvainSoKette

Я использую стоковый amdgpu. Я обновил свои wine / winetricks / wine-staging и т. Д., И mesa (должна) быть актуальной, как и vulkan.

Есть ли предположения относительно того, сколько времени пройдет, пока эти патчи не будут втянуты в Proton, теперь, когда некоторые из них начинают попадать в апстрим Wine?

@CrafterSvK Уверен, что в Proton 5.0 это значение по умолчанию, не так ли?

@CrafterSvK Уверен, что в Proton 5.0 это значение по умолчанию, не так ли?

Да я забыл. В любом случае, каждый раз, когда я нажимаю кнопку «Продолжить» в конце боя, игра вылетает.

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

Все остальные здесь используют безопасный режим?

Я еще не пробовал безопасный режим; что он на самом деле делает? Я предполагаю, что (как и в большинстве игр) он просто отключил бы настройки графики, но теперь вы задаетесь вопросом, выполняет ли он дополнительную обработку исключений или проверку безопасности во время выполнения.

РЕДАКТИРОВАТЬ: пошел дальше и попробовал. Похоже, он просто сбрасывает engine_config.txt до значений по умолчанию. Даже не отключает моды.

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

Все остальные здесь используют безопасный режим?

Я бы хотя бы попробовал, но такой возможности у меня нет. Просто вылет WM / PC.

Я тестировал некоторые вещи и до сих пор пришел к тем же выводам, что и остальные. dotnet48, похоже, решает проблему сохранения, но делает остальную часть игры менее стабильной.

С dotnet48 у меня были вылеты при сохранении, загрузке, входе в битвы и города. Некоторые из них вылетали на рабочий стол, некоторые зависали в процессе.

Без dotnet48 я действительно мог играть без многих дополнительных проблем, просто при сохранении загрузка ЦП снижается до 100% в течение 1:40 минут (на Ryzen 1700). После этого все возвращается в норму, и я могу продолжать нормально.

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

Сейчас я тестирую с установленным Redistributable для Visual Studio 2017. Пока это не имеет никакого значения.

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

То же самое и в безопасном режиме на моей машине.

@Xxdzs У меня они тоже есть, так как я использую dotnet48, но только если я сразу открою меню после загрузки. Если я сначала немного поиграю, игра будет очень стабильной.

В целом, небольшое заикание на карте кампании кажется мне намного лучше, чем все более долгое время сохранения без dotnet48, но, вероятно, это личное предпочтение. Не уверен, какую из этих двух проблем будет легче исправить.

Провел некоторое тестирование без dotnet48 и в обход пусковой установки.

Определенно, некоторые меню все еще вылетают из строя, иногда сохранение вылетает после того, как прошло более 45 секунд. Карта кампании работает отлично, практически без задержек, хотя определенно происходит что-то необычное, когда игра загружает определенные ресурсы и меню. Если бы друг попробовал это на своем процессоре Intel, мы оба наблюдали небольшие всплески загрузки процессора при попытке доступа к определенным меню вместе с обычными задержками.

Отключение разброса подпространства, похоже, помогает в определенных областях с dotnet48, хотя наличие этого исправления определенно кажется более стабильным по сравнению с без dotnet48.

РЕДАКТИРОВАТЬ: Хорошо, неважно, хоть и немного помогая со стабильностью, игра по-прежнему для меня по большей части нестабильна. Примерно после 4-5 игровых диалогов игра зависает и вылетает.

Каждый сбой указывает мне на 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?)

2-е РЕДАКТИРОВАНИЕ:

После изменения некоторых вещей и установки патчей из tkg, стабильно работает довольно хорошо, хотя моя производительность на карте кампании находится в подростковом возрасте с серьезным заиканием в 80% случаев, независимо от того, какие более низкие графические настройки выбраны.

Похоже, здесь все утихло, что должно означать, что большинству из нас нравится игра. Я работаю на довольно мощной установке без dotnet48, и за исключением ~ 30 секунд сохранения, я не испытал ни одного сбоя.

Должно быть приятно, хотя из того, что я видел, есть множество людей, которые либо сильно заикаются на карте кампании, диалоговые меню / сохранения вызывают CTD и коррумпированные сохранения, а некоторые избранные вообще не могут войти в кузницу.

Для меня разговор с бандитами приводит к CTD в 10% случаев, я получаю сильное заикание на карте кампании, но битвы проходят более гладко, чем на Windows-машине моего друга, за исключением того, что время от времени икота.

Мы надеемся, что со временем все уладится, и он будет в раннем доступе. В конце концов, мы наблюдаем множество подобных проблем и в Windows. Поэтому я удивлен, что Bannerlord работает так же хорошо, как и на WINE, как сейчас.

Игра работает хорошо, но я застреваю на бесконечных экранах загрузки и получаю эту ошибку
error

Похоже, здесь все утихло, что должно означать, что большинству из нас нравится игра. Я работаю на довольно мощной установке без dotnet48, и за исключением ~ 30 секунд сохранения, я не испытал ни одного сбоя.

Должно быть приятно, хотя из того, что я видел, есть множество людей, которые либо сильно заикаются на карте кампании, диалоговые меню / сохранения вызывают CTD и коррумпированные сохранения, а некоторые избранные вообще не могут войти в кузницу.

Для меня разговор с бандитами приводит к CTD в 10% случаев, я получаю сильное заикание на карте кампании, но битвы проходят более гладко, чем на Windows-машине моего друга, за исключением того, что время от времени икота.

Мы надеемся, что со временем все уладится, и он будет в раннем доступе. В конце концов, мы наблюдаем множество подобных проблем и в Windows. Поэтому я удивлен, что Bannerlord работает так же хорошо, как и на WINE, как сейчас.

Вы пробовали тестировать с полностью чистой протонной средой? Вы можете запустить protontricks 261550 annihilate . Это не удалит ваши сохранения. Прошу прощения, если этот совет сродни «пробовали ли вы выключить и снова включить его», но он мне помог.

Я не сталкивался со сбоями во время игры без dotnet48, за исключением попыток изменить настройки, что приводило к немедленному сбою.

@ mjm2000 В игре много собственных ошибок. Я тоже сталкивался с бесконечными экранами загрузки на Windows 10

@montyubuntu - игра пропатчена до последней версии? Проблемы с ManagedStarter возникали только у меня и других (я полагаю) в версии e1.0.0.0

@montyubuntu - игра пропатчена до последней версии? Проблемы с ManagedStarter возникали только у меня и других (я полагаю) в версии e1.0.0.0

Я только что проверил, и исправление мыши теперь включено в Wine-staging. У меня программа запуска по-прежнему не работает, поэтому мне пришлось заменить исполняемый файл программы запуска на настоящий исполняемый файл игры.

Я рекомендую обратиться за помощью на форумы - давайте оставим эту проблему только для исследования проблем с игрой, а не для поддержки. Сейчас это работает довольно много людей, поэтому вполне вероятно, что с вашей настройкой что-то не так.

Интересно, что на официальных форумах Taleworlds есть известная проблема (я имею в виду Windows):

Stuttering camera movement on the Campaign Map is under investigation.

Это может означать, что проблема, с которой сталкиваются некоторые люди с dotnet48, не связана или не полностью связана с вином. Также есть многочисленные сообщения о том, что игра все больше заикается по мере выполнения кампании, особенно если вы часто сохраняете и перезагружаете; до 1.0.2 перезагрузка и сохранение 45 раз также гарантировали, что дальнейшая перезагрузка данного сохранения приведет к сбою игры. В то время как 1.0.3 должна была исправить эту проблему раздувания / повреждения сохраненной игры, есть также много сообщений о том, что этого не было (данная кампания длится немного дольше с 1.0.3, но, по-видимому, это все).

Хорошо, может быть, я нашел исправление заикания кампании. Конечно, потребуется больший размер выборки, чем мне. Вот как я исправил это на новой приставке:

  • Собери свою собственную версию Proton (tkg) из исходников с новейшей сборкой Wine-staging, которая включает исправление курсора мыши
  • Установил dotnet40 через protontricks
  • Установлен vcrun2015 (см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Установлен dotnet48
  • Установлен vcrun2017 (снова см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Теперь у меня нет заикания на карте кампании, фиксированный курсор мыши и сохранение занимает несколько секунд. Возможно, стоит попробовать, чтобы кто-нибудь еще попробовал это.

Хорошо, может быть, я нашел исправление заикания кампании. Конечно, потребуется больший размер выборки, чем мне. Вот как я исправил это на новой приставке:

  • Собери свою собственную версию Proton (tkg) из исходников с новейшей сборкой Wine-staging, которая включает исправление курсора мыши
  • Установил dotnet40 через protontricks
  • Установлен vcrun2015 (см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Установлен dotnet48
  • Установлен vcrun2017 (снова см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Теперь у меня нет заикания на карте кампании, фиксированный курсор мыши и сохранение занимает несколько секунд. Возможно, стоит попробовать, чтобы кто-нибудь еще попробовал это.

Я пробовал это с 1.0.3, и производительность в одних областях была хуже, в других - лучше.

после обновления до 1.0.4 вся игра рунится безупречно, это невероятно.

@nilleairbar Только что попробовал, и все заикание у меня исчезло с сохранением <3 секунд! Вы гений, спасибо, что узнали это. Как ни странно, все эти пакеты были установлены на моем последнем префиксе, но я не использовал proton-tkg и устанавливал их в другом порядке, так что, возможно, одна из этих вещей имеет значение. В любом случае, это была одна из самых странных проблем, с которыми я сталкивался некоторое время, и, надеюсь, эти исправления в конечном итоге будут перенесены в восходящий поток Wine / Proton.

Хорошо, может быть, я нашел исправление заикания кампании. Конечно, потребуется больший размер выборки, чем мне. Вот как я исправил это на новой приставке:

  • Собери свою собственную версию Proton (tkg) из исходников с новейшей сборкой Wine-staging, которая включает исправление курсора мыши
  • Установил dotnet40 через protontricks
  • Установлен vcrun2015 (см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Установлен dotnet48
  • Установлен vcrun2017 (снова см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Теперь у меня нет заикания на карте кампании, фиксированный курсор мыши и сохранение занимает несколько секунд. Возможно, стоит попробовать, чтобы кто-нибудь еще попробовал это.

Я пробовал это с 1.0.3, и производительность в одних областях была хуже, в других - лучше.

после обновления до 1.0.4 вся игра рунится безупречно, это невероятно.

Как установить 2017 после 2015? Я получаю ошибки в установщике 2017 года о том, что уже установлена ​​другая версия. Я даже не знаю, как удалить 2015 сейчас.

Похоже, что Steam (по крайней мере, через Proton) предварительно устанавливает среды выполнения VC 2015 и 2017 годов. Я тоже получаю эти ошибки сейчас (хотя я уже давно не пробовал).

С другой стороны, похоже, что обновление до 1.0.4 существенно ухудшило ситуацию с точки зрения частоты кадров карты (РЕДАКТИРОВАТЬ: забыл уточнить это только тогда, когда время идет; в паузе оно работает со скоростью около 30 кадров в секунду). Кажется, что-то сломалось с многопоточностью; В соответствии с DXVK HUD загрузка графического процессора составляет 1%, и, похоже, только одно ядро ​​работает одновременно. Кроме того, очевидно, что htop сообщает, что игра теперь использует 1,2 ТБ ОЗУ, что одновременно ужасно и увлекательно:

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

Хотя может быть модом (раз уж я их тестировал). Возможно, снова что-то не так с моей сохраненной игрой. Журналы не показывают никаких конкретных дымящихся ружей.

EDIT: оказывается, что заикание было из-за мода ClanTweaker. Некоторые люди тоже жаловались на падение частоты кадров, хотя и не так сильно, как я.

Размер виртуальной памяти 1,2 ТБ вызывает небольшое беспокойство и может указывать на утечку памяти, но почти ничего из этого не отображается на физических страницах (т.е. фактической ОЗУ) - вы используете только 17 из 32 ГБ ОЗУ. Так что в некотором смысле это безвредно, если процесс не будет запрашивать больше виртуальной памяти, тогда у него могут закончиться 64-битные адреса и произойдет сбой.

Похоже, что Steam (по крайней мере, через Proton) предварительно устанавливает среды выполнения VC 2015 и 2017 годов. Я тоже получаю эти ошибки сейчас (хотя я уже давно не пробовал).

С другой стороны, мне кажется, что обновление до 1.0.4 существенно ухудшило ситуацию с точки зрения частоты кадров карты. Кажется, что-то сломалось с многопоточностью; В соответствии с DXVK HUD загрузка графического процессора составляет 1%, и, похоже, только одно ядро ​​работает одновременно. Кроме того, очевидно, что htop сообщает, что игра теперь использует 1,2 ТБ ОЗУ, что одновременно ужасно и увлекательно:

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

Хотя может быть модом (раз уж я их тестировал). Возможно, снова что-то не так с моей сохраненной игрой. Журналы не показывают никаких конкретных дымящихся ружей.

Я только что заметил этот комментарий на Reddit:

«Да, это тоже случилось со мной, он переключился на мою Intel, а не на Nvidia (и даже это дает мне всего 128 МБ энергии, ну как?), И я не могу вернуть это обратно.
Мне очень жаль слышать, что такое случается и с тобой, приятель, но, с другой стороны, я чувствую себя лучше, чем моя Nvidia не сгорела xD ».

Похоже, игра пытается использовать встроенную графику на процессоре этого пользователя. Интересно

Эта машина вообще не имеет встроенного графического процессора, так что, увы, это не кажется вероятным виновником.

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

Видно мое отсутствие знаний о Linux, но это решение предназначено только для пользователей Arch, верно? Единственное, что я нашел для "Proton version (tkg)", что это, и это относится к PKGBUILDS, которые являются аркой, верно? Есть ли способ сделать то же самое на kde neon (база ubuntu 18.04)?

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

Видно мое отсутствие знаний о Linux, но это решение предназначено только для пользователей Arch, верно? Единственное, что я нашел для "Proton version (tkg)", что это, и это относится к PKGBUILDS, которые являются аркой, верно? Есть ли способ сделать то же самое на kde neon (база ubuntu 18.04)?

Да, это арка. Я заметил в ридми, что он сказал, что это возможно без Arch, просто, может быть, немного сложнее.

Кроме того, пару часов назад возникла ошибка с proton-tkg, из-за которой сборка в любом случае невозможна.

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

Видно мое отсутствие знаний о Linux, но это решение предназначено только для пользователей Arch, верно? Единственное, что я нашел для "Proton version (tkg)", что это, и это относится к PKGBUILDS, которые являются аркой, верно? Есть ли способ сделать то же самое на kde neon (база ubuntu 18.04)?

Да, это арка. Я заметил в ридми, что он сказал, что это возможно без Arch, просто, может быть, немного сложнее.

Кроме того, пару часов назад возникла ошибка с proton-tkg, из-за которой сборка в любом случае невозможна.

Это архаичная штука, но исполняемый файл создает только архив, который вы можете распаковать, где захотите (например, в каталоге, предложенном в основном комментарии, в разделе «Текущее решение»). Если у вас есть Arch, он может сделать это автоматически, но это не большой шаг. Проблема с ним была решена в течение часа, и теперь он работает нормально.

Привет,
Благодаря работе @YellowApple я смог скомпилировать рабочий proton-tkg на ubuntu, выполнил шаги @nilleairbar и смог играть в игру.

nvidia gtx 1070 дает мне около 30 кадров в секунду при разрешении 3840x2160 на суше и при небольших стычках, разговорах в тавернах, деревнях и т. д.
Screenshot from 2020-04-04 03-21-08

большие бои примерно 20 на 20, разговоры на наземной карте, магазины, кузница, иногда инвентарь заикается со скоростью примерно 2 ~ 3 кадра в секунду
Screenshot from 2020-04-04 03-26-10

у меня все еще случаются сбои, но редко

изменить: установка среднего значения решает проблему 2 ~ 3 кадров в секунду, сохранение занимает максимум 3 секунды

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

Видно мое отсутствие знаний о Linux, но это решение предназначено только для пользователей Arch, верно? Единственное, что я нашел для "Proton version (tkg)", что это, и это относится к PKGBUILDS, которые являются аркой, верно? Есть ли способ сделать то же самое на kde neon (база ubuntu 18.04)?

Да, это арка. Я заметил в ридми, что он сказал, что это возможно без Arch, просто, может быть, немного сложнее.
Кроме того, пару часов назад возникла ошибка с proton-tkg, из-за которой сборка в любом случае невозможна.

Это архаичная штука, но исполняемый файл создает только архив, который вы можете распаковать, где захотите (например, в каталоге, предложенном в основном комментарии, в разделе «Текущее решение»). Если у вас есть Arch, он может сделать это автоматически, но это не большой шаг. Проблема с ним была решена в течение часа, и теперь он работает нормально.

Есть ли какие-нибудь новые изменения в винной конюшне, которые, кажется, принесут пользу Bannerlord? У меня уже есть кастомная сборка только с изменениями YellowApple, просто интересно, стоит ли делать новую из стадии постановки.

Хорошо, может быть, я нашел исправление заикания кампании. Конечно, потребуется больший размер выборки, чем мне. Вот как я исправил это на новой приставке:

  • Собери свою собственную версию Proton (tkg) из исходников с новейшей сборкой Wine-staging, которая включает исправление курсора мыши
  • Установил dotnet40 через protontricks
  • Установлен vcrun2015 (см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Установлен dotnet48
  • Установлен vcrun2017 (снова см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Теперь у меня нет заикания на карте кампании, фиксированный курсор мыши и сохранение занимает несколько секунд. Возможно, стоит попробовать, чтобы кто-нибудь еще попробовал это.

image

Я пробовал это, но теперь игра, кажется, хочет использовать интегрированную графику Intel, которой у меня даже нет? Игра очень медленная, и нет возможности заменить видеокарту.

Хорошо, может быть, я нашел исправление заикания кампании. Конечно, потребуется больший размер выборки, чем мне. Вот как я исправил это на новой приставке:

  • Собери свою собственную версию Proton (tkg) из исходников с новейшей сборкой Wine-staging, которая включает исправление курсора мыши
  • Установил dotnet40 через protontricks
  • Установлен vcrun2015 (см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Установлен dotnet48
  • Установлен vcrun2017 (снова см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Теперь у меня нет заикания на карте кампании, фиксированный курсор мыши и сохранение занимает несколько секунд. Возможно, стоит попробовать, чтобы кто-нибудь еще попробовал это.

Я пробовал это с 1.0.3, и производительность в одних областях была хуже, в других - лучше.
после обновления до 1.0.4 вся игра рунится безупречно, это невероятно.

Как установить 2017 после 2015? Я получаю ошибки в установщике 2017 года о том, что уже установлена ​​другая версия. Я даже не знаю, как удалить 2015 сейчас.

У меня такая же проблема. Однако игра работает довольно хорошо, за исключением некоторых зависаний. Я бегаю на 1080ти на арке.

Хорошо, может быть, я нашел исправление заикания кампании. Конечно, потребуется больший размер выборки, чем мне. Вот как я исправил это на новой приставке:

  • Собери свою собственную версию Proton (tkg) из исходников с новейшей сборкой Wine-staging, которая включает исправление курсора мыши
  • Установил dotnet40 через protontricks
  • Установлен vcrun2015 (см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)
  • Установлен dotnet48
  • Установлен vcrun2017 (снова см. Https://steamcommunity.com/app/261550/discussions/0/2149847049318759493/)

Теперь у меня нет заикания на карте кампании, фиксированный курсор мыши и сохранение занимает несколько секунд. Возможно, стоит попробовать, чтобы кто-нибудь еще попробовал это.

Я пробовал это с 1.0.3, и производительность в одних областях была хуже, в других - лучше.
после обновления до 1.0.4 вся игра рунится безупречно, это невероятно.

Как установить 2017 после 2015? Я получаю ошибки в установщике 2017 года о том, что уже установлена ​​другая версия. Я даже не знаю, как удалить 2015 сейчас.

У меня с самого начала была такая же проблема. Просто используйте protontricks 261550 uninstaller .
К сожалению, dotnet делает игру намного хуже для меня, но время сохранения действительно быстрее, занимает около 30 секунд.

Вам нужен новый префикс (не созданный Steam) для установки vcrun2015 и vcrun2017 (и dotnet40?). Я установил их, а затем dotnet48 в соответствии с инструкциями, но более быстрое сохранение (по-прежнему) происходит за счет раздражающей нестабильности частоты кадров (быстрое заикание). Для меня я почти предпочитаю сделать перерыв, пока он сохраняется, и заняться чем-нибудь еще, чтобы страдать от проблем с производительностью, но это только я.

У кого-нибудь еще случаются очень частые сбои при выполнении каких-либо действий, связанных с осадой? Это кажется менее вероятным, если ИИ ведет осаду, но когда я атакую ​​или особенно защищаюсь, очень вероятно, что игра вылетает (несколько раз). Я могу загрузить несколько журналов позже, просто хотел знать, испытывали ли это то же самое и другие люди.

У кого-нибудь еще случаются очень частые сбои при выполнении каких-либо действий, связанных с осадой? Это кажется менее вероятным, если ИИ ведет осаду, но когда я атакую ​​или особенно защищаюсь, очень вероятно, что игра вылетает (несколько раз). Я могу загрузить несколько журналов позже, просто хотел знать, испытывали ли это то же самое и другие люди.

Да; Что ж, с момента выхода e1.0.4 я получаю все больше и больше сбоев, и осады кажутся спусковым крючком. Для меня; ИИ возглавляют все сегменты, потому что я слишком мал

У кого-нибудь еще случаются очень частые сбои при выполнении каких-либо действий, связанных с осадой? Это кажется менее вероятным, если ИИ ведет осаду, но когда я атакую ​​или особенно защищаюсь, очень вероятно, что игра вылетает (несколько раз). Я могу загрузить несколько журналов позже, просто хотел знать, испытывали ли это то же самое и другие люди.

У меня есть сохранение посреди осады, и оно вылетает через пару секунд в 100% случаев. Та же самая сохраненная игра отлично работает на windows. Однако после загрузки предыдущего сохранения я прошел пару осад в составе армии, и оно не разбилось.

Не было сбоев во время осады, но когда вы запускаете и развертываете одну, мышь шатается, постоянно мерцает и не регистрирует щелчки. Однако нажатие на Alt-tab и выход из него заставляет регистрировать щелчок, так что вы можете пройти мимо экрана развертывания.

Предварительно скомпилированный патч в исходном посте больше не работает?

@ Ryan-Vablet Это работает, по крайней мере, насколько мне известно. Хотя у некоторых, похоже, больше опыта работы с собственной версией proton-tkg (и другими вещами, упомянутыми в этом комментарии ).

Примечательно то, что установка dotnet48 значительно ускоряет сохранение, что для некоторых занимает минуты, но в некоторых случаях вызывает проблемы с производительностью. Другие вещи в комментарии могут решить проблемы с производительностью, опять же в некоторых случаях.

Но, в конце концов, мы не знаем какой-либо конкретной вещи с proton-tkg, которая могла бы помочь, или, если она действительно помогает, она более актуальна, поэтому вполне может быть в ней что-то полезное. На сегодняшний день болит редко как минимум.

Что касается сбоев, похоже, у нас нет серьезных исправлений. Но возможно, что это просто проблемы с самой игрой, а может быть и с некоторыми проблемами производительности.

Я сегодня установил Bannerlord (e1.0.5) и поиграл с proton-tkg 5 часов. Это мой опыт:

Сначала я попытался поиграть в Bannerlord без установки пакетов dotnet. У меня было много заиканий и, как и ожидалось, очень долгое время сохранения. У меня также было долгое время загрузки.

Затем я установил пакеты dotnet40 и dotnet48 с помощью protontricks. Экономия времени и значительное сокращение времени загрузки. Также немного уменьшилось заикание. На тот момент в игру можно было играть. Я также попытался установить vcrun2015 и vcrun2017, но не смог, потому что они уже были установлены (вероятно, автоматически с помощью Steam).

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


Системная информация

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

обновить до 1.0.5 (ubuntu 19.10)
он работает отлично, без проблем с производительностью или сбоев, с переименованием управляемого стартера, но без каких-либо дополнительных действий; используя собственный протон yellowapple (в описании проблемы)
если я установлю dotnet40 + 48, чтобы обойти проблему с сохранением, производительность будет ужасной, и в игру не будет играть. Я бы хотел попробовать этот обходной путь tkg, но, видимо, это только арка? оба vcrun'а установлены по умолчанию.

Я смог пройти через осаду или две (во главе с ИИ) на новейшем патче, выполнив шаги, описанные YellowApple выше. Отредактирую этот комментарий, когда буду играть в следующий раз и буду проводить осаду под руководством игрока.

После обновления до 1.05 (с использованием протона YellowApple, без установки dotnet) я начал вылетать на экране добычи после борьбы с мародерами и в начале большой полевой битвы. Первое произошло примерно 3 раза, второе - один раз (после этого я перестал пытаться). В журнале было несколько новых ошибок, и после сбоев игра все еще отображалась как играющая (также аварийный репортер разбился):

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

Обновить:
Я перезапустил свой компьютер, выиграл бой в предыдущем сохранении, перезагрузил тот, который давал сбой, и без проблем вступил в другой бой.

обновить до 1.0.5 (ubuntu 19.10)
он работает отлично, без проблем с производительностью или сбоев, _с_ переименованием управляемым стартером, но _без каких-либо вспомогательных средств; используя собственный протон yellowapple (в описании проблемы)
если я установлю dotnet40 + 48, чтобы обойти проблему с сохранением, производительность будет ужасной, и в игру не будет играть. Я бы хотел попробовать этот обходной путь tkg, но, видимо, это только арка? оба vcrun'а установлены по умолчанию.

@aradapilot Сценарий сборки proton-tkg также отлично работает в системах без архива. Только не забудьте установить зависимости wine-tkg.

Я получил несколько настроек, используя сборку Proton от dotnet40 а затем dotnet48 (который, кажется, заменяет старую версию), что, как мне кажется, ускорило экономию, но производительность была так себе, особенно на карте кампании. Интересное замечание, я попытался удалить команды dotnet, но затем игра сообщила мне, что для этого требуется как минимум dotnet 4.0. Переустановки dotnet40 было недостаточно для правильного запуска игры, и почему-то protontricks думает, что версия 4.8 все еще установлена. Я удалил dotnet40 но это не помогло. В конце концов, я annihilate d окружение и не установил dotnet, который, по крайней мере, имеет гораздо лучшую производительность, хотя мои настройки, я думаю, низкие для моих спецификаций. Сохранение может занять 60 секунд, а не 30 секунд с dotnet.

Еще одна вещь, на которую следует обратить внимание, - это ограничитель кадров! Я думал, что заикаюсь даже на низких настройках, но оказалось, что моя частота кадров была выше, чем у моего монитора (60 Гц), но очень прерывистая. Ограничение частоты обновления монитора очень помогло.

Технические характеристики:
R5 2600
RX 580 4 ГБ
16 ГБ ОЗУ
Linux Mint 19.3 с ядром 5.5
Mesa 20.1 от Oibaf PPA

РЕДАКТИРОВАТЬ: Вещи также кажутся значительно более стабильными без dotnet, поэтому я думаю, что буду придерживаться этого. Кроме того, безопасный режим просто сбрасывает тест яркости и настройки графики, и я не заметил никакого улучшения стабильности, поэтому я не стал бы включать его после сбоя.

Так что я не знаю, было ли это protontricks 261550 vcrun2019 или использовалась последняя версия Proton-GE, но один или оба из них почти полностью устранили для меня оставшееся заикание. Ручное сохранение занимает несколько секунд, тогда как автоматическое сохранение кажется мгновенным; ни одна из причин остаточной задержки. Я также получаю 10-кратный FPS на экране инвентаря (ранее было довольно ужасно).

Так что да, для всех, кто все еще использует мою сборку: вместо этого возьмите GloriousEggroll ; он должен работать, по крайней мере, так же хорошо, как и мой, если не лучше (учитывая, что он включает в себя целый ряд других улучшений для других игр), и значительно реже будет пить из вашего черепа или съедать вашу печень. А также попробуйте protontricks 261550 vcrun2019 если вы все еще получаете заикание, связанное с dotnet48 .

Вы используете vcrun2019 с dotnet48 или без него?

Вы используете vcrun2019 с dotnet48 или без него?

С участием.

Мой точный порядок действий для текущего префикса, который я использую:

  • По крайней мере один раз запустить лаунчер под моей сборкой (для генерации префикса)
  • protontricks 261550 uninstall и удалить все
  • protontricks 261550 dotnet40
  • protontricks 261550 vcrun2015
  • protontricks 261550 dotnet48
  • protontricks 261550 vcrun2017
  • Запустите игру еще раз хотя бы один раз в моей сборке
  • Перешли на Proton 5.5-GE-1
  • protontricks 261550 --force vcrun2019 (так как технически конфликтует с vcrun2015 )
  • Снова запустил игру и заметил заметное улучшение

Я еще не тестировал более простой путь protontricks 261550 doetnet48 && protontricks 261550 vcrun2019 на новом префиксе. Я надеюсь, что это сработает как шарм.

Поскольку я не могу выбраться из ада зависимостей для компиляции сборок tkg, эти предварительные сборки являются благословением лично для меня.

Мои предыдущие подходы:

  • Используйте кастомную сборку Proton от YellowApples
    ---> Плавная игра, но 60 секунд сохранения для новой игры. ~ 90 секунд после 10 часов в сохраненной игре.
  • Установить dotnet48
    ---> Небольшое заикание на карте кампании и ~ 30 секунд сохранения. Абсолютно играбельная для меня.

Я просто перешел на Proton 5.5-GE-1 и никаких доработок не делал, все заработало сразу из коробки. Заикание на карте кампании исчезло, время сохранения составляет ~ 3 секунды.


Все это, как говорится, у меня все еще случаются сбои здесь и там (например, игра вылетает, когда я использовал Alt-Tab и писал этот комментарий), но это может быть связано только с ранним доступом. Пора надеяться, что это сработает так же безупречно для всех остальных. <3

@evopls Может быть та же проблема, что и у меня:
https://www.reddit.com/r/linuxquestions/comments/fun9qr/did_i_bork_protontkg/

После создания своего протона у меня было ~ 5 секунд сохранения, я еще не полностью поиграл с новым временем сохранения 5.5 GE-1, но, черт возьми, эта игра все еще вылетает из-за случайных вещей позже в игре. Даже в Windows это настоящий беспорядок, но все же есть надежда, так как это ранний доступ, и мы, по сути, играем (что кажется ранней) бета-версией.

Я действительно впечатлен тем, что, несмотря на некоторые ошибки, игра работает очень хорошо. Последний патч, кажется, обрабатывал мгновенный CTD для определенных диалогов и вход в кузницу и патч до этого значительно помогли заиканию на карте кампании.

У меня все еще есть проблемы только с dotnet48 с Proton-GE или нет, но с vcrun2019 он в основном стабилен.

Мне не нужны были другие шаги Proton-GE + dotnet48 + vcrun2019 работает у меня

protontricks 261550 dotnet48

protontricks 261550 --force vcrun2019

Одного vcrun2019 было недостаточно, мне нужны были и dotnet48 + vcrun2019

У меня нет доступных для установки vcrun2019 . Я только что переустановил protontricks-git из aur , так что это должна быть самая последняя версия. Как мне установить vcrun2019 и / или получить доступ к установке с protontricks?

@yarbelk Это из winetricks, обновите winetricks с помощью

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

edit: Я не думаю, что мне нужно было делать обновление, когда я переустанавливал префикс, возможно, попробуйте переустановить его с помощью Steam

--self-update получит последнюю версию из git / master см.
https://github.com/Winetricks/winetricks/blob/master/src/winetricks#L1148

Последняя версия Winetricks - 20191224 (https://github.com/Winetricks/winetricks/releases), которую я установил. Я использую NixOS, поэтому winetricks --self-update не работает (следовательно, и protontricks). У меня все еще нет доступного vcrun2019.

Последняя версия Winetricks - 20191224 (https://github.com/Winetricks/winetricks/releases), которую я установил. Я использую NixOS, поэтому winetricks --self-update не работает (следовательно, и protontricks). У меня все еще нет доступного vcrun2019.

Почему использование NixOS мешает работе winetricks --self-update ? Может быть, запустить его как root - я на Ubuntu и sudo winetricks --self-update работал.

В любом случае, вы можете получить последний код из winetricks git. Версия с vcrun2019 для меня - 20191224-next - sha256sum: 472eba29dbf056c87afd39a70426886064040e0bc2c3b63c17baf469b0bf2be2 . Похоже, что vcrun2019 не входит ни в одну выпущенную версию winetricks, но --self-update определенно берет самую последнюю (из git, а не из выпусков).

Вот коммит в версии "-next" (в настоящее время не выпущенной) с vcrun2019: https://github.com/Winetricks/winetricks/commit/94edaddc039c205a98c2a620399a741c7a70ce02

Почему использование NixOS мешает работе winetricks --self-update ? Может быть, запустить его как root - я на Ubuntu и sudo winetricks --self-update работал.

Это потому, что NixOS является декларативной ОС и не использует стандартную иерархию файловой системы Unix. Он использует специальную среду chroot для таких приложений, как Steam, которые делают предположения и хотят управлять своей собственной средой. Пакет winetricks устанавливается по пути только для чтения в /nix/store/ где все пакеты изолированы на основе их хэша. Он не может обновиться сам.

В любом случае, вы можете получить последний код из winetricks git

Я попробую обновить версию пакета и посмотрю, работает ли это. Благодаря!

Изменить: он работал, поскольку существует vcrun2019, но, пытаясь установить его, я получаю неправильную контрольную сумму:

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

@lboklin, если вам не хочется удалять что-то из кешированного каталога

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

затем попробуйте установить

@lboklin, если вам не хочется удалять что-то из кешированного каталога

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

затем попробуйте установить

Пробовал безуспешно, но я запустил его с вином (я думаю, что установил его правильно? Я установил все переменные env, о которых только мог подумать), но я отвлекся. Это характерно для моей системы, и я не хочу загромождать эту тему. Я разберусь.

Я получаю это сейчас:

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

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

(добавлены причудливые обертывания строк для большей правдоподобности)

Я использую dotnet48 vcrun2019 (спасибо @chrisrhayden), а протон ge-5.5

У меня есть 1080ti, который, как я подозреваю, квалифицируется как nVidia.

Это странно, потому что любой, кто получает эту ошибку в Windows, отключает Nvidia / Radeon Sharpening для возможного исправления, единственное, что я знаю о том, что удаленно близко в нашей панели Nvidia, - это Conformant Texture Clamping для 2d-текстур без полей, которая вообще не используется НАСКОЛЬКО МНЕ ИЗВЕСТНО.

Некоторые предлагают вернуться к e1.0.3, чтобы избежать этой проблемы, вы можете выбрать это, выбрав Properties-> BETAS-> Select e1.0.3 из раскрывающегося меню. Я бы посоветовал попробовать, у меня с момента последнего обновления появлялись все более странные и странные ошибки, тогда как в предыдущем патче я играл целых 3 часа. Я не говорю, что это причина, но проверить не помешает.

Пробовал самый последний выпуск GE с dotnet48 и vcrun19 . Кажется, застрял на первом экране загрузки с такими ошибками:

[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

Иногда сборки GE или YellowApple сообщают мне об этом:

image

Но после закрытия диалога 2-3 раза игра по-прежнему запускается и работает в обычном режиме. Сказать "да", похоже, не дает дополнительной информации?

Возврат к сборке YellowApple с этими двумя установленными глаголами дает хорошую производительность и ~ 10-15 секунд сохранения, я еще не много тестировал стабильность, но думаю, что пока буду им пользоваться.

Я больше не могу установить dotnet48, хотя раньше мог ... Я получаю следующее всплывающее окно:
image

Почему это случилось сейчас?

Изменить: создание нового префикса вручную, а затем установка dotnet48 и 2019 перед запуском через Steam работала.

Привет @ Gyrfalcon5 , запустите ulimit -Hn и убедитесь, что он дает вам высокое значение, а не 4096.

Привет @ Gyrfalcon5 , запустите ulimit -Hn и убедитесь, что он дает вам высокое значение, а не 4096.

Это дает мне 4096. Это проблема? Я думаю, что видел здесь кое-что о повышении такой стоимости, но я не уверен.

Да, прочтите, пожалуйста, https://github.com/zfigura/wine/blob/esync/README.esync .

Я использовал приведенную выше инструкцию YellowApple, и игра работает нормально, но у меня все еще нет работающего курсора мыши. Возможно, я пропустил какой-то важный шаг? Я смирился с тем, что просто использую свой контроллер для меню, но как только я добираюсь до карты после создания персонажа, я получаю уведомление о том, что я не могу щелкнуть мышью своим контроллером.

Я использовал приведенную выше инструкцию YellowApple, и игра работает нормально, но у меня все еще нет работающего курсора мыши. Возможно, я пропустил какой-то важный шаг? Я смирился с тем, что просто использую свой контроллер для меню, но как только я добираюсь до карты после создания персонажа, я получаю уведомление о том, что я не могу щелкнуть мышью своим контроллером.

В другой системе это иногда работает, а иногда нет. Это исправило перезапуск игры. пожимать плечами

Я использовал приведенную выше инструкцию YellowApple, и игра работает нормально, но у меня все еще нет работающего курсора мыши. Возможно, я пропустил какой-то важный шаг? Я смирился с тем, что просто использую свой контроллер для меню, но как только я добираюсь до карты после создания персонажа, я получаю уведомление о том, что я не могу щелкнуть мышью своим контроллером.

Да по какой-то причине мышь не работает в моей системе ни при первом запуске игры после входа в Steam. Если я перезапускаю игру, она начинает работать.

Я использовал приведенную выше инструкцию YellowApple, и игра работает нормально, но у меня все еще нет работающего курсора мыши. Возможно, я пропустил какой-то важный шаг? Я смирился с тем, что просто использую свой контроллер для меню, но как только я добираюсь до карты после создания персонажа, я получаю уведомление о том, что я не могу щелкнуть мышью своим контроллером.

Да по какой-то причине мышь не работает в моей системе ни при первом запуске игры после входа в Steam. Если я перезапускаю игру, она начинает работать.

Какого черта? Хорошо, да. Просто это первый раз после запуска Steam. Как любопытно.

Обновление: мне пришлось удалить и воссоздать префикс вручную без Steam, чтобы установить dotnet48 и vcrun2019. Затем я мог запустить через Steam, и производительность и сохранение, похоже, работают хорошо (пока тестировалось всего минуту). Это с Proton-GE и винетриками, созданными из этой версии .

Да, прочтите, пожалуйста, https://github.com/zfigura/wine/blob/esync/README.esync .

Следуя инструкциям, Proton GE работает с гораздо большей производительностью! Хотя над стабильностью можно поработать, у меня вылетал при поиске персонажа через минуту или две. Можно попробовать очистить мой префикс и переустановить все, чтобы посмотреть, поможет ли это, хотя я знаю, что сама игра сейчас довольно нестабильна.

РЕДАКТИРОВАТЬ: поиск персонажа - это очень последовательный сбой, со следующим выводом, когда я запускаю Steam из командной строки:

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: Дополнительная информация о сбое из свежей среды 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
=================================================================

РЕДАКТИРОВАТЬ 3: повторная попытка использования dotnet48, чтобы увидеть, устранит ли это ошибку дополнительной информации.

РЕДАКТИРОВАТЬ 4: Жалобы на моно ушли, но проблемы со стабильностью энциклопедии, а также турнирной таблицы на арене сохраняются. Я думаю, это как-то связано с дополнительным диалогом, появляющимся на карте кампании, но я не уверен.

Как установить vcrun2019? когда я бегу protontricks 261550 vcrun2019
Я всегда получаю "Неизвестный аргумент vcrun2019"
(я использую новейшие технологии)

Как установить vcrun2019? когда я бегу protontricks 261550 vcrun2019
Я всегда получаю "Неизвестный аргумент vcrun2019"
(я использую новейшие технологии)

Вы тоже обновляли винетрики? Я думаю, что у людей были проблемы с обновлением protontricks, но раньше они разговаривали с устаревшими winetricks. Достаточно просто выполнить winetricks --self-update , вам может понадобиться sudo.

Получается много вылетов с proton-GE, dotnet48 и vcrun2019.
Выход в терминале:

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

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

Изменить 2:
Уменьшение масштаба карты кампании часто приводит к сбою (произошло не менее 3 раз за последний час).

Изменить 3:
Это в основном неиграбельно. За последние полчаса было 5+ сбоев. Не вижу ничего полезного в выводе; просто

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

Изменить 3:
Хорошо, теперь у меня вылетело в меню настроек:

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

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

@lboklin
У меня также случаются сбои каждые несколько минут 5-30 при использовании dotnet48 и vcrun2019 и его всегда на карте мира.
proton-GE и proton-tkg имеют эту проблему, proton-GE мне ничего не помог.

@craftyguy За исключением случаев, когда вы хотите, чтобы winetricks обновлялся, это зависит от того, как вы его изначально установили.

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

Если вы получили его из диспетчера пакетов, то, скорее всего, он находится в /usr/bin , и вам _до_ нужен root-доступ, чтобы обновить его там.

Просто предложение. Если кому-то требуются права root для обновления winetricks. Используйте sudo -E, чтобы сохранить вашу среду.

@lboklin

Я попробую обновить версию пакета и посмотрю, работает ли это. Благодаря!

Привет, пользователь nixos, как ты это сделал?

"как обновить winetricks" в выбранном вами дистрибутиве здесь не по теме. Спросите на публичном форуме вашего дистрибутива или установите Winetricks локально для своего пользователя.

@lboklin

Я попробую обновить версию пакета и посмотрю, работает ли это. Благодаря!

Привет, пользователь nixos, как ты это сделал?

Хотя я согласен, что это оффтоп, я просто отвечу, чтобы сэкономить вам время.

  1. клонировать репо nixpkgs
  2. cd в это
  3. отредактируйте pkgs / misc / emulators / wine / sources.nix, как показано ниже
  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";
   };
 }

У меня свежая система с:

Bannerlord свежеустановлен из steam
свежее вино
Винетрикс, только что созданный из исходников
protontricks свежая установка с использованием вышеуказанных winetricks

❯ 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

Я установил версию протона 5.5-GE-1 и переместил ее в .steam/root/compatibilitytools.d

Потом я бегал:

❯ 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

На этом этапе игра запускается

❯ 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

Мне нужно как-то указывать версию, чтобы она была 32-битной? Каталог создается Steam, нужно ли мне вручную создавать его с помощью winecfg, используя WINEARCH = win32? Похоже, что у bannerlord 64 бит, поэтому я не уверен, как это сработает?

@TannerYoung похоже, что вы используете версию игры 1.0.0.

Вы можете обновить игру до последней версии или переименовать ManagedStarter.exe в ManagedStarter.exe.old (или что-то еще), а затем скопировать / символическую ссылку / переименовать Bannerlord.exe в ManagedStarter.exe, чтобы исправить вашу проблему.

Для людей, у которых все еще возникают проблемы со сбоями после установки различных версий vcrun, дважды проверьте свою версию Windows в winecfg. Моя была настроена на WinXP во время одной из установок, и возврат к Windows 10 устранил многие мои сбои.

Мне пока очень повезло с dotnet472, а не с dotnet48:

protontricks 261550 dotnet472

Я использую Proton от Valve (тег @ proton_5.0-next ) с примененным патчем не ставил vcrun2019.

Для меня сохранения занимают около 5 секунд, и с тех пор, как я использовал эту конфигурацию, игра не вылетала у меня (я использую последнюю исправленную версию игры с сегодняшним исправлением).

Стоит отметить, что игровые зависимости, опубликованные на форуме Taleworlds, - это .NET 4.7.2, vcrun 2015 и 2017: https://forums.taleworlds.com/index.php?threads/installing -missing-required-dependencies. 407126 /

Нет ничего о .NET 4.8 или vcrun 2019 ..

@craftyguy :

Я тоже не вижу заикания на карте (хотя никогда не видел даже с dotnet48).

Может подтвердить выводы @craftyguy ; Proton 5.5-GE-1 и protontricks 261550 dotnet472 достаточно, чтобы исправить как заикание, так и долгое время сохранения. Хорошо поймал!

Я замечаю, что получаю постоянно воспроизводимый сбой при просмотре страницы энциклопедии для города в существующем сохранении и периодические сбои на экране инвентаря, оба с моим предыдущим префиксом (с vcrun201(5|7|9) и dotnet48 ) и текущий (всего с dotnet472 ). Попробую новую игру ( вздох ) и посмотрю, сохранится ли она.

Я не уверен, что делать с тем, что происходит на моей стороне. Я чувствую, что вернулся на круги своя, где ввод с помощью мыши полностью нефункционален, независимо от того, какую протонную версию я запускаю, независимо от того, какие пакеты Windows я устанавливаю. Даже старая сборка YellowApple, которая раньше работала нормально, не работает.

Придется попробовать этот dotnet472, посмотреть, поможет ли он решить мои проблемы с этими случайными сбоями в новой игре. Думаю, моя старая игра только что испортилась, так как она прошла через несколько обновлений. Я играл в нее несколько часов, и некоторые из моих друзей в Windows сообщают о тех же сбоях в старых сохранениях.

С помощью dotnet472 я также могу подтвердить, что сохранение происходит быстро, но я разбился до того, как смог сделать какие-либо существенные наблюдения о производительности, поэтому он кажется таким же невыполнимым, как с vcrun2019 и dotnet48.

Обновить:
Он работает хорошо, и сохранение происходит быстро, как уже отмечалось, но на самом деле стабильность невысока. Множество сбоев на карте кампании.

Offtopic, но я хочу быстро помочь любому пользователю NixOS, поделившись этим скриптом для моей текущей настройки префикса: https://gist.github.com/lboklin/c735c867a00fbb2d30bb89dbcd910c03

Следует упомянуть: моя игра без сбоев появилась только после запуска новой кампании в 1.0.5 (до следующего исправления, но после фактического обновления 1.0.5). Я также заметил немного большее (+ ~ 50%) время загрузки между сценами с dotnet472 по сравнению с dotnet8, что на самом деле не имеет большого значения, учитывая значительно увеличенную стабильность.

@Ampsersanddd другие люди упоминали об этом, но часто игра по какой-то причине не реагирует на ввод мыши даже после исправления при первом запуске; его перезапуск исправляет. Может в этом твоя проблема?

dotnet472 аварийно завершает работу с файлами сохранения из 1.0.4 (однако это заняло около 10 минут, пока я был в городском меню), но также обеспечивает очень хорошую производительность (проверено с помощью proton-GE). Я проверю позже, верно ли это для новой игры, использующей 1.0.5.

ОБНОВИТЬ:

Я играл около 30 минут с новой игрой, пока она не вылетела при открытии меню города.

Даже с новой кампанией для меня это довольно круто. В большинстве случаев я получаю код исключения 0000000c, хотя последний сбой (плюс один ранее сегодня) был с кодом исключения 6ba.

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

Кто-нибудь придумал, как получить лог игры? На форумах упоминаются файлы журналов (а именно rgl_log.txt или что-то в этом роде), но я не могу их нигде найти. Инструмент отчетов о сбоях также кажется полностью сбитым, а журналы Proton не содержат значимых трассировок стека.

Думаю, было бы полезно узнать, как полностью удалить приставку для протона. Я знаю, что это немного не по теме, но, учитывая, сколько раз люди делают это, это может сократить количество отчетов об ошибках, вызванных Kruft.

Я знаю, что не уверен, что делаю: но я удаляю каталог ~/.steam/steam/steamapps/compatdata/261550/ и снова запускаю игру, чтобы воссоздать ее. этого достаточно?

Я знаю, что не уверен, что делаю: но я удаляю каталог ~/.steam/steam/steamapps/compatdata/261550/ и снова запускаю игру, чтобы воссоздать ее. этого достаточно?

Ага, вот и все. Мне лично нравится вместо этого переименовывать, чтобы я мог переключаться между префиксами и быстро тестировать вещи (а также облегчить извлечение моих сохранений и конфигураций), но вы делаете это вы.

Кстати об этом: похоже, что новый префикс (без каких-либо protontricks вообще) менее критичен для меня, но все же имеет ошибку с сохранением нескольких минут и снова вызывает небольшое заикание карта кампании. Вы выигрываете некоторые, вы теряете, я думаю, лол

Несколько вещей:

1) Я сейчас нахожусь в странном состоянии, что со свежим префиксом я даже не могу запустить пусковую установку. Я также подозреваю, что некоторые ресурсы не очищаются правильно при сбое (из-за подозрительного роста использования памяти, которую я не пытался активно отлаживать за пределами ps aux | grep Mount и ps aux | grep wine и пытаюсь чтобы заставить их выйти чисто.Перезапустите систему, но я хочу записать это перед тем, как это сделать.

2) при установке пакетов donet и vcrun я продолжаю видеть «не похоже, что моно установлен», что и есть (6.4, arch linux); это что-то ломается в протонтриках или ожидаемом поведении?

3) не печатайте во время работы protontricks. вы нажмете Enter, когда он попросит «установить эту штуку, до которой добирались вечно», и вы откажетесь от нее.

4) @YellowApple, я мог бы поклясться, что видел, как вы отправили журнал, в котором на выходе было dxvk : вы используете конкретную версию указанного dxvk? Учитывая странные need nvidia card ошибки, когда я использую карту nvidia ... Интересно, есть ли что-то, что мне не хватает.

@yarbelk Проблема "нужна карта nvidia или Windows 10" была легко исправлена ​​для меня путем изменения версии Windows в winecfg обратно на Windows 10, как описано здесь: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -609480224

При этом я также получаю частые сбои карты кампании. Единственное, что я изменил, - это настройки выше и сам патч M&B. Не уверен, что это была 1.0.3 или 1.0.4, где все работало нормально, но эти сбои в кампании для меня совершенно новые. Dotnet472 или dotnet480 там тоже не имели значения.

Для людей, которые сталкиваются с множеством странных проблем с нестабильностью, я думаю, вам просто нужно удалить свой винный префикс Bannerlord, проверить файлы игры (убедитесь, что вы обновлены) и установить vcrun2019 и dotnet48. Также убедитесь, что у вас не установлено глобальное переопределение для SteamPlay (главная страница настроек Steam -> SteamPlay) и вы используете последнюю сборку Proton-GE.

Если вы делаете все это, но проблемы по-прежнему возникают, обновите также графический драйвер. Для Nvidia вы должны использовать последнюю версию двоичного кода с сайта nvidia.com; если это уже упаковано для вашего дистрибутива, отлично. Для AMD вы должны либо использовать последние двоичные файлы Catalyst, либо последнюю версию git mesa / libdrm / AMD DDX и последнее ядро ​​Linux.

Игра работает отлично, без каких-либо серьезных проблем. Я получаю 1-2 секунды зацепки в первый раз, когда боевая анимация или новое снаряжение загружается в поле, но это ставит на паузу всю игру, поэтому не похоже, что я сражаюсь в невыгодном положении, когда это происходит, и это не повторяется, если я продолжаю сражаясь с такими же врагами. Возможно какое-то кеширование шейдеров, связанное с реалистичными эффектами ткани.

Также опубликуйте, какой у вас графический процессор, когда будете сообщать о проблемах. Я на 2080 Ti. Я смог играть без перерыва в течение 4 часов без сбоев и с хорошей производительностью.

@YellowApple

Журналы игр находятся здесь с префиксом Wine: </261550 prefix>/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/logs/

например, ~/.steam/steam/steamapps/compatdata/261550/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/logs

Если аварийный загрузчик сработал (что очень жаль, что это не так ...), похоже, он загрузит найденные здесь артефакты: <261550 prefix>/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/crashes/

Похоже, игра создает каталог в каталоге crashes каждый раз, когда происходит сбой, и включает несколько разных журналов + сохранение игры после сбоя.

Что ж, я продвинулся дальше с последней сборкой Proton-GE и установкой dotnet472 (которая ретроактивно установила около 5-6 предыдущих версий).

Я получил пусковую установку, но игра по-прежнему замораживает весь компьютер после создания персонажа. Я слышу музыку / звуки в фоновом режиме, но ничего. Я оставил его на некоторое время, думая, что ему просто нужно наверстать упущенное. Ничего. Единственное решение - жесткое выключение.

Что ж, я продвинулся дальше с последней сборкой Proton-GE и установкой dotnet472 (которая ретроактивно установила около 5-6 предыдущих версий).

Я получил пусковую установку, но игра по-прежнему замораживает весь компьютер после создания персонажа. Я слышу музыку / звуки в фоновом режиме, но ничего. Я оставил его на некоторое время, думая, что ему просто нужно наверстать упущенное. Ничего. Единственное решение - жесткое выключение.

Какой версии дистрибутива, графического процессора и графического драйвера?

Ubuntu 18.04, RX 580 и стандартные / стандартные драйверы AMD. У меня также есть обновленные Wine / winetricks / mesa / vulkan.

В настоящее время не запускается только эта игра, но это не значит, что это не моя система, просто выбросил ее туда.

Ubuntu 18.04, RX 580 и стандартные / стандартные драйверы AMD. У меня также есть обновленные Wine / winetricks / mesa / vulkan.

В настоящее время не запускается только эта игра, но это не значит, что это не моя система, просто выбросил ее туда.

Ubuntu 18.04 теперь использует довольно старые драйверы Mesa (с открытым исходным кодом). Можете ли вы попробовать переключиться на драйверы AMD Adrenaline (ранее известные как Catalyst или fglrx)?

Если вы хотите придерживаться графического стека с открытым исходным кодом, вы также можете попробовать графический PPA oibaf: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers

Стек графики с открытым исходным кодом очень быстро устаревает. Во многом это связано с чрезвычайно быстрыми темпами улучшений. Графический драйвер с открытым исходным кодом, которому 1 год, похож на машину 80-летней давности. Полностью устарело. На данный момент я серьезно думаю, что проблема связана с графическим стеком с открытым исходным кодом.

Я использую Ubuntu 20.04 (который на самом деле во многом похож на 18.04), и главное отличие в том, что я использую бинарные драйверы Nvidia. Игра запускается отлично. Если обновление стека графики с открытым исходным кодом от oibaf не поможет вам, я бы попробовал бинарный драйвер Adrenaline.

Стек графики с открытым исходным кодом очень быстро устаревает.

Не вините Mesa за дерьмовый дистрибутив (ubuntu), поставляющий его старые версии. Существуют общедоступные PPA, которые позволят вам установить более новую Mesa на ваш старый устаревший дистрибутив.

Я использую RX 580 на Mesa 20.0 (и даже на главной ветке Mesa) без графических блокировок, как они описали.

Я использую RX 580 на Mesa 20.0 (и даже на главной ветке Mesa) без графических блокировок, как они описали.

Я показываю, что использую Mesa 20.0.0-devel, но если это неправильная версия и есть другая / лучшая версия, я не из тех, кто игнорирует советы других. Я также проверяю другой PPA, потому что я думал, что он у меня был раньше, но, возможно, удалил его некоторое время назад.

Стек графики с открытым исходным кодом очень быстро устаревает.

Не вините Mesa за дерьмовый дистрибутив (ubuntu), поставляющий его старые версии. Существуют общедоступные PPA, которые позволят вам установить более новую Mesa на ваш старый устаревший дистрибутив.

Я использую RX 580 на Mesa 20.0 (и даже на главной ветке Mesa) без графических блокировок, как они описали.

О, я вовсе не виню Мезу. Дело в том, что Mesa с сегодняшнего дня на 1000% лучше (более функциональна и полна), чем Mesa год назад. Так было на протяжении каждого года существования стека графики с открытым исходным кодом. Я просто объяснял, почему нельзя полагаться на любую «стабильную» (также известную как _stale_) версию Mesa, которую выпускает LTS-дистрибутив, при попытке играть в высококачественные игры.

Edit: Опять же, у меня никогда не было большого успеха в запуске «настоящих» игр (то есть чего-либо с большей графической детализацией, чем Stellaris или Team Fortress 2) со стеком графики с открытым исходным кодом. Я попробовал сборку March git master из PPA oibaf с Radeon VII с Kingdom Come: Deliverance, Elder Scrolls Online, PULSAR: Lost Colony, Stellaris и несколькими другими играми. Производительность была приемлемой на ESO и Stellaris, но неиграбельно медленной на остальных (5 кадров в секунду или хуже). Я переключил eGPU с Radeon VII на 2080 Ti и использовал двоичный драйвер Nvidia, и внезапно производительность превысила 60 кадров в секунду во всех сценах и более 100 часто. Ночь и день.

Если вы используете стек графики с открытым исходным кодом, вы в значительной степени ограничены тем, чтобы играть в те игры, которые он хорошо поддерживает, что, вероятно, составляет около 20-50% всех существующих игр (приблизительная оценка). Если вы используете бинарные драйверы Nvidia, то 95% игр работают нормально. Я надеюсь, что драйверы с открытым исходным кодом когда-нибудь дойдут до того уровня, когда они будут такими же или лучше, чем двоичные файлы, но это не сегодня.

Я заметил это в разделе поддержки на форумах, где говорилось, что иногда Steam не устанавливает все необходимые приложения.

Я не знаю, включено ли (или должно ли быть) .net Core в dotnet472 , но я использовал ссылку из этого сообщения, чтобы установить эту конкретную версию, и похоже, что большинство моих сбоев исчезло! Я все еще время от времени зависаю, особенно когда такие вещи, как текстуры, загружаются впервые в каждой сессии, но теперь я могу даже открыть пресловутую таблицу лидеров арены без сбоев!

Для тех, кто хотел бы попробовать, я сделал что-то вроде следующего:

$ 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

где путь compatdata - это путь к вашей папке compatdata bannerlord, а cd - к ​​той директории, в которой содержится протон, который вы используете.

Если вы хотите придерживаться графического стека с открытым исходным кодом, вы также можете попробовать графический PPA oibaf: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers

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

/редактировать
Хотел бы просто поблагодарить случайного интернет-незнакомца всем, кто занимается устранением неполадок и придумывает решения для этого!

@Aliervo - Итак, после последней команды, и, похоже, с этим не работает -

ProtonFixes [12023] ИНФОРМАЦИЯ: Запуск протонфиксов
ProtonFixes [12023] ИНФОРМАЦИЯ: Выполняются проверки
ProtonFixes [12023] ИНФОРМАЦИЯ: Все проверки прошли успешно
ProtonFixes [12023] ИНФОРМАЦИЯ: Не найдено протонфиксов для НЕИЗВЕСТНО (261550)

@yarbelk Проблема "нужна карта nvidia или Windows 10" была легко исправлена ​​для меня путем изменения версии Windows в winecfg обратно на Windows 10, как описано здесь: # 3706 (комментарий)

При этом я также получаю частые сбои карты кампании. Единственное, что я изменил, - это настройки выше и сам патч M&B. Не уверен, что это была 1.0.3 или 1.0.4, где все работало нормально, но эти сбои в кампании для меня совершенно новые. Dotnet472 или dotnet480 там тоже не имели значения.

К сожалению; установка Windows 10 не остановила для меня сбой nvidia (тоже с пустым префиксом)
при запуске новой игры перед созданием персонажа: сбой nvida. рестарт. сразу после выигрыша торнмента: сбой nvidia (10 минут).

@ jake-hedges После этого упал запрос? Я помню, что видел их, но через секунду он запустился и выскочил установщик.

Изменить: просто дал ему еще один чистый префикс, я получил

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

но затем, через несколько секунд, появилось диалоговое окно установки, которое позволило мне установить.

Дважды проверьте /your/path/to/compatdata/261550/pfx/drive_c/Program\ Files/ на наличие папки dotnet на случай автоматической установки. Если там ничего нет, попробуйте запустить его еще раз и просто дайте ему постоять минуту или две, чтобы увидеть, появится ли окно установки.

@Aliervo - Итак, после последней команды, и, похоже, с этим не работает -

ProtonFixes [12023] ИНФОРМАЦИЯ: Запуск протонфиксов
ProtonFixes [12023] ИНФОРМАЦИЯ: Выполняются проверки
ProtonFixes [12023] ИНФОРМАЦИЯ: Все проверки прошли успешно
ProtonFixes [12023] ИНФОРМАЦИЯ: Не найдено протонфиксов для НЕИЗВЕСТНО (261550)

У меня тоже была эта ошибка, но она работала, добавив "pfx /" в конец

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

Однако это ничего не дало мне. Получение же случайных вылетов.

Изменить: NVM я оговорился. Я думал, что это исправил, но я неправильно понял
Ошибка при использовании 261550 /

ProtonFixes [25930] ИНФОРМАЦИЯ: Запуск протонфиксов
ProtonFixes [25930] ИНФОРМАЦИЯ: Выполняются проверки
ProtonFixes [25930] ИНФОРМАЦИЯ: Все проверки прошли успешно
ProtonFixes [25930] ИНФОРМАЦИЯ: Не найдено протонфиксов для UNKNOWN (261550)

Ошибка при использовании 261550 / pfx /

./proton run ~ / dotnet-runtime-2.1.17-win-x64.exe Proton: Обновление префикса с None до 5.5-GE-1 (/ run / media / m / 850EVO / Games / SteamLibrary / steamapps / compatdata / 261550 / pfx //)
ProtonFixes [25999] ИНФОРМАЦИЯ: Запуск протонфиксов
ProtonFixes [25999] ИНФОРМАЦИЯ: Выполняются проверки
ProtonFixes [25999] ИНФОРМАЦИЯ: Все проверки прошли успешно
ProtonFixes [25999] ИНФОРМАЦИЯ: Не найдено протонфиксов для НЕИЗВЕСТНО (261550)
ProtonFixes [25999] ИНФОРМАЦИЯ: Создание ссылок на шрифты MS Core в / run / media / m / 850EVO / Games / SteamLibrary / steamapps / compatdata / 261550 / pfx / pfx / drive_c / windows / Fonts
По какой-то причине он добавил ссылки на шрифты MS Core, когда я использовал pfx, но установщик не запустился.

Без dotnet472 или dotnet48 программа запуска не будет работать, и мне нужно переименовать игру в .exe, как было предложено в начале потока, чтобы запустить игру без средства запуска, но каждое сохранение занимает 30-90 секунд. Хотя кажется немного более стабильным, но игра слишком часто автосохраняется, заставляя меня ждать более минуты каждые 5-10 минут, особенно в начале игры.

С dotnet пусковая установка работает, и сохранение занимает 1-5 секунд, но может произойти случайный сбой на игровой карте или перед началом разговоров или сражений. Хотя в основном это играбельно. Время от времени я могу поиграть час или больше, прежде чем либо мой FPS упадет до 0,5 в разговорах и сражениях (что исправляет перезапуск), либо произойдет сбой.

@EmquCC Дважды проверьте версию Windows, на которую установлен ваш префикс.

Один из сценариев vcrun устанавливает его на XP, а другой - на 7. Я помню, как часто происходили сбои, когда мой префикс был установлен на XP, и на форумах есть сообщения о проблемах с Windows 7, поэтому я рекомендую использовать 10.

Кроме того, 1.0.6 только что упала, поэтому я собираюсь накатить новый префикс и убедиться, что все по-прежнему работает.

@EmquCC Дважды проверьте версию Windows, на которую установлен ваш префикс.

Один из сценариев vcrun устанавливает его на XP, а другой - на 7. Я помню, как часто происходили сбои, когда мой префикс был установлен на XP, и на форумах есть сообщения о проблемах с Windows 7, поэтому я рекомендую использовать 10.

Кроме того, 1.0.6 только что упала, поэтому я собираюсь накатить новый префикс и убедиться, что все по-прежнему работает.

Спасибо :) Вчера перешёл на Windows 10, а сегодня забыл проверить. Я отредактировал свой пост, так как неправильно прочитал. Когда я добавил pfx, он сделал несколько ссылок на шрифты MS Core, но установщик не запустился. Я сделаю новый префикс и попробую еще раз с 1.0.6, и я вам еще вернусь

Изменить: новый RC для Proton 5.0.6 упал одновременно с 1.0.6. Я пока не вижу для этого журнала изменений, но я тоже попробую. Для тех, кто хочет попробовать тестовые сборки Proton, щелкните правой кнопкой мыши Proton 5.0 в библиотеке Steam> Свойства> Бета-версии> выберите "Далее -"

. Для тех, кто хочет попробовать тестовые сборки Proton, щелкните правой кнопкой мыши Proton 5.0 в библиотеке Steam> Свойства> Бета-версии> выберите "Далее -"

Если они не добавили патч ввода мыши в 5.0.6, вам нужно будет исправить его самостоятельно, иначе вы потеряете возможность щелкать мышью.

@craftyguy Да, пришлось попробовать, так как

@Aliervo @ jake- protontricks --gui , затем «Запустить проводник» и запустить .exe из проводника. Я сейчас проверю

Изменить: теперь моя игра вылетает перед тем, как попасть на экран меню. Снова перезапуск с новым префиксом ^^

Изменить 2: теперь загружен с новым префиксом с установленной dotnet-runtime. Вероятно, это была ошибка пользователя с моей стороны :)

Хедз -ап, последняя

Хедз -ап, последняя

Используя эти исправления, я по-прежнему получаю управление мышью только в 1 из каждых 10 запусков.

Хедз -ап, последняя

Используя эти исправления, я по-прежнему получаю управление мышью только в 1 из каждых 10 запусков.

Это действительно странно, после того, как я исправил Wine некоторое время назад, я получаю управление мышью в 100% случаев. Кто-нибудь еще сталкивается с такой же проблемой, когда исправления не работают?

@jaynus : вы пробовали использовать новый префикс (запустить protontricks 261550 annihilate )? Это не должно иметь никакого значения, но, может быть, у вас есть какие-то странные переопределения из прошлого, или ??

Хедз -ап, последняя

Используя эти исправления, я по-прежнему получаю управление мышью только в 1 из каждых 10 запусков.

Это действительно странно, после того, как я исправил Wine некоторое время назад, я получаю управление мышью в 100% случаев. Кто-нибудь еще сталкивался с такой же проблемой, когда исправления _не_ работают?

@jaynus : вы пробовали использовать новый префикс (запустить protontricks 261550 annihilate )? Это не должно иметь никакого значения, но, может быть, у вас есть какие-то странные переопределения из прошлого, или ??

Ага! Я удалял весь префикс и начинал заново, он все еще очень спорадический

Был шанс немного потестировать на новой приставке сейчас. Было ровно 2 сбоя. Один, когда я сразу изменил настройки (как и раньше, он разбился, но сохранил изменения настроек). Другой был, когда я пытался переключиться с экрана инвентаря на экран вечеринки. Когда я попытался воспроизвести его, экраны изменились нормально, с небольшим зависанием для загрузки, поэтому я предполагаю, что это была одноразовая ошибка загрузки.

Я также уделил больше внимания тому, что vcrun2019 самом деле делает установка vcrun2015 и vcrun2017 независимо друг

Добавление в ядро ​​.net, которое я связал ранее (либо с помощью командной строки, как я писал, либо protontricks 261550 --gui за которым следует "Запустить проводник", как указал @EmquCC ), завершается наш список необходимых зависимостей, перечисленных здесь , поэтому теоретически , большинство оставшихся сбоев вызвано ошибками в самой игре и скоро будет исправлено!

так что теоретически большинство оставшихся сбоев вызвано ошибками в самой игре и скоро будет исправлено!

Я не знаю, существует долгая кровавая история сбоев компонентов Windows при использовании Wine по разным причинам, поэтому я не исключаю полностью, что здесь больше нет ошибок с вином.

Очень жаль, что программа аварийной загрузки игры не работает. Могут существовать классы игровых ошибок, которые затрагивают нас только в Wine, которые Taleworlds могли бы исправить, если бы они только знали о них!

Очень жаль, что программа аварийной загрузки игры не работает. Могут существовать классы игровых ошибок, которые затрагивают нас только в Wine, которые Taleworlds могли бы исправить, если бы они только знали о них!

Не думаете, что есть удобный способ отладки? : stuck_out_tongue_closed_eyes:

Я заметил что-то странное, каждый раз, когда я закрываю игру, или она вылетает, если я запускаю ее снова, мне также нужно перезапустить Steam, иначе ничего не произойдет.

Итак, что я сделал для нового префикса:

  • vcrun2019
  • Дополнительное ядро ​​dotnet зависит
  • dotnet48

Запуск debian busters 18.3 mesa Я играл около часа до того, как столкнулся с горными бандитами. В остальном игра была довольно плавной и действительно приятной. Полностью избавился от времени ожидания сохранения, с которым, я думаю, меня нормально. Просто нужно на всякий случай выработать привычку почаще экономить.

Я хорошо разбираюсь в этой настройке!

Играю уже 3 часа, и "всего" было 3 сбоя, используя ту же настройку, что только что написал @ jake-hedges. Dotnet core + 1.0.6, похоже, позаботился о большинстве проблем.
Вылетал один раз после победы в турнире и два раза подряд при просмотре той же страницы в энциклопедии. Второй раз, когда я выигрывал турнир, он не вылетал, и энциклопедия не вылетала из игры, когда я пытался получить к ней доступ в другом месте и в другое время в игре.

Я сам очень доволен настройкой. Еще не было долговременных падений FPS

Я также работаю плавно, хотя время от времени у меня все еще возникают незначительные зависания. Совершенно уверен, что это только потому, что я делаю глупые вещи, например, включаю прозрачное сжатие на своих дисках и проигрываю жесткий диск вместо ssd.

Я буду здесь или на форумах, если что-то начнет ломаться ... А пока желаю удачного урожая!

Запуск protontricks 261550 dotnet472, который установил .NET 4.0, 4.5, 4.6, 4.6.1, 4.6.2 и 4.7.2, сократил время сохранения до нескольких секунд, это также, похоже, не улучшает стабильность в любом случае.

@ptkato Попробуйте установить dotnet Core (см. https://github.com/ValveSoftware/Proton/issues/3706#issuecomment-609959973 и https://github.com/ValveSoftware/Proton/issues/3706#issuecomment-610022040 для сделай это).

Кроме того, дважды проверьте, что ваш префикс не был установлен на WinXP или Win7, поскольку оба имеют известные проблемы. В качестве приставки рекомендую Windows 10.

После выполнения текущего обходного пути (Proton 5.5-GE https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1 + protontricks 261550 dotnet472 , установлен префикс Windows 10) игра проходит без сбоев даже в больших битвах (400+).

Однако всякий раз, когда я вступаю в осаду, игра заикается и зависает как сумасшедшая. У кого-нибудь еще есть это? (Вы можете быстро протестировать осады из Custom Battle и изменить тип битвы). Установка ядра dotnet не помогла.

@dufuspaelli У меня была такая же проблема с заиканием. Для меня это было связано с тепловым дросселированием графического процессора, снизив границу рамки, я получил гораздо лучшую плавность. (Может быть, а может и не быть таким же для вас).

Любая помощь для сбоя при запуске только с отображением следующей ошибки? Ну, по крайней мере, это то, что записывается прямо перед массивной трассировкой стека.

  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"

Запуск proton-5.5-GE-1 с protontricks 261550 dotnet472 и win10.

После выполнения текущего обходного пути (Proton 5.5-GE https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1 + protontricks 261550 dotnet472 , установлен префикс Windows 10) игра проходит без сбоев даже в больших битвах (400+).

Однако всякий раз, когда я вступаю в осаду, игра заикается и зависает как сумасшедшая. У кого-нибудь еще есть это? (Вы можете быстро протестировать осады из Custom Battle и изменить тип битвы). Установка ядра dotnet не помогла.

Хорошо, попробовав разные настройки графики, я понял это.

Это может быть полезно для людей, использующих высокие настройки + и сталкивающихся с задержками / заиканием в крупных битвах: уменьшите значение Texture Streaming Budget настройках игры.

На моем RTX 2060 большая осада замка (400+ единиц) съедает около 4,7 гигабайт видеопамяти, когда бюджет потоковой передачи текстур установлен на низком уровне. По сути, увеличение бюджета потоковой передачи съедает всю мою VRAM и приводит к огромным задержкам. Я не уверен, является ли это ошибкой или ожидаемым поведением этого параметра.

@Evilbits Моя

Кроме того, у вас может быть не последняя версия игры. Я увидел там ManagedStarter который, как мне кажется, был удален в одном из последних обновлений.

@dufuspaelli Я считаю, что это предполагаемое поведение. По сути, бюджет потоковой передачи текстур сообщает игре, сколько vram нужно сохранить для размещения всех текстур на всех объектах, поэтому, если вы установите его слишком высоко, у вас закончится vram для таких вещей, как показ анимации, и, таким образом, вы будете заикаться, пока эти вещи пытаются рендерить.

Итак, каким-то чудом у меня начал работать репортер сбоев (с dotnet472 и этой загрузкой .NET Core):

Screenshot at 2020-04-07 09-13-55

Не уверен, действительно ли он успешно отправил отчет, и сможет ли TaleWorlds сделать с ним что-нибудь полезное, даже если это так (если не считать активной поддержки нас, использующих протоны лордов масла, что было бы сюрпризом, но долгожданным), но эй, не помешает попробовать, правда?

В любом случае, по крайней мере, одним из источников постоянной нестабильности для меня (и того, что привело к этому случайному открытию), похоже, является System.AccessViolationException который разрушает System.Text.RegularExpressions.RegexRunner.Scan при попытке показать / обновить табличку с именем участника (я Полагаю, исходя из имени метода SandBox.ViewModelCollection.Nameplate.PartyNameplateVM.RefreshDynamicProperties ). Обычно я бы списывал это как «ну что-то еще, вероятно, сбивает память, и эта функция оказалась не в том месте и не в то время», но это уже второй раз, когда этот точный метод вызывает именно это исключение доступа к памяти, которое поэтому немного подозрительно.

Пока не знаю, какие могут быть следующие шаги для устранения этой неполадки (кроме добавления +heap в мои WINEDEBUG , что звучит так, как будто это будет болезненно с точки зрения производительности).

Так или иначе,
вот steam-261550.log , rgl_log_42.txt и rgl_log_errors_42.txt для потомков.

@Yarwin

Я заметил, что вы отредактировали верхний начальный комментарий, чтобы порекомендовать установить какую-нибудь случайную сборку Proton, чтобы `` обойти '' эту проблему, но я не думаю, что рекомендовать случайные сборки Proton от случайных людей в Интернете, не попадая в большая дискуссия о достоинствах запуска двоичных файлов от случайных людей (например, у Wine есть доступ к файловой системе для всего вашего домашнего каталога). Также, вероятно, для Valve бесполезно, если «обходной путь» запускает какой-то разветвленный Proton с большим количеством изменений в нем.

Текущий обходной путь для проблем с вводом состоит в том, чтобы собрать Proton из этого репо с примененным патчем для восходящего этапа разработки вина.

@YellowApple , пытаюсь воссоздать вашу аварию, но у меня пока ничего нет ... Когда вы говорите табличку с именем, вы имеете в виду табличку с картой мира с названием армии и информацией о войсках?

Увидев, что он проходит через все этапы локализации, прежде чем нажать Sandbox.ViewModelCollection.Nameplate.PartyNameplateVM.RefreshDynamicProperties напомнил мне об этой теме . Это маловероятно, но вы можете попробовать удалить данные китайской локализации, как описано там.


@craftyguy , как бы то ни было, GloriousEggroll вносит свой вклад как в постановку вин, так и в lutris. Я лично не считаю это «случайным интернет-человеком», но я понимаю вашу точку зрения. Возможно, заявление об отказе от ответственности с дополнительной информацией будет более подходящим для тех, кому было бы удобнее создавать свои собственные.

Наконец, @Yarwin , поскольку OP был упомянут, вы можете подумать о добавлении нового материала .net Core, поскольку он, похоже, уменьшает сбои, и теперь у нас есть один отчет о работе репортера сбоев после его установки!

@Yarwin

Я заметил, что вы отредактировали верхний начальный комментарий, чтобы порекомендовать установить какую-нибудь случайную сборку Proton, чтобы `` обойти '' эту проблему, но я не думаю, что рекомендовать случайные сборки Proton от случайных людей в Интернете, не попадая в большая дискуссия о достоинствах запуска двоичных файлов от случайных людей (например, у Wine есть доступ к файловой системе для всего вашего домашнего каталога). Также, вероятно, для Valve бесполезно, если «обходной путь» запускает какой-то разветвленный Proton с большим количеством изменений в нем.

Текущий обходной путь для проблем с вводом состоит в том, чтобы собрать Proton из этого репо с примененным патчем для восходящего этапа разработки вина.

GloriousEggroll не является «случайным», как и сам Proton, или Mozilla Firefox, или любое программное обеспечение с открытым исходным кодом в Интернете, которое предоставляется бесплатно без гарантии или компенсации.

Потратив 15 минут на чтение изменений коммитов в репозитории GloriousEggroll, очень ясно видно, что он проделывает огромную работу по предоставлению последних исправлений и функций сборки Proton, включающей последний код разработки Wine и множество исправлений для конкретных игр, которые еще не вошли в Вино. Он не какая-то «случайная» черная шляпа, предоставляющая двоичные файлы - только с целью извлечения ваших данных или запуска руткита в вашей системе. Он прилагает массу усилий, чтобы поддерживать очень хорошую вилку Proton.

Честно говоря, у большинства Linux-геймеров нет технических возможностей или терпения, чтобы собрать все свое программное обеспечение из исходников. И даже если вы это сделаете, если вы также не проверяете этот код, это не _ действительно_ лучше, чем загрузка двоичных файлов. Если вы действительно параноик, вам следует играть в изолированной системе, в которой нет личных данных и доступа к каким-либо привилегированным сетевым ресурсам, или на виртуальной машине с аналогичной конфигурацией. Сами игры с закрытым исходным кодом, как известно, загружают жуткое количество данных о своих пользователях разработчику игры, и запуск их под вином вряд ли изменит это.

В целом, я думаю, что вы слишком остро считаете, что GE ненадежна или «случайна». Если вы серьезно параноик, вам следует запускать только действительно бесплатное программное обеспечение с открытым исходным кодом (которое по определению исключает M&B II: Bannerlord!), Которое вы вручную проверяли каждую строку исходного кода. Да, и не запускайте проприетарный BIOS - это означает, что вам придется покупать процессор и материнскую плату с открытым микрокодом.

Что касается Valve, они, похоже, не слишком вовлечены в работу с сообществом пользователей Proton, чтобы помочь улучшить Proton. Я могу только предположить, что их позиция либо (а) нас не волнует Proton в целом, либо (б) нас волнуют только проблемы, которые _ нас_ волнуют, а не то, на что жалуются наши пользователи. Я не видел, чтобы кто-либо из сотрудников Valve участвовал в этом отчете об ошибке, а вы?

Valve, вероятно, будет довольна тем, что позволит сообществу вокруг этой очень популярной игры найти решения для Bannerlord и перевести их в _Wine_. Честно говоря, для них это меньше работы, поэтому в этом есть смысл. Если нет ничего особенного в том, что делает _Proton_, что не может быть исправлено в апстриме в _Wine_, они почти наверняка просто проигнорируют этот отчет о проблеме и дождутся, пока Wine исправит проблему.

Сборка Proton-GE - самый удобный способ поиграть в Bannerlord на сегодняшний день для не очень технических геймеров Linux. Тем, кто не доверяет сборке, но не имеет навыков для компиляции из исходного кода, можно подождать, пока Valve обновит стабильную версию SteamPlay из официального клиента Steam версией Wine, содержащей исправления Bannerlord. Исходя из прошлого опыта, это может занять от нескольких недель до нескольких месяцев.

GloriousEggroll не является «случайным», как и сам Proton, или Mozilla Firefox, или любое программное обеспечение с открытым исходным кодом в Интернете, которое предоставляется бесплатно без гарантии или компенсации.

Mozilla и Valve намного более надежны, чем отдельные пользователи, предоставляющие двоичные файлы в Интернете. Первые - подотчетные компании, вторые - нет.

И опять же, это почти наверняка меньше помогает Valve, если данные, которые у них есть для этой игры, используют какой-то форк Proton, который даже не близок к тому, что они выпускают. Потому что давайте не будем обманывать себя, суть этой проблемы в этом репо - способствовать достижению цели, чтобы эта игра работала с выпуском Valve Proton, а не с яйцом или чьей-либо другой вилкой Proton. И это не общий форум поддержки игр (он есть на сайте Taleworld).

Для меня (Fedora 32 KDE Beta) .exes все еще нужно переименовать. Невозможно войти в игру с текущим обходным решением (5.5-GE-1 + protontricks 261550 dotnet472).
Итак, переименовав Mount & Blade II Bannerlord / bin / Win64_Shipping_Client /
Bannerlord.exe
к
TaleWorlds.MountAndBlade.Launcher.exe

@craftyguy Он буквально участвует в постановке вин. Вы рассуждаете с позиции незнания. И это тоже не твой блог.

GloriousEggroll не является «случайным», как и сам Proton, или Mozilla Firefox, или любое программное обеспечение с открытым исходным кодом в Интернете, которое предоставляется бесплатно без гарантии или компенсации.

Mozilla и Valve намного более надежны, чем отдельные пользователи, предоставляющие двоичные файлы в Интернете. Первые - подотчетные компании, вторые - нет.

И опять же, это почти наверняка поможет Valve _less_, если данные, которые у них есть для этой игры, используют какой-то форк Proton, который даже не близок к тому, что они выпускают. Потому что давайте не будем обманывать себя, суть этой проблемы в этом репо - способствовать достижению цели, чтобы эта игра работала с выпуском Valve Proton, а не с яйцом или чьей-либо другой вилкой Proton. И это не общий форум поддержки игр (он есть на сайте Taleworld).

Существуют форки Proton именно потому, что получение взносов в эти апстрим-проекты (Proton и Wine) исторически сложный и очень медленный и трудоемкий процесс.

  • Valve не реагирует на сообщество. Когда выходят новые важные игры, они не прилагают никаких усилий для взаимодействия с сообществом, чтобы объявить «мы работаем над этим» или «помогите нам, и мы включим ваши исправления в Proton» или что-нибудь в этом роде. Proton во многом работает как коммерческий репозиторий GitHub с открытым исходным кодом «башня из слоновой кости». Запросы на вытягивание сидят месяцами или годами практически без обратной связи.
  • Valve (а часто и восходящая компания Wine) иногда отказывается от практических, полезных вкладов и вместо этого настаивает на «идеальном» решении, которое гораздо сложнее разработать. При попытке запустить игру или часть программного обеспечения часто легко сделать «быстрое исправление», которое решит непосредственную проблему. Вы даже можете применить это исправление к определенному имени процесса, чтобы предотвратить его влияние на другое программное обеспечение. Но апстримы, с которыми мы имеем дело, - Valve / Proton и Wine - часто неохотно принимают эти вклады, вместо этого настаивая на том, чтобы основной код был полностью переработан или переработан до совершенства, прежде чем вклад может быть принят. Эти серьезные рефакторинги часто выходят за рамки навыков людей, которые могут внести быстрые исправления; Даже если они находятся в пределах своих возможностей, для завершения таких серьезных изменений могут потребоваться месяцы или годы. А пока у нас не было бы совместимости с неработающим программным обеспечением / игрой без быстрого исправления. Вот почему сборки исправлений для Proton (и до него Wine) так популярны и полезны.
  • Компании, которые работают над этим программным обеспечением, иногда довольно лицемерны в отношении обходных путей. Codeweavers - одна из основных компаний, вовлеченных в Wine / Proton. Они распространяют платный коммерческий дистрибутив Wine под названием CrossOver Linux (и CrossOver Mac тоже). Хотя они в значительной степени основаны на восходящем потоке Wine, они нередко внедряют хаки, обходные пути и другие подобные «практические» меры для исправления основного названия или основной части программного обеспечения (чаще всего Microsoft Office) в своем коммерческом продукте, не объединяя тот же обходной путь для исходного кода с открытым исходным кодом. Так что обходные пути прекрасны, если они улучшают внешний вид их продукта, но не годятся, если другие способствуют обходным путям.
  • Апстриминг уже происходит! В этой ветке есть более ранняя публикация с прямым доказательством того, что исправление курсора мыши для Bannerlord было принято Wine-staging, который является апстримом Proton. Единственное, что мешает втянуть этот патч в стабильную версию Proton, - это время. Много-много времени - наверное, недели или месяцы. Так что реальной работы по обновлению этого материала уже не осталось. Мои предыдущие замечания о сложности получения материала вверх по течению в основном относятся к другим играм и другим типам обходных путей, которые не так однозначны, как этот. Форк Proton от GE содержит множество практических исправлений для игр, которые могут не попадать в апстрим Wine в течение нескольких месяцев, если вообще когда-либо.

@YellowApple Я получаю это исключение, если использую бэкэнд компилятора шейдера ACO для mesa,
с тех пор, как я вернулся на llvm, сбои стали реже, и вместо этого исключения игра просто зависает (до сих пор мне было лень регистрировать, что там происходит, но я сделаю это в ближайшие несколько дней).

Используемое программное обеспечение:
последний протон-ге
dotnet472
mesa git (llvm 9)
linux-zen 5.6.2

Используемое оборудование:
Вега 56
3700X

Обновить:
Я ошибся, переход на llvm только показался лучше.

Я слежу за текущей работой: Proton 5.5-GE + protontricks 261550 dotnet472, гарантируя, что я установил Win 10 в качестве ОС.

Каждые несколько минут я сталкиваюсь со сбоями при загрузке примерно одних и тех же модулей. Я не могу полностью понять журнал, надеюсь, что кто-то поймет.
backtrace.txt

1060Ti 6 ГБ (драйвер nvidia 440) с процессором Ryzen 1800x

Все отлично поработали над устранением этой проблемы и сделали ее доступной для широких масс!

@Demannu Попробуйте установить dotnet Core, если вы этого не сделали. Вчера я сделал новую приставку и перестал вылетать каждые несколько минут до 1-2 часов. Когда я запускал игру сегодня утром, он вылетал дважды подряд, но с третьей попытки все заработало.

Как установить: Protontricks Terminal / Protontricks GUI

Также убедитесь, что ваш префикс установлен на Windows 10, а не на WinXP, который, по-видимому, меняется на один из скриптов dotnet.

Единственное, что я сделал со своим новым префиксом:

  • Используйте Proton 5.5-GE-1
  • Установить dotnet48
  • Установить vcrun2019
  • Установите dotnet Core вручную
  • Убедитесь, что установлен префикс Windows 10.

Я использовал protontricks --gui для установки всего и установил префикс Win10.

Изменить: если вы используете моды, обязательно проверяйте наличие обновлений каждый день и попробуйте отключить их, если вы рушитесь. После выхода 1.0.6 моя игра начала вылетать на арене, но оказалось, что это были моды арены, которые я использовал

Итак, в качестве обновления:

Со свежим префиксом настройте в следующем порядке:

  • Запустите Bannerlord один раз с Proton-5.5-GE-1, установленным в качестве совместимого слоя в Steam
  • protontricks 261550 vcrun2019
  • Установите ядро ​​dotnet с помощью метода графического интерфейса и загрузите его в этом потоке
  • protontricks 261550 dotnet48

У меня все еще есть следующие проблемы:

  • Мышь все еще не работает, возможно, 70% времени. Мне приходится перезапускать несколько раз, пока он не заработает. Это не тот случай на моем ноутбуке, только мой рабочий стол.
  • dotnet472 и dotnet48 , похоже, не решают проблему зависания при сохранении. По-прежнему кажется, что я трачу 90 секунд на сохранение. Как было определено, была ли это .NET? Что мне нужно сделать, чтобы понять, почему это все еще не работает?

По другой теме, кто-нибудь начал ковыряться в многопользовательской части игры? Я знаю, что Battleye будет трудным, но есть сообщения об играх Battleye, работающих на Linux.

Текущая ошибка выглядит примерно так:
Ошибка 31: ошибка драйвера

По другой теме, кто-нибудь начал ковыряться в многопользовательской части игры? Я знаю, что Battleye будет трудным, но есть сообщения об играх Battleye, работающих на Linux.

Текущая ошибка выглядит примерно так:
Ошибка 31: ошибка драйвера

BattleEye в наши дни устанавливает драйвер ядра и службу античита. И то, и другое невозможно с вином.

По другой теме, кто-нибудь начал ковыряться в многопользовательской части игры? Я знаю, что Battleye будет трудным, но есть сообщения об играх Battleye, работающих на Linux.

Текущая ошибка выглядит примерно так:
Ошибка 31: ошибка драйвера

Мультиплеер всегда работал у меня отлично, подбор игроков и кастомные серверы. Я просто отменил установку BattleEye, когда было предложено.

По другой теме, кто-нибудь начал ковыряться в многопользовательской части игры? Я знаю, что Battleye будет трудным, но есть сообщения об играх Battleye, работающих на Linux.
Текущая ошибка выглядит примерно так:
Ошибка 31: ошибка драйвера

Мультиплеер всегда работал у меня отлично, подбор игроков и кастомные серверы. Я просто отменил установку BattleEye, когда было предложено.

Уау, вы правы, я даже не пробовал многопользовательский режим из-за вышеупомянутого BattleEye, но да, он отлично работает и у меня после отмены установки в начале. Должно быть, они отключили его сейчас, и я уверен, что он перестанет работать в какой-то момент в будущем, но на данный момент, похоже, все работает.

Что касается одиночной игры, то моя текущая установка включает использование dotnet48, vcrun2019 и установку dotnet core exe, а также установку префикса на Windows 10. Я все еще получаю сбои каждый час или около того, а иногда и чаще, особенно сразу после загрузки спасти. Я также получал ту же ошибку, что и @YellowApple, с

Наконец, @Yarwin , поскольку OP был упомянут, вы можете подумать о добавлении нового материала .net Core, поскольку он, похоже, уменьшает сбои, и теперь у нас есть один отчет о работе репортера сбоев после его установки!

Спасибо за ваш вклад - я добавлю ядро ​​.net в мини-руководство по обходному пути.
Список требований, если кому-то интересно: https://forums.taleworlds.com/index.php?threads/installing -missing-required-dependencies.407126 / (vcruns устанавливаются Steam по умолчанию, и похоже, что они работают нормально )

По другой теме, кто-нибудь начал ковыряться в многопользовательской части игры? Я знаю, что Battleye будет трудным, но есть сообщения об играх Battleye, работающих на Linux.
Текущая ошибка выглядит примерно так:
Ошибка 31: ошибка драйвера

Мультиплеер всегда работал у меня отлично, подбор игроков и кастомные серверы. Я просто отменил установку BattleEye, когда было предложено.

Я понятия не имел, что это работает. Это весело.

Вероятно, единственный человек, пытающийся запустить CentOS 8, но ... что бы я ни делал, я не могу пройти через начальный экран загрузки при запуске, он не зависает, но экран загрузки никогда не заканчивается.

Текущая сборка - это Proton-5.5-GE-1 с dot472 (также пробовал dot48) под win10.

Я вижу людей, предлагающих vcrun2019, я не могу его установить, я вижу только vcrun2017 как вариант для меня.

Какие-либо предложения?

Вероятно, единственный человек, пытающийся запустить CentOS 8, но ... что бы я ни делал, я не могу пройти через начальный экран загрузки при запуске, он не зависает, но экран загрузки никогда не заканчивается.

Текущая сборка - это Proton-5.5-GE-1 с dot472 (также пробовал dot48) под win10.

Я вижу людей, предлагающих vcrun2019, я не могу его установить, я вижу только vcrun2017 как вариант для меня.

Какие-либо предложения?

Тогда это определенно будет что-то в вашей системе. Я запускаю ту же самую установку буквально без проблем. Единственный раз, когда я использую CentOS, - это работа. Я уверен, что это возможно, но я не могу представить себе игру на этом.

Arch Linux или Manjaro, похоже, подходят для игр Proton.

Вероятно, единственный человек, пытающийся запустить CentOS 8, но ... что бы я ни делал, я не могу пройти через начальный экран загрузки при запуске, он не зависает, но экран загрузки никогда не заканчивается.
Текущая сборка - это Proton-5.5-GE-1 с dot472 (также пробовал dot48) под win10.
Я вижу людей, предлагающих vcrun2019, я не могу его установить, я вижу только vcrun2017 как вариант для меня.
Какие-либо предложения?

Тогда это определенно будет что-то в вашей системе. Я запускаю ту же самую установку буквально без проблем. Единственный раз, когда я использую CentOS, - это работа. Я уверен, что это возможно, но я не могу представить себе игру на этом.

Arch Linux или Manjaro, похоже, подходят для игр Proton.

Я подумал, что это так. Думаю, пора выучить pacman ...

Итак, просто чтобы подтвердить поведение.

Если игра вылетает, мне нужно вручную убить ее процесс в диспетчере задач. Однако, если я попытаюсь снова запустить его в Steam, ничего не произойдет. Он запустится снова, только если я полностью перезапущу Steam.

Итак, просто чтобы подтвердить поведение.

Если игра вылетает, мне нужно вручную убить ее процесс в диспетчере задач. Однако, если я попытаюсь снова запустить его в Steam, ничего не произойдет. Он запустится снова, только если я полностью перезапущу Steam.

Это происходило и со мной на протяжении всего тестирования.

Он запустится снова, только если я полностью перезапущу Steam.

Это кажется немного странным. После завершения процесса винный сервер все еще работает или это заканчивается само?

Итак, просто чтобы подтвердить поведение.

Если игра вылетает, мне нужно вручную убить ее процесс в диспетчере задач. Однако, если я попытаюсь снова запустить его в Steam, ничего не произойдет. Он запустится снова, только если я полностью перезапущу Steam.

Я обнаружил, что часто выполняется длительный запуск explorer.exe (среди прочего) (особенно если он появляется с диалоговым окном об ошибке Wine). Убийства, которого обычно достаточно, чтобы очистить все остальное (я обычно использую htop с фильтром .exe специально, чтобы отловить их, если они останутся).

Вам также необходимо удалить все оставшиеся процессы wineserver .

Просто попытался добавить ядро ​​.NET, которое нам нужно, в winetricks . Надеюсь, он будет принят, и мы сможем упростить обходной путь до protontricks dotnet472 и protontricks dotnetcore2

Вероятно, единственный человек, пытающийся запустить CentOS 8, но ... что бы я ни делал, я не могу пройти через начальный экран загрузки при запуске, он не зависает, но экран загрузки никогда не заканчивается.
Текущая сборка - это Proton-5.5-GE-1 с dot472 (также пробовал dot48) под win10.
Я вижу людей, предлагающих vcrun2019, я не могу его установить, я вижу только vcrun2017 как вариант для меня.
Какие-либо предложения?

Тогда это определенно будет что-то в вашей системе. Я запускаю ту же самую установку буквально без проблем. Единственный раз, когда я использую CentOS, - это работа. Я уверен, что это возможно, но я не могу представить себе игру на этом.
Arch Linux или Manjaro, похоже, подходят для игр Proton.

Я подумал, что это так. Думаю, пора выучить pacman ...

Или просто прокрутите эту гигантскую ветку (я знаю, много читаю) и посмотрите, где люди несколько раз упоминали исправление «не удается найти vc2019 в winetricks / protontricks».

GloriousEggroll не является «случайным», как и сам Proton, или Mozilla Firefox, или любое программное обеспечение с открытым исходным кодом в Интернете, которое предоставляется бесплатно без гарантии или компенсации.

Mozilla и Valve намного более надежны, чем отдельные пользователи, предоставляющие двоичные файлы в Интернете. Первые - подотчетные компании, вторые - нет.
И опять же, это почти наверняка поможет Valve _less_, если данные, которые у них есть для этой игры, используют какой-то форк Proton, который даже не близок к тому, что они выпускают. Потому что давайте не будем обманывать себя, суть этой проблемы в этом репо - способствовать достижению цели, чтобы эта игра работала с выпуском Valve Proton, а не с яйцом или чьей-либо другой вилкой Proton. И это не общий форум поддержки игр (он есть на сайте Taleworld).

Существуют форки Proton именно потому, что получение взносов в эти апстрим-проекты (Proton и Wine) исторически сложный и очень медленный и трудоемкий процесс.

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

Я согласен с большей частью этого, но я думаю, что «хакерские» обходные пути и те, которые относятся к конкретному имени процесса, должны быть минимизированы в основных репозиториях. Все в порядке, как сейчас, сообщество предоставляет исправления для последних выпусков, в то время как апстрим содержит только коммиты, которые учитывают более широкую картину. Я не думаю, что ни один из проектов или их сопровождающих следует обвинять в том, что они не использовали такие обходные пути, поскольку это в конечном итоге приведет к огромным техническим долгам. Исправление курсора мыши для этой игры уже обновлено в Wine-staging, поэтому они не игнорируют исправления, не связанные с взломом

Proton 5.5 GE не работает с моей установкой. Вылетает мгновенно в бою или через 2 минуты на карте.

Я слежу за текущей работой: Proton 5.5-GE + protontricks 261550 dotnet472, гарантируя, что я установил Win 10 в качестве ОС.

Каждые несколько минут я сталкиваюсь со сбоями при загрузке примерно одних и тех же модулей. Я не могу полностью понять журнал, надеюсь, что кто-то поймет.
backtrace.txt

1060Ti 6 ГБ (драйвер nvidia 440) с процессором Ryzen 1800x

Все отлично поработали над устранением этой проблемы и сделали ее доступной для широких масс!

У меня были эти случайные сбои в другой работающей системе, и я, наконец, понял, на 99% уверен, что это автосохранение с неправильной версией. Например, обновление сохранения с 1.0.6 до 1.0.7 вылетало бы через 1-15 минут без каких-либо особых действий. Это исправило удаление автосохранения (1.0.6). Я пробовал это и с изменениями более ранней версии. Это устранило 90% моих сбоев. Надеюсь, это поможет кому-то здесь.

Я слежу за текущей работой: Proton 5.5-GE + protontricks 261550 dotnet472, гарантируя, что я установил Win 10 в качестве ОС.
Каждые несколько минут я сталкиваюсь со сбоями при загрузке примерно одних и тех же модулей. Я не могу полностью понять журнал, надеюсь, что кто-то поймет.
backtrace.txt
1060Ti 6 ГБ (драйвер nvidia 440) с процессором Ryzen 1800x
Все отлично поработали над устранением этой проблемы и сделали ее доступной для широких масс!

У меня были эти случайные сбои в другой работающей системе, и я, наконец, понял, на 99% уверен, что это автосохранение с неправильной версией. Например, обновление сохранения с 1.0.6 до 1.0.7 вылетало бы через 1-15 минут без каких-либо особых действий. Это исправило удаление автосохранения (1.0.6). Я пробовал это и с изменениями более ранней версии. Это устранило 90% моих сбоев. Надеюсь, это поможет кому-то здесь.

Я протестирую это, я хранил свои сейвы, так что сотру их и попробую снова. Спасибо!

Я использую proton-5.5-GE-1, у меня установлены dotnet472, vcrun2019 и dotnetcore2. Когда я запускаю игру, она вроде работает нормально. Однако я получаю случайные сбои, и когда после некоторых сбоев я больше не могу перезапустить игру. В этом случае открытие protontricks 261550 выдает следующую ошибку:
/home/krulvis/.cache/protontricks/proton/Proton-5.5-GE-1/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""
Был ли у кого-нибудь подобный опыт или, возможно, знает, что происходит?

Я заметил закономерность, если бы я только автоматически разрешал сражения с помощью «Отправить войска!» вариант, игра вылетает намного чаще, чем просто выход на поле и сражение вручную.

@Krulvis У меня иногда бывает точно такая же проблема ... Перезагрузка системы всегда решает ее за меня. При этом я не испытывал этого в последнее время. Вероятно, это как-то связано с затяжными процессами.

Я использую proton-5.5-GE-1, у меня установлены dotnet472, vcrun2019 и dotnetcore2. Когда я запускаю игру, она вроде работает нормально. Однако я получаю случайные сбои, и когда после некоторых сбоев я больше не могу перезапустить игру. В этом случае открытие protontricks 261550 выдает следующую ошибку:
/home/krulvis/.cache/protontricks/proton/Proton-5.5-GE-1/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""
Был ли у кого-нибудь подобный опыт или, возможно, знает, что происходит?

Да у меня было это. Я использовал оригинальную сборку протона, предоставленную @YellowApple, и она работает

https://forums.taleworlds.com/index.php?threads/known -issues-will-be-updated-скоро.401168 /

Некоторые из наших игроков могут столкнуться с тем, что игра не запускается вообще, вылетает после запуска и вылетает после экрана загрузки. Мы исследуем эту проблему. Это очень важно, если вы используете аварийный загрузчик после всех сбоев. Вы можете попробовать возможное решение этой проблемы здесь. Обратите внимание, что мы очень много работаем, чтобы исправить эту проблему, которая не запускается!

https://forums.taleworlds.com/index.php?threads/possible -workaround-for-game-not-launching-issue.407128

Игра не запускается - тоже проблема Windows.

Вероятно, единственный человек, пытающийся запустить CentOS 8, но ... что бы я ни делал, я не могу пройти через начальный экран загрузки при запуске, он не зависает, но экран загрузки никогда не заканчивается.
Текущая сборка - это Proton-5.5-GE-1 с dot472 (также пробовал dot48) под win10.
Я вижу людей, предлагающих vcrun2019, я не могу его установить, я вижу только vcrun2017 как вариант для меня.
Какие-либо предложения?

Тогда это определенно будет что-то в вашей системе. Я запускаю ту же самую установку буквально без проблем. Единственный раз, когда я использую CentOS, - это работа. Я уверен, что это возможно, но я не могу представить себе игру на этом.
Arch Linux или Manjaro, похоже, подходят для игр Proton.

Я подумал, что это так. Думаю, пора выучить pacman ...

Или просто прокрутите эту гигантскую ветку (я знаю, много читаю) и посмотрите, где люди несколько раз упоминали исправление «не удается найти vc2019 в winetricks / protontricks».

Я новичок в github, поэтому, когда я изначально запускал ctrl-f "vcrun2019", я ничего не видел.

Спасибо, что указали свое имя в своем профиле, поэтому я знаю, что я буду избегать вас в профессиональной среде.

Вероятно, единственный человек, пытающийся запустить CentOS 8, но ... что бы я ни делал, я не могу пройти через начальный экран загрузки при запуске, он не зависает, но экран загрузки никогда не заканчивается.
Текущая сборка - это Proton-5.5-GE-1 с dot472 (также пробовал dot48) под win10.
Я вижу людей, предлагающих vcrun2019, я не могу его установить, я вижу только vcrun2017 как вариант для меня.
Какие-либо предложения?

Тогда это определенно будет что-то в вашей системе. Я запускаю ту же самую установку буквально без проблем. Единственный раз, когда я использую CentOS, - это работа. Я уверен, что это возможно, но я не могу представить себе игру на этом.
Arch Linux или Manjaro, похоже, подходят для игр Proton.

Я подумал, что это так. Думаю, пора выучить pacman ...

Или просто прокрутите эту гигантскую ветку (я знаю, много читаю) и посмотрите, где люди несколько раз упоминали исправление «не удается найти vc2019 в winetricks / protontricks».

Я новичок в github, поэтому, когда я изначально запускал ctrl-f "vcrun2019", я ничего не видел.

Спасибо, что указали свое имя в своем профиле, поэтому я знаю, что я буду избегать вас в профессиональной среде.

А? Я не был саркастичен. Это действительно много чтения. Если вы собираетесь избегать кого-то за искренние попытки помочь, я думаю, это ваша прерогатива.

Причина, по которой вы не нашли бы его при нажатии ctrl + f, заключается в том, что эта вещь спрятана в середине этой страницы: https://i.imgur.com/nxX7Qz4.png

Я никогда раньше не работал с такой большой проблемой, поэтому не заметил этого, пока не посмотрел. ТИЛЬ! Извините за недоразумение.

@allquixotic Все, что было сказано, после довольно тщательного изучения этой проблемы я не нашел ничего, что действительно объясняло бы, как установить vcrun2019, и у меня такая же проблема ... Не могли бы вы объяснить? Я пробовал опцию --force и гуглил.

Я решил взглянуть на журнал, созданный при использовании флага PROTON_LOG , и, что удивительно, он сгенерировал файл размером 274 МБ с миллионами строк, это должно быть так? Обратите внимание, что я удалил предыдущий журнал перед запуском игры.

@ptkato Однажды у меня был файл журнала размером 8 ГБ, потому что я включил PROTON_LOG=1 . Это было с e1.0.4 и стандартным протоном и более продолжительным сеансом (около 30 минут). Очевидно, эти файлы журналов быстро становятся большими.

@allquixotic Все, что было сказано, после довольно тщательного изучения этой проблемы я не нашел ничего, что действительно объясняло бы, как установить vcrun2019, и у меня такая же проблема ... Не могли бы вы объяснить? Я пробовал опцию --force и гуглил.

Из того, что я обнаружил, похоже, что vcrun2019 не делает ничего другого, кроме установки как vcrun2015, так и vcrun2017. Хотя лично я пытался установить оба, и установка не удалась, сказав, что он уже установлен ...

@ptkato У меня вчера был один полностью заполненный жесткий диск ... Около 340 ГБ

@allquixotic Все, что было сказано, после довольно тщательного изучения этой проблемы я не нашел ничего, что действительно объясняло бы, как установить vcrun2019, и у меня такая же проблема ... Не могли бы вы объяснить? Я пробовал опцию --force и гуглил.

vcrun2019 кажется недавним дополнением к winetricks. В Arch он находится в пакете winetricks-git, но не в winetricks.

Хотел дать обнову;
Я бегу:

  • Протон-5.5-GE-1
  • protontricks 261550 dotnet472
  • proton --gui обходной путь для установки ядра dotnet
  • Windows 10 в winecfg
  • Удалить все предыдущие автосохранения из предыдущих патчей игры

Я смог сыграть полуторачасовую сессию только с одним вылетом при изменении настроек видео (я стал жадным). В остальном я еще ни с одним не сталкивался.

Проверено:

  • Арена
  • Набег на деревню
  • Симуляция битвы и настоящая битва
  • Вы присоединились к уже идущей битве
  • Говорил с множеством людей
  • Пауза почти в любой момент, о котором я мог думать
  • Пытался вывести месиво из разговоров и сражений
  • Вкладки, как маньяк, во время сражений и после сражений
  • Alt + Tab практически из любого места в игре

Обновленное руководство можно найти здесь

Тогда позвольте мне попытаться собрать все воедино ...

Спасибо VictorRogers , YellowApple , Metal079 , allquixotic , lboklin за их отличные предложения и исправления, а также всем остальным, которые помогли заставить Bannerlord работать!

Получение всего, что вам нужно

Протон-5.5-GE-1

  • скачать релиз отсюда .

    • в конце каждого сообщения о выпуске есть кнопка "Активы"

  • извлечь содержимое файла .tar.gz в /home/<your-name>/.steam/compatibilitytools.d/

    • если этой папки не существует, создайте ее

    • теперь у вас должна быть подпапка в этой папке с именем Proton-5.5-GE-1

  • перезапустите Steam, если он уже запущен
  • щелкните правой кнопкой мыши Bannerlord и перейдите в "Свойства"

    • на вкладке «Общие» внизу поставьте галочку напротив параметра «Принудительное использование определенного инструмента совместимости со Steam Play»

    • у вас должна быть возможность выбрать опцию «Протон-5.5-GE-1»

  • если вы не видите этот параметр в свойствах, попробуйте переместить папку «Proton-5.5-GE-1» в следующее место: ~/.local/share/Steam/compatibilitytools.d (создать папки, если они не существуют), как было рекомендовано Вот

    • перезапустите Steam и проверьте, существует ли опция сейчас

протонтрики

  • к сожалению, похоже, нет другого "простого" способа получить протонтрики, кроме использования метода установки pipx
  • инструкции по установке можно найти здесь
  • согласно этому сообщению , у пользователей Arch может быть другая альтернатива, используя pamac install protontricks-git

ядро dotNet

winetricks с vcrun2019

  • рекомендуется установить последнюю версию winetricks, потому что многие репозитории распространяют старые версии winetricks, которые не знают, как обрабатывать vcrun2019
  • winetricks - это просто двоичный файл, который вам нужно скачать и сделать исполняемым:
cd "${HOME}/Downloads"
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
  • если вы хотите установить его для текущего пользователя:
mkdir "${HOME}/bin"
mv winetricks "${HOME}/bin"
  • если вы хотите установить его в масштабе всей системы:
sudo mv winetricks /usr/bin/
  • вам нужно будет повторно войти в

Заставляем Bannerlord работать

  • убедитесь, что у вас установлены необходимая версия Proton и protontricks
  • перейдите в /home/<your-name>/.steam/steam/steamapps/compatdata/ и переименуйте папку "261550" во что-то вроде "Backup_261550"

    • копирования недостаточно, так как вы действительно хотите начать с инициализации y полностью свежего винного префикса

    • копирование папки сделает резервную копию ваших сохранений, ваших настроек и всего вашего винного префикса на случай, если вы захотите получить или протестировать вещи позже

  • запустить игру один раз

    • это позволяет Steam установить некоторые зависимости

    • начинать новую кампанию не обязательно

  • выйти из игры
  • откройте консоль и запустите protontricks 261550 dotnet472

    • он будет работать через несколько установок более старых версий dotnet

    • когда установщик спросит, выберите «Перезагрузить сейчас» (фактически не перезагружайте компьютер)

  • когда это будет сделано, запустите protontricks 261550 vcrun2019

    • _Я не уверен на сто процентов, нужно ли это, но я сделал это, и мои настройки, похоже, работают нормально_

  • когда это будет сделано, запустите protontricks 261550 --gui

    • выберите "Выбрать винный префикс по умолчанию"

    • проверьте заголовок окна, если выбран правильный префикс, он должен быть /home/<your-name>/.steam/steam/steamapps/compatdata/261550/pfx

    • выберите "Запустить проводник"

    • откройте устройство «/», перейдите туда, где вы скачали файл dotnet-core, и дважды щелкните его, чтобы установить

    • _ поскольку у меня было два файла "ядра dotnet", я установил оба этим способом _

    • закройте проводник после завершения установки

    • выберите "Запустить winecfg"

    • на вкладке «Приложения» внизу установите «Версия Windows» на Windows 10

    • _Я не уверен на сто процентов, нужно ли это. У меня на Windows 7 все вроде работает нормально_

    • закройте Winecfg с помощью кнопки «ОК» и выйдите из графического интерфейса protontricks, нажав «Отмена», пока он не закроется.

  • запустить Bannerlord через Steam
  • начать новую кампанию

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

    • вы можете попытаться восстановить свои старые сохранения, но только если вы сделали их с той же версией игры, что и та, которую вы используете сейчас

    • Я еще не тестировал это, так что ... сообщите, работает ли он.

Поиск проблемы

Если что-то по-прежнему не работает, есть несколько вещей, упомянутых в очень длинной проблеме с github, которые вы можете попробовать сделать.

Вы используете графический процессор AMD, и игра не работает

  • вы можете попробовать обновить драйверы MESA до последних версий
  • хороший вариант для этого - oibaf ppa

Вы используете NixOS и хотите установить winetricks

  • Процедуры установки для NixOS отличаются, поэтому установка Winetricks немного сложнее. Я им не пользуюсь, но был предоставлен скрипт, который можно использовать для установки последних Winetricks

Игра вылетает, и я не могу ее перезапустить

  • это могло быть из-за зависшего процесса винного сервера. Проверьте диспетчер задач вашей ОС и при необходимости закройте его.

Я хочу отладить игру, но файлы журналов ОГРОМНЫЕ

  • proton предполагает набор настроек отладки, но вы можете это изменить. См. Этот пост для объяснения

@Tercus

извлечь содержимое файла .tar.gz в /home/<your-name>/.steam/compatibilitytools.d/

  • теперь у вас должна быть подпапка в этой папке с именем Proton-5.5-GE-1

Кажется, я застрял на этом шаге, для меня нет папки с инструментами совместимости, и если я создам ее и добавлю туда папку, у меня не будет возможности использовать ее в качестве протонной версии

Тогда позвольте мне попытаться собрать все воедино ...

Хороший гид! Несколько предложений:

  • Сделайте это GitHub Gist, чтобы его можно было связать, вместо того, чтобы искать решение этой проблемы (ваш пост будет похоронен с такой скоростью). Ссылка на это в комментарии здесь. Остальные из нас могут просто ссылаться на вашу проблему всякий раз, когда кто-либо задает вопрос (в этом выпуске GitHub или где-либо еще), который уже охвачен вашим руководством.

  • Поскольку ваши инструкции включают vcrun2019 вы также должны включить шаги по устранению неполадок, чтобы исправить ситуацию, когда у пользователя нет vcrun2019, доступного в их установке winetricks, потому что он слишком старый. Я и несколько других авторов включили этот шаг несколько дней назад в эту ветку, но его суть в том, чтобы запустить sudo winetricks --self-update . Вы также можете заметить, что это не работает для «NixOS» из-за уникального способа упаковки программного обеспечения NixOS, но другой пользователь любезно предоставил обходной путь для пользователей NixOS! Надеюсь, вы тоже найдете этот пост в этой теме.

  • Другой обходной путь: если пользователь не видит каталог ~/.steam/compatibilitytools.d он должен запустить mkdir -p ~/.local/share/Steam/compatibilitytools.d а затем скопировать туда папку Proton-GE. Спасибо @ Metal079

  • Другой пользователь сообщил, что игра надежно вылетала рано и часто с графическими драйверами AMD с открытым исходным кодом в Ubuntu 18.04, но когда он обновился до последнего графического стека git master с открытым исходным кодом oibaf PPA, игра начала работать. Итак, я предполагаю, что другая известная проблема может возникнуть, если вы используете старую установку Ubuntu с использованием графических драйверов AMD с открытым исходным кодом, которые вам нужно обновить с помощью PPA oibaf.

@allquixotic В чем проблема? Мне нужно было создать папку compatibilitytools.d в /home/USERNAME/.local/share/Steam

Убедитесь, что имя папки правильное (".d" в конце), а также перезапустите Steam после извлечения протонной версии. Проверьте, не был ли протонный архив случайно извлечен на один уровень глубже, например "Proton-5.5.0-GE-1 / Proton-5.5.0-GE-1 /"

@allquixotic В чем проблема? Мне нужно было создать папку compatibilitytools.d в /home/USERNAME/.local/share/Steam

О, классно. Не уверен, что случилось с тем, что этот путь отличается от обычного ~ / .steam. Отредактировал мои предложения для руководства Tercus выше!

Хотел что-то добавить, у меня также было много сбоев с решением, описанным выше (Proton-GE, dotnet472, dotnet core и windows 10), и что исправило это для меня, так это переключение на драйвер ACO mesa, а не по умолчанию (я использую Manjaro с Mesa 20.0.4 и Radeon RX 580). До переключения каждые несколько минут у меня возникали сбои (иногда можно было играть до часа без сбоев), но после переключения на драйвер ACO игра еще не вылетала после примерно 2 часов игры. Надеюсь, это поможет людям, у которых все еще есть проблемы.

Хотел что-то добавить, у меня также было много сбоев с решением, описанным выше (Proton-GE, dotnet472, dotnet core и windows 10), и что исправило это для меня, так это переключение на драйвер ACO mesa, а не по умолчанию (я использую Manjaro с Mesa 20.0.4 и Radeon RX 580). До переключения каждые несколько минут у меня возникали сбои (иногда можно было играть до часа без сбоев), но после переключения на драйвер ACO игра еще не вылетала после примерно 2 часов игры. Надеюсь, это поможет людям, у которых все еще есть проблемы.

Я использую ACO, и вроде бы ничего не улучшилось.

Пока я могу потратить от 3 до 4 часов на сохранение, прежде чем начну постоянно вылетать из-за всех исправлений, и это, если мне повезет. Часто я могу получить только около часа. Обновление pfx, кажется, может дать мне час на старое сохранение с той же версией игры. До сих пор я прошел только первые несколько часов без dotnet *, но время сохранения затрудняет тестирование.

@allquixotic
~ / .steam должен быть символьной ссылкой на ~ / .local / share / Steam.

Linux 5.6.2.arch1-2
mesa-aco-git 20.1.0_devel | меса 20.0.4-1
6-ядерный процессор AMD Ryzen 5 3600X
AMD Radeon RX 580

Я использую proton-5.5-GE-1, у меня установлены dotnet472, vcrun2019 и dotnetcore2. Когда я запускаю игру, она вроде работает нормально. Однако я получаю случайные сбои, и когда после некоторых сбоев я больше не могу перезапустить игру. В этом случае открытие protontricks 261550 выдает следующую ошибку:
/home/krulvis/.cache/protontricks/proton/Proton-5.5-GE-1/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""
Был ли у кого-нибудь подобный опыт или, возможно, знает, что происходит?

@Krulvis Скорее всего, есть wineserver который нужно убить. Я столкнулся с тем же самым и убив, что застрял wineserver исправил.

Я решил взглянуть на журнал, созданный при использовании флага PROTON_LOG , и, как ни странно, он сгенерировал файл размером 274 МБ с миллионами строк, это должно быть так? Обратите внимание, что я удалил предыдущий журнал перед запуском игры.

@ptkato Да, это нормально с protontricks d версиями .NET. Вы можете сократить это количество, передав пользовательскую переменную WINEDEBUG в параметрах запуска. По умолчанию Proton предполагает WINEDEBUG=+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree ; +seh - это то, что генерирует эти строки, так что это то, что вы хотите удалить.

Вы также можете установить это, создав user_settings.py в папке установки Proton, например, ~/.steam/steam/compatibilitytools.d/$PROTON_VERSION/ или ~/.steam/steam/steamapps/common/$PROTON_VERSION/ (там должен быть user_settings.sample.py в качестве шаблона) . Похоже, что Valve рекомендует это делать именно так, но я лично предпочитаю настраивать эти параметры для каждой игры.

когда это будет сделано, запустите protontricks 261550 --gui dlls

@Tercus Вы также можете просто запустить protontricks 261550 --gui и использовать эту опцию «выбрать префикс по умолчанию» (которая выбирается автоматически). Должен привести вас в то же место (даже если эта опция ошибочно названа, учитывая, что "по умолчанию" наборы protontricks действительно указаны в compatdata/261550/pfx вместо, например, ~/.wine ).

Пока я могу потратить от 3 до 4 часов на сохранение, прежде чем начну постоянно вылетать из-за всех исправлений, и это, если мне повезет. Часто я могу получить только около часа. Обновление pfx, кажется, может дать мне час на старое сохранение с той же версией игры. До сих пор я прошел только первые несколько часов без dotnet *, но время сохранения затрудняет тестирование.

Это теперь и мое поведение. Я могу потратить несколько часов на сохранение, прежде чем начну постоянно падать. Собираюсь попытаться более внимательно изучить журналы и посмотреть, что я могу найти. Я умираю здесь! :)

Пока я могу потратить от 3 до 4 часов на сохранение, прежде чем начну постоянно вылетать из-за всех исправлений, и это, если мне повезет. Часто я могу получить только около часа. Обновление pfx, кажется, может дать мне час на старое сохранение с той же версией игры. До сих пор я прошел только первые несколько часов без dotnet *, но время сохранения затрудняет тестирование.

@allquixotic
~ / .steam должен быть символьной ссылкой на ~ / .local / share / Steam.

Linux 5.6.2.arch1-2
mesa-aco-git 20.1.0_devel | меса 20.0.4-1
6-ядерный процессор AMD Ryzen 5 3600X
AMD Radeon RX 580

Да, вещь с ACO была ложным флагом, и после загрузки моего сохранения позже сегодня у меня было такое же поведение. Просматривали журналы, и кажется, что сбой происходит каждый раз из-за одной и той же ошибки, что, по крайней мере, должно обнадеживать:

 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 Да, это нормально с protontricks d версиями .NET. Вы можете сократить это, передав пользовательскую переменную WINEDEBUG в параметрах запуска. По умолчанию Proton предполагает WINEDEBUG=+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree ; +seh - это то, что генерирует эти строки, так что это то, что вы хотите удалить.

Спасибо, это помогло, теперь следует журнал:
steam-261550.log

Необработанное исключение: System.AccessViolationException: попытка чтения или записи в защищенную память. Это часто указывает на то, что другие
TaleWorlds.Localization.TextProcessor.Tokenizer.FindTokenMatches (текст строки, Int32 beginIndex, Int32 endIndex, List`1 tokenMatches)
в TaleWorlds.Localization.TextProcessor.Tokenizer.FindTokenMatchesAndText (текст строки)
в TaleWorlds.Localization.TextProcessor.Tokenizer.d__2.MoveN
...

@tkamat Извините, если это шум, но из какого журнала это, не удалось найти ничего похожего в 261550/pfx/drive_c/ProgramData/Mount and Blade II Bannerlord/logs/ или из WINEDEBUG = + timestamp, + pid, + tid, + seh, + debugstr, + loaddll, + mscoree

@allquixotic @Tercus Я бы

У кого-то перестал работать мультиплеер? Я получаю couldn't receive login results from server ошибок сейчас. :(

Я обновил свое небольшое руководство и включил предложения. Суть можно найти здесь . Вы можете прокомментировать здесь изменения. Спасибо всем за отличную работу. Так скоро после выпуска, и в игру можно играть под Linux!

@ptkato Полистал журнал, заметил только

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

Я не могу быть уверен, что именно это вызывает сбои, но это легко исправить; вам не хватает пакета Linux! Если вы используете дистрибутивы на основе Debian / Ubuntu, это будет winbind как написано в сообщении об ошибке, если вы используете что-то на основе Arch, это будет samba .

Попробуйте и посмотрите, исправит ли это что-нибудь!

Я понял, что, по крайней мере, для меня, сделало мои сбережения намного быстрее, чем у некоторых других.
Без dotnet мое время сохранения составляло около 10 секунд, а с dotnet - около 2 секунд. У некоторых других были похожие номера.
Где для большинства, кажется, цифры были больше примерно 2-3 минут и 30 секунд соответственно.

Причина для меня в fsync. С его включением я получаю быстрое время сохранения, с его выключением я получаю медленное время сохранения.

Мне кажется, что дотнет является причиной множества, казалось бы, случайных сбоев, я пробовал все комбинации исправлений здесь, а также вещи, которые придумал сам, без каких-либо улучшений. У меня никогда не возникало проблем с производительностью, которые у некоторых возникали с dotnet, поэтому сбои - единственная проблема с dotnet, которая у меня была.

Так что мой лучший опыт на данный момент - не делать никаких настроек / установок protontricks, а убедиться, что fsync работает, что уже было. Я предпочитаю 10-секундные сохранения и отсутствие / гораздо меньшее количество сбоев, чем 2-секундные сохранения и множество сбоев. Я не пробовал его достаточно долго, чтобы сказать, насколько я свободен от сбоев, но, по крайней мере, он значительно улучшился.

Однако мне нужен dotnet для работы средства запуска, поэтому я использую новый предполагаемый обходной путь, чтобы обойти средство запуска TaleWorlds, представленное в недавнем патче, чтобы вместо этого запустить Bannerlord.Native.exe . Переименуйте его в TaleWorlds.MountAndBlade.Launcher.exe и все готово.

Изменить: недостатком альтернативного exe является то, что программа запуска обрабатывает загрузку модов, поэтому моды не загружаются, если программа запуска обходится. С этим можно справиться, выполнив то, что здесь упомянуто, так что это управляемо, но не идеально.

@ albin-engstrom Хм, игра лучше работает с fsync, и я думаю, что esync может быть проблемой, как и в других играх. Кто-нибудь пробовал запустить игру с PROTON_NO_ESYNC=1 ?

@tkamat Я пробовал все комбинации fsync и esync, включенные или выключенные. Но только с дотнетом.
Насколько я мог судить, с выключенными esync и fsync сбой был таким же, как и при любой другой комбинации. Поскольку это было то, что я тестировал в то время, я не особо отмечал, каково время сохранения, но если бы оно было заметно медленнее, я полагаю, я бы это заметил.

@tkamat @ albin-engstrom Я также тестировал игру с esync, fsync и без обоих и без dotnet, время сохранения всегда составляет около 15 секунд (с процессором ryzen 3700x и samsung 860 evo ssd).

ОБНОВИТЬ:
@ albin-engstrom При использовании вашего предложения ( Bannerlord.Native.exe символически привязано к TaleWorlds.MountAndBlade.Launcher.exe ) время сохранения улучшается примерно на 50%, например, теперь время сохранения составляет около 7,5 секунд (когда не запущена никакая команда winetricks).

У кого-то перестал работать мультиплеер? Я получаю couldn't receive login results from server ошибок сейчас. :(

Проверил еще раз сегодня утром, теперь он работает! Ву!

Я также тестировал игру с esync, fsync и без обоих и без dotnet, время сохранения всегда составляет около 15 секунд (с процессором ryzen 3700x и ssd samsung 860 evo).

@elovin Это интересно. Возможно, в моем случае есть какая-то проблема, которую fsync решает / обрабатывает, но в других случаях проблема может отсутствовать, и fsync не меняет многое. И у меня есть Ryzen 3900X и 970 Evo, настолько похожие вещи, что вряд ли это будет для нас разницей.

При использовании вашего предложения (Bannerlord.Native.exe с символической ссылкой на TaleWorlds.MountAndBlade.Launcher.exe) мое время сохранения улучшается примерно на 50%, например, теперь я получаю время сохранения около 7,5 секунд (когда не запущена никакая команда winetricks).

Это здорово, возможно, причина в том, что он загружает вещи по-другому. Когда я впервые попробовал это, у меня был установлен dotnet и короткое время сохранения, а переименование exe, похоже, отключало / не загружало dotnet. Как только я это сделал, у меня были долгие времена сохранения.
Может случиться так, что dotnet специально нужен только для модуля запуска и загружается вместе с ним, поэтому при обходе модуля запуска dotnet не загружается.
Возможно, есть и другие вещи, которые не загружаются, что может быть причиной ваших результатов.

@ albin-engstrom Ну, я, наконец, закончил компилировать ядро ​​с поддержкой fsync (я использовал linux-tkg ), и могу подтвердить, что время сохранения без dotnet или каких-либо других протоколов сократилось с ~ 2 минут до примерно 10 секунд! Я не играл достаточно долго, чтобы сделать какие-либо окончательные выводы о стабильности, но до сих пор у меня не было сбоев с этой конфигурацией, в то время как все решения dotnet, которые я пробовал, в конечном итоге заканчивались сбоями.

Повторюсь, вот шаги, которые я выполнил:

  1. Установите ядро ​​с поддержкой fsync (я снова рекомендую linux-tkg).
  2. Symlink Bannerlord.Native.exe к TaleWorlds.MountAndBlade.Launcher.exe
  3. Выберите Proton-5.5-GE-1, удалите предыдущий префикс и запустите игру.
  4. Это оно! Никаких протонкриков и прочего не требуется.

Хотя время сохранения с помощью этого метода немного больше, я думаю, что значительно увеличенная стабильность компенсирует разницу в несколько секунд, и я буду использовать это, пока кому-то не удастся отладить сбои dotnet. Было бы здорово увидеть, работает ли это для кого-то еще, и да, спасибо @ albin-engstrom за то, что он разобрался с fsync.

@tkamat Приятно слышать, что это хорошо работает и для кого-то еще, я сейчас играл около 3 часов с этой конфигурацией без единого сбоя, тогда как раньше у меня было как минимум несколько часов, иногда намного больше, а иногда гораздо меньше. Но 3 часа без сбоев - это неслыханно.

Я также использую linux-tkg и могу порекомендовать это, это отличный помощник для компиляции вашего собственного ядра, хотя вы не делаете это полностью самостоятельно. Я делаю это по разным причинам, в том числе fsync.
Но если кто-то не хочет компилировать свои собственные, вероятно, есть некоторые предварительно скомпилированные, доступные в выбранном вами дистрибутиве.

В моем случае я также использую proton-tgk, а также сценарии tkg для компиляции dxvk.

@ albin-engstrom Ну, я, наконец, закончил компилировать ядро ​​с поддержкой fsync (я использовал linux-tkg ), и могу подтвердить, что время сохранения без dotnet или каких-либо других протоколов сократилось с ~ 2 минут до примерно 10 секунд! Я не играл достаточно долго, чтобы сделать какие-либо окончательные выводы о стабильности, но до сих пор у меня не было сбоев с этой конфигурацией, в то время как все решения dotnet, которые я пробовал, в конечном итоге заканчивались сбоями.

Повторюсь, вот шаги, которые я выполнил:

  1. Установите ядро ​​с поддержкой fsync (я снова рекомендую linux-tkg).
  2. Symlink Bannerlord.Native.exe к TaleWorlds.MountAndBlade.Launcher.exe
  3. Выберите Proton-5.5-GE-1, удалите предыдущий префикс и запустите игру.
  4. Это оно! Никаких протонкриков и прочего не требуется.

Хотя время сохранения с помощью этого метода немного больше, я думаю, что значительно увеличенная стабильность компенсирует разницу в несколько секунд, и я буду использовать это, пока кому-то не удастся отладить сбои dotnet. Было бы здорово увидеть, работает ли это для кого-то еще, и да, спасибо @ albin-engstrom за то, что он разобрался с fsync.

Вы уже вели какие-нибудь осады в игре? Я заметил участие в осаде, но особенно вести осаду - это очень опасное занятие.

@vahtos Я не вел ни одного, но участвовал в трех без сбоев.

@vahtos Я только что попытался провести осаду, но ничего не вышло. Возможно, это связано с вашими характеристиками, может быть, попробуйте снизить графику. Я заметил, что установка бюджета текстуры на низкий была очень полезна для меня.

@tkamat Спасибо. Тогда я попробую вашу настройку. Я не думаю, что это проблема с бюджетом текстур, так как я вылетаю на карте кампании при настройке осады или постройке осадных машин. Я никогда не попадал в битву в осаде, которую возглавляю.

Я только что протестировал игру с новым префиксом, без каких-либо исправлений protrontricks, при включенном fsync, и у меня не было ни одного сбоя. Если не считать попытки поиграть с настройками игры, из-за которых игра все еще вылетела, игра очень стабильна до такой степени, что в нее можно играть.

@ albin-engstrom Ну, я, наконец, закончил компилировать ядро ​​с поддержкой fsync (я использовал linux-tkg ), и могу подтвердить, что время сохранения без dotnet или каких-либо других протоколов сократилось с ~ 2 минут до примерно 10 секунд! Я не играл достаточно долго, чтобы сделать какие-либо окончательные выводы о стабильности, но до сих пор у меня не было сбоев с этой конфигурацией, в то время как все решения dotnet, которые я пробовал, в конечном итоге заканчивались сбоями.
Повторюсь, вот шаги, которые я выполнил:

  1. Установите ядро ​​с поддержкой fsync (я снова рекомендую linux-tkg).
  2. Symlink Bannerlord.Native.exe к TaleWorlds.MountAndBlade.Launcher.exe
  3. Выберите Proton-5.5-GE-1, удалите предыдущий префикс и запустите игру.
  4. Это оно! Никаких протонкриков и прочего не требуется.

Хотя время сохранения с помощью этого метода немного больше, я думаю, что значительно увеличенная стабильность компенсирует разницу в несколько секунд, и я буду использовать это, пока кому-то не удастся отладить сбои dotnet. Было бы здорово увидеть, работает ли это для кого-то еще, и да, спасибо @ albin-engstrom за то, что он разобрался с fsync.

Вы уже вели какие-нибудь осады в игре? Я заметил участие в осаде, но особенно вести осаду - это очень опасное занятие.

Я пробовал участвовать в одной конкретной осаде около шести раз, и во всех случаях, кроме одного, экран загрузки зависал примерно на две секунды. Я еще не пробовал осадить другие города.
Это с 5700XT, с использованием драйверов с открытым исходным кодом, с оригинальной сборкой протона, опубликованной

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

Fedora 32, ядро ​​5.6.3
Ryzen 2700 на частоте 4 ГГц
AMD Rx580
Протон-5.5-GE-1

Я установил DotNet 4.72 с помощью Winetricks. Лаунчер нормально работает, если вы это сделаете. Однако производительность не так хороша. Затем я попытался заменить пусковую установку на Bannerlord.Native.exe . Это на самом деле значительно улучшило производительность. Но сохранение игры теперь занимает ~ 2 минуты. Кроме того, будут моменты, когда игра достигает 100% использования процессора и, кажется, зависает. Через пару минут он вернется в нормальное состояние и снова станет доступен для игры.

Производительность несколько хороша. Чувствует легкое заикание и иногда замирает.

Изменить: недостатком альтернативного exe является то, что программа запуска обрабатывает загрузку модов, поэтому моды не загружаются, если программа запуска обходится. С этим можно справиться, выполнив то, что здесь упомянуто, так что это управляемо, но не идеально.

Возможно, стоит попробовать передать их как варианты запуска; похоже, что .exe принимает их список в своих аргументах, если мой rgl_log - это что-то, что нужно:

Command Args: /singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*BannerLogger*CalradiaFutureWarfare*CharacterTrainer*DeveloperConsole*XorberaxYell*zzBannerlordTweaks*zzCharacterCreation*_MODULES_ /anticheat

Я установил ядро ​​XanMod для Ubuntu 19.10 и могу подтвердить, что время сохранения упало с минуты или двух до пары секунд со свежим префиксом без протонкриков.

@DeathTBO Попробуйте ядро ​​с поддержкой fsync, которое должно ускорить сохранение примерно до 10 секунд или меньше. По крайней мере, для некоторых это сработало. Я не знаю, доступна ли предварительно скомпилированная версия для Fedora, но я предполагаю, что она есть хотя бы одна. В противном случае вам, возможно, придется скомпилировать свой собственный.
И упомянутые вами зависания - это просто автосохранения, поэтому они будут намного быстрее.

Возможно, стоит попробовать передать их как варианты запуска; похоже, что .exe принимает их список в своих аргументах, если у меня есть rgl_log:
Command Args: /singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*BannerLogger*CalradiaFutureWarfare*CharacterTrainer*DeveloperConsole*XorberaxYell*zzBannerlordTweaks*zzCharacterCreation*_MODULES_ /anticheat

@YellowApple Я сделаю это позже, если это

Пробовал игру только с протонным GE, и она работает очень хорошо. Неудивительно, что основная проблема - длинные сохранения, но я бы смирился, если бы игра не сохранялась автоматически перед каждым боем ... есть ли способ отключить эти авматические сохранения? Я лучше сделаю несколько (длинных) сохранений, когда захочу, чем запускаю другое ядро.

Установите dotnet472, это позволит сохранить игру почти мгновенно, и мой друг, который регулярно играл в Warband, сказал мне, что вам нужно сохранять очень часто, потому что она часто дает сбой (даже в Windows). Он также исправляет программу запуска, но в этом нет ничего особенного, поскольку символьная ссылка Bannerlord.exe на ManagedStarter.exe делает то же самое.

Установите dotnet472, это позволит сохранить игру почти мгновенно, и мой друг, который регулярно играл в Warband, сказал мне, что вам нужно сохранять очень часто, потому что она часто дает сбой (даже в Windows). Он также исправляет программу запуска, но в этом нет ничего особенного, поскольку символьная ссылка Bannerlord.exe на ManagedStarter.exe делает то же самое.

Я пробовал использовать dotnet, но игра несколько раз вылетала, поэтому я предпочитаю запускать игру только с протоном GE, если есть возможность отключить автосохранение.

@ Zouizoui78 Насколько я знаю, к сожалению, нет известного способа отключить автосохранение.

Я установил ядро Liquorix (которое, как мне кажется, поддерживает fsync) на Linux Mint 19.2, использовал новый префикс и теперь получил около 10-секундных сохранений. Пока что кажется стабильным, было всего около часа игровой сессии, но никаких сбоев, кроме тех случаев, когда я изначально менял свои настройки (кажется, всегда происходит).

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

Хедз -ап, последняя

Используя эти исправления, я по-прежнему получаю управление мышью только в 1 из каждых 10 запусков.

Это действительно странно, после того, как я исправил Wine некоторое время назад, я получаю управление мышью в 100% случаев. Кто-нибудь еще сталкивался с такой же проблемой, когда исправления _не_ работают?

@jaynus : вы пробовали использовать новый префикс (запустить protontricks 261550 annihilate )? Это не должно иметь никакого значения, но, может быть, у вас есть какие-то странные переопределения из прошлого, или ??

@craftyguy Используя новый префикс, я получаю щелчки мышью каждый второй запуск. Я использую proton-5.5-GE-1 и protontricks dotnet472 и vcrun2019

Использование ядра с поддержкой fsync + свежий префикс сделали игру для меня очень стабильной.
Раньше у меня были сбои каждые 10/15 минут, а в некоторых местах даже чаще.

Я установил linux-zen который уже вставлен fsync .
В Arch linux предварительно созданное ядро ​​zen находится в официальном репозитории, поэтому его очень легко установить.
Я сделал новый префикс, запустил proton-tkg 5.5 и не устанавливал никаких дополнительных библиотек.

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

Всем рекомендую попробовать ядро linux-zen .


Системная информация

ОС: Arch Linux
ЯДРО: 5.6.3-zen1-1-zen
Процессор: AMD Ryzen 5 2600 Six-Core
Графический процессор: Radeon RX Vega 56
ДРАЙВЕР GPU: 4.6 Mesa 20.0.4
Оперативная память: 8 ГБ

Я установил ядро Liquorix (которое, как мне кажется, поддерживает fsync) на Linux Mint 19.2, использовал новый префикс и теперь получил около 10-секундных сохранений. Пока что кажется стабильным, было всего около часа игровой сессии, но никаких сбоев, кроме тех случаев, когда я изначально менял свои настройки (кажется, всегда происходит).

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

Падение производительности при загрузке текстур / сцен в первый раз - это нормально, они должны начать исчезать по мере того, как вы играете, когда кеш шейдеров делает свое дело.

Всем рекомендую попробовать ядро linux-zen .

Я уже несколько часов читаю об этом новом ядре. Кажется, я не могу найти вариант отката. Я особенно смотрю на ликорикс. Допустим, есть проблема с ядром, трудно ли вернуться к настройкам по умолчанию в debian?

Я установил ядро Liquorix (которое, как мне кажется, поддерживает fsync) на Linux Mint 19.2, использовал новый префикс и теперь получил около 10-секундных сохранений. Пока что кажется стабильным, было всего около часа игровой сессии, но никаких сбоев, кроме тех случаев, когда я изначально менял свои настройки (кажется, всегда происходит).
Производительность заметно хуже, чем раньше (заикается при загрузке текстур или в первый раз, когда я иду в бой, в главном меню сильно падает частота кадров при графических настройках по умолчанию / максимальных), но понижение до среднего значения в основном нормально.

Падение производительности при загрузке текстур / сцен в первый раз - это нормально, они должны начать исчезать по мере того, как вы играете, когда кеш шейдеров делает свое дело.

Вроде так, поиграв несколько часов, особо ничего не заметил. В целом 5-часовая сессия без единого сбоя.

@ jake-hedges Обычно, когда я хочу поэкспериментировать с разными ядрами, я настраиваю свой загрузчик так, чтобы в меню был пункт для загрузки экспериментального ядра, оставляя стабильную / основную ветку по умолчанию. Таким образом, вы не потеряете запасной вариант.

Всем рекомендую попробовать ядро linux-zen .

Я уже несколько часов читаю об этом новом ядре. Кажется, я не могу найти вариант отката. Я особенно смотрю на ликорикс. Допустим, есть проблема с ядром, трудно ли вернуться к настройкам по умолчанию в debian?

Попробуйте спросить в IRC Debian или другом канале поддержки вашего дистрибутива. Это здесь не по теме ..

И предупреждение для других: не загружайте случайные ядра и не экспериментируйте с ядрами, если вы не знаете, как это исправить, или у вас нет мотивации это выяснить. Люди обычно быстро рекомендуют то, что может сломать вашу систему, но не спешат помочь вам исправить то, что сломается.

Попробуйте спросить в IRC Debian или другом канале поддержки вашего дистрибутива. Это здесь не по теме ..

Это поворот на 180 градусов, исходящий от пользователя, который намекнул на использование случайных обходных путей разработчиков в потоке устранения неполадок.

Извините, но я считаю, что если предлагаются обходные пути, которые могут повлиять на всю вашу систему, обсуждение отката будет просто хорошей практикой. Возможно, это не подходит для _вашей_ области обсуждения, но похоже, что этот вариант сейчас очень привлекателен для многих людей. Почему вы решили вдруг стать псевдомодератором - это комедия.

Попробуйте спросить в IRC Debian или другом канале поддержки вашего дистрибутива. Это здесь не по теме ..

Это поворот на 180 градусов, исходящий от пользователя, который намекнул на использование случайных обходных путей разработчиков в потоке устранения неполадок.

Извините, но я считаю, что если предлагаются обходные пути, которые могут повлиять на всю вашу систему, обсуждение отката будет просто хорошей практикой. Возможно, это не подходит для _вашей_ области обсуждения, но похоже, что этот вариант сейчас очень привлекателен для многих людей. Почему вы решили вдруг стать псевдомодератором - это комедия.

@ jake-hedges, возможно, вы не обращаете внимания (подсказка: нет), но я никогда не предлагал вам использовать какое-то случайное ядро, это сделал кто-то другой. Я предлагаю, чтобы все это «боже, я заблокировал свою систему, пробуя несколько ядер!» обсуждение идите в другом месте, это не имеет никакого отношения к теме здесь.

Почему вы решили вдруг стать псевдомодератором - это комедия.

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

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

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

Хотя я уже комментирую это, я мог бы также добавить, что для NixOS в nixpkgs нет ядра zen, но очень легко добавить патч в ваш configuration.nix следующим образом:

boot.kernelPatches = [
      { name = "fsync-support"; patch = ./linux-v5.4-fsync.patch; }
    ];

где linux-v5.4-fsync.patch берется отсюда . Это все, что нужно сделать. На компиляцию ядра ушло время, и мне пришлось ограничить количество используемых ядер, иначе моя система по какой-то причине заблокировалась.

Обход ядра во многих отношениях неверен. Не используйте его, если вы действительно не хотите играть в игру с меньшим количеством сбоев, когда она находится в состоянии раннего доступа. IMHO это нормально работает на стабильном ядре на ArchLinux с Proton 5.5 GE + dotnet472 и ядром dotnet из комментариев ранее. У меня есть 13-часовой игровой процесс, иногда от 1 до 2 часов без проблем. Просто сохраните его почаще, и все будет в порядке. А также, успокойтесь, это просто игра.

@CrafterSvK Насколько я понимаю, мотивация использования ядра с патчем Valve fsync не снижает количество сбоев. Похоже, что игра использует некоторые примитивы синхронизации Windows, которые имеют параллель в Linux (eventfd), но не совсем идентичны. Разработчики Proton написали патч ядра, позволяющий потоку ожидать нескольких фьютексов точно так же, как это делается в Windows, но он еще не прошел высокие стандарты Linux и, следовательно, не объединен в восходящий поток.

Я предполагаю, что отсутствие этих примитивов вынуждает Wine имитировать их крайне неэффективным способом и приводит к резкому зависанию игры при каждом сохранении, что очень часто. Я играл с ним много часов, и это играбельно, но болезненно. Я буду экспериментировать с ядром zen сегодня позже, и если оно сработает, стоит загрузиться, чтобы просто поиграть в эту игру. «Сохраняйте часто» - исключительно плохой совет, потому что здесь решаемая проблема заключается в том, что сохранение игры занимает более 2 минут.

Я вижу предложения по символической ссылке, чтобы пропустить средство запуска, но более чистое решение, которое не требует повторения процесса при каждом патче, - это указать Steam для запуска правильного двоичного файла в параметрах запуска. Вот мой: 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"

Если вы используете другой каталог Proton, вы можете получить реальную% команду% Steam, запустив игру с помощью echo %command% > ~/cmd .

@CrafterSvK Насколько я понимаю, мотивация использования ядра с патчем Valve fsync не снижает количество сбоев. Похоже, что игра использует некоторые примитивы синхронизации Windows, которые имеют параллель в Linux (eventfd), но не совсем идентичны. Разработчики Proton написали патч ядра, позволяющий потоку ожидать нескольких фьютексов точно так же, как это делается в Windows, но он еще не прошел высокие стандарты Linux и, следовательно, не объединен в восходящий поток.

Я предполагаю, что отсутствие этих примитивов вынуждает Wine имитировать их крайне неэффективным образом и приводит к «брутальному» зависанию игры при каждом сохранении, что очень часто. Я играл с ним много часов, и это играбельно, но болезненно. Я буду экспериментировать с ядром zen сегодня позже, и если оно сработает, стоит загрузиться, чтобы просто поиграть в эту игру. «Сохраняйте часто» - исключительно плохой совет, потому что здесь решаемая проблема заключается в том, что сохранение игры занимает более 2 минут.

Я экономлю 1-2 секунды с версией протона GE, поэтому мой совет основан на опыте.

@KimmoKM, какую версию XanMod вы используете? Я попробовал XanMod, и (после того, как я исправил полностью сбитые драйверы nvidia), с моей стороны дела обстоят значительно хуже.

Похоже, патчи ядра FUTEX_WAIT_MULTIPLE оказали довольно хорошее влияние на новую сборку , protontricks ', и для меня (с использованием патча из linux-tkg в сочетании с модифицированной версией Slackware64-current 's kernel-generic.SlackBuild ). Производительность и время сохранения по-прежнему заметно хуже, чем с dotnet472 (по-прежнему много заиканий, особенно на карте кампании), но время сохранения значительно лучше, чем с префиксом по умолчанию и без FUTEX_WAIT_MULTIPLE (в точку где "часто сохранять" на самом деле жизнеспособно, поскольку сохранение занимает около 10-30 секунд вместо нескольких минут), и это бесконечно менее аварийно, чем с dotnet472 (просто играл несколько часов подряд без сбоев, тогда как до того, как я Буду счастлив, если доживу до часа).

Я вижу предложения по символической ссылке, чтобы пропустить средство запуска, но более чистое решение, которое не требует повторения процесса при каждом патче, - это указать Steam для запуска правильного двоичного файла в параметрах запуска.

Если вы просто делаете символические ссылки ManagedStarter.exeBannerlord.exe и ManagedStarter_BE.exeBannerlord_BE.exe , они должны выжить после исправлений и по-прежнему работать с программой запуска (или, по крайней мере, оба были верны в моем случае, почти через каждый патч за последние пару недель и десятки префиксов как с любой версией dotnet так и без

@KimmoKM, какую версию XanMod вы используете? Я попробовал XanMod, и (после того, как я исправил полностью сбитые драйверы nvidia), с моей стороны дела обстоят значительно хуже.

5.5.15-xanmod1 из этого репозитория . Я использую AMD GPU.

@KimmoKM , это та самая версия, которую я вытащил ...
$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

Возможно, проблема в Nvidia / AMD. Я использую Proton 5.5-1 от GloriousEggroll. После изменения программа запуска игры работает нормально, но когда я пытаюсь запустить игру, она открывается с белым экраном, а затем сразу вылетает. Аварийный загрузчик теперь хоть как-то работает.

@KimmoKM , это та самая версия, которую я вытащил ...
$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

Возможно, проблема в Nvidia / AMD. Я использую Proton 5.5-1 от GloriousEggroll. После изменения программа запуска игры работает нормально, но когда я пытаюсь запустить игру, она открывается с белым экраном, а затем сразу вылетает. Аварийный загрузчик теперь хоть как-то работает.

Если я не ошибаюсь, исправление описано здесь: https://gist.github.com/Tercus/3db75788df3c7e1efee06904bb985419 в разделе Устранение неполадок.

@allquixotic К сожалению, нет ... Я использую драйверы Nvidia, а не AMD. В целом у меня все работало, хотя и с частыми сбоями. Ядро xanmod, похоже, нарушило мою настройку. Я поиграю еще немного и посмотрю, смогу ли я заставить его работать, но, возможно, мне просто придется вернуться.

AMD® Ryzen Threadripper 1900x 8-ядерный процессор × 16
NVidia 2060
Ubuntu 19.10 с ядром xanmod (5.5.15-xanmod1)


РЕДАКТИРОВАТЬ

Исправлено: оказалось, что драйверы Nvidia все еще были проблемой, похоже, вы не можете установить новые драйверы с графическим интерфейсом Ubuntu после перехода на новое ядро ​​... Еще одна попытка с командной строкой, и все работает легко.

После более тщательного тестирования сегодня я отказываюсь от своего предыдущего утверждения. Производительность лучше с установленной Dotnet 4.7 и использованием средства запуска. Dotnet также сокращает время сохранения до нескольких секунд, а также области загрузки. Общая производительность может потребовать некоторой работы, но я думаю, что это связано с самой игрой.

@YellowApple Загрузка модов через параметры запуска работает.

Таким образом, люди, которые обходят средство запуска, запустив вместо этого Bannerlord.Native.exe и имеют моды, которые они хотят загрузить, могут использовать это как вариант запуска в Steam.

%command%
 _MODULES_
*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*TheNameOfAMod*
_MODULES_

@allquixotic К сожалению, нет ... Я использую драйверы Nvidia, а не AMD. В целом у меня все работало, хотя и с частыми сбоями. Ядро xanmod, похоже, нарушило мою настройку. Я поиграю еще немного и посмотрю, смогу ли я заставить его работать, но, возможно, мне просто придется вернуться.

AMD® Ryzen Threadripper 1900x 8-ядерный процессор × 16
NVidia 2060
Ubuntu 19.10 с ядром xanmod (5.5.15-xanmod1)

РЕДАКТИРОВАТЬ

Исправлено: проблема с драйверами Nvidia по-прежнему оставалась проблемой, похоже, вы _не__ устанавливать новые драйверы с графическим интерфейсом Ubuntu после перехода на новое ядро ​​... Еще одна попытка с командной строкой, и все работает легко.

Я использую последние версии драйверов Nvidia с ядром Xanmod LTS (последняя стабильная версия 5.4.x), и здесь она тоже работает хорошо.

@allquixotic К сожалению, нет ... Я использую драйверы Nvidia, а не AMD. В целом у меня все работало, хотя и с частыми сбоями. Ядро xanmod, похоже, нарушило мою настройку. Я поиграю еще немного и посмотрю, смогу ли я заставить его работать, но, возможно, мне просто придется вернуться.

AMD® Ryzen Threadripper 1900x 8-ядерный процессор × 16
NVidia 2060
Ubuntu 19.10 с ядром xanmod (5.5.15-xanmod1)

РЕДАКТИРОВАТЬ

Исправлено: проблема с драйверами Nvidia по-прежнему оставалась проблемой, похоже, вы _не__ устанавливать новые драйверы с графическим интерфейсом Ubuntu после перехода на новое ядро ​​... Еще одна попытка с командной строкой, и все работает легко.

У меня такой же сбой, когда он просто выключается на белом экране с отчетом о сбое. Я использую Ubuntu 18.04.4 на MBP с графическим процессором Intel, и мне еще не удалось преодолеть этот сбой белого экрана. Насколько мне известно, вы, кажется, единственный в этом потоке, у которого произошел сбой, поэтому я предполагаю, что это проблема с драйвером. У меня вопрос: работали ли ваши драйверы с Bannerlord до использования xanmod? Если так, то я знаю, что мне нужно изучить это, если у кого-то нет других полезных мыслей.

Определенно есть что-то, что делает лаунчер, что влияет на время сохранения.
У меня не установлен dotnet, так как он вызывает сбои, а fsync включен для получения приличного времени экономии.

Поскольку программа запуска не запускается без dotnet, я могу либо обойти ее, переименовав Bannerlord.Native.exe в TaleWorlds.MountAndBlade.Launcher.exe что вместо этого запустит Steam. Для этого можно также использовать символическую ссылку или использовать параметры запуска.

Или я могу переименовать Bannerlord.exe и Bannerlord_BE.exe в ManagedStarter.exe и ManagedStarter_BE.exe соответственно, чтобы запустить пусковую установку, я не знаю почему, это могло быть объяснено в какой-то момент в этой ветке. Здесь также могут работать символические ссылки или варианты запуска.

При первом и обходе средства запуска я получаю около 9 секунд сохранения, при использовании второго подхода для использования средства запуска я получаю около 16 секунд.

@remosasso Да, мои драйверы работали до использования xanmod. Если вы перейдете в раздел о настройках, вы должны увидеть свою графику в списке ... Перед обновлением драйверов она не идентифицировала мою карту как NVidia ... Я обновил следующее:

$ sudo add-apt-репозиторий ppa: драйверы графики / ppa
$ sudo подходящее обновление
$ sudo apt-get install nvidia-driver-440

перезагружать

@remosasso Да, мои драйверы работали до использования xanmod. Если вы перейдете в раздел о настройках, вы должны увидеть свою графику в списке ... Перед обновлением драйверов она не идентифицировала мою карту как NVidia ... Я обновил следующее:

$ sudo add-apt-репозиторий ppa: драйверы графики / ppa
$ sudo подходящее обновление
$ sudo apt-get install nvidia-driver-440

перезагружать

Благодарю. Однако, похоже, что мои драйверы установлены хорошо, и все, так что мне там не повезло. Вы сталкивались с кем-нибудь еще с проблемой вылета белого экрана? Я получаю один и тот же сбой независимо от того, какой Proton я использую, использую ли я dotnet 472 или меняю какие-либо файлы .exe. Драйверы кажутся логической проблемой, но это не так.

Я столкнулся с тем же вылетом белого экрана на nvidia. Автосохранение было создано во время работы в Linux, и через несколько секунд после загрузки автосохранения происходит сбой. Игра отлично работает с того же сохранения на windows

Кто-нибудь еще сравнивал производительность между Proton и Windows?

Я не могу найти игры в многопользовательском режиме в бета-ветке 1.1 и возвращаясь к стабильной ветке, я не могу войти в систему. Кто-нибудь еще умеет играть в mp?

Редактировать:
Кажется, mp сломан для всех (неподтвержденных) в бета-ветке: https://forums.taleworlds.com/index.php?threads/e1 -1-0-cant-test-new-patch-because-cant-find- а-матч.413059 /

Я снова попробую стабильную ветку и посмотрю, смогу ли я сейчас войти в систему.

Я не могу найти игры в многопользовательском режиме в бета-ветке 1.1 и возвращаясь к стабильной ветке, я не могу войти в систему. Кто-нибудь еще умеет играть в mp?

Редактировать:
Кажется, mp сломан для всех (неподтвержденных) в бета-ветке: https://forums.taleworlds.com/index.php?threads/e1 -1-0-cant-test-new-patch-because-cant-find- а-матч.413059 /

Я снова попробую стабильную ветку и посмотрю, смогу ли я сейчас войти в систему.

Я только что смог войти в многопользовательскую игру в стабильной ветке. Около двух ночей назад у меня была проблема, когда я не мог войти в систему, но на следующий день она разрешилась сама собой.

Я не могу сейчас войти в стабильную ветку. Может, что-то пошло не так при переходе с беты?

Я не могу сейчас войти в стабильную ветку. Может, что-то пошло не так при переходе с беты?

Это случилось со мной несколько дней назад, еще до того, как появилась бета-версия. Я подумал, что они наконец узнали, что я не использую Windows, и забанили меня. На следующий день он снова заработал.

Теперь это работает для меня, и я раньше играл в SP в бета-версии, прежде чем вернуться к стабильной версии для MP.

Используя опцию PROTON_LOG=1 я нахожу это в журнале:

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

Я должен добавить, что это префикс по умолчанию, работающий в ядре с поддержкой fsync. Пробовал с VPN и без.

В новой бета-версии 1.1.0 исправлено больше сбоев. Я даже получил поврежденное сохранение из 1.0.10. Я использую "ванильный" протон-gtk. Иногда я все еще замечаю некоторые проблемы с производительностью, экономию времени около 10 ~ 12 секунд и случайные сбои через 3-4 часа, но это явно играбельно.

Я провел 60+ часов в этой игре на Linux. Некоторое время я жил с 30+ секундами сохранения, но использование Proton 5.5-GE с dotnet472 и dotnetcore сократило время сохранения до менее 5 секунд.

Ядро .NET является открытым исходным кодом, возможно, wine / proton следует рассмотреть возможность объединения его в качестве дополнительного компонента, как они это делают с gecko.

Моя игра вылетает при запуске. У меня версия e1.1.0 - Beta с 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


Выход журнала

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

Ошибка фактического запуска игры:

ERROR: ld.so: object '/home/tanner/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

Я все еще не могу войти в многопользовательскую игру в стабильной ветке (e1.0.10).

@agates у вас не было проблем с запуском игры после перезапуска?
Я переустанавливаю его, чтобы посмотреть, исправит ли он настройки. Прошлой ночью он работал нормально, но сегодня не запустился
Мне нужно запустить protontricks 261550 dotnetcore чтобы установить его после dotnet472 ?

@agates у вас не было проблем с запуском игры после перезапуска?
Я переустанавливаю его, чтобы посмотреть, исправит ли он настройки. Прошлой ночью он работал нормально, но сегодня не запустился
Мне нужно запустить protontricks 261550 dotnetcore чтобы установить его после dotnet472 ?

Все проблемы, которые у меня были, до сих пор были связаны с модами.

dotnetcore не входит в состав winetricks, поэтому необходимо установить вручную. @Aliervo показал, как это сделать, в комментарии выше .

@YellowApple
Мы сделали новости! Спасибо за исправление!

@Aliervo @agates Я получаю такой результат:

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

Я что-то упускаю?

@Aliervo @agates Я получаю такой результат:

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

Я что-то упускаю?

Находится ли файл dotnet-runtime-2.1.17-win-x64.exe в вашем домашнем каталоге?

Я получаю именно такой результат, когда указанное местоположение не существует.

Например, у меня ~/Downloads/dotnet-runtime-2.1.17-win-x64.exe .

@agates да, все на месте, может это потому, что я уже установил?

Тесты

Планы

Я попробовал протестировать некоторые из предложений, которые мы уже видели. Завтра я попробую еще несколько комбинаций, которые могут включать использование ядра с поддержкой fsync. Я также постараюсь расширить тестирование некоторых из наиболее многообещающих решений, таких как изменение настроек графики без сбоев и общая стабильность игрового процесса. Я обновлю этот пост, но его также можно просмотреть по этой сути .

Установка

Мой нынешний способ тестирования невероятно прост. Я создаю новый префикс и запускаю игру один раз, чтобы завершить базовую настройку Steam. Затем я добавляю компоненты, которые хочу протестировать. Если новый тест включает ранее протестированные компоненты, я пропускаю создание нового префикса (без нового префикса при изменении с vcrun2019 на vcrun20190 + dotnet472 ). Затем я запускаю игру, начинаю новую кампанию, бегаю по тренировочной зоне, выхожу из нее, бегаю по карте мира и, наконец, сохраняю игру один раз. Продлю тестирование на наиболее перспективные решения.


Если вы хотите узнать мои системные характеристики

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)

Посоветуйтесь

Хотя мое тестирование может показать некоторые многообещающие результаты, они не показывают, насколько стабильна игра в долгосрочной перспективе. Все, что я делал в своих тестах, это открывал игру и запускал новую кампанию, покидал полигон и сохранял игру.

Результаты (пока)

| Версия игры | vcrun 2019 | dotnet 472 | dotnet 480 | .Net-Core 2.1.17 | .NET-Core 3.1.3 | Тренировочная площадка FPS | Карта мира FPS | Экономьте время | Медленная потоковая передача * |
|: -: |: -: |: -: |: -: |: -: |: -: |: -: |: -: |: -: |: -: |
| 1.1.0 | 🔲 | 🔲 | 🔲 | 🔲 | 🔲 | 45-50 | 56-72 | 1:12 | нет |
| 1.1.0 | ☑️ | 🔲 | 🔲 | 🔲 | 🔲 | 45-50 | 56-72 | 1:28 | нет |
| 1.1.0 | ☑️ | ☑️ | 🔲 | 🔲 | 🔲 | 69-74 | 65-75 | 0:02 | нет |
| 1.1.0 | 🔲 | ☑️ | 🔲 | 🔲 | 🔲 | 69-74 | 66-79 | 0:02 | нет |

* это относится к эффекту медленной игры, когда все объекты загружаются при входе в новую область

@matheo вы должны получить окно установщика, даже если оно уже установлено. Возможно, дважды проверьте свои папки STEAM_COMPAT_DATA_PATH и compatibilitytools.d .

Кто-нибудь добился, чтобы объемный звук (например 5.1) работал нормально?

Я столкнулся со следующей проблемой с рекомендуемой версией Proton-5-5-GE всякий раз, когда я пытаюсь запустить в ней окно (например, окно Bannerlord или проводник 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.

Интересно, что запуск, например, установщика ядра dotnet с винной постановкой работает нормально, поэтому он, похоже, специфичен для этой версии Proton. Есть идеи, что может быть причиной этого или как это решить?

Я поменял свой префикс (по умолчанию Steam) на префикс dotnet472 и dotnetcore2, и теперь я могу войти в многопользовательский режим в стабильной ветке. Я не знаю, установлены ли vcrun2015 и vcrun2017; они не отображаются при запуске protontricks 261550 list-installed .

Хотя странно, как я могу войти в бета-версию 1.1 с pfx по умолчанию (хотя на самом деле нет доступных серверов).

Я столкнулся со следующей проблемой с рекомендуемой версией Proton-5-5-GE всякий раз, когда я пытаюсь запустить в ней окно (например, окно Bannerlord или проводник 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.

Интересно, что запуск, например, установщика ядра dotnet с винной постановкой работает нормально, поэтому он, похоже, специфичен для этой версии Proton. Есть идеи, что может быть причиной этого или как это решить?

Вы пытались удалить папку compatdata/261550/ установить все зависимости, включая dotnet472 и dotnetcore? Это заставило его работать в моей системе.

Вы пытались удалить папку compatdata/261550/ установить все зависимости, включая dotnet472 и dotnetcore? Это заставило его работать в моей системе.

Я попытался удалить папку и снова установить dotent472, но это не помогло. В этом случае мне не удалось установить dotnetcore, так как программа установки не запускается из-за той же ошибки. Я также попробовал то же самое с версией 5.6-GE-1, выпущенной 2 часа назад, но столкнулся с теми же проблемами.

Я не знаю, установлены ли vcrun2015 и vcrun2017; они не отображаются при запуске protontricks 261550 list-installed .

Я вообще не установил vcrun в моей текущей настройке.

Могу подтвердить, что я получаю отличную производительность, время сохранения ~ 5-10 секунд и очень редкие сбои с Proton-GE, ядром zen (для патчей fsync) и нормальным префиксом протона, созданным и предоставленным Steam.

Для всех остальных пользователей системы NixOS загрузите следующий файл в свой файл configuration.nix, чтобы собрать и установить ядро ​​zen: https://gist.github.com/hjones2199/11b45917a2944b692dac40015ea0fd41. Возможно, вам также потребуется отключить текущие пакеты boot.kernelPackages. выражение, чтобы избежать конфликтов.

Для всех, кто использует новое ядро ​​(я использую xanmod): я также установил dotnetcore, и до сих пор он кажется лучшим из обоих миров - я еще не испытал ни одного сбоя, и производительность очень хорошая. Иногда битвы будут сильно отставать, но перезапуск, кажется, исправляет это, и заикание карты кампании полностью исчезает.

По-прежнему вылетает при изменении настроек видео с установленным dotnet472 (и множеством других случайных сбоев), если я каким-то образом не установил его неправильно? Есть способ проверить? (Я использовал protontricks 261550 list-installed, и dotnet 472 действительно появляется).

Иногда битвы будут сильно отставать, но перезапуск, кажется, исправляет это, и заикание карты кампании полностью исчезает.

Сторона Windows имеет аналогичные проблемы с производительностью, утечки памяти и т. Д., Так что похоже, что она отлично работает :).

Я столкнулся со следующей проблемой с рекомендуемой версией Proton-5-5-GE всякий раз, когда я пытаюсь запустить в ней окно (например, окно Bannerlord или проводник 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.

Интересно, что запуск, например, установщика ядра dotnet с винной постановкой работает нормально, поэтому он, похоже, специфичен для этой версии Proton.
Я попытался удалить папку и снова установить dotent472, но это не помогло. В этом случае мне не удалось установить dotnetcore, так как программа установки не запускается из-за той же ошибки. Я также попробовал то же самое с версией 5.6-GE-1, выпущенной 2 часа назад, но столкнулся с теми же проблемами.

Я пробовал сейчас и другие «ванильные» версии Proton (5.0-5 и даже 4.2-9) и получил точно такую ​​же ошибку в журналах, так что она не кажется специфичной для сборок GE.

Изменить: после еще нескольких поисков я нашел # 2878, который указывает, что это проблема, связанная с NTFS - перенос игры на мой SSD ext4 решил проблему

Могу подтвердить, что я получаю отличную производительность, время сохранения ~ 5-10 секунд и очень редкие сбои с Proton-GE, ядром zen (для патчей fsync) и нормальным префиксом протона, созданным и предоставленным Steam.

Для всех остальных пользователей системы NixOS загрузите следующий файл в свой файл configuration.nix, чтобы собрать и установить ядро ​​zen: https://gist.github.com/hjones2199/11b45917a2944b692dac40015ea0fd41. Возможно, вам также потребуется отключить текущие пакеты boot.kernelPackages. выражение, чтобы избежать конфликтов.

Эту проблему практически невозможно просмотреть, поэтому я не виню вас в том, что вы ее пропустили, но я уже предоставил простое решение, просто добавив патч к текущему ядру, и это очень просто: https://github.com/ ValveSoftware / Proton / issues / 3706 # issuecomment -612160300

По сути, добавьте патч в свой файл configuration.nix следующим образом:
boot.kernelPatches = [{ name = "fsync-support"; patch = ./linux-v5.4-fsync.patch; }];
где linux-v5.4-fsync.patch берется отсюда . Однако компиляция может занять некоторое время.

Прямо сейчас, если я пытаюсь войти в осаду, интерфейс как бы блокируется, и я ничего не могу, игра работает нормально, но кажется, что мышь перестает отвечать; Я все еще могу перемещать мышь, но она очень быстро мигает. Мне также нужно нажимать Esc и Alt + Tab для входа и выхода из игры, чтобы появилось меню выхода.

Отредактируйте, только с fsync и без исправлений protontricks. Если я также использую исправления protontricks, игра снова вылетает, как и раньше.

Последний патч (1.0.11) сломал игру для меня (проверено с префиксом чистого вина) всякий раз, когда я пытаюсь перейти на экран с файлами сохранения, я получаю следующее исключение:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object

Однако я могу начать новую кампанию, но при выборе опции «Сохранить как» получаю то же исключение.

Обновить:
@agates Бета ветка работает спасибо

@elovin А вы пробовали бета-ветку (e1.1.0)?

Похоже, Bannerlord не работает с primusrun прямо сейчас, но мне удалось запустить его на ноутбуке с переключаемой графикой nvidia, используя nvidia-xrun .

Похоже, Bannerlord не работает с primusrun прямо сейчас, но мне удалось запустить его на ноутбуке с переключаемой графикой nvidia, используя nvidia-xrun .

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

Также должен работать с PRIME Render Offloading.

Хорошо, я предполагаю, что это, вероятно, не связано строго с Bannerlord, но опять же, просто, возможно, библиотеки, которые Steam устанавливает с префиксом или каким-то другим специфическим для Bannerlord фактором, что-то меняют (я не знаю), поэтому я думаю, хорошо спросите здесь: я пытаюсь запустить protontricks для dotnet472, но это приводит к сбою, поскольку открывается диалоговое окно «Извлечение файлов» и заканчивается индикатор выполнения. dotnet48 protontricks не работает аналогичным образом. Консольный вывод

Есть указатели?

привет, мне трудно запустить bannerlord на арке, я пробовал протон 5.5-GE и 5.6-GE-2. до сих пор у меня есть окно, которое нужно открывать и отображать курсор один раз перед сбоем!

  • моя библиотека steam находится на жестком диске (ntfs), который теперь правильно смонтирован и имеет символическую ссылку (из этой библиотеки), чтобы указать на мою папку compatdata linux

  • Я удалил папку compatdata и запустил, затем сделал protontricks 261550 dotnet472 - так я впервые получил всплывающее окно с игрой и курсор был виден на несколько секунд

вот журнал от steam / proton: https://gist.github.com/hadallen/336ffcf1f8ae7e73024898306bb6ac01

и отчет о сбоях из windows / wine при запуске и сбое. Я не могу заставить курсор и окно снова появиться, сначала возникает сбой. после этого знаменосец все еще «работает» в Steam, я не могу его остановить. https://gist.github.com/hadallen/d7b00c97e492195f360b8589c5d67685

Боюсь, что это просто глупая ошибка где-то с моей стороны, но не знаю, что здесь делать

edit1: я наконец-то просмотрел эту ветку достаточно далеко, чтобы найти руководство , которое написал Теркус. Я только что прошел через это снова, и у меня все еще та же проблема

edit2 : Я был почти готов сдаться, я переустановил bannerlord в Steam

  1. protontricks 261550 dotnet48 для начала. Мне действительно не хотелось ждать 30 минут, пока установится dotnet472, поэтому я попробовал это самостоятельно, и это сработало - запустить в Steam; разбился
  2. установил vcrun2019 и 2 dotnetcore (согласно описанию Tercus) - снова запустить; НАЧАЛ! но очень медленно и без ввода мыши, сбой после выхода из настроек .. звучало так, как будто он не использовал обновленный протон
  3. Это было странно, поскольку знаменосец выбрал протон 5.6-GE-1. это натолкнуло меня на мысль отключить «Включить Steam Play для всех остальных игр» в настройках Steam и _voila_; он работает очень хорошо!

Поскольку dotnetcore все еще кажется полезным, я упомяну здесь, что мой PR был принят и теперь он находится в winetricks!

Запустите winetricks --self-update (от имени пользователя root, если вы установили вместе с менеджером пакетов), чтобы получить последнюю версию, затем вы можете использовать winetricks dotnetcore2 !

Совет от профессионалов: при любой установке winetricks добавьте -q чтобы перевести ее в автоматический режим и не нажимать «Установить» в нескольких окнах. Таким образом, приведенное выше будет winetricks -q dotnetcore2

@Aliervo, у меня ошибка с вином:
https://docs.microsoft.com/en-us/dotnet/framework/install/application-not-started?version= (null) & processName = rundll32.exe & platform = 0009 & osver = 3 & isServer = 0 & shimver = 4.0.30319.0
а затем этот:
image
это нормально для 64-битных установок?

@matheo , не уверен в ошибке, но winetricks установит как 32-разрядную, так и 64-разрядную версии .Net Core. Это ожидается.

Он также проверяет, исправлен ли он, поэтому, если вы не увидите сообщение об ошибке после двух установщиков, мы будем знать, что первая ошибка ни на что не повлияла.

У меня очень медленное время сохранения (1 мин +) с dotnet472 с vcrun2019 или без него. Кто-нибудь знает, важен ли патч ядра fsync для сокращения времени сохранения / другие хорошие идеи для улучшения времени сохранения?

@rgreenblatt
Насколько мне известно, Fsync заметно ускоряет время сохранения почти для всех, так что, возможно, стоит попробовать, если вам удобно запускать собственные ядра и / или компилировать собственные.

Еще можно обойти панель запуска, если вы еще этого не сделали. То же, что и при запуске Bannerlord.Native.exe вместо TaleWorlds.MountAndBlade.Launcher.exe . Это можно сделать, переименовав их, установив символическую ссылку или указав запуск в параметрах запуска Steam.

По неизвестным причинам используемая программа запуска примерно вдвое увеличивает время сохранения, когда я использую fsync и никакие другие настройки protontricks. Я не знаю, применимо ли это к какому-либо другому сценарию, но в любом случае стоит попробовать.

Мой лучший опыт был с fsync, с переименованием и без каких-либо протоколов. Относительно немного сбоев и около 7-8 секунд сохранения. Dotnet сократит время сохранения примерно до 2 секунд, но приведет к гораздо большему количеству сбоев.

@rgreenblatt от того, что я видел в остальной части этой темы, DotNet была исправлением долгого времени сохранения, за счет некоторой нестабильности. Как сказал Альбин-Энгстром, у fsync была гораздо худшая экономия времени. При этом я обнаружил, что в игру практически невозможно играть без ядра с поддержкой fsync, и не могу ее рекомендовать.

Всем остальным, работает ли мультиплеер для кого-то еще? Я не могу войти в систему почти неделю. Я попадаю на страницу входа в систему, и на несколько минут у меня появляется вращающийся круг обреченности, прежде чем он сообщает мне, что не может войти в систему. Это в ветках Beta и Stable.

Есть ли разница между Bannerlord.exe и Bannerlord.Native.exe? (извиняюсь, если это где-то в ветке выше, я не смог найти способ поиска по комментариям github)

Мне удалось сократить время сохранения до менее 10 секунд (с более чем минуты), установив https://liquorix.net/ (который, как мне кажется, имеет патчи fsync) и используя Bannerlord.Native.exe вместо Bannerlord.exe. Я не уверен, какое изменение было полезно. Возможно, позже я проведу более научные исследования.

Насколько мне известно, @rgreenblatt Liquorix имеет fsync, так что, вероятно, это оказало наибольшее влияние, и запуск Bannerlord.Native.exe помог немного больше. По крайней мере, таков мой опыт.

Что касается его отличия от Bannerlord.exe я точно не знаю. Запуск собственного - официальный способ обойти лаунчер, поэтому я его использовал. Я предполагаю, что он настроен для запуска в одиночку, тогда как неродной предназначен / работает только при запуске с помощью пусковой установки.

Есть множество аргументов, которые программа запуска добавляет при запуске exe, поэтому, возможно, она не будет работать должным образом без них.

Связанные с этим, среди этих аргументов есть моды для загрузки, которые обычно обрабатывает программа запуска, поэтому при обходе программы запуска любые моды должны быть добавлены вручную в качестве аргументов через параметры запуска Steam.

Я объяснил, как это делается где-то в комментариях выше, но на самом деле нет хорошего способа поиска комментариев github, поэтому, если вы хотите знать, как это сделать, я могу объяснить это еще раз. Это займет гораздо меньше времени, чем поиск старого комментария.

Всем остальным, работает ли мультиплеер для кого-то еще? Я не могу войти в систему почти неделю. Я попадаю на страницу входа в систему, и на несколько минут у меня появляется вращающийся круг обреченности, прежде чем он сообщает мне, что не может войти в систему. Это в ветках Beta и Stable.

Я могу играть в стабильной ветке, но я не мог играть около одного патча до 1.1. Я заставил его снова работать, установив dotnet472 и / или dotnetcore2 (я не знаю, что имело значение).

Для меня решение dotnet вызывало сбои каждые 5-10 минут игрового процесса, что хуже, чем время сохранения в 2 минуты.
Я собираюсь попробовать это с Liquorix, но у меня есть несколько вопросов по поводу пропуска пусковой установки. без дотнета лаунчер не запускается вообще, игра сразу выходит. Как мне настроить его в параметрах запуска, чтобы перейти на собственный?

Я попытался установить его на «Bannerlord.Native.exe» или «bin / Win64_Shipping_Client / Bannerlord.Native.exe», но, возможно, здесь я иду в неправильном направлении

@aradapilot Кто-то где-то в этой ветке сказал, как это сделать с помощью параметров запуска, но я этого не делаю, поэтому не знаю точно, как это делается.
Я лично переименовал Bannerlord.Native.exe в TaleWorlds.MountAndBlade.Launcher.exe и удалил или переименовал исходный exe-файл программы запуска. Его нужно переделывать после большинства обновлений игры, символическая ссылка также должна работать и, возможно, не придется переделывать.

Я выполняю команды загрузки мода в параметрах запуска, но не в этой части.

ну не могу найти, но прогресс есть.
Я установил параметры запуска только
echo "%command%" > /tmp/cm

затем после этого файл был
wraymond @ shelob : ~ $ cat / 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 '

из 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: Нет пути к совместимым данным?

поэтому я решил, что у него установлен некоторый env, однако env/set/printenv > / tmp / steamenv - оставляет пустой файл, у него нет набора env. не знаю, откуда он получает каталог совместимых данных, какой механизм использует Steam.

и, конечно же, поскольку жизнь тяжелая, установка этой строки в параметрах запуска ничего не дает
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 '
- файл журнала не создан
- ничего не запускается, сразу умирает

так что все еще застрял там. Я попробую переименовать / создать символическую ссылку, но я надеялся, что мне не нужно будет переделывать каждый патч

ха, я переименовал пусковую установку в exe и скопировал родной exe по этому пути. игра запустилась, но теперь снова нет ввода мышки (с proton-GE 5.5 или 5.6).
Я попробую переименовать управляемый стартер, так как это работало в прошлом, но оно проходит через пусковую установку, так что это может испортить мне время сохранения ...
обновление, которое тоже не помогает. нет ввода мыши, я не могу пройти мимо экрана калибровки. Я в растерянности.

Согласно: 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"

Спасибо, не могу заставить его начать указывать на пусковую установку или родной или что-то еще с этим. есть ли способ сделать это в CLI? выполнение этого через пользовательский интерфейс Steam просто скрывает так много информации

Много тестов позже.
Я могу запустить игру с помощью оригинального метода символической ссылки re ManagedStarter.
При загрузке на Liquorix у меня нет ввода с помощью мыши (курсор перемещается, но ничего не нажимает). Проверено на протон-GE 5.5-1, 5.6-1 и 5.6-2.
При загрузке с моим обычным ядром (5.3, ubuntu) он работает нормально, но это проблема экономии времени на несколько минут.
В противном случае мышь работает нормально при загрузке Likorix, так что отладить это будет сложно. Есть ли у кого-нибудь еще подобная проблема?

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

Но я думаю, что все это было до использования fsync / custom ядер, и я не думаю, что у кого-то были проблемы с мышью конкретно на таком ядре. Так что это может быть не совсем та же проблема, хотя, вероятно, она каким-то образом связана.

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

да, мышь - это единственное, с чем у меня никогда не было проблем, она всегда работала с первого дня, когда я получил ее с протоном желтого яблока. Итак, странно, что теперь это внезапно бросается в глаза, и только на конкретном ядре, и это не спорадическое, определенно воспроизводимое.

@aradapilot Воспроизводимый - это хорошо! Что-нибудь примечательное происходит в журналах при использовании ядра Liquorix?

Я решил сохранить стабильность стандартной настройки Steam с помощью Proton 5.6-GE (без установки dotnet ) и использовать мод Save Overhaul для автосохранения каждые 30-60 минут, и игра не вылетает так часто, как с dotnet

@Aliervo не слишком
189763.685: 0029: 0055: fixme: win : GetMouseMovePointsEx (24 0x315ef298 0x315ef2b0 64 1) полу-заглушка
полный журнал (proton GE 5.6-2, ядро ​​Liquorix 5.5.0 в ubuntu 19.10, bannerlord 1.3.0b [то же самое в других сборках, но журнал взят из этой версии], обходной путь по символической ссылке managedstarter [использует программу запуска])
https://gist.github.com/aradapilot/96e4c046c1cef7bd7e3aca53b108e7c1

@aradapilot : Можете ли вы добавить +win в свою переменную WINEDEBUG (либо через user_settings.py в папке Proton GE, либо добавив WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree,+win" в параметры запуска)? Любопытно, что GetMouseMovePointsEx видит и возвращает.

новая разработка. Если я не пропущу вступительный фильм «Сказочные миры», я могу использовать мышь. Я так привык пропускать это с помощью Esc (за последние недели тысячи раз перезапускал игру), что только когда я ушел на секунду, игра прошла до конца, и я мог использовать свою мышь. Получил два журнала с этой конфигурацией winedebug, один пропущен / нет мыши и один проигран через / mouse ok (помечен в названии сути):
https://gist.github.com/aradapilot/27aee80b3eb88a5e7026457120791c08
https://gist.github.com/aradapilot/586137d7fc1742dd801a9b5fe3b25304
все еще нормально на ядре Ubuntu 5.3, пропуск не имеет значения. так что либо что-то с разгрузкой фильма, либо нажатие на побег, понятия не имею.
Кроме того, с настройкой winedebug я теперь получаю бесконечный цикл всплывающих окон «Ошибка асинхронного чтения 6» при закрытии игры (через меню с хорошей мышью или alt-f4 без мыши, тот же результат) - нужно убить игровой процесс чтобы остановить это.
И в довершение всего, только что было выпущено ядро ​​liqourix 5.6, так что мне нужно протестировать новую вещь. Сделаем это чуть позже. Все вышеперечисленные тесты были на 5.5, чтобы исключить добавление новых переменных.

Хм.

Что действительно странно, так это то, что в обоих этих журналах есть ровно одна полная трассировка этой функции. Борк:

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

ХОРОШО:

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

С +win эта функция должна выводить эти следы при каждом движении мыши. Учитывая, что это не так, похоже, что игра вообще не получает ввод от мыши (v. Исправленная ошибка постановки в Wine, когда игра получала ввод от мыши, но не знала, как перемещать курсор). Тем не менее, похоже, что это также относится к рабочему примеру, указывая на то, что он каким-то образом может работать, не вызывая GetMouseMovePointsEx более одного раза.

Чтобы было ясно, у вас нет каких-то странных настроек джойстика, сопоставленного с мышью или наоборот, верно?

нету, обычная настройка мышки и клавиатуры. Курсор перемещается нормально в любом сценарии, это просто щелчок ввода, которого нет в одном.
и мое тестирование ядра 5.6 задерживается прямо сейчас, так как оно не распознает мою беспроводную карту (на основе Broadcom), что-то с совместимостью с bcmwl, потребует некоторой работы

@YellowApple не

@rgreenblatt
Всем остальным, работает ли мультиплеер для кого-то еще? Я не могу войти в систему почти неделю. Я попадаю на страницу входа в систему, и на несколько минут у меня появляется вращающийся круг обреченности, прежде чем он сообщает мне, что не может войти в систему. Это в ветках Beta и Stable.

Я был на 5.5 GE для исправления мыши для одиночной игры, но, к сожалению, мне никогда не удавалось войти в многопользовательскую игру. У меня не получается каждый раз с общей ошибкой "Ошибка входа"

так что моя проблема становится немного страннее (с ликвориксом 5.5)!
мышь работает, только с задержкой ~ 30 секунд. сложно объяснить ...
если я наведу указатель мыши на точку A, ничего не произойдет. не могу щелкнуть по A, нет выделения при наведении указателя мыши. он останется таким навсегда.
если я жду ~ 30 секунд без ввода вообще и наведу курсор мыши на A, ничего не произойдет. но после ожидания, если я наведу указатель мыши на точку B, игра будет думать, что курсор теперь находится на A. A выделится, и я могу щелкнуть по нему, даже с помощью курсора в другом месте экрана, на B. Курсор находится там, пока я не перестану вводить еще 30 секунд, затем перейду к C, после чего он будет думать, что был в B.
Вот почему я получил некоторую функцию, не пропуская вступление, потому что это было 30 секунд без ввода. это не имеет ничего общего с вступлением, я могу воспроизвести это поведение во всех меню.
значит, что-то обновляет новую позицию курсора как старую позицию реальной мыши, и по какой-то причине требуется ~ 30 секунд простоя, чтобы даже проверить?

один недавний журнал
https://gist.github.com/aradapilot/15aceaeb18fbdc8ef1304c1211a1c389

В примечаниях к выпуску 5.0-7 RC есть примечание: «Исправить сбои в Mount & Blade 2: Bannerlord».
Но с протоном 5.0.7 игра у меня все равно не запускается. Я что-то упустил? Благодаря!

В примечаниях к выпуску 5.0-7 RC есть примечание: «Исправить сбои в Mount & Blade 2: Bannerlord».
Но с протоном 5.0.7 игра у меня все равно не запускается. Я что-то упустил? Благодаря!

Если вы посмотрите на фактические примечания к выпуску 5.0-7, этого исправления нет, может быть, оно было снято в последнюю минуту?

Есть ли разница между Bannerlord.exe и Bannerlord.Native.exe? (извиняюсь, если это где-то в ветке выше, я не смог найти способ поиска по комментариям github)

Bannerlord.Native.exe использует версию Mono для Win64. Обычный исполняемый файл использует .NET Framework.

Bannerlord.Native.exe использует версию Mono для Win64. Обычный исполняемый файл использует .NET Framework.

Это интересная информация. Я обнаружил, что по какой-то причине использование Native exe приводит примерно к половине времени сохранения, чем при использовании обычного exe, по крайней мере, при использовании fsync, поскольку я не тестировал без него, и я думаю, что у кого-то были аналогичные результаты без fsync.

Но я так и не понял, что изменилось, кроме того, что Native обошел программу запуска, и я не знал, повлияло ли это на нее или почему это могло быть.

Поскольку установка dotnet имеет большое влияние на время сохранения, кажется вероятным, что именно разница в моно / .NET является фактической причиной разницы во времени сохранения с Native и обычными exe.

@mustafakorkmaz , ребята, вы можете что-нибудь сделать, чтобы
Я очень хочу получить эту игру, но я также надеюсь на порт для Linux или, по крайней мере, на надежный аналог Proton.

@pierrep У меня 0 сбоев при использовании только fsync и Proton-GE, и ничего больше, игра действительно стабильна, а время сохранения составляет 10 секунд в худшем случае.

Используя linux-zen (который включает в себя f-sync ) и Proton-5.6-GE-2, у меня есть ~ 30-секундные сохранения, и производительность игры снижается со временем, требуя перезапуска игры через несколько раз (часто через несколько часов, иногда менее 1 часа), чтобы он снова заработал хорошо.

Но у меня вылетов меньше, чем у моего брата, который играет на Windows. Не уверен, что это из-за модов, которые он использует, или из-за того, что исполняемый файл .NET намного более аварийный.

@mustafakorkmaz , ребята, вы можете что-нибудь сделать, чтобы
Я очень хочу получить эту игру, но я также надеюсь на порт для Linux или, по крайней мере, на надежный аналог Proton.

Я проверяю эту ветку время от времени, но не могу активно работать над совместимостью с Proton. Это то, на чем я хочу сосредоточиться во время раннего доступа. Похоже, проблем с D3D11 больше нет, как в бета-версии, так что это хорошие новости :)

Я получаю зависания / зависания менее чем за час игры, до такой степени, что, когда я не сразу нажимаю alt-f4, моя система полностью блокируется. Я предполагаю, что виноваты ошибки Xid (nvidia), которые я получаю. Переключение на виртуальную консоль не работает, я думаю, из-за сбоя графического процессора (?) Или чего-то еще из-за ошибок Xid.
journalctl -o short-precise -k -b -1 для предыдущих сообщений ядра.
Я тестировал это на двух машинах mint nvidia linux, одна с ядром fsync отсюда
и один со стандартным ядром Linux (протон с dotnet и со). Оба используют Proton-5.6-GE-2.
Только одна машина получает ошибку Xid 68 (исключение видеопроцессора)
NVRM: Xid (PCI:0000:01:00): 68, pid=1301, CCMDs 0000004f 0000c2b0

Но оба получают ошибку Xid 31 (ошибка страницы памяти графического процессора) на обеих машинах.
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
У кого-нибудь еще есть эти ошибки или есть исправление?

РЕДАКТИРОВАТЬ: Я использовал ядро ​​fsync с другим компьютером сейчас, и оно работает довольно хорошо. Также обновлен драйвер с 435.21 до 440.59. Не уверен, что помогло.

Похоже, они включили BattlEye с патчем 1.3, я получил античит.
Screenshot from 2020-05-07 17-40-07

@pierrep У меня 0 сбоев при использовании только fsync и Proton-GE, и ничего больше, игра действительно стабильна, а время сохранения составляет 10 секунд в худшем случае.

Я читал об историях успеха, но не всем так везет. На данном этапе я не хочу рисковать, чтобы получить полную цену игры.

Похоже, они включили BattlEye с патчем 1.3, я получил античит.

Так кажется :( Из примечаний к патчу

  • Официальные кастомные игры теперь требуют античит.

Я не знаю, включая ли это серверы быстрой игры, но, по-видимому, так. Есть ли вообще возможность играть на неофициальных серверах?

Это меня очень огорчает, потому что в последнее время я много наслаждаюсь мультиплеером.

Обновить:
Я просто попробовал быструю игру и смог присоединиться, но через несколько секунд меня выгнали.

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

Я пробовал несколько обходных путей:

  1. Proton GE 5.5+ с protontricks 261550 dotnet472 и ядром linux по умолчанию (ArchLinux)
  2. Proton GE 5.5+ с protontricks 261550 dotnet48 и ядром linux по умолчанию (ArchLinux)
  3. Proton GE 5.5+ без каких-либо протонтов 261550 dotnet и linux-fsync (ArchLinux)
  4. Proton GE 5.5+ без каких-либо протоколов 261550 dotnet и linux-xanmod (ArchLinux)

Почти такая же стабильность (игра зависает на глобальной карте, игра зависает на поле боя).
Лучшая производительность с protontricks 261550 dotnet472 или protontricks 261550 dotnet48
Игра практически неиграбельна в общем смысле (вам нужно делать быстрые сохранения каждые несколько минут, чтобы перезагружаться после каждого раза, когда игра захочет немного зависнуть). Также вам нужно убить процесс вручную (с помощью диспетчера процессов), потому что ни Steam, ни среда не могут закрыть процесс.

Для стабильности на данный момент рекомендуется полностью избегать .NET с помощью исполняемых символических ссылок: https://github.com/ValveSoftware/Proton/issues/3706#issuecomment -611595369

Избегание .NET значительно увеличивает время сохранения, поэтому рекомендуется комбинировать его с ядром с поддержкой fsync.

После патча Bannerlord v1.4.2 у меня возникли проблемы с сохранением игры. Он просто показывал диалоговое окно «Невозможно создать данные сохранения» в игре и показывал следующую ошибку в журналах игры [0]MonoPosixHelper assembly:<unknown assembly> type:<unknown type> member:(null)

Если вы столкнулись с этой конкретной ошибкой, вы можете исправить ее, выполнив следующие действия:

  1. Загрузите версию Mono x64 для Windows
  2. Установите его на любой винный префикс (нам просто нужен файл из него, потом можно удалить префикс)
  3. Скопируйте <wine_pfx>/drive_c/Program Files/Mono/bin/MonoPosixHelper.dll в <your_steam_library>/steamapps/common/Mount & Blade II Bannerlord/bin/Win64_ShippingClient/

Хорошие новости: более надежная версия исправления курсора мыши теперь включена в актуальный выпуск Wine (в частности, Wine 5.20 ). Так что, как только Proton поймет это, мы надеемся, что Proton-GE больше не понадобится для работающей мыши.

Так что v1.5.4 - большое обновление, и оно сломало мне программу запуска. У меня нет проблем с версией 1.5.3 - она ​​работала достаточно хорошо, сбои случались редко. Под v1.5.4 у меня на короткое время появляется просто затемненная пусковая установка, а затем вылет.

>>> Adding process 19718 for game ID 261550
Unhandled exception: page fault on read access to 0x7a23df50 in 64-bit code (0x00000001802b2e3d).

Мне пришлось прибегнуть к символической привязке пусковой установки к Bannerlord.Native.exe, чтобы решить проблему с запуском, и переключиться на Proton-5.9-GE-8-ST с 5.11-GE-3-MF, чтобы войти в игру - каждый другой протон, который я пробовал (5.13-1, 5.11, 5.5, 5.0.9) зависало на первом экране загрузки до анимации. Он снова работает для меня. Нет необходимости в протонтриках (не то, чтобы те, которые я пробовал, помогли с пусковой установкой), а использование ядра zen облегчило раздражающую проблему с обнаружением щелчка мыши (щелчки при первом запуске больше не остаются незамеченными).

Выше ^ fix у меня работает 1.5.4. У меня все еще возникают нормальные сбои, но теперь:

Я получаю несколько новых зависаний (без сообщений об ошибках) во время боя, всегда при ударе оружия и довольно часто. Выход с нажатой клавишей Alt и перезапуск игры - единственный ответ. Журналы показывают тонну «Транскодированный битовый поток был недопустимым, это может указывать на поврежденный файл или несовместимую версию транскодера». затем внезапно закончиться.

Я также получаю короткие зависания при нажатии на место, куда нужно переехать, после выхода из поселения. Несколько секунд, но очень часто. Они не особо влияют на игру, просто раздражают.

Использование ядра xanmod 5.8, которое делает сохранение допустимым, никаких протон-трюков, протон 5.9-GE-8

На всякий случай, если это может быть полезно для всех, кто борется с запуском программы запуска, я понял, что вы можете загружать моды без нее благодаря этому параметру запуска (работает также непосредственно с Bannerlord.Native.exe):
/singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*Sandbox*StoryMode*_MODULES_

Вам просто нужно добавить свои моды между * * зависимости от того, какой порядок модов вам нужен. Это будет имя соответствующих папок в Modules/ . Эта команда загрузит моды по порядку. Эти 5 модулей входят в комплект по умолчанию и необходимы для инициализации игры.
Не забудьте начать и закрыть список модулей звездочкой.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

prototype99 picture prototype99  ·  3Комментарии

lucifertdark picture lucifertdark  ·  3Комментарии

Elkasitu picture Elkasitu  ·  3Комментарии

AwesamLinux picture AwesamLinux  ·  3Комментарии

raikirii picture raikirii  ·  3Комментарии