Proton: Fundação (690830)

Criado em 6 fev. 2019  ·  128Comentários  ·  Fonte: ValveSoftware/Proton

Relatório de compatibilidade

  • Nome do jogo com problemas de compatibilidade: Fundação
  • Steam AppID do jogo: 690830

Informação do sistema

  • GPU: GTX 980 GTX
  • Versão do driver/LLVM: Nvidia 415.22
  • Versão do kernel: 4.19
  • Link para o relatório completo de informações do sistema como Gist :
  • Versão do próton: 3.16

Eu confirmo:

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

Sintomas

O jogo tem algum erro relacionado na saída de log do seu jogo de tradução disse isso:
ERROR Core GamCLocalizationManager::loadFile JSON erro de análise: 3

Também o jogo trava após pressionar o botão do mercado, mantendo a música/som em segundo plano.

Reprodução

Aperte o play no botão Steam

Game compatibility - Unofficial Mesa drivers XAudio2

Comentários muito úteis

Olá pessoal, sou o diretor técnico da Polymorph Games. Primeiro de tudo: muito obrigado pelo tempo e esforço que você dedicou para investigar esses problemas, isso realmente nos ajudou!

Como @smirgol entrou em contato no fórum do Steam para falar sobre o problema de compatibilidade do glsl, conseguimos implantar a correção na ramificação de visualização e chegará ao patch de conteúdo completo em breve.

Também pude investigar o problema de carregamento do arquivo de localização e ele também deve ser corrigido. O que aconteceu é que o proton / wine simplesmente ignorou nosso pedido para abrir os arquivos como utf8 e estava nos alimentando com dados de linha. Foi corrigido adicionando utf8 DOM em todos os nossos arquivos utf8.

Não consegui testar o carregamento completo do jogo, pois estou executando apenas o linux em uma máquina virtual (portanto, não posso passar na verificação do opengl 4.3), mas se esse foi realmente o último problema, o jogo deve funcionar sem o vcrun2017 truque (assim que a nova compilação for lançada, versão superior a 1.6.22).

Como o jogo ainda está em desenvolvimento ativo, espero que haja outros problemas no futuro. Mesmo que o linux não seja nossa principal prioridade, gostaríamos de fazer o que pudermos para tornar mais fácil experimentar o Foundation no Linux. Portanto, não hesite em entrar em contato conosco no fórum do Steam ou em nosso Discord, essa será a melhor maneira de garantir que estamos cientes de novos problemas ou ideias que você tenha para corrigir a experiência do próton.

A discórdia: https://discord.com/invite/foundation
Eu recomendo marcar Minotorious#0534 no #techsupport se você tiver notícias sobre a compilação do linux

Felicidades!

Todos 128 comentários

Olá @Sebastiangperez , por favor, adicione PROTON_LOG=1 %command% às opções de inicialização do jogo e arraste e solte o $HOME/steam-$APPID.log gerado na caixa de comentários.

Zipado, tem 60mb de comprimento e eu corro o jogo até travar. este jogo é feito por um motor personalizado e usa eu acho opengl 4.3
steam-690830.log.tar.gz

Ontem, testei o jogo novamente, quando cliquei no botão de mercado no menu de construção, o jogo travou e travou meu pc inteiro.
Talvez seja um vazamento de memória?
estou no Fedora 29

Eu tenho um problema semelhante, mas ainda diferente. Para mim o jogo inicia, entra na tela de carregamento e depois trava com eventfd: Too many open files : steam-690830.log

Quando eu mudo do próton 3.16 para 3.7. então o jogo simplesmente trava sem travar.

Se eu for em frente e aumentar o ulimit para mais de 60.000 então o jogo funciona, mas a localização está faltando porque o jogo continua dizendo
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Jogando strace no jogo mostra isso:

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 fechar(39487) = 0
22:32:33 fechar(-1) = -1 EBADF (Descritor de Datas Ungültiger)
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 fechar(39487) = 0
22:32:33 fechar(-1) = -1 EBADF (Descritor de Datas Ungültiger)
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 fechar(39487) = 0
22:32:33 fechar(-1) = -1 EBADF (Descritor de Datas Ungültiger)

Este parece ser um grande bug no jogo e não pode ser corrigido pelo Proton, já que o arquivo parece ser encontrado e carregado. Além disso, eles constantemente tentam fechar milhares de arquivos que nunca abriram, então acho que mesmo que o jogo tivesse a localização, poderíamos ter o problema que o @Sebastiangperez falou.

@Legodev
Oi, obrigado pela sua resposta. talvez alguém entre em contato com esses caras e conte esse bug.

Esta é uma atualização

Eu tenho um problema semelhante, mas ainda diferente. Para mim o jogo inicia, entra na tela de carregamento e depois trava com eventfd: Too many open files : steam-690830.log

Quando eu mudo do próton 3.16 para 3.7. então o jogo simplesmente trava sem travar.

Se eu for em frente e aumentar o ulimit para mais de 60.000 então o jogo funciona, mas a localização está faltando porque o jogo continua dizendo
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Jogando strace no jogo mostra isso:

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 fechar(39487) = 0
22:32:33 fechar(-1) = -1 EBADF (Descritor de Datas Ungültiger)
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 fechar(39487) = 0
22:32:33 fechar(-1) = -1 EBADF (Descritor de Datas Ungültiger)
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 fechar(39487) = 0
22:32:33 fechar(-1) = -1 EBADF (Descritor de Datas Ungültiger)

Este parece ser um grande bug no jogo e não pode ser corrigido pelo Proton, já que o arquivo parece ser encontrado e carregado. Além disso, eles constantemente tentam fechar milhares de arquivos que nunca abriram, então acho que mesmo que o jogo tivesse a localização, poderíamos ter o problema que o @Sebastiangperez falou.

Esta é uma atualização, ontem chegou um novo patch que corrigiu o bug, consegui jogar o jogo sem travar.
As traduções de texto ainda estão ausentes e mostram apenas as chaves JSON.

As traduções de texto ainda estão ausentes e mostram apenas as chaves JSON.

Isso pode ser facilmente corrigido instalando o vcrun2017:
WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

[EDIT 2: não é mais necessário ativar o D9VK. ele será usado automaticamente.. Então tudo abaixo está desatualizado ]
Além disso, o desempenho do jogo é altamente aprimorado usando D9VK em vez do WineD3D padrão e talvez possa corrigir o erro "Erro de compilação do Shader: gl_FragColor não declarado" também (usuários da GPU AMD).

