Proton: Фонд (690830)

Созданный на 6 февр. 2019  ·  128Комментарии  ·  Источник: ValveSoftware/Proton

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

  • Название игры с проблемами совместимости: Foundation
  • Steam AppID игры: 690830

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

  • Графический процессор: GTX 980 GTX
  • Версия драйвера/LLVM: Nvidia 415.22
  • Версия ядра: 4.19
  • Ссылка на полный отчет о системе в формате Gist :
  • Протонная версия: 3.16

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

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

Симптомы

В игре есть некоторая ошибка, связанная с выходом журнала его игры-перевода, в котором говорится следующее:
ОШИБКА Core GamCLocalizationManager::loadFile Ошибка синтаксического анализа JSON: 3

Также игра зависает после нажатия кнопки маркета, сохраняя музыку/звук в фоновом режиме.

Воспроизведение

Нажмите кнопку воспроизведения в Steam.

Game compatibility - Unofficial Mesa drivers XAudio2

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

Привет, ребята, я технический директор Polymorph Games. Прежде всего: большое спасибо за время и усилия, которые вы вложили в изучение этих проблем, это действительно помогло нам!

Поскольку @smirgol обратился на форум Steam, чтобы поговорить о проблеме совместимости с glsl, мы смогли развернуть исправление в ветке предварительного просмотра, и вскоре оно появится в полном обновлении контента.

Я также смог исследовать проблему с загрузкой файла локализации, и она тоже должна быть исправлена. Что произошло, так это то, что proton / wine просто проигнорировал наш запрос на открытие файлов как utf8 и скармливал нам данные строки. Это было исправлено путем добавления DOM utf8 во все наши файлы utf8.

У меня не было возможности протестировать полную загрузку игры, так как я запускаю Linux только на виртуальной машине (поэтому я не могу пройти проверку opengl 4.3), но если это действительно была последняя проблема, игра должна работать без vcrun2017. трюк (как только новая сборка будет запущена, версия выше 1.6.22).

Поскольку игра все еще находится в активной разработке, я ожидаю, что в будущем возникнут другие проблемы. Даже если Linux не является нашим главным приоритетом, мы все же хотели бы сделать все возможное, чтобы упростить эксперименты с Foundation в Linux. Так что не стесняйтесь обращаться к нам на форуме Steam или в нашем Discord, это будет лучший способ убедиться, что мы в курсе новых проблем или идей, которые у вас есть, чтобы исправить опыт протона.

Дискорд: https://discord.com/invite/foundation
Я рекомендую пометить Minotorious#0534 на #techsupport, если у вас есть новости о сборке Linux.

Ваше здоровье!

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

Привет, @Sebastiangperez , пожалуйста, добавьте PROTON_LOG=1 %command% в параметры запуска игры и перетащите сгенерированный файл $HOME/steam-$APPID.log в поле для комментариев.

Заархивирован, весит 60 мб, запускаю игру до зависания. эта игра сделана на специальном движке и использует, я думаю, opengl 4.3
steam-690830.log.tar.gz

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

У меня похожая, но все же другая проблема. У меня игра запускается, попадает на экран загрузки и затем вылетает с eventfd: Too many open files : steam-690830.log

Когда я переключаюсь с протона 3.16 на 3.7. тогда игра просто зависает без сбоев.

Если я продолжу и увеличу ulimit до более чем 60 000, то игра заработает, но локализация отсутствует, потому что игра продолжает говорить
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Бросок strace в игре показывает это:

