Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
8.25k stars 433 forks source link

[Flatpak] Wine not detected with Flatpak on SteamOS 3 (Steam Deck) #1079

Closed Velgus closed 2 years ago

Velgus commented 2 years ago

Describe the bug

Installing using the Flatpak version fails to detect Proton versions in SteamOS 3 (on my Steam Deck). The dropdown is empty.

Add logs

(20:34:55) INFO: [Legendary]: Location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary (20:34:55) INFO: [Gog]: Location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl (20:34:55) INFO: [Backend]: Heroic Version: 2.2.5 Oden Legendary Version: 0.20.25 Our Benefactors OS: Freedesktop.org KERNEL: 5.13.0-valve10.1-1-neptune-02144-g7fffaf925dfb ARCH: x64 CPU: AMD Custom APU 0405 @1.83 GOVERNOR: schedutil RAM: Total: 15.6 GB Available: 12.7 GB GRAPHICS: GPU0: Device 163f VRAM: 512MB DRIVER: PROTOCOL: x11

(20:34:55) INFO: [Backend]: User Not Found, removing it from Store (20:34:56) INFO: [Gog]: Getting data about the user (20:34:56) ERROR: [Backend]: Failed to register protocol with OS. (20:34:56) INFO: [Gog]: Saved user data to config (20:34:58) INFO: [Frontend]: Refreshing Library (20:34:58) INFO: [Gog]: Getting GOG library (20:34:59) INFO: [Gog]: Number of library pages: 3 (20:34:59) INFO: [Gog]: Getting data for page 2 (20:35:00) INFO: [Gog]: Getting data for page 3 (20:35:01) INFO: [Gog]: Saved games data (20:35:01) INFO: [Legendary]: Refreshing library... (20:35:01) INFO: [Frontend]: No cache found, getting data from legendary... (20:35:01) INFO: [Legendary]: Refreshing library... (20:35:01) INFO: [Gog]: Found 0 game(s) to update (20:35:03) INFO: [Backend]: checking for heroic updates (20:35:03) INFO: [Backend]: skipping heroic updates (20:41:33) INFO: [Backend]: launching Disco Elysium - The Final Cut 1771589310 (20:41:34) INFO: [Gog]: Launch Command: "/app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl" launch "/home/deck/Games/Heroic/Disco Elysium" 1771589310 --wine --wine-prefix '/home/deck/Games/Heroic/Prefixes/Disco-Elysium---The-Final-Cut' --os windows (20:41:35) ERROR: [Legendary]: Error: Command failed: "/app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl" launch "/home/deck/Games/Heroic/Disco Elysium" 1771589310 --wine --wine-prefix '/home/deck/Games/Heroic/Prefixes/Disco-Elysium---The-Final-Cut' --os windows usage: gogdl launch [-h] --platform {windows,osx,linux} [--no-wine] [--wine WINE] [--wine-prefix WINE_PREFIX] [--wrapper WRAPPER] [--override-exe OVERRIDE_EXE] [--token TOKEN] path id gogdl launch: error: argument --wine: expected one argument

(20:41:36) INFO: [Backend]: Log was written to /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/GamesConfig/1771589310-lastPlay.log (20:46:53) INFO: [Backend]: trying to run WINE= WINEPREFIX='/home/deck/.var/app/com.heroicgameslauncher.hgl/.wine' winecfg (20:46:53) ERROR: [Backend]: Something went wrong! Check if winecfg is available and exists

Steps to reproduce

  1. Install Flatpak on SteamOS 3 (Steam Deck)
  2. Go to Global Settings
  3. See that no Wine (or Proton) Version is available from the dropdown

Expected behavior

The Flatpak version detects Proton used by SteamOS 3.

Screenshots

No response

System Information

Additional information

No response

mr-bobdobalina commented 2 years ago

I had to add the path manually in Settings...Wine...Custom Wine/Proton Paths: /home/deck/.steam/root/steamapps/common/Proton 7.0/proton

LiamDawe commented 2 years ago

Also confirming this issue, so out of the box right now it won't work right for Steam Deck.

flavioislima commented 2 years ago

can you guys check on Flatseal if Heroic has permissions to the steam folder? Also if adding home permissions it fixes it? Because the path to proton is correct so the error might be on the build files, some permissions might not be applying

flavioislima commented 2 years ago

Found the issue and sent the fix but will take a few hours to update. Then you will need to reinstall it.

flavioislima commented 2 years ago

OK, just update to 2.2.6 and it will be fixed. In case proton experimental doesn't work, its because you need to change the permissions to the Steam folder to be rw instead of ro

Velgus commented 2 years ago

Just FYI, no permission changes were needed on my Deck. Once updated through the Discover app, it detected both the regular and experimental versions of Proton.

I did, however, have to switch the dropdown manually for my already-installed game (Disco Elysium). It wasn't detecting Proton immediately from the global setting until I flipped the setting back and forth on the game setting.

Epp-code commented 2 years ago

Leaving a breadcrumb for anybody who's had this problem AFTER the fix... I believe you need to install/run a non-Linux-native game in Steam for it to actually install/setup Proton for Heroic to find. I was trying to install Heroic to get Rocket League but had only run Aperture Desk Job and Portal, which I believe both have native Linux support. But when I installed Herioc via Discover, my "Wine Version" dropdowns (both global and for Rocket League) were totally empty - the (i) Help icon told me where it looks and I manually navigated to all those places and found nothing in any of them. On a hunch, I went back into Gaming Mode, installed Golf With Your Friends (expecting that it did not have native Linux support), and ran it - when it ran, I noticed some extra setup being done (forget details but I do remember something about installing DirectX support).

I then immediately swapped back to Desktop mode and saw that the Wine Version dropdown in Heroic showed "Proton - Proton 7.0". I was then able to successfully start up Rocket League (with the caveat that it errored the first time but worked after I went to the game-specific settings and verified that Proton 7.0 showed in the Wine Version dropdown now).