ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.23k stars 174 forks source link

Non-English OS needs launch options variable for games , otherwise won't boot ( Unreal Engine 4 , Unity ) #5827

Closed Leopard1907 closed 5 years ago

Leopard1907 commented 6 years ago

Your system information

https://gist.github.com/Leopard1907/95c99c5569cfe92ee09d9b57300a5bcb

Please describe your issue in as much detail as possible:

So , i had an issue about how some menus were invisible if you don't open Steam with LC_ALL=C variable. That issue looks like fixed , due to this i stopped using Steam with that command.

However , i've got introduced with another issue.

Unreal Engine 4 games are killing themslevs silently prior to boot. They are in a need to add one these variables to game launch option:

LC_ALL=C %command%

or

LANG=C %command%

I've reported that to Epic but answer was ; either your distro or distribution channel ( Steam ) should fix this.

FWIW , i've also came across simlar issue with Feral Interactive ports. At that time , i was using Steam with LC argument. They ended up adding LANG=C to their launchers as a safe value.

https://github.com/FeralInteractive/ferallinuxscripts/issues/6#issuecomment-401723017

Also that looks like it is not a Turkish specific issue.

Here is a German user who suffered same problem on Linux , with an Unity Engine game.

https://steamcommunity.com/app/637090/discussions/0/1693788384146305062/?ctp=13#c2747650363470418004

Steps for reproducing this issue:

  1. A Steam installation on Linux with Turkish language or any non English language
  2. Unreal Engine 4 or Unity games for testing ( RUINER , Everspace , The Culling , Warriorb were my test subjects)
  3. Just test the issue
Leopard1907 commented 6 years ago

Update : Warriorb ( not released yet ) team included LANG=C in their launcher so that game works out of box now but it is not possible to reach every developer or not possible to get a proper fix like Warriorb team did.

nanonyme commented 6 years ago

Note LC_NUMERIC and LC_COLLATE are values that might be safe to override to C, at least for games. Negligible impact and fixes a lot of locale-specific bugs including crashes. We override these in Flatpak Steam

Plagman commented 6 years ago

The latest Steam Beta client should fix this.

Leopard1907 commented 6 years ago

@Plagman Tried one Everspcae ( UE4 ) and Firewatch ( Unity ) titles for now and looks like it is fixed with Beta Client. However , Football Manger 2016 still doesn't work.

It just gives that output in terminal :

https://gist.github.com/Leopard1907/5e3f886ea13defba65fedea6384de459

[1024/135431.982077:ERROR:text_encoding_registry.cc(138)] alias ISO-8859-8-I maps to ISO-8859-8-I already, but someone is trying to make it map to ISO-8859-8
ERROR: ld.so: object '/home/asus/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
[1024/135432.167092:INFO:crash_reporting.cc(239)] Crash reporting enabled for process: renderer
ERROR: ld.so: object '/home/asus/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
[1024/135432.214456:ERROR:text_encoding_registry.cc(138)] alias ISO-8859-8-I maps to ISO-8859-8-I already, but someone is trying to make it map to ISO-8859-8

Could be related to some other locale based problem.

Other than that ; that UE4 and Unity problem ( i had that problem specifially on UE4 though ) is fixed.

TTimo commented 5 years ago

If Football Manager 2016 is not running, I suspect it's for reasons unrelated to locale.

https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/platform/wtf/text/text_encoding_registry.cc - this message should only be a warning, in latest code for this library it is even silenced.

That particular title doesn't appear available on Steam anymore either, so I'm going to close this. Please open a separate report if you wish to provide more information.

Leopard1907 commented 5 years ago

Thanks. I just installed it again now , it does seems to work just fine. I don't know what is changed to make it happen.