22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/achievements.json" , O_RDONLY|O_NONBLOCK) = 39487
22:32:33 закрыть(39487) = 0
22:32:33 близко (-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/agents.json" , O_RDONLY|O_NONBLOCK) = 39487
22:32:33 закрыть(39487) = 0
22:32:33 близко (-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/buildings.json" , O_RDONLY|O_NONBLOCK) = 39487
22:32:33 закрыть(39487) = 0
22:32:33 близко (-1) = -1 EBADF (Ungültiger Dateideskriptor)

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

@Легодев
Привет, спасибо за ваш ответ. может кто свяжется с этими ребятами и расскажет об этом баге.

это обновление

У меня похожая, но все же другая проблема. У меня игра запускается, попадает на экран загрузки и затем вылетает с eventfd: Too many open files : steam-690830.log

Когда я переключаюсь с протона 3.16 на 3.7. тогда игра просто зависает без сбоев.

Если я продолжу и увеличу ulimit до более чем 60 000, то игра заработает, но локализация отсутствует, потому что игра продолжает говорить
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Бросок strace в игре показывает это:

22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/achievements.json" , O_RDONLY|O_NONBLOCK) = 39487
22:32:33 закрыть(39487) = 0
22:32:33 близко (-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/agents.json" , O_RDONLY|O_NONBLOCK) = 39487
22:32:33 закрыть(39487) = 0
22:32:33 близко (-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/buildings.json" , O_RDONLY|O_NONBLOCK) = 39487
22:32:33 закрыть(39487) = 0
22:32:33 близко (-1) = -1 EBADF (Ungültiger Dateideskriptor)

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

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

Текстовые переводы по-прежнему отсутствуют и показывают только ключи JSON.

Это легко исправить, установив vcrun2017:
WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

[РЕДАКТИРОВАТЬ 2: больше не нужно включать D9VK. он будет использоваться автоматически.. Так что все, что ниже, устарело]
Кроме того, производительность игры значительно улучшена за счет использования D9VK вместо WineD3D по умолчанию и, возможно, также может исправить ошибку «Ошибка компиляции шейдера: gl_FragColor undeclared» (пользователи AMD GPU).

[EDIT: следующее устарело, D9VK теперь можно включить с помощью Proton> 4.11, используя «PROTON_USE_D9VK=1 %command%»]

Если вы хотите попробовать реализовать это в Proton 4.2, следуйте этим инструкциям , предоставленным пользователем pchome:

  1. Скачать D9VK (https://github.com/Joshua-Ashton/d9vk/releases)
  2. Добавьте d3d9.dll из D9VK/x32 в /your_path/steamapps/common/Proton 4.2/dist/lib/wine/d9vk/
  3. Добавьте d3d9.dll из D9VK/x64 в /your_path/steamapps/common/Proton 4.2/dist/lib64/wine/d9vk/
  4. Скачать текстовый файл патча: proton-4.2-d9vk.patch.txt
  5. Скопируйте текстовый файл в каталог Proton и выполните patch -p1 < proton-4.2-d9vk.patch.txt
    Теперь он будет использоваться по умолчанию. Если вы хотите отключить его, используйте PROTON_NO_D9VK=1 %command%

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

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

  • более высокий ulimit -n , чтобы увеличить лимит открытых файлов, чтобы обойти сбой при запуске
  • WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017 для исправления отображения текста
    Примечание: по какой-то причине мне нужно было удалить папку pfx, запустить игру, а затем снова запустить winetricks.

более высокий ulimit -n, чтобы увеличить лимит открытых файлов, чтобы обойти сбой при запуске

Кстати, это похоже на «проблему» дистрибутива. Мой ulimit уже был довольно высоким по умолчанию (#DefaultLimitNOFILE=1024:524288 на Manjaro).

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

Для всех, кто хочет знать местоположение файла, это можно сделать в /etc/sysctl.conf , используя fs.file-max , но лучше использовать /etc/security/limits.conf

Изменить: в дистрибутивах Linux, отличных от systemd

Возможно, вам следует указать, на каком дистрибутиве вы работаете, потому что имена файлов и расположение различаются в зависимости от используемого вами дистрибутива. Здесь вы можете найти дополнительную информацию по теме:
https://github.com/lutris/lutris/wiki/Как сделать:-Esync

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

* a higher `ulimit -n` to raise the open file limit to work around the crash at startup

* `WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017` to fix the displayment of the text
  **Note:** for some reason i needed to delete the pfx folder, start the game and then execute winetricks again

Всем привет,
Я попробовал решение winetricks для текстовой проблемы, но у меня все еще есть только текстовые ключи. Моя система:

Суть входа в Steam.

Вчера, после долгого перерыва в игре, я играл и отлично работал, но все еще использовал 2,5 ГБ оперативной памяти (я не знаю, проблема ли это)
Сегодня я попробую текстовый дисплей, который кто-то упомянул выше.

Вчера, после долгого перерыва в игре, я играл и отлично работал, но все еще использовал 2,5 ГБ оперативной памяти (я не знаю, проблема ли это)
Сегодня я попробую текстовый дисплей, который кто-то упомянул выше.

Если вы найдете способ решить проблему с текстом, мне будет разрешено использовать 6 ГБ ОЗУ.

Я нашел следующий блок в своем журнале Proton:

Cell windowFocused not defined in ui.package    
Cell textfieldDropTarget not defined in ui.package    
Cell textfieldError not defined in ui.package    
Register Static Object: 10.18 ms    
Web ThreadLocal Init     
Request analytics server url    
Web ThreadLocal Init    
JSON parsing error: 3      
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
createTextWithViewParameters received unused views: #.COMMUNITY_TRANSLATION    
createTextWithViewParameters received unused views: #.DISCORD    
Web ThreadLocal Init    
Analytics server address: https://www.polymorph.games/analytics/    
Analytics HTTP result: 2313654    
Analytics HTTP result: OK

Я нашел следующий блок в своем журнале Proton:

Cell windowFocused not defined in ui.package    
Cell textfieldDropTarget not defined in ui.package    
Cell textfieldError not defined in ui.package    
Register Static Object: 10.18 ms    
Web ThreadLocal Init     
Request analytics server url    
Web ThreadLocal Init    
JSON parsing error: 3      
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
createTextWithViewParameters received unused views: #.COMMUNITY_TRANSLATION    
createTextWithViewParameters received unused views: #.DISCORD    
Web ThreadLocal Init    
Analytics server address: https://www.polymorph.games/analytics/    
Analytics HTTP result: 2313654    
Analytics HTTP result: OK

Я могу подтвердить аналогичные результаты для себя после выполнения всех рекомендаций и с несколькими установками/попытками. Я также пытался использовать винные трюки и протонные трюки. Использование протона 4.2-9
Моя система:

  • Манджаро 18.1.5
  • Графический процессор: нвидиа 1080
  • процессор амд райзен 7 1800х
  • 32 ГБ ОЗУ

Текстовые переводы по-прежнему отсутствуют и показывают только ключи JSON.

Это легко исправить, установив vcrun2017:
WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

Мне это не помогло. Я все еще вижу эти ключи JSON вместо правильных меток :(

Я использовал бесплатный драйвер AMD Manjaro и всегда получал ошибку шейдера: gl_FragColor undeclared . RX580

С соответствующим драйвером AMD для Archlinux AUR я могу запустить игру.

Осталось два нерешенных вопроса:

  • [x] Замена JSON для локализации (Установка vcrun2017 у меня не сработала. Однако я получил работающую pfx )
  • [x] Фон сломан. См. Изображение ниже РЕДАКТИРОВАТЬ: Также исправлено пожертвованной папкой pfx .

Bildschirmfoto zu 2020-02-02 12-09-10

РЕДАКТИРОВАТЬ:
Нашел этот отчет на WineHQ: https://forum.winehq.org/viewtopic.php?t=32488

Здравствуйте, @marwonline , скопируйте системную информацию из Steam ( Steam -> Help -> System Information ) и поместите ее в суть , а затем включите ссылку на суть в этот отчет о проблеме.

@kisak-valve вот суть .
Кстати: я получил папку pfx от @Legodev, и локализация работает нормально. Не знаю, что не так с моей установкой.

@kisak-valve Это игра OpenGL, поэтому драйверы Mesa можно удалить.

@Legodev Установка vcrun2017 не решает проблему перевода/строки для меня ... вы устанавливали что-нибудь еще?

Привет,

Я играл в эту игру на Windows раньше. Теперь я переключился на Linux Mint и получил эту ошибку:

Ошибка компиляции шейдера
Шейдер: нативы/color2d

Кто-нибудь работал с протоном или вином на графике AMD с драйверами mesa?

С уважением
Дани

Ошибка компиляции шейдера
Шейдер: нативы/color2d

У меня такая же ошибка с графикой Intel на Proton 5.0...

Есть новости по этой игре? Кто-нибудь пробовал с Proton 5.0-10 RC или Proton-5.9-GE-6-ST?

Это не то обновление, на которое я надеялся... @Sebastiangperez, зачем закрывать тему? Игра все равно не работает...

Это не то обновление, на которое я надеялся... @Sebastiangperez, зачем закрывать тему? Игра все равно не работает...

Извините, я хочу удалить комментарий, мой комментарий

@Sebastiangperez , если вы закроете проблему по ошибке, не могли бы вы снова открыть ее? Другие люди, в том числе и я, все еще заинтересованы в том, чтобы играть в эту игру с Proton. Если вы не хотите получать обновления по этому вопросу, вы можете воспользоваться кнопкой «Отписаться» в боковом меню.

@Sebastiangperez , если вы закроете проблему по ошибке, не могли бы вы снова открыть ее? Другие люди, в том числе и я, все еще заинтересованы в том, чтобы играть в эту игру с Proton. Если вы не хотите получать обновления по этому вопросу, вы можете воспользоваться кнопкой «Отписаться» в боковом меню.

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

Поскольку теперь я также работаю на графическом процессоре AMD, я тоже могу немного помочь.

Я стал еще немного возиться. Я обнаружил, что основная проблема, по-видимому, связана с устаревшим кодом шейдера, а именно «gl_FragColor» и «gl_FragData». Я попытался извлечь файлы шейдеров из файлов .package в каталоге игры и изменить их, чтобы избавиться от устаревшего кода и заменить их обновленными методами (в целях тестирования)... с частичным успехом (переход к экрану загрузки и видите, полоса заполняется до 100 %), но после этого игра все равно вылетает. Собственный журнал ошибок игры больше не показывает никаких ошибок, связанных с «gl_FragColor» или «gl_FragData», но многие другие. Я узнаю некоторые из ошибок, когда впервые тестировал игру (с использованием графического процессора NVIDIA), поэтому я знаю, что по крайней мере несколько из них не должны привести к краху игры, поскольку тогда она все еще работала.

Вот журнал ошибок, который я сейчас получаю: GIST

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

РЕДАКТИРОВАТЬ: я только что видел, что игра вылетает и у других (включая пользователей nvidia), начиная с версии 1.6.14.0717. Может быть, это уже другой вопрос.

РЕДАКТИРОВАТЬ: я только что видел, что игра вылетает и у других (включая пользователей nvidia), начиная с версии 1.6.14.0717. Может быть, это уже другой вопрос.

1.6.20+ тоже не работает. вылетает, когда зеленая полоса заканчивается
Linux с использованием драйверов Proton и Nvidia

Я использовал бесплатный драйвер AMD Manjaro и всегда получал ошибку шейдера: gl_FragColor undeclared . RX580

С соответствующим драйвером AMD для Archlinux AUR я могу запустить игру.

Это, казалось бы, ключевой намек. Оказывается, есть проблема с драйвером Mesa с открытым исходным кодом, которая вызывала ошибку шейдера для игры, когда код шейдера использует устаревшие вещи. Ну, технически это ошибка разработчика, но читайте об этом сами . То, что я сделал, изменив код шейдера, сработало, потому что таким образом я сделал его совместимым с основным профилем.
Посмотрим, будет ли это объединено и перенесено в стабильный драйвер Mesa.

Ну что, давайте решать следующий вопрос? :ухмылка:

Хорошо, теперь я могу запустить игру и играть. Все еще есть проблема со строками, которую я сейчас попытаюсь выяснить, и попытка доступа к меню настроек приводит к еще одному сбою. но это прогресс. В качестве обходного пути можно изменить настройки с помощью файла usersettings.config, который создается в /home/USERNAME/.steam/steam/steamapps/compatdata/690830/pfx/drive_c/users/steamuser/My Documents/Polymorph Games/Foundation/ с моей стороны.

Сбой при входе в главное меню вызван проблемой с "AchievementsVDF.vdf" в файлах локализации. Удаление его или удаление его содержимого позволит игре запуститься в главное меню. Я предполагаю, что это может быть что-то, что можно исправить в Proton, поскольку формат vdf, похоже, представлен через steam/steamworks, а не разработчиком через стороннюю библиотеку.

Это все, что я могу сказать атм.

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

@MadByteDE отсутствует какая-то зависимость или были изменены некоторые параметры реестра. Проблема в том, что я не могу воспроизвести шаги, которые я сделал, чтобы заставить среду работать. С рабочей средой он работал мгновенно на всех машинах, которые я тестировал, но да, я просто не знаю, как я заставил его работать. :(

Редактировать: теперь я попытался снова запустить игру после очень долгого времени, меняя свой графический процессор. Теперь игра больше не запускается с "Shader: natives/color2d"... Я упаковал свой pfx, прежде чем пытаться это сделать, так что это должна быть та же версия, которую я отправил marwonline. Так что, если хотите, я могу отправить его и вам.

@Legodev Если это старая версия с рабочими переводами, это было бы здорово.

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

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

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

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

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

Хороший. :)
Я видел обсуждение этой спецификации в системе отслеживания ошибок Mesa. Они зарегистрировали ошибку спецификации по этому поводу, посмотрим, что они решат. Мне любопытно, почему драйверы с закрытым исходным кодом работают иначе, чем спецификация определяет это.

Напоминаем, что нам все еще нужно выяснить, почему файл archievments.vdf вызывает сбой и что вызывает проблему со строкой.

Теперь мои строки, переводы и меню настроек снова работают - полностью рабочая игра! ура

Что на самом деле помогло мне, так это обновить мой скрипт winetricks через «sudo winetricks --self-update» и после этого переустановить vcrun2017 через «WINEPREFIX=/YOUR/PATH/TO/STEAMAPPS/steamapps/compatdata/690830/pfx winetricks -q vcrun2017". Если переустановка vcrun2017 у вас не работает, попробуйте удалить каталог префикса, заново сгенерируйте его, запустив игру один раз, а затем снова попробуйте установить vcrun2017.

Подвести итог

  • Ошибка шейдера была вызвана тем, что разработчик не указал правильный профиль шейдера и, вероятно, будет исправлен в одном из следующих обновлений игры (или, возможно, драйвером Mesa, если они решат обойти спецификации GLSL, как любой другой драйвер).
  • Проблему с файлом archivementsVDF.vdf, вылетом меню настроек и отсутствующим текстом перевода можно исправить, сначала обновив winetricks, а затем установив vcrun2017 в приставку игры.

Я надеюсь, что это также работает для вас, ребята.

Изменить: ПРИМЕЧАНИЕ. Это устарело.

Я сделал небольшой скрипт для автоматического исправления всех проблем. Я не могу гарантировать, что он будет работать для вас, но он протестирован на Manjaro Linux + Gnome. Исправление шейдера можно применять для исправления кода шейдера до тех пор, пока разработчик игры не выпустит официальный патч для игры.
Чтобы использовать его, распакуйте архив и поместите его содержимое в корневой каталог игры (например, "/home/ИМЯ ПОЛЬЗОВАТЕЛЯ/.steam/steam/steamapps/common/Foundation/apply_fixes.sh") и запустите скрипт.

Примечание. Для автоматического обновления winetricks скрипт запросит у вас права root.

Обязательно запустите игру хотя бы один раз перед запуском скрипта.

Foundation_v1.6.20_Fixer

Дайте мне знать, если это сработало для вас.

Эй, я еще не купил игру, потому что в настоящее время она помечена как сломанная на ProtonDB.
Я играю на Nvidia, установка vcrun2017 с помощью winetricks - единственное, что нужно для игры? Игра полностью играбельна?
Есть ли другие нерешенные известные проблемы?

Эй, я еще не купил игру, потому что в настоящее время она помечена как сломанная на ProtonDB.
Я играю на Nvidia, установка vcrun2017 с помощью winetricks - единственное, что нужно для игры? Игра полностью играбельна?
Есть ли другие нерешенные известные проблемы?

на NVIDIA вы должны обновить winetricks через «sudo winetricks --self-update», а затем установить vcrun2017 в префиксе игры. Никто не может гарантировать вам, что это будет работать в вашей системе (я только что обнаружил, что эти шаги надежно работают для моей системы). Вы можете попробовать это, и если это не сработает, вы можете вернуть деньги за игру или подождать, пока игра не заработает из коробки с Proton.

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

С моей стороны, да - это полностью играбельно.
YouTube видео

Привет, @MadByteDE , я искал лицензию на авторские права на эту игру, и мне трудно ее найти. Самое близкое, что я нашел, это «Примечание: публичный обмен игровыми файлами и активами Polymorph Games строго запрещен законом об авторском праве». на http://www.polymorph.games/foundation/modding/texture-usage-policy. Измените свой обходной путь, чтобы он изменял существующие файлы из установки игры, а не перераспределял шейдеры.

Привет, @MadByteDE , я искал лицензию на авторские права на эту игру, и мне трудно ее найти. Самое близкое, что я нашел, это «Примечание: публичный обмен игровыми файлами и активами Polymorph Games строго запрещен законом об авторском праве». на http://www.polymorph.games/foundation/modding/texture-usage-policy. Измените свой обходной путь, чтобы он изменял существующие файлы из установки игры, а не перераспределял шейдеры.

Спасибо, что дал мне знать. Лучшее, что я могу сделать, это попросить разрешения на распространение измененных файлов шейдеров, чтобы временно исправить проблемы с шейдерами в Linux. Но поскольку разработчик объявил об исправлении шейдеров в грядущем обновлении, я удалю файлы до тех пор, пока обновление не будет выпущено.

Дайте мне знать, если это сработало для вас.

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

Изменить: ПРИМЕЧАНИЕ. Это устарело.

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


Что оно делает

1. Автоматически обновляет вашу _уже установленную_ установку winetricks и устанавливает vcrun2017 в префикс игры.

  • Чтобы обновить winetricks, скрипт запросит у вас права root. Если вы отклоните его, вам необходимо обновить winetricks и установить vcrun2017 самостоятельно. то есть с помощью:
    sudo winetricks --self-update && WINEPREFIX=/home/USERNAME/.steam/steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

2. Для пользователей графических процессоров AMD/Intel: применяет исправление к файлам шейдеров (ошибка компиляции).

  • Скрипт сделан только для версии игры 1.6.20 . Более поздние версии должны быть официально исправлены разработчиком игры.

Как это использовать

1. Скачать скрипт; извлеките и скопируйте файлы в каталог игры Foundation
2. Запустите игру хотя бы один раз перед использованием скрипта
3. Запустите скрипт. Он скажет вам, когда это будет сделано.
4. Запустите игру.

  • Если вылет игры в конце начального экрана загрузки или внутриигровой текст не отображается должным образом после применения скрипта, что-то пошло не так при обновлении winetricks/установке vcrun2017. Вы можете попробовать это и посмотреть, работает ли это для вас.

Скачать (Мега)
Foundation_v1.6.20_Fixer

@MadByteDE Могу подтвердить, что последние версии Winetricks, vcrun2017 и Proton 5.11 решили проблему перевода, теперь тексты отображаются.

Хорошо сделано!
Я успешно смог запустить игру после установки вашего патча. Мне пришлось удалить/переименовать «AchievementsVDF.vdf» в «localization/en», иначе он вылетит после заполнения полосы загрузки.

@MadByteDE Могу подтвердить, что последние версии Winetricks, vcrun2017 и Proton 5.11 решили проблему перевода, теперь тексты отображаются.

Рад слышать это. (Кстати, я использовал последнюю стабильную версию 5.0-9 Proton для всего.)

Хорошо сделано!
Я успешно смог запустить игру после установки вашего патча. Мне пришлось удалить/переименовать «AchievementsVDF.vdf» в «localization/en», иначе он вылетит после заполнения полосы загрузки.

Как выглядят ваши текстовые строки? Если они начинаются с #, то либо обновление winetricks и установка vcrun не удались, либо есть другая проблема с игрой, которую я еще не видел.

Со строками все в порядке, ваш скрипт обновил winetricks и без проблем установил vcrun2017. Без vcrun2017 были только плейсхолдеры с "#" впереди, а с этим все нормально.

Со строками все в порядке, ваш скрипт обновил winetricks и без проблем установил vcrun2017. Без vcrun2017 были только плейсхолдеры с "#" впереди, а с этим все нормально.

Хм.. Интересно, почему вам пришлось удалить файл, так как он был исправлен обновлением winetricks с моей стороны. Но если все остальное работает и вы можете получить доступ к меню настроек, все должно быть в порядке.

Странный. Теперь я восстановил файл AchievementsVDF.vdf, и он больше не падает. Но я клянусь, что изначально так и было. ¯_(ツ)_/¯
Единственная незначительная вещь: после того, как игра загружена и появляется главное меню, мне нужно переключаться между вкладками и обратно, иначе я не могу ничего щелкнуть. Кроме того вроде все работает, поиграл уже пару минут.

Только что купил игру, а она вылетает в конце начального экрана загрузки:

image

Foundation - version 1.6.20.0814
missing : in locales.txt line: OpenGL vendor: NVIDIA Corporation
OpenGL renderer: GeForce RTX 2080 Ti/PCIe/SSE2
OpenGL version: 4.6.0 NVIDIA 450.66
GL_MAX_TEXTURE_IMAGE_UNITS: 32
GL_MAX_PATCH_VERTICES: 32
GPU dedicated video memory: 11534336KB
GPU total available memory: 11534336KB
GPU current available video memory: 9830912KB
GPU eviction count: 0
GPU evicted memory: 0KB
Create Audio Engine
Audio Engine created
Create world
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
preload file Terrain/Foundation_Hills_01/trees_padding_foundation_hills_01.geo: 0.156 s
property PlaCDataAgentProfileFunctionVisitor::AssetStatusQuota should not be null in 
property PlaSContextDataHappinessFactor::HappinessFactor should not be null in 
property PlaSContextDataHappinessFactor::Applicator should not be null in 
property PlaSContextDataHappinessFactor::HappinessFactor should not be null in 
property PlaSContextDataHappinessFactor::Applicator should not be null in 
property PlaSContextDataWorkstationSetup::WorkstationSetup should not be null in 
property PlaSContextDataSubtree::Subtree should not be null in 
property PlaSContextDataSubtree::Subtree should not be null in 
property PlaSContextDataSubtree::Subtree should not be null in 
property PlaSContextDataHappinessFactor::Applicator should not be null in 
property PlaCDataHouseStatus::Item0 should not be null in 
property PlaCDataVillagerStatusQuantityPair::Status should not be null in 
property PlaCAssetBuildingFunctionQuarry::RandomResourceToSpawn should not be null in 
property PlaCAssetBuildingFunctionQuarry::RandomResourceToSpawn should not be null in 
property PlaCAssetBuildingFunctionTaxOffice::Item0 should not be null in 
property PlaCAssetBuildingFunctionWorkplaceFarm::HarvestSetup should not be null in 
property PlaCAssetBuildingFunctionWorkplaceFarm::SowingSetup should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedDesirability should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedZone should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedDesirability should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedZone should not be null in 
property PlaCAssetDesirability::CopyLevelFrom should not be null in 
property PlaCAssetDesirability::CopyLevelFrom should not be null in 
property PlaCAssetDesirability::CopyLevelFrom should not be null in 
property GamCKeyframeAsset::Value should not be null in 
property GenCParticleSystem::Material should not be null in 
property PlaCDataActionVisit::NarrativePanelData should not be null in 
property PlaCDataActionVisit::VisitClickAction should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataAssociationEstateString::AssetEstate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataActionVisit::NarrativePanelData should not be null in 
property PlaCDataActionVisit::VisitClickAction should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataAssociationEstateString::AssetEstate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionVisit::VisitClickAction should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property GenCParticleSystem::Material should not be null in 
property GenCParticleSystem::Material should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataGameRuleModifierVillagerHappiness::RuleApplicator should not be null in 
property PlaCAssetGameRuleMineral::GenericMineralPrefab should not be null in 
property PlaCAssetGameRuleMineral::DebugMineralToAssign should not be null in 
property PlaCSkin::DefaultCollapsibleStyle should not be null in 
property PlaCDataGameRuleModifierNeedPermanentlyFilled::NeedResource should not be null in 
property PlaCAssetProceduralMilitaryQuestGenerator::QuestFunction should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCAssetProceduralMilitaryQuestGenerator::QuestFunction should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCAssetProceduralMilitaryQuestGenerator::QuestFunction should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCAssetWallConfig::Material should not be null in 
property PlaCAssetWallConfig::MaterialTop should not be null in 
init asset manager: 4.691 s
load all assets: 10.143 s
Clear Scene
Open Scene ...
Can't find any component named PlaCCompMonument
Read Terrain Topology: 3.95 ms
Generate grass: 10.70 ms
Generate grass: 10.55 ms
Load Scene: 871.40 ms
JSON parsing error: 3 file: localization/en/achievements.json
Register Static Object: 36.59 ms

@leinardi Попробуйте временно переместить/удалить «AchievementsVDF.vdf» из папки с игрой, например /home/USERNAME/.steam/steam/steamapps/common/Foundation/localization/en , и сообщите, если это что-то изменит.

@MadByteDE Переименование AchievementsVDF.vdf кажется допустимым обходным путем. Теперь я могу добраться до главного меню, но все локализованные строки отсутствуют:
20201009204451_1

Я установил установленный winetricks, но этого недостаточно:

leinardi<strong i="11">@c7h</strong>:/media/Steam/steamapps/common/Foundation$ sudo winetricks --self-update
leinardi<strong i="12">@c7h</strong>:/media/Steam/steamapps/common/Foundation$ WINEPREFIX=$( realpath ../../compatdata/690830/pfx ) winetricks -q vcrun2017

консольный вывод

Ах, я думаю, обновление winetricks не удалось, потому что вы не запустили winetricks --self-update от имени пользователя root. попробуйте использовать sudo winetricks --self-update . Если установка прошла успешно, вам, скорее всего, потребуется удалить pfx, запустить игру и еще раз вылететь, а затем выполнить WINEPREFIX=/media/Steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017 . Если все работает, можно добавить архивыVDF.vdf обратно в папку локализации en.

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

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

Обновление прошло успешно, и я установил последнюю версию:

leinardi<strong i="8">@c7h</strong>:/media/Steam/steamapps/common/Foundation$ winetricks --version
20200412-next - sha256sum: 5c62bc038fd3ac7fa1e0d09123c61e1034cc5431719f5a1768dcb4bd91990cca

Я уже пытался удалить префикс вина, но результат тот же.

@kisak-valve конечно, извините.

И при нажатии на настройки игра вылетает:

Create world
createTextWithViewParameters received unused views: #.COMMUNITY_TRANSLATION
createTextWithViewParameters received unused views: #.DISCORD
JSON parsing error: 3 file: localization/en/achievements.json
JSON parsing error: 3 file: localization/en/agents.json
JSON parsing error: 3 file: localization/en/buildings.json
JSON parsing error: 3 file: localization/en/events.json
JSON parsing error: 3 file: localization/en/general.json
JSON parsing error: 3 file: localization/en/help.json
JSON parsing error: 3 file: localization/en/menu.json
JSON parsing error: 3 file: localization/en/military.json
JSON parsing error: 3 file: localization/en/rules.json
JSON parsing error: 3 file: localization/en/steam_page.json
JSON parsing error: 3 file: localization/en/tutorial.json
JSON parsing error: 3 file: localization/en/unlockables.json
JSON parsing error: 3 file: localization/en/whatsnew.json
Analytics server address: https://www.polymorph.games/analytics/
Analytics HTTP result: 5387663
Analytics HTTP result: OK
can't access an unexisting item of a const hash map

Поскольку язык моей ОС не установлен на английский, я попытался добавить

LC_ALL=C %command%

и

LANG=C %command%

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

Я не могу использовать winetricks, появляется это сообщение:
предупреждение: вы используете 64-битный WINEPREFIX. Обратите внимание, что многие команды устанавливают только 32-разрядные версии пакетов. Если вы столкнулись с проблемами, повторите тестирование в чистом 32-разрядном WINEPREFIX, прежде чем сообщать об ошибке.

Но я загружаю exe-файлы и запускаю их так:
WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine VC_redist.x( версия).exe
версия означает x86 или x64, и я установил оба, я уже сделал это, и язык не исправлен.
Но теперь я переименовываю достижения, а игра продолжает вылетать.

Какие-нибудь хитрости?

@leinardi да, у меня часто была эта проблема, но после обновления winetricks все заработало нормально.
Ваше выполнение winetricks сильно отличается от того, что я получаю, поэтому я все еще думаю, что что-то пошло не так с обновлением winetricks. Отсутствуют строки, такие как Executing wine winecfg -v winxp64 , и происходит много разных вещей.
Это мой вывод: GIST

Кстати, моя локальная версия вина 5.18. Может быть, это как-то связано с этим.

Сумма sha256 вашей версии отличается, как и винная версия:

Using winetricks 20200412-next - sha256sum: 8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f with wine-5.18 and WINEARCH=win64
Using winetricks 20200412-next - sha256sum: 5c62bc038fd3ac7fa1e0d09123c61e1034cc5431719f5a1768dcb4bd91990cca with wine-5.0 and WINEARCH=win64

Попробую с более новой версией вин.

Хм, я переиграл установку и у меня все еще работает:

  1. удалить префикс
  2. запустите игру, пусть она вылетает. будет создан новый префикс
  3. установить vcrun2017 с помощью winetricks или protontricks
  4. переименовать "localisation/en/AchievementsVDF.vdf" (можно позже переименовать обратно, как только игра успешно запустится хотя бы один раз)
  5. начать игру

Я использую Протон 5.0-9. для этой игры.

@лейнарди
Я заметил одну вещь: sha256sum моей установки winetricks, которую winetricks печатает при запуске, отличается от вашей:
Хотя версия "20200412-следующая" такая же. Это немного странно.

@smirgol какая у тебя версия вина?

предупреждение: вы используете 64-битный WINEPREFIX. Обратите внимание, что многие команды устанавливают только 32-разрядные версии пакетов. Если вы столкнулись с проблемами, повторите тестирование в чистом 32-разрядном WINEPREFIX, прежде чем сообщать об ошибке.

Это нормально и может быть проигнорировано.

WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine VC_redist.x( версия).exe

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

Глядя на все эти проблемы, кажется, что версия winetricks, которую все получают через --self-update, как-то немного отличается, что может быть здесь основной проблемой.

@smirgol какая у тебя версия вина?

вино-5.18 (постановка)

Со страницы winetricks на GitHub:

Примечание: упакованные версии winetricks для Debian/Ubuntu обычно устарели, поэтому рекомендуется ручная установка.

Если пакет недоступен, устарел или требуется последняя версия, можно выполнить установку winetricks вручную. Настоятельно рекомендуется сначала удалить любую ранее установленную версию winetricks.

Если вы не удалите ранее установленную, запакованную версию winetricks... Что ж, тогда вы сможете собрать все по кусочкам!

И из самого скрипта winetricks:

# Name of this version of winetricks (YYYYMMDD)
# (This doesn't change often, use the sha256sum of the file when reporting problems)
WINETRICKS_VERSION=20200412-next

Если вы используете дистрибутив на основе Debian, я бы рекомендовал следовать инструкциям, приведенным на https://github.com/Winetricks/winetricks .

Подытоживая процедуру:

Сначала удалите все winetricks, которые вы установили с помощью менеджера пакетов!

Получите последнюю версию (сохраните вручную или получите с помощью curl):
завиток https://raw.githubusercontent.com/Winetrics/winetricks/master/src/winetricks > winetricks
sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks

Я предпочитаю /usr/local/bin вместо /usr/bin, но решать вам.

Наконец работает:
20201009214623_1

В чем я думаю была проблема? с установленными 2 разными версиями winetricks:

leinardi<strong i="9">@c7h</strong>:/media/Steam/steamapps/common/Foundation$ sudo winetricks --version
20200412-next - sha256sum: 8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f

leinardi<strong i="10">@c7h</strong>:/media/Steam/steamapps/common/Foundation$ winetricks --version
20200412-next - sha256sum: 5c62bc038fd3ac7fa1e0d09123c61e1034cc5431719f5a1768dcb4bd91990cca

leinardi<strong i="11">@c7h</strong>:/media/Steam/steamapps/common/Foundation$ whereis winetricks
winetricks: /usr/bin/winetricks /usr/bin/winetricks.bak /home/leinardi/bin/winetricks /usr/share/man/man1/winetricks.1.gz

Я обновлял системную установку с помощью sudo winetricks --self-update , но затем выполнял пользовательскую устаревшую установку. Запуск winetricks --self-update без sudo решил проблему.

Мне пришлось удалить префикс и снова запустить WINEPREFIX=$( realpath ../../compatdata/690830/pfx ) winetricks -q vcrun2017 , чтобы получить правильную установку. Вывод теперь почти идентичен тому, что было в @MadByteDE .

Я также обновил Wine до промежуточной версии 5.18, но я не думаю, что это было необходимо (я сделал это до того, как выяснил, что у меня установлено 2 версии winetricks).

После установки vcrun2017 мне больше не нужно переименовывать AchievementsVDF.vdf , и меню настроек открывается корректно.

Большое спасибо за помощь, я был очень близок к тому, чтобы вернуть деньги за игру :+1:

@leinardi Рад видеть, что это работает для вас: +1:

Чему мы можем научиться из него? Если это распространенная проблема, я мог бы добавить проверку любой другой версии winetricks в скрипт, чтобы убедиться, что он использует правильную версию при установке vcrun. Или просто добавьте предупреждение, если контрольная сумма отличается от известной рабочей версии винды.
Я даже не могу запустить winetricks --self-update : warning: You don't have the proper permissions to run this command. Try again with sudo or as root.

Выполнение --self-update перед использованием winetricks для этой игры помогло!
Теперь метки в игре отображаются правильно. Спасибо за совет!

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

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

Последняя стабильная версия Proton должна быть 5.0-9. Сначала попробуйте это с исправлениями, описанными выше. Если это работает с 5.0-9, но не с 5.13 (+ исправления), то в новой сборке может быть регресс.

Спасибо, игра теперь работает.

Только что обновил протон с 5.0-9 до 5.13-1 и работает так же как и до обновления.

Только что обновил протон с 5.0-9 до 5.13-1 и работает так же как и до обновления.

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

Они выпустили новую предварительную сборку (Alpha 1.6.22.106), в которой проблема с шейдерами была решена!

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

  1. Установите Winetricks из основного репозитория
curl https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks > winetricks
sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks
  1. Удалить префикс
rm -rf /home/$USER/.steam/steam/steamapps/compatdata/690830
  1. Запустите игру, чтобы снова создать префикс
  2. Установить vcrun2017
WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx /usr/bin/winetricks -q vcrun2017

Я использую Ubuntu 20.04, последнюю предварительную ветку игры и Proton 5.13.

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

@Vavooon Я бы также сделал sudo winetricks --self-update , просто чтобы быть уверенным.

@Vavooon Проверьте свою версию winetricks с помощью winetricks --version . Контрольная сумма должна быть 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b . Кроме того, убедитесь, что у вас не установлены две отдельные версии winetricks.

@Vavooon также опубликуйте вывод WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx /usr/bin/winetricks -q vcrun2017 , это может помочь найти проблему.

@Sebastiangperez Я могу перейти в главное меню, если переименую его, но перевода нет, и он вылетает, если я открываю настройки.
@leinardi тоже пытался его выполнить.
@MadByteDE Это 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b .

Вот журнал winetricks https://gist.github.com/Vavooon/df74df7f9e85f6efce4ed0ff66d883bb

@Vavooon Я только что запустил winetricks --self-update и получил ту же версию, что и вы:

leinardi<strong i="11">@c7h</strong>:~$ winetricks --self-update
Executing cd /tmp/winetricks.FKCnFq7D
Downloading https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks to /tmp/winetricks.FKCnFq7D
--2020-10-18 14:22:41--  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
Risoluzione di raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.192.133, 151.101.128.133, 151.101.64.133, ...
Connessione a raw.githubusercontent.com (raw.githubusercontent.com)|151.101.192.133|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 200 OK
Lunghezza: 873442 (853K) [text/plain]
Salvataggio in: "winetricks"

winetricks          100%[===================>] 852,97K  2,65MB/s    in 0,3s    

2020-10-18 14:22:41 (2,65 MB/s) - "winetricks" salvato [873442/873442]

Executing cd /home/leinardi
Executing mv /tmp/winetricks.FKCnFq7D/winetricks /home/leinardi/bin/winetricks.update
Executing rmdir /tmp/winetricks.FKCnFq7D
Executing cp /home/leinardi/bin/winetricks /home/leinardi/bin/winetricks.bak
Executing chmod -x /home/leinardi/bin/winetricks.bak
Executing mv /home/leinardi/bin/winetricks.update /home/leinardi/bin/winetricks
Executing chmod +x /home/leinardi/bin/winetricks
------------------------------------------------------
warning: Update finished! The current version is 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b. Use 'winetricks --update-rollback' to return to the previous version.
------------------------------------------------------

Начинаю думать, что нужен вин 5.18, может попробовать обновить до вин стейджинг, удалить приставку и попробовать еще раз?

Инструкции по добавлению официального репозитория вин см. здесь: https://wiki.winehq.org/Ubuntu .

@Vavooon Я только что запустил winetricks --self-update и получил ту же версию, что и вы:
Начинаю думать, что нужен вин 5.18, может попробовать обновить до вин стейджинг, удалить приставку и попробовать еще раз?

Инструкции по добавлению официального репозитория вин см. здесь: https://wiki.winehq.org/Ubuntu .

Вы имеете в виду протонную версию вина или вашу системную версию вина?

Вы имеете в виду протонную версию вина или вашу системную версию вина?

winetricks использует не Proton, а системную установку Wine, как видно из логов:

Using winetricks 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b with wine-5.0 (Ubuntu 5.0-3ubuntu1) and WINEARCH=win64
Executing w_do_call vcrun2017

Поэтому я установил винную постановку с помощью sudo apt install --install-recommends winehq-staging , заново создал префикс и установил vcrun2017.
Вот лог https://gist.github.com/Vavooon/a258f50f1d88a678834effbb08519d95
Игра все равно вылетает.

Ничего не помогло protontricks 690830 -q vcrun2017 .

Поэтому я установил винную постановку с помощью sudo apt install --install-recommends winehq-staging , заново создал префикс и установил vcrun2017.
Вот лог https://gist.github.com/Vavooon/a258f50f1d88a678834effbb08519d95
Игра все равно вылетает.

Ничего не помогло protontricks 690830 -q vcrun2017 .

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

@Sebastiangperez Действительно, winetricks говорит, что сейчас использует вино 5.19 (это последняя версия от winehq), хотя protontricks , похоже, использует 5.13.
У вас есть идеи, как я могу по умолчанию использовать версию Proton при работе winetricks ?

Может быть, вы можете указать после префикса, что-то вроде этого:
WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.13/dist/bin/wine

Не уверен, что понял. Должен ли я запускать winetricks с винной версией Proton (мне это кажется неправильным, потому что winetricks — это скорее скрипт) или запускать его каким-то другим способом?

Попробуй это :
Удаляю игру, удаляю приставку, устанавливаю игру, запускаю, даю вылететь, переименовываю файл Archivements.vdf в localizacion (english directory),
загрузите последнюю версию winetricks с github и запустите локально, а не глобально, например ./winetricks, в текущем каталоге, возможно, после этого вы можете выполнить ./winetricks --self-update, а затем запустить winetricks, используя привязку префикса к WINEPREFIX=/ home/(ваше имя пользователя)/.steam/steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017
Все это сработало для меня.

@Sebastiangperez Пробовал именно то, что вы предложили (однако последняя команда была WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx ./winetricks -q vcrun2017 ), и все равно не повезло. Игра запускается без переводов.

Блин... у меня была такая же проблема с переводами, но недавно игра вылетала при запуске, я все это делал без надежды.
вы запустили winetricks --self-update ?
Сделайте все это снова, но с протоном 5.09, первый раз работал с этой версией, теперь я скачал исправленную версию из ветки предварительного просмотра и использую версию протона 5.13.

Да, я тоже пробовал winetricks --self-update
Похоже, правильный способ убедиться, что winetricks использует винную версию Proton, — это установить переменную WINE, например

WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx WINE=/home/$USER/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine winetricks vcrun2017

поэтому я получаю правильную версию вина на выходе

Using winetricks 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b with wine-5.0-655-g2409bd1 and WINEARCH=win64

В любом случае, это не помогает.

вы удалили папку 690830? я тоже это сделал.

@Sebastiangperez Конечно, я всегда стираю префикс и запускаю игру, прежде чем пытаться.

@Vavooon , кажется, что новейшая версия winetricks снова неисправна. Я попробовал это в своей системе, и он снова пропускает последний шаг.

warning: Wine-Fehler 30713 wird umgegangen -- Manually extracting the 64-bit dlls
------------------------------------------------------
Executing cabextract -q --directory=/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp vc_redist.x64.exe
Executing cabextract -q --directory=/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10
/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10: WARNING; possible 16776 extra bytes at end of file.
Executing cabextract -q --directory=/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11
/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11: WARNING; possible 16976 extra bytes at end of file.

Я не знаю, почему они, по-видимому, меняют поведение winetricks для установки vcrun2017 каждой версии, но я думаю, что это может быть проблемой. Вы можете попытаться снова получить предыдущую версию (8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f).

@MadByteDE Спасибо за совет. Не могли бы вы прислать мне рабочую версию winetricks ? По ша256сум найти не получается.

@Vavooon Я был в такой же ситуации после обновления winetricks, чтобы проверить, почему ваша установка не удалась. Я вручную скопировал обходной путь в последний скрипт winetricks, чтобы он заработал. Вот файл: Mega или Gist . Вам нужно будет заменить ваши существующие winetricks (обычно расположенные в /usr/bin/) и убедиться, что они исполняемые. Это просто временное решение, для этого я открою вопрос на странице git winetricks.

@MadByteDE Извините, но вы уверены, что это правильно? Он все еще говорит 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b , когда я запускаю его. Перевод тоже не исправляется.

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

редактировать:
Мега
Суть

@MadByteDE Большое спасибо.
К сожалению, я столкнулся с другой проблемой:

Executing cabextract -q --directory=/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp vc_redist.x64.exe
Executing cabextract -q --directory=/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10
/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10: WARNING; possible 16776 extra bytes at end of file.
Executing cabextract -q --directory=/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11
/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11: WARNING; possible 16976 extra bytes at end of file.
cp: cannot create regular file '/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32/ucrtbase.dll': Permission denied

@Vavooon Не могли бы вы попробовать запустить winetricks с правами root и повторить попытку? Забудьте о запуске с правами root... этого делать не следует. Если это не поможет, вы можете заменить файлы dll вручную, загрузив установщик vcrun с https://aka.ms/vs/15/release/vc_redist.x64.exe , извлеките .exe с помощью cabextract -q --directory="vcrun2017" VC_redist.x64.exe , извлеките каталоги a10 и a11 и скопируйте и вставьте dll (или только ucrtbase.dll) в ../steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32 с правами root .

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

@Vavooon , не могли бы вы проверить владельца ../steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32/ucrtbase.dll ? похоже, что по какой-то причине файл был установлен как другой пользователь, и поэтому вы не можете заменить его своими разрешениями.

В конце концов это работает! Большое спасибо всем за вашу помощь!

Итак, я хотел бы записать все необходимые шаги:

  1. Стереть префикс вина для игры: rm -rf /home/$USER/.steam/steam/steamapps/compatdata/690830
  2. Запустите игру (используйте Proton 5.13+, ветку превью пока) и дайте ей пересоздать префикс
  3. Загрузите https://aka.ms/vs/15/release/vc_redist.x64.exe , извлеките его с помощью cabextract -q VC_redist.x64.exe , затем извлеките ucrtbase.dll из каталога a10 внутри exe. .
  4. Скопируйте ucrtbase.dll в /home/$USER/.steam/steam/steamapps/compatdata/690830/pfx/drive_c/windows/system32/ , подтвердите замену.

@MadByteDE Он принадлежит моему домашнему пользователю, ничего особенного. Я считаю, что он не может переопределить файл, потому что cp должен выполняться с ключом -r или около того.

@Vavooon рад, что теперь это сработало. Хорошо, приятно знать. Следует добавить, что, вероятно, нужно было сначала установить vcrun2017, а затем вручную заменить ucrtbase.dll, или он работал без остального?

@MadByteDE На самом деле замена файла — это единственное, что требуется для устранения проблем.

Привет, ребята, я технический директор Polymorph Games. Прежде всего: большое спасибо за время и усилия, которые вы вложили в изучение этих проблем, это действительно помогло нам!

Поскольку @smirgol обратился на форум Steam, чтобы поговорить о проблеме совместимости с glsl, мы смогли развернуть исправление в ветке предварительного просмотра, и вскоре оно появится в полном обновлении контента.

Я также смог исследовать проблему с загрузкой файла локализации, и она тоже должна быть исправлена. Что произошло, так это то, что proton / wine просто проигнорировал наш запрос на открытие файлов как utf8 и скармливал нам данные строки. Это было исправлено путем добавления DOM utf8 во все наши файлы utf8.

У меня не было возможности протестировать полную загрузку игры, так как я запускаю Linux только на виртуальной машине (поэтому я не могу пройти проверку opengl 4.3), но если это действительно была последняя проблема, игра должна работать без vcrun2017. трюк (как только новая сборка будет запущена, версия выше 1.6.22).

Поскольку игра все еще находится в активной разработке, я ожидаю, что в будущем возникнут другие проблемы. Даже если Linux не является нашим главным приоритетом, мы все же хотели бы сделать все возможное, чтобы упростить эксперименты с Foundation в Linux. Так что не стесняйтесь обращаться к нам на форуме Steam или в нашем Discord, это будет лучший способ убедиться, что мы в курсе новых проблем или идей, которые у вас есть, чтобы исправить опыт протона.

Дискорд: https://discord.com/invite/foundation
Я рекомендую пометить Minotorious#0534 на #techsupport, если у вас есть новости о сборке Linux.

Ваше здоровье!

@leo-polymorph Очень редко можно увидеть, как игровая студия заходит в этот трекер проблем и действительно предлагает какую-либо помощь / поддержку, большое спасибо!

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

@leo-polymorph Спасибо, что поддерживаете нас, это действительно много значит!

@leo-polymorph Отличные новости, спасибо.

Я также смог исследовать проблему с загрузкой файла локализации, и она тоже должна быть исправлена. Что произошло, так это то, что proton / wine просто проигнорировал наш запрос на открытие файлов как utf8 и скармливал нам данные строки. Это было исправлено путем добавления DOM utf8 во все наши файлы utf8.

Эй, разработчик Wine/Proton здесь. Если вы можете предоставить нам больше информации об этой ошибке, мы можем исправить ее в Wine. Не стесняйтесь отвечать здесь или напишите мне по адресу [email protected]. Спасибо!

Я также смог исследовать проблему с загрузкой файла локализации, и она тоже должна быть исправлена. Что произошло, так это то, что proton / wine просто проигнорировал наш запрос на открытие файлов как utf8 и скармливал нам данные строки. Это было исправлено путем добавления DOM utf8 во все наши файлы utf8.

Эй, разработчик Wine/Proton здесь. Если вы можете предоставить нам больше информации об этой ошибке, мы можем исправить ее в Wine. Не стесняйтесь отвечать здесь или напишите мне по адресу [email protected] . Спасибо!

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

Привет @aeikum , вот проблема:
У нас есть файл utf8 без DOM, 'localization/locales.txt'
Открываем так:
_wfopen_s(&m_file, "localization/locales.txt", "rt, ccs=UTF-8");

согласно документу MS, файловый поток должен рассматривать его как источник в кодировке utf8 и преобразовывать его в UNICODE как чтение. Это работает, как и ожидалось, в Windows.

image

Документ MS: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-s-wfopen-s?view=vs-2015

На протоне система ведет себя так, как будто мы открыли файл вот так:
_wfopen_s(&m_file, "localization/locales.txt", "rt");

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

@leo-polymorph Понятно, большое спасибо за объяснение. Мы посмотрим.

FWIW, геймеры Linux, запустив предварительную сборку и запустив этот скрипт, чтобы добавить спецификацию UTF-8 ко всему содержимому каталога localization/en , у меня игра заработала:
https://stackoverflow.com/questions/3127436/добавление-bom-to-utf-8-файлов

Итак, после того, как я установил последнее обновление (1.6.24.1028), игра полностью работает на Linux без каких-либо хаков.

Итак, после того, как я установил последнее обновление (1.6.24.1028), игра полностью работает на Linux без каких-либо хаков.

Итак, тему закрыть или оставить на всякий случай?

Пожалуйста, держите его открытым.

Пожалуйста, держите его открытым.
В ПОРЯДКЕ!

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

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

Elkasitu picture Elkasitu  ·  3Комментарии

ghost picture ghost  ·  3Комментарии

AwesamLinux picture AwesamLinux  ·  3Комментарии

AwesamLinux picture AwesamLinux  ·  3Комментарии

BLaDZer picture BLaDZer  ·  3Комментарии