redromnon / HeroicBashLauncher

Directly launch any Epic Games Store and GOG game from anywhere without Heroic on Linux.
GNU General Public License v3.0
353 stars 17 forks source link

Civilization IV fails to launch through steam, but launches fine manually #38

Closed LegusX closed 2 years ago

LegusX commented 2 years ago

Based on the errors I'm getting, this seems different than #28 so I'm creating a new issue.

As stated in the title, Civilization IV launches fine through Heroic Games Launcher and via the generated script, but when attempting to launch through steam ui or the steam deck ui it fails. Other games such as the witcher 3 and cyberpunk 2077 launch just fine.

I am using the latest versions of HBL (v2.4.1) and HGL (v2.2.6, flatpack version) and Proton 7. I have also configured the flatseal permissions for HGL. It should be noted that I was having this same problem with a prior version of HBL, and although I'm not certain, I'm pretty sure it was v2.2.4.

Attached below are the logs from trying to launch Civ IV.

Launching manually via the generated script

Gtk-Message: 13:40:38.352: Failed to load module "canberra-gtk-module"
3.32.0
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
'import site' failed; use -v for traceback
Unable to read VR Path Registry from C:\users\steamuser\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\users\steamuser\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\users\steamuser\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\users\steamuser\AppData\Local\openvr\openvrpaths.vrpath
Namespace(display_version=False, command='launch', path='/home/deck/Games/Heroic/Civilization IV Complete', id='1760534591', platform='windows', dont_use_wine=True, wine=None, wine_prefix=None, wrapper="'/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton' run", override_exe=None, token=None)
Launch command: ['/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton', 'run', '/home/deck/Games/Heroic/Civilization IV Complete/Civ4/Civilization4.exe']
Checking if Zenity is installed:
Launch command:
STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/.steam/steam STEAM_COMPAT_DATA_PATH='/home/deck/Games/Heroic/Prefixes/Sid-Meiers-Civilization-IV®-The-Complete-Edition' /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl launch "/home/deck/Games/Heroic/Civilization IV Complete" 1760534591 --no-wine --wrapper "'/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton' run" --os windows

Launching through steam (desktop ui)

ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Gtk-Message: 13:47:35.024: Failed to load module "canberra-gtk-module"
3.32.0
Traceback (most recent call last):
  File "HeroicBashLauncher.py", line 41, in <module>
  File "flatpak.py", line 35, in launchflatpakgame
UnicodeEncodeError: 'ascii' codec can't encode character '\xae' in position 193: ordinal not in range(128)
[3] Failed to execute script 'HeroicBashLauncher' due to unhandled exception!
Checking if Zenity is installed:
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
error: Invalid id launcher: Names must contain at least 2 periods
redromnon commented 2 years ago

I believe it's the special character in the Wine Prefix folder name - /home/deck/Games/Heroic/Prefixes/Sid-Meiers-Civilization-IV®-The-Complete-Edition. This is the same as #30, the one that was pinned.

Just remove the registered trademark symbol and it should be fine. Steam doesn't like dealing with special characters.

I can't do anything here. Let's wait for the Heroic devs to publish their new release to remove special symbols from folder names.

LegusX commented 2 years ago

Ah, I did see that issue, but I only looked at the path for the game itself and not the prefix. My apologies.