[EDIT: O seguinte está desatualizado, o D9VK agora pode ser ativado com Proton > 4.11 usando "PROTON_USE_D9VK=1 %command%"]

Se você quiser tentar implementá-lo no Proton 4.2, siga estas instruções fornecidas pelo usuário pchome:

  1. Baixe o D9VK (https://github.com/Joshua-Ashton/d9vk/releases)
  2. Adicione d3d9.dll de D9VK/x32 para /your_path/steamapps/common/Proton 4.2/dist/lib/wine/d9vk/
  3. Adicione d3d9.dll de D9VK/x64 para /your_path/steamapps/common/Proton 4.2/dist/lib64/wine/d9vk/
  4. Baixe o arquivo de texto do patch: proton-4.2-d9vk.patch.txt
  5. Copie o arquivo de texto para o diretório do Proton e execute patch -p1 < proton-4.2-d9vk.patch.txt
    Agora ele será usado como padrão. Se você quiser desativá-lo, use PROTON_NO_D9VK=1 %command%

Eu parei de jogar este jogo há alguns meses porque ele trava no início.
Vou verificar o trabalho em torno do texto.

Posso confirmar que o jogo agora funciona bem usando:

  • um ulimit -n mais alto para aumentar o limite de arquivos abertos para contornar a falha na inicialização
  • WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017 para corrigir a exibição do texto
    Obs: por algum motivo precisei deletar a pasta pfx, iniciar o jogo e depois executar winetricks novamente

um ulimit -n mais alto para aumentar o limite de arquivos abertos para contornar a falha na inicialização

btw isso parece ser um "problema" baseado em distro. Meu ulimit já era bem alto por padrão (#DefaultLimitNOFILE=1024:524288 no Manjaro).

sim, o meu está fixado em 1024, simplesmente porque isso normalmente é mais do que suficiente e, se for necessário mais, isso geralmente é um bug no seu software. Eu sei como mudar isso permanentemente, mas eu não quero.

Para quem quiser saber a localização do arquivo pode ser feito em /etc/sysctl.conf usando fs.file-max mas é melhor usar /etc/security/limits.conf

Editar: em distribuições linux não systemd

Talvez você deva dizer em qual distro você está, porque os nomes dos arquivos e locais diferem de acordo com a distro que você está usando.Aqui você pode encontrar mais algumas informações sobre o tópico:
https://github.com/lutris/lutris/wiki/How-to :-Esync

Posso confirmar que o jogo agora funciona bem usando:

* 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

Olá a todos,
Eu tentei a solução winetricks para o problema do texto, mas ainda tenho apenas chaves de texto. Meu sistema:

Steam log in gist .

Ontem depois de muito tempo sem jogar o jogo, joguei e funciona muito bem, mas ainda usa 2,5 gb de ram (não sei se é um problema)
Hoje vou tentar o material de exibição de texto que alguém mencionou acima.

Ontem depois de muito tempo sem jogar o jogo, joguei e funciona muito bem, mas ainda usa 2,5 gb de ram (não sei se é um problema)
Hoje vou tentar o material de exibição de texto que alguém mencionou acima.

Se você encontrar uma maneira de corrigir o problema do texto, é permitido usar 6 GB de RAM para tudo o que me importa.

Encontrei o seguinte bloco no meu log do 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

Encontrei o seguinte bloco no meu log do 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

Posso confirmar resultados semelhantes para mim depois de seguir todas as recomendações e com várias instalações/tentativas. Eu também tentei usar truques de vinho e truques de prótons. Usando próton 4.2-9
Meu sistema:

  • Manjaro 18.1.5
  • GPU: nvidia 1080
  • Processador AMD Ryzen 7 1800x
  • 32gb de memoria

As traduções de texto ainda estão ausentes e mostram apenas as chaves JSON.

Isso pode ser facilmente corrigido instalando o vcrun2017:
WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

Isso não me ajudou. Ainda vejo essas chaves JSON em vez de rótulos adequados :(

Eu estava usando o driver AMD gratuito do Manjaro e sempre recebia o erro do shader: gl_FragColor undeclared . RX580

Com o driver AMD proprietário para Archlinux AUR eu posso iniciar o jogo.

Ainda tem dois problemas não resolvidos:

  • [x] Substituição de JSON para localização (instalar vcrun2017 não funcionou para mim. No entanto, consegui um pfx )
  • [x] O plano de fundo está quebrado. Veja a imagem abaixo EDIT: Também corrigido pela pasta pfx doada.

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

EDITAR:
Encontrei este relatório no WineHQ: https://forum.winehq.org/viewtopic.php?t=32488

Olá @marwonline , copie as informações do seu sistema do Steam ( Steam -> Help -> System Information ) e coloque-as em um gist , depois inclua um link para o gist em este relatório de problemas.

@kisak-valve aqui a essência .
BTW: eu peguei a pasta pfx do @Legodev e a localização funciona bem. Não tenho certeza do que está errado na minha instalação.

@kisak-valve É um jogo OpenGL, então os drivers Mesa podem ser removidos.

@Legodev A instalação do vcrun2017 não corrige o problema de tradução/string para mim... você instalou mais alguma coisa?

Oi,

Eu joguei este jogo no Windows antes. Agora mudei para o Linux Mint e recebi este erro:

Erro de compilação do sombreador
Shader: nativos/color2d

Alguém conseguiu trabalhar com próton ou vinho em gráficos AMD com drivers mesa?

Atenciosamente
Danii

Erro de compilação do sombreador
Shader: nativos/color2d

Eu tenho o mesmo erro com gráficos Intel no Proton 5.0 ...

Há novidades sobre este jogo? Alguém já tentou com Proton 5.0-10 RC ou Proton-5.9-GE-6-ST?

Esta não é a atualização que eu esperava... @Sebastiangperez por que fechar o problema? O jogo ainda não funciona...

Esta não é a atualização que eu esperava... @Sebastiangperez por que fechar o problema? O jogo ainda não funciona...

Desculpe, eu quero excluir o comentário, meu comentário

@Sebastiangperez se você fechar o problema por engano, você poderia reabri-lo? Outras pessoas, inclusive eu, ainda estão interessadas em jogar este jogo com o Proton. Se você não deseja receber atualizações sobre esse problema, pode usar o botão Cancelar inscrição no menu lateral.

@Sebastiangperez se você fechar o problema por engano, você poderia reabri-lo? Outras pessoas, inclusive eu, ainda estão interessadas em jogar este jogo com o Proton. Se você não deseja receber atualizações sobre esse problema, pode usar o botão Cancelar inscrição no menu lateral.

Eu pressiono o botão errado, desculpe por isso
O jogo para mim não funciona agora, não sei se é algum bug novo ou algo assim.

Como agora também estou rodando em uma GPU AMD, posso ajudar um pouco também.

Comecei a mexer um pouco mais. Descobri que o problema raiz parece ser algum código de sombreador obsoleto, ou seja, "gl_FragColor" e "gl_FragData". Eu tentei extrair os arquivos shader dos arquivos .package no diretório do jogo e alterá-los para me livrar do código obsoleto e substituí-los pelos métodos atualizados (para fins de teste)... com sucesso parcial (passando para a tela de carregamento e ver a barra encher 100%), mas depois disso o jogo ainda trava. O log de erros do próprio jogo não mostra mais nenhum erro relacionado a "gl_FragColor" ou "gl_FragData", mas muitos outros. Reconheço alguns dos erros de quando testei o jogo pela primeira vez (usando uma GPU NVIDIA), então sei que pelo menos alguns deles não devem travar o jogo, pois ainda funcionava naquela época.

Aqui está o log de erros que recebo atualmente: GIST

Pode ser útil se alguém capaz de iniciar além da tela de carregamento (para o menu principal) puder fornecer um log de erros do jogo ou PROTON_LOG para filtrar os erros que só eu recebo.

EDIT: Acabei de ver que o jogo parece travar para outros (incluindo usuários da nvidia) também começando com a versão 1.6.14.0717. Talvez isso seja outro problema agora.

EDIT: Acabei de ver que o jogo parece travar para outros (incluindo usuários da nvidia) também começando com a versão 1.6.14.0717. Talvez isso seja outro problema agora.

1.6.20+ também não está funcionando. trava quando a barra verde termina de encher
Linux usando drivers Proton e Nvidia

Eu estava usando o driver AMD gratuito do Manjaro e sempre recebia o erro do shader: gl_FragColor undeclared . RX580

Com o driver AMD proprietário para Archlinux AUR eu posso iniciar o jogo.

Essa foi aparentemente a dica chave. Acontece que há um problema com o driver Mesa de código aberto que causou o erro do shader para o jogo quando o código do shader usa coisas obsoletas. Bem, tecnicamente é um erro do desenvolvedor, mas leia sobre isso você mesmo . O que fiz alterando o código do sombreador funcionou, porque o tornei compatível com o perfil principal dessa maneira.
Vamos ver se isso será mesclado e retroportado no driver Mesa estável.

Bem, vamos abordar a próxima questão, vamos? :sorriso:

Ok, agora posso iniciar o jogo e jogar. Ainda há o problema com as strings que tentarei descobrir agora, e tentar acessar o menu de configurações resulta em outra falha. mas é um progresso. Como solução alternativa, é possível alterar as configurações através do arquivo usersettings.config que é gerado em /home/USERNAME/.steam/steam/steamapps/compatdata/690830/pfx/drive_c/users/steamuser/My Documents/Polymorph Games/Foundation/ do meu lado.

A falha ao entrar no menu principal é causada por um problema com "AchievementsVDF.vdf" nos arquivos de localização. Removê-lo ou remover seu conteúdo permite que o jogo seja iniciado no menu principal. Eu acho que isso pode ser algo que pode ser corrigido no Proton, já que o formato vdf parece ser introduzido através do steam/steamworks e não pelo desenvolvedor por meio de uma biblioteca de terceiros.

Isso é tudo que posso dizer atm.

@marwonline você ainda tem o diretório com as strings de tradução fixas? Talvez possa ajudar a encontrar o problema.
Não consigo mais consertar as strings com vcrun2017 e simplesmente não consigo entender o que realmente está faltando. Que um diretório pfx específico de alguém possa resolver isso parece meio suspeito para mim.

@MadByteDE há alguma dependência ausente ou algumas configurações do registro foram alteradas. O problema é que não consigo reproduzir os passos que fiz para fazer o ambiente funcionar. Com um ambiente de trabalho, funcionou instantaneamente em todas as máquinas que testei, mas sim, eu simplesmente não sei como fiz isso funcionar. :(

Edit: agora tentei iniciar o jogo novamente depois de muito tempo enquanto mudava minha gpu. Agora o jogo não inicia mais com "Shader: natives/color2d" ... Eu empacotei meu pfx antes de tentar isso, então deve ser a mesma versão que mandei para o marwonline. Então, se você quiser, posso enviar para você também.

@Legodev Se for a versão antiga com as traduções de trabalho, seria ótimo.

Eu costumava vê-los. Como desde que eu tinha muito o que fazer eu não tinha tempo para corrigir os problemas do shader, é por isso que eu não posso te dizer se eu ainda os veria.

Pedi a eles que modificassem seus sombreadores e especificassem o perfil de compatibilidade neles, esperando que isso resolva esse problema de sombreador. Para minha surpresa, eles realmente implementaram isso. :-) Deve ser implantado com uma das próximas atualizações.

A maneira como o Mesa se comporta neste caso é, na verdade, de acordo com as especificações, que afirmam que, se nenhum perfil for definido, o padrão será core. Como eles usam um contexto de compatibilidade neste jogo, os shaders quebram. Não faço ideia de por que os drivers de código fechado não seguem as especificações aqui.

Pedi a eles que modificassem seus sombreadores e especificassem o perfil de compatibilidade neles, esperando que isso resolva esse problema de sombreador. Para minha surpresa, eles realmente implementaram isso. :-) Deve ser implantado com uma das próximas atualizações.

A maneira como o Mesa se comporta neste caso é, na verdade, de acordo com as especificações, que afirmam que, se nenhum perfil for definido, o padrão será core. Como eles usam um contexto de compatibilidade neste jogo, os shaders quebram. Não faço ideia de por que os drivers de código fechado não seguem as especificações aqui.

Agradável. :)
Eu vi a discussão no rastreador de erros do Mesa sobre a especificação. Eles apresentaram um bug de especificação sobre isso, vamos ver o que eles decidem. Estou curioso para saber por que os drivers de código fechado funcionam de maneira diferente do que a especificação parecia definir isso.

Como lembrete, ainda precisamos descobrir por que o arquivo archievments.vdf causa uma falha e o que está causando o problema da string.

Agora eu tenho meu menu de strings, traduções e configurações funcionando novamente - um jogo totalmente funcional! yay

O que realmente funcionou para mim foi atualizar meu script winetricks via "sudo winetricks --self-update" e depois reinstalar vcrun2017 via "WINEPREFIX=/YOUR/PATH/TO/STEAMAPPS/steamapps/compatdata/690830/pfx winetricks -q vcrun2017". Se a reinstalação do vcrun2017 não funcionar para você, tente excluir o diretório prefix, regenere-o iniciando o jogo uma vez e tente novamente instalar o vcrun2017.

Resumindo

  • O erro do shader foi causado pelo desenvolvedor não especificar o perfil correto do shader e provavelmente será corrigido em uma das próximas atualizações do jogo (ou talvez pelo driver Mesa se eles decidirem contornar as especificações GLSL como qualquer outro driver)
  • O problema com o arquivo archivementsVDF.vdf, a falha do menu de configurações e o texto de tradução ausente podem ser corrigidos primeiro atualizando os winetricks e instalando vcrun2017 no prefixo do jogo.

Espero que isso também funcione para vocês.

Edit: NOTA: Isso está desatualizado.

Eu fiz um pequeno script para corrigir automaticamente todos os problemas. Não posso garantir que funcionará para você, mas foi testado no Manjaro Linux + Gnome. A correção do shader pode ser aplicada para corrigir o código do shader até que o desenvolvedor do jogo lance um patch oficial para o jogo.
Para usá-lo, extraia o arquivo e coloque seu conteúdo no diretório raiz do jogo (ou seja, "/home/USERNAME/.steam/steam/steamapps/common/Foundation/apply_fixes.sh") e execute o script.

Aviso: Para atualizar os winetricks automaticamente, o script solicitará permissão de root.

Certifique-se de executar o jogo pelo menos uma vez antes de iniciar o script

Foundation_v1.6.20_Fixer

Deixe-me saber se funcionou para você.

Ei, eu ainda não comprei o jogo porque ele está marcado como quebrado no ProtonDB.
Estou jogando na Nvidia, instalar o vcrun2017 usando winetricks é a única coisa necessária para jogar o jogo? O jogo é totalmente jogável?
Existem outros problemas conhecidos não resolvidos?

Ei, eu ainda não comprei o jogo porque ele está marcado como quebrado no ProtonDB.
Estou jogando na Nvidia, instalar o vcrun2017 usando winetricks é a única coisa necessária para jogar o jogo? O jogo é totalmente jogável?
Existem outros problemas conhecidos não resolvidos?

na NVIDIA, você deve atualizar os winetricks por meio de "sudo winetricks --self-update" e depois instalar o vcrun2017 no prefixo do jogo. Ninguém pode garantir que funcionará no seu sistema (acabei de descobrir que essas etapas funcionam de maneira confiável para o meu sistema). Você pode tentar e, se não funcionar, pode reembolsar o jogo - ou esperar até que o jogo funcione fora da caixa com o Proton.

Sim, eu sei que depende muito da configuração, mas fiquei curioso para saber se, com alguma configuração, o jogo agora é totalmente jogável no Linux usando o Proton.

Do meu lado, sim - é totalmente jogável.
Vídeo do youtube

Olá @MadByteDE , estive procurando a licença de direitos autorais deste jogo e estou tendo dificuldade em encontrá-la. A coisa mais próxima que encontrei é "Observação: o compartilhamento público de arquivos e ativos de jogos da Polymorph Games é estritamente proibido pela lei de direitos autorais". em http://www.polymorph.games/foundation/modding/texture-usage-policy. Ajuste sua solução alternativa para que ela modifique os arquivos existentes de uma instalação de jogo em vez de redistribuir os shaders.

Olá @MadByteDE , estive procurando a licença de direitos autorais deste jogo e estou tendo dificuldade em encontrá-la. A coisa mais próxima que encontrei é "Observação: o compartilhamento público de arquivos e ativos de jogos da Polymorph Games é estritamente proibido pela lei de direitos autorais". em http://www.polymorph.games/foundation/modding/texture-usage-policy. Ajuste sua solução alternativa para que ela modifique os arquivos existentes de uma instalação de jogo em vez de redistribuir os shaders.

Obrigado por me avisar. O melhor que posso fazer é pedir permissão para distribuir os arquivos de sombreamento alterados para corrigir temporariamente os problemas de sombreador no linux. Mas desde que o desenvolvedor anunciou para corrigir os shaders em uma próxima atualização, vou retirar os arquivos até que a atualização seja lançada.

Deixe-me saber se funcionou para você.

O jogo funciona perfeitamente com este patch, obrigado por esta abordagem!
Quanto ao texto, funcionou antes e ainda funciona, então não posso dizer nada sobre isso.

Edit: NOTA: Isso está desatualizado.

Atualizei o script para remover os arquivos de shader. Ele corrige cada arquivo de sombreador individualmente e não contém mais conteúdo protegido por direitos autorais.


O que faz

1. Atualiza sua instalação do winetricks _já instalado_ automaticamente e instala o vcrun2017 no prefixo do jogo.

  • Para atualizar os winetricks, o script solicitará permissão de root. Se você recusar, precisará atualizar o winetricks e instalar o vcrun2017 você mesmo. ou seja, usando:
    sudo winetricks --self-update && WINEPREFIX=/home/USERNAME/.steam/steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

2. Para usuários de GPU AMD/Intel: Aplica uma correção aos arquivos de sombreamento (erro de compilação)

  • O script é feito apenas para a versão 1.6.20 do jogo . Versões posteriores devem ser corrigidas oficialmente pelo desenvolvedor do jogo.

Como usá-lo

1. Baixe o roteiro; extraia e copie os arquivos para o diretório do jogo Foundation
2. Inicie o jogo pelo menos uma vez antes de usar o script
3. Execute o script. Ele lhe dirá quando estiver pronto.
4. Inicie o jogo.

  • Se o jogo travar no final da tela de carregamento inicial ou o texto no jogo não for exibido corretamente após a aplicação do script, algo deu errado com a atualização do winetricks / instalação do vcrun2017. Você pode tentar isso e ver se funciona para você.

Baixar (Mega)
Foundation_v1.6.20_Fixer

@MadByteDE Pode confirmar que os últimos Winetricks e vcrun2017 e Proton 5.11 resolveram o problema de tradução, os textos agora estão sendo exibidos.

Bom trabalho!
Consegui iniciar o jogo com sucesso depois de aplicar seu patch. Eu tive que remover/renomear o "AchievementsVDF.vdf" em "localization/en", ou ele travaria depois que a barra de carregamento fosse preenchida.

@MadByteDE Pode confirmar que os últimos Winetricks e vcrun2017 e Proton 5.11 resolveram o problema de tradução, os textos agora estão sendo exibidos.

Fico feliz em ouvi-lo. (btw eu usei o mais recente Proton 5.0-9 estável para tudo.)

Bom trabalho!
Consegui iniciar o jogo com sucesso depois de aplicar seu patch. Eu tive que remover/renomear o "AchievementsVDF.vdf" em "localization/en", ou ele travaria depois que a barra de carregamento fosse preenchida.

Como estão suas strings de texto? Se eles começarem com um #, a atualização do winetricks e a instalação do vcrun podem ter falhado ou há outro problema com o jogo que ainda não vi.

As strings estão bem, seu script atualizou o winetricks e instalou o vcrun2017 sem problemas. Sem vcrun2017 havia apenas placeholders com um "#" na frente, mas com tudo bem.

As strings estão bem, seu script atualizou o winetricks e instalou o vcrun2017 sem problemas. Sem vcrun2017 havia apenas placeholders com um "#" na frente, mas com tudo bem.

Hm .. Eu me pergunto por que você teve que excluir o arquivo desde que ele foi corrigido pela atualização do winetricks do meu lado. Mas se todo o resto funcionar e você puder acessar o menu de configurações, tudo ficará bem.

Esquisito. Agora restaurei o arquivo AchievementsVDF.vdf e ele não trava mais. Mas eu juro que inicialmente fez. ¯_(ツ)_/¯
A única coisa menor é que, depois que o jogo é carregado e o menu principal aparece, eu preciso sair e voltar, caso contrário, não posso clicar em nada. Além disso, tudo parece funcionar, jogado por alguns minutos já.

Acabei de comprar o jogo, e ele trava no final da tela inicial de carregamento:

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 Tente mover/excluir temporariamente "AchievementsVDF.vdf" da pasta do jogo, ou seja /home/USERNAME/.steam/steam/steamapps/common/Foundation/localization/en e reporte se isso mudar alguma coisa.

@MadByteDE Renomear AchievementsVDF.vdf parece uma solução válida. Agora posso acessar o menu principal, mas todas as strings localizadas estão faltando:
20201009204451_1

Eu instalei o winetricks instalado, mas não parece ser suficiente:

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

saída do console

Ah, acho que a atualização do winetricks falhou porque você não executou winetricks --self-update como root. tente usar sudo winetricks --self-update . Se a instalação for bem-sucedida, você provavelmente precisará excluir o pfx, executar o jogo e travar mais uma vez e, em seguida, fazer WINEPREFIX=/media/Steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017 . Se tudo funcionar, você pode adicionar o archivementsVDF.vdf de volta à pasta de localização en.

Olá @leinardi , por favor, use uma essência para logs ou anexe-os como um arquivo em vez de colar paredes de texto.

@MadByteDE Desculpe, eu não copiei e colei a linha de atualização do winetricks porque já fechei o terminal e esqueci de adicionar o sudo dentro da minha mensagem, mas executei com ele.

A atualização correu bem e eu tenho a versão mais recente instalada:

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

Já tentei deletar o prefixo wine mas o resultado é o mesmo.

@kisak-valve com certeza, desculpe.

E clicar nas configurações faz o jogo travar:

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

Como o idioma do meu sistema operacional não está definido como inglês, tentei adicionar

LC_ALL=C %command%

e

LANG=C %command%

para as opções de inicialização, mas não faz diferença.

Não consigo usar winetricks, aparece esta mensagem:
aviso: você está usando um WINEPREFIX de 64 bits. Observe que muitos verbos instalam apenas versões de pacotes de 32 bits. Se você encontrar problemas, teste novamente em um WINEPREFIX de 32 bits limpo antes de relatar um bug.

Mas eu baixo os arquivos exe e executo assim:
WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine VC_redist.x( versão).exe
versão significa x86 ou x64 e instalei os dois, já fiz isso e o idioma não está corrigido.
Mas agora, renomeio as conquistas e o jogo continua travando.

Alguma dica?

@leinardi sim, eu tive muito esse problema, mas desde a atualização do winetricks tudo funcionou bem.
A execução do seu winetricks parece muito diferente da que recebo, então ainda acho que algo deu errado com a atualização do winetricks. Há linhas faltando como Executing wine winecfg -v winxp64 , e muitas coisas diferentes acontecendo.
Esta é a minha saída: GIST

btw minha versão local do vinho é 5.18. Talvez tenha algo a ver com isso.

O sha256sum da sua versão é diferente e a versão wine também:

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

Vou tentar com uma versão mais recente do vinho.

Hm, eu repeti a instalação e ainda funciona para mim:

  1. remover prefixo
  2. inicie o jogo, deixe-o travar. novo prefixo será criado
  3. instale vcrun2017 com winetricks ou protontricks
  4. renomeie "localisation/en/AchievementsVDF.vdf" (pode ser renomeado posteriormente, uma vez que o jogo tenha iniciado com sucesso pelo menos uma vez)
  5. Começar o jogo

Estou usando o Proton 5.0-9. para este jogo.

@leinardi
Há uma coisa que notei, o sha256sum da minha instalação do winetricks, que o winetricks imprime no início, é diferente do seu: 8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f
Embora a versão "20200412-next" seja a mesma. Isso é um pouco estranho.

@smirgol qual sua versão de vinho?

aviso: você está usando um WINEPREFIX de 64 bits. Observe que muitos verbos instalam apenas versões de pacotes de 32 bits. Se você encontrar problemas, teste novamente em um WINEPREFIX de 32 bits limpo antes de relatar um bug.

Isso é normal e pode ser ignorado.

WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine VC_redist.x( versão).exe

Isso parece estranho para mim, winetricks é necessário para instalar o vcrun, pois fornece soluções alternativas para bugs comuns que serão necessários para instalar os arquivos corretamente.

Vendo todos esses problemas, parece que a versão winetricks que todos recebem via --self-update de alguma forma varia um pouco, o que pode ser o principal problema aqui.

@smirgol qual sua versão de vinho?

vinho-5.18 (Preparação)

Na página do GitHub do winetricks:

Nota: as versões de winetricks do Debian / Ubuntu empacotadas geralmente estão desatualizadas, portanto, uma instalação manual é recomendada.

Se o pacote estiver indisponível, desatualizado ou a versão mais recente for desejada, uma instalação manual de winetricks pode ser feita. É altamente recomendável desinstalar primeiro qualquer versão de winetricks instalada anteriormente.

Se você não desinstalar uma versão previamente instalada e empacotada do winetricks... Bem, então você pode pegar os pedaços!

E do próprio script 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

Se você estiver em uma distribuição baseada em debian, eu recomendo seguir as instruções fornecidas em https://github.com/Winetricks/winetricks

Resumindo o procedimento:

Desinstale todos os winetricks que você instalou com seu gerenciador de pacotes primeiro!

Obtenha a versão mais recente (salve manualmente ou obtenha com curl):
curl https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks > winetricks
sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks

Eu prefiro /usr/local/bin ao invés de /usr/bin, mas isso é com você.

Finalmente funciona:
20201009214623_1

O que eu acho que foi o problema? tendo 2 versões diferentes de winetricks instaladas:

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

Eu estava atualizando a instalação do sistema com sudo winetricks --self-update mas depois executando o usuário, instalação desatualizada. Executar winetricks --self-update sem sudo resolveu o problema.

Eu tive que excluir o prefixo e executei WINEPREFIX=$( realpath ../../compatdata/690830/pfx ) winetricks -q vcrun2017 novamente para obter a instalação adequada. A saída agora é quase idêntica ao formulário @MadByteDE gist.

Eu também atualizei o wine para o 5.18 staging, mas não acho que fosse necessário (fiz isso antes de descobrir que tinha 2 versões do winetricks instaladas).

Depois de instalar vcrun2017 não preciso mais renomear AchievementsVDF.vdf e o menu Configurações abre corretamente.

Muito obrigado pela ajuda, estive muito perto de reembolsar o jogo :+1:

@leinardi Fico feliz em ver que funciona para você :+1:

O que podemos aprender disso? Se for um problema comum, eu poderia adicionar uma verificação de qualquer outra versão do winetricks ao script para garantir que ele use o correto ao instalar o vcrun. Ou apenas adicione um aviso se a soma de verificação for diferente da versão de trabalho conhecida do wine.
Não consigo nem correr winetricks --self-update : warning: You don't have the proper permissions to run this command. Try again with sudo or as root.

Fazer --self-update antes de usar winetricks para este jogo resolveu o problema!
Agora os rótulos no jogo são exibidos corretamente. Obrigado pela dica!

Desculpe, acabei de atualizar para o proton 5.13 e o jogo continua travando.
Será alguma correção?

Desculpe, acabei de atualizar para o proton 5.13 e o jogo continua travando.
Será alguma correção?

A versão mais recente do Proton estável deve ser 5.0-9. Tente este primeiro com as correções descritas acima. Se funcionar com 5.0-9, mas não com 5.13 (+ as correções), pode haver uma regressão com a nova compilação.

Obrigado, O jogo agora funciona.

Acabei de atualizar o próton de 5.0-9 para 5.13-1 e funciona da mesma forma que antes da atualização.

Acabei de atualizar o próton de 5.0-9 para 5.13-1 e funciona da mesma forma que antes da atualização.

Não vi anteriormente que eles lançaram uma nova versão de prótons (desculpe pelo mal-entendido). Mas ainda funciona sem problemas para mim também.

Eles lançaram uma nova versão de visualização (Alpha 1.6.22.106) onde o problema do sombreador foi resolvido!

Oi. Tentei executar o jogo, mas ele continua travando (ou mostrando a interface do usuário sem traduções).
Tentei fazer o seguinte:

  1. Instale o Winetricks do repositório mestre
curl https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks > winetricks
sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks
  1. Remova o prefixo
rm -rf /home/$USER/.steam/steam/steamapps/compatdata/690830
  1. Execute o jogo para criar o prefixo novamente
  2. Instalar vcrun2017
WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx /usr/bin/winetricks -q vcrun2017

Eu uso o Ubuntu 20.04, último ramo de visualização do jogo e o Proton 5.13.

Acho que você sente falta de renomear o Archivements.vdf e executá-lo novamente.
Eu fiz exatamente o que você fez e funcionou para mim.

@Vavooon eu também faria um sudo winetricks --self-update , só para ter certeza.

@Vavooon Verifique sua versão de winetricks com winetricks --version . A soma de verificação deve ser 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b . Além disso, certifique-se de não ter duas versões separadas do winetricks instaladas.

@Vavooon também, poste a saída de WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx /usr/bin/winetricks -q vcrun2017 , pode ajudar a encontrar o problema.

@Sebastiangperez Eu posso prosseguir para o menu principal se eu renomeá-lo, mas não há tradução e ele trava se eu abrir as configurações.
@leinardi Tentei executar também.
@MadByteDE É 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b .

Aqui está o registro de truques de vinho https://gist.github.com/Vavooon/df74df7f9e85f6efce4ed0ff66d883bb

@Vavooon Acabei de executar winetricks --self-update e obtive a mesma versão que você está usando:

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

Começo a pensar que o wine 5.18 é necessário, você pode tentar atualizá-lo para o wine staging, excluir o prefixo e tentar novamente?

Veja aqui as instruções sobre como adicionar o repositório oficial de vinhos: https://wiki.winehq.org/Ubuntu

@Vavooon Acabei de executar winetricks --self-update e obtive a mesma versão que você está usando:
Começo a pensar que o wine 5.18 é necessário, você pode tentar atualizá-lo para o wine staging, excluir o prefixo e tentar novamente?

Veja aqui as instruções sobre como adicionar o repositório oficial de vinhos: https://wiki.winehq.org/Ubuntu

Você quer dizer a versão do vinho de prótons ou a versão do sistema do vinho?

Você quer dizer a versão do vinho do próton ou a versão do sistema do vinho?

winetricks não usa o Proton, mas a instalação do sistema wine, como você pode ver nos logs:

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

Então eu instalei o wine-staging com sudo apt install --install-recommends winehq-staging , recriei o prefixo e instalei vcrun2017.
Aqui está o log https://gist.github.com/Vavooon/a258f50f1d88a678834effbb08519d95
O jogo ainda trava.

Nenhum ajudou protontricks 690830 -q vcrun2017 .

Então eu instalei o wine-staging com sudo apt install --install-recommends winehq-staging , recriei o prefixo e instalei vcrun2017.
Aqui está o log https://gist.github.com/Vavooon/a258f50f1d88a678834effbb08519d95
O jogo ainda trava.

Nenhum ajudou protontricks 690830 -q vcrun2017 .

Mas, acho que você está enganado com duas versões diferentes do wine, aquela que você instalou no sistema globalmente e a outra que veio com o próton.

@Sebastiangperez De fato, winetricks diz que está usando o wine 5.19 agora (essa é a versão mais recente do winehq), embora protontricks pareça usar 5.13.
Você tem alguma idéia de como eu poderia usar a versão padrão do Proton enquanto executava winetricks ?

Talvez você possa apontar após o prefixo, algo assim:
WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.13/dist/bin/wine

Não tenho certeza se estou entendendo. Devo executar winetricks com a versão wine do Proton (não parece correto para mim porque winetricks é um script) ou executá-lo de alguma outra maneira?

Tente isto:
Eu desinstalo o jogo, excluo o prefixo, instalo o jogo, executo, deixo travar, renomeio o arquivo Archivements.vdf em localizacion (diretório em inglês),
baixe a versão mais recente do winetricks do github e execute localmente não globalmente como ./winetricks no diretório atual, talvez você possa fazer um ./winetricks --self-update depois disso, depois execute os winetricks usando o prefixo pinting para WINEPREFIX=/ home/(seu nome de usuário)/.steam/steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017
Tudo isso funcionou para mim.

@Sebastiangperez Tentei exatamente o que você sugeriu (no entanto, o comando mais recente foi WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx ./winetricks -q vcrun2017 ) e ainda sem sorte. O jogo começa sem traduções.

Merda... tive o mesmo problema com as traduções, mas recentemente o jogo travou ao iniciar, fiz tudo isso sem esperança.
você executou o winetricks --self-update ?
Faça tudo isso de novo, mas com o proton 5.09, a primeira vez que trabalhei com esta versão, agora baixei a versão corrigida do branch preview e estou usando a versão 5.13 do proton.

Sim, eu também tentei winetricks --self-update
Parece que a maneira certa de garantir que winetricks esteja usando a versão wine do Proton é definir a variável WINE, como

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

então eu recebo a versão correta do vinho na saída

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

De qualquer forma, não ajuda.

você excluiu a pasta 690830? eu fiz isso também.

@Sebastiangperez Claro, eu sempre apago o prefixo e executo o jogo antes de tentar.

@Vavooon a versão mais recente do winetricks parece estar com defeito novamente. Eu tentei no meu sistema e ele pula a última etapa novamente.

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.

Não sei por que eles aparentemente alteram o comportamento dos winetricks para instalar o vcrun2017 em cada versão, mas acho que esse pode ser o problema. Você pode tentar colocar as mãos na versão anterior novamente (8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f).

@MadByteDE Obrigado pela dica. Você poderia me enviar a versão de trabalho winetricks embora? Não há como encontrá-lo por sha256sum.

@Vavooon Eu estava na mesma situação depois de atualizar o winetricks para testar por que sua instalação falhou. Copiei manualmente e colei a solução alternativa no script mais recente do winetricks para fazê-lo funcionar. Aqui está o arquivo: Mega ou Gist . Você precisará substituir seus winetricks existentes (geralmente localizados em /usr/bin/) e certificar-se de que seja executável. Isso é apenas uma solução temporária, vou abrir um problema na página git do winetricks para isso.

@MadByteDE Desculpe, mas você tem certeza de que é o correto? Ele ainda diz 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b quando eu o executo. A tradução também não está sendo corrigida.

@Vavooon Sinto muito que você esteja certo. Substituí-o novamente para fins de teste.
Dê-me um minuto, vou adicionar os links corretos para este post.

editar:
Mega
Essência

@MadByteDE Muito obrigado.
Infelizmente, me deparei com outro problema:

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 Você poderia tentar executar winetricks com permissões de root e tentar novamente? Esqueça a execução como root .. isso não deve ser feito. Se isso não ajudar, você pode substituir os arquivos dll manualmente baixando o instalador vcrun de https://aka.ms/vs/15/release/vc_redist.x64.exe , extraia o .exe com cabextract -q --directory="vcrun2017" VC_redist.x64.exe , extraia os diretórios a10 e a11 e copie e cole as dll's (ou apenas o ucrtbase.dll) em ../steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32 com permissão de root .

edit: @gverm no winetricks git mencionou algo sobre o arquivo não ser substituído corretamente às vezes. Eu acho que esse problema será resolvido em breve por meio de truques de vinho ou do próprio vinho.

@Vavooon você poderia verificar o proprietário de ../steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32/ucrtbase.dll ? parece que por algum motivo o arquivo foi instalado como outro usuário e é por isso que você não pode substituí-lo por suas permissões.

Eventualmente funciona! Muito obrigado a todos pela ajuda!

Então, eu gostaria de anotar todas as etapas necessárias:

  1. Apagar prefixo de vinho para o jogo: rm -rf /home/$USER/.steam/steam/steamapps/compatdata/690830
  2. Execute o jogo (use Proton 5.13+, branch de visualização por enquanto) e deixe-o recriar o prefixo
  3. Baixe https://aka.ms/vs/15/release/vc_redist.x64.exe , extraia-o com cabextract -q VC_redist.x64.exe e extraia ucrtbase.dll do diretório a10 dentro do exe .
  4. Copie ucrtbase.dll para /home/$USER/.steam/steam/steamapps/compatdata/690830/pfx/drive_c/windows/system32/ , confirme a substituição.

@MadByteDE É de propriedade do meu usuário doméstico, nada de especial. Eu acredito que ele falha em substituir o arquivo porque cp deve ser executado com a chave -r ou algo assim.

@Vavooon feliz que funcionou agora. Tudo bem, bom saber. Você deve adicionar que provavelmente precisou instalar o vcrun2017 primeiro e, em seguida, substituir manualmente o ucrtbase.dll ou funcionou sem o resto?

@MadByteDE Na verdade, substituir o arquivo é a única coisa necessária para corrigir os problemas.

Olá pessoal, sou o diretor técnico da Polymorph Games. Primeiro de tudo: muito obrigado pelo tempo e esforço que você dedicou para investigar esses problemas, isso realmente nos ajudou!

Como @smirgol entrou em contato no fórum do Steam para falar sobre o problema de compatibilidade do glsl, conseguimos implantar a correção na ramificação de visualização e chegará ao patch de conteúdo completo em breve.

Também pude investigar o problema de carregamento do arquivo de localização e ele também deve ser corrigido. O que aconteceu é que o proton / wine simplesmente ignorou nosso pedido para abrir os arquivos como utf8 e estava nos alimentando com dados de linha. Foi corrigido adicionando utf8 DOM em todos os nossos arquivos utf8.

Não consegui testar o carregamento completo do jogo, pois estou executando apenas o linux em uma máquina virtual (portanto, não posso passar na verificação do opengl 4.3), mas se esse foi realmente o último problema, o jogo deve funcionar sem o vcrun2017 truque (assim que a nova compilação for lançada, versão superior a 1.6.22).

Como o jogo ainda está em desenvolvimento ativo, espero que haja outros problemas no futuro. Mesmo que o linux não seja nossa principal prioridade, gostaríamos de fazer o que pudermos para tornar mais fácil experimentar o Foundation no Linux. Portanto, não hesite em entrar em contato conosco no fórum do Steam ou em nosso Discord, essa será a melhor maneira de garantir que estamos cientes de novos problemas ou ideias que você tenha para corrigir a experiência do próton.

A discórdia: https://discord.com/invite/foundation
Eu recomendo marcar Minotorious#0534 no #techsupport se você tiver notícias sobre a compilação do linux

Felicidades!

@leo-polymorph É tão raro ver um estúdio de jogos entrar neste rastreador de problemas e realmente oferecer qualquer tipo de ajuda/suporte, muito obrigado!

Eu não conhecia este jogo antes de ler este comentário. Sua posição em relação a nós, jogadores de linux, me fez querer jogar. Obrigado e continue com o bom trabalho. @leo-polimorfo

@leo-polymorph Obrigado por nos apoiar, isso realmente significa muito!

@leo-polymorph Boas notícias cara, obrigado.

Também pude investigar o problema de carregamento do arquivo de localização e ele também deve ser corrigido. O que aconteceu é que o proton / wine simplesmente ignorou nosso pedido para abrir os arquivos como utf8 e estava nos alimentando com dados de linha. Foi corrigido adicionando utf8 DOM em todos os nossos arquivos utf8.

Ei, desenvolvedor do Wine/Proton aqui. Se você puder nos dar mais informações sobre esse bug, podemos trabalhar para corrigi-lo no Wine. Sinta-se à vontade para responder aqui ou me enviar um e-mail para [email protected]. Obrigado!

Também pude investigar o problema de carregamento do arquivo de localização e ele também deve ser corrigido. O que aconteceu é que o proton / wine simplesmente ignorou nosso pedido para abrir os arquivos como utf8 e estava nos alimentando com dados de linha. Foi corrigido adicionando utf8 DOM em todos os nossos arquivos utf8.

Ei, desenvolvedor do Wine/Proton aqui. Se você puder nos dar mais informações sobre esse bug, podemos trabalhar para corrigi-lo no Wine. Sinta-se à vontade para responder aqui ou me enviar um e-mail para [email protected] . Obrigado!

Adoro quando as pessoas trabalham juntas por um propósito comum, desejo que os humanos trabalhem assim em todos os campos.

Ei @aeikum , aqui está o problema:
Temos um arquivo utf8, sem DOM, 'localization/locales.txt'
Abrimos assim:
_wfopen_s(&m_file, "localization/locales.txt", "rt, ccs=UTF-8");

de acordo com o documento do MS, o fluxo de arquivos deve tratá-lo como fonte codificada em utf8 e convertê-lo para UNICODE como leitura. Isso funciona como esperado no Windows.

image

MS Doc: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-s-wfopen-s?view=vs-2015

No próton, o sistema se comporta como se abríssemos o arquivo assim:
_wfopen_s(&m_file, "localization/locales.txt", "rt");

Como solução alternativa, adicionamos utf8 BOM ao arquivo e agora o proton lê o arquivo conforme o esperado. Este não é um problema para nós adicionar o BOM, mas é uma diferença entre o Windows e o próton.

@leo-polymorph Entendido, muito obrigado pela explicação. Vamos dar uma olhada.

FWIW, jogadores de Linux, executando a compilação Preview e executando este script para adicionar o BOM UTF-8 em todo o conteúdo do diretório localization/en , colocaram o jogo em funcionamento para mim:
https://stackoverflow.com/questions/3127436/adding-bom-to-utf-8-files

Então, depois de instalar a atualização mais recente (1.6.24.1028), o jogo parece estar funcionando totalmente no Linux sem aplicar nenhum hack.

Então, depois de instalar a atualização mais recente (1.6.24.1028), o jogo parece estar funcionando totalmente no Linux sem aplicar nenhum hack.

Então, eu fecho este problema ou deixo aberto apenas no caso?

Por favor, mantenha-o aberto.

Por favor, mantenha-o aberto.
OK!

Olá a todos, primeiro grande trabalho em encontrar a solução para o problema, o jogo aparentemente funciona perfeitamente agora. Mas posso chamar a atenção de que o problema com o BOM ainda persiste para conteúdo modificado, executar um script em lote parece ter funcionado para mim, não sei se isso é algo que o desenvolvedor pode mudar, mas que seja conhecido por qualquer outro usuário.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Dakunier picture Dakunier  ·  3Comentários

leifmetcalf picture leifmetcalf  ·  3Comentários

lucifertdark picture lucifertdark  ·  3Comentários

ArekPiekarz picture ArekPiekarz  ·  3Comentários

shanefagan picture shanefagan  ·  3Comentários