Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heroic installed via .deb doesn't create valid prefixes #4392

Closed
therealfumbles opened this issue Mar 7, 2025 · 3 comments
Closed

Heroic installed via .deb doesn't create valid prefixes #4392

therealfumbles opened this issue Mar 7, 2025 · 3 comments
Labels
bug:unconfirmed Someone works on identifying the issue

Comments

@therealfumbles
Copy link

Describe the bug

I've been using Heroic via Flatpak but would prefer to run it native. However, it fails to create a working prefix whether I use Proton Experimental or (my preference) GE Proton.

Here's the contents of a prefix that was created in the flatpak version:

Image

Here's a prefix for the same title created by the deb version:

Image

With this I can't run winetricks, install VC++ runtimes or anything. Any idea what is wrong here?

Add logs

(14:07:25) INFO:    [Legendary]:        Legendary location: /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/legendary
(14:07:25) INFO:    [Gog]:              GOGDL location: /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/gogdl
(14:07:25) INFO:    [Connection]:       Connectivity: check-online
(14:07:25) INFO:    [Connection]:       Pinging external endpoints
(14:07:25) DEBUG:   [Backend]:          Skipping playtime sync queue upload - playtime sync disabled
(14:07:25) INFO:    [Gog]:              Checking for existing gog manifests
(14:07:25) WARNING: [Backend]:          Protocol already registered.
(14:07:25) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/me/.config/heroic/legendaryConfig/legendary /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/legendary --version
(14:07:25) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/me/.config/heroic/gogdlConfig /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/me/.config/heroic/gog_store/auth.json --version
(14:07:25) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/me/.config/heroic/nile_config /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/nile --version
(14:07:25) INFO:    [Connection]:       Connectivity: online
(14:07:25) INFO:    [Backend]:          User Not Found, removing it from Store
(14:07:25) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/me/.config/heroic/gogdlConfig /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/me/.config/heroic/gog_store/auth.json auth
(14:07:25) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(14:07:25) INFO:    [Backend]:          
System Information:
CPU: 12x AMD Ryzen 5 5600 6-Core Processor
Memory: 16.68 GB (used: 6.74 GB)
GPUs:
  GPU 0:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] Navi 33 [Radeon RX 7600/7600 XT/7600M XT/7600S/7700S / PRO W7600]
    IDs: D=7480 V=1002 SD=e448 SV=1da2
    Driver: amdgpu
OS: Debian GNU/Linux 6.12.17-amd64 (linux)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.16.0 Scopper Gaban
  Legendary: 0.20.36 Urban Flight (Heroic)
  gogdl: 1.1.2
  comet: comet 0.2.0
  Nile: 1.1.2 Will A. Zeppeli

(14:07:25) INFO:    [Backend]:          Frontend Ready
(14:07:26) INFO:    [Backend]:          Checking for new Heroic Updates
(14:07:26) INFO:    [Backend]:          Checking for current version changelog
(14:07:27) INFO:    [ExtraGameInfo]:    Using cached ExtraGameInfo data for tka
(14:07:27) INFO:    [ExtraGameInfo]:    Using cached ExtraGameInfo data for tka
(14:07:27) WARNING: [Backend]:          getExtraInfo not implemented on Sideload Game Manager. called for appName = 6xvRtTZBoKuSGFmY24QBBf
(14:07:28) INFO:    [Winetricks]:       Downloading Winetricks
(14:07:30) INFO:    [WineDownloader]:   Updating wine versions info
(14:07:30) INFO:    [WineDownloader]:   Fetching upstream information...
(14:07:30) INFO:    [Backend]:          Starting the Download Queue
(14:07:31) INFO:    [WineDownloader]:   wine versions updated
(14:07:32) INFO:    [Backend]:          finished uninstalling
(14:07:32) INFO:    [Backend]:          Removing prefix /home/me/Games/Heroic/Prefixes/default/tka
(14:07:32) INFO:    [Backend]:          Preventing machine to sleep
(14:07:32) INFO:    [Backend]:          Desktop shortcut removed
(14:07:32) INFO:    [Backend]:          Applications shortcut removed
(14:07:32) INFO:    [Frontend]:         Refreshing sideload Library
(14:07:32) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(14:07:32) WARNING: [Backend]:          getExtraInfo not implemented on Sideload Game Manager. called for appName = 6xvRtTZBoKuSGFmY24QBBf
(14:07:43) ERROR:   [Frontend]:         AxiosError: Request failed with status code 404
(14:07:48) INFO:    [Backend]:          Heroic: Setting wineVersion to {"bin":"/home/me/.local/share/Steam/steamapps/common/Proton - Experimental/proton","name":"Proton - Proton - Experimental","type":"proton"} (previous value: {"bin":"/home/me/.config/heroic/tools/proton/GE-Proton-latest/proton","name":"Proton - GE-Proton-latest","type":"proton"})
(14:07:54) INFO:    [Backend]:          Heroic: Setting wineVersion to {"bin":"/home/me/.config/heroic/tools/proton/GE-Proton-latest/proton","name":"Proton - GE-Proton-latest","type":"proton"} (previous value: {"bin":"/home/me/.local/share/Steam/steamapps/common/Proton - Experimental/proton","name":"Proton - Proton - Experimental","type":"proton"})
(14:08:04) ERROR:   [Frontend]:         AxiosError: Request failed with status code 404
(14:08:09) INFO:    [Backend]:          Adding shortcuts for testdeb
(14:08:09) ERROR:   [DownloadManager]:  Downloader: Failed to get headers for file:///opt/Heroic/resources/app.asar/build/assets/heroic_card-mjvSE_Ga.jpg. 
Error: AssertionError [ERR_ASSERTION]: protocol mismatch
(14:08:09) INFO:    [Backend]:          Writing config for uE4iKT1HZyZdSMGgzcbRvo
(14:08:09) INFO:    [Backend]:          Changed config: winePrefix from /home/me/Games/Heroic/Prefixes/default to /home/me/Games/Heroic/Prefixes/default/testdeb
(14:08:09) INFO:    [Backend]:          Changed config: wineCrossoverBottle from undefined to 
(14:08:09) INFO:    [Frontend]:         Refreshing sideload Library
(14:08:09) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(14:08:09) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(14:08:12) INFO:    [ExtraGameInfo]:    Getting ExtraGameInfo data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting PCGamingWiki data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting HowLongToBeat data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting GamesDB data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting ExtraGameInfo data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting PCGamingWiki data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting HowLongToBeat data for testdeb
(14:08:12) INFO:    [ExtraGameInfo]:    Getting GamesDB data for testdeb
(14:08:12) WARNING: [Backend]:          getExtraInfo not implemented on Sideload Game Manager. called for appName = uE4iKT1HZyZdSMGgzcbRvo
(14:08:12) ERROR:   [ExtraGameInfo]:    Got AxiosError when sending HowLongToBeat request for testdeb: {
  "message": "Request failed with status code 404",
  "name": "AxiosError",
  "stack": "AxiosError: Request failed with status code 404\n    at settle (/opt/Heroic/resources/app.asar/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (/opt/Heroic/resources/app.asar/node_modules/axios/lib/adapters/http.js:599:11)\n    at IncomingMessage.emit (node:events:531:35)\n    at endReadableNT (node:internal/streams/readable:1696:12)\n    at processTicksAndRejections (node:internal/process/task_queues:82:21)\n    at Axios.request (/opt/Heroic/resources/app.asar/node_modules/axios/lib/core/Axios.js:45:41)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at $u (/opt/Heroic/resources/app.asar/build/main/main.js:7:3251)\n    at async Promise.all (index 1)\n    at Ao (/opt/Heroic/resources/app.asar/build/main/main.js:7:6290)\n    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:83537)",
  "config": {
    "transitional": {
      "silentJSONParsing": true,
      "forcedJSONParsing": true,
      "clarifyTimeoutError": false
    },
    "adapter": [
      "xhr",
      "http",
      "fetch"
    ],
    "transformRequest": [
      null
    ],
    "transformResponse": [
      null
    ],
    "timeout": 0,
    "xsrfCookieName": "XSRF-TOKEN",
    "xsrfHeaderName": "X-XSRF-TOKEN",
    "maxContentLength": -1,
    "maxBodyLength": -1,
    "env": {},
    "headers": {
      "Accept": "*/*",
      "Content-Type": "application/json",
      "User-Agent": "HeroicGamesLauncher/2.16.0",
      "Referer": "https://howlongtobeat.com/",
      "Content-Length": "341",
      "Accept-Encoding": "gzip, compress, deflate, br"
    },
    "method": "post",
    "url": "https://www.howlongtobeat.com/api/search",
    "data": "{\"searchType\":\"games\",\"searchTerms\":[\"testdeb\"],\"searchPage\":1,\"size\":20,\"searchOptions\":{\"games\":{\"userId\":0,\"platform\":\"\",\"sortCategory\":\"popular\",\"rangeCategory\":\"main\",\"rangeTime\":{\"min\":0,\"max\":0},\"gameplay\":{\"perspective\":\"\",\"flow\":\"\",\"genre\":\"\"},\"modifier\":\"\"},\"users\":{\"sortCategory\":\"postcount\"},\"filter\":\"\",\"sort\":0,\"randomizer\":0}}"
  },
  "code": "ERR_BAD_REQUEST",
  "status": 404
}
(14:08:13) ERROR:   [ExtraGameInfo]:    Got AxiosError when sending HowLongToBeat request for testdeb: {
  "message": "Request failed with status code 404",
  "name": "AxiosError",
  "stack": "AxiosError: Request failed with status code 404\n    at settle (/opt/Heroic/resources/app.asar/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (/opt/Heroic/resources/app.asar/node_modules/axios/lib/adapters/http.js:599:11)\n    at IncomingMessage.emit (node:events:531:35)\n    at endReadableNT (node:internal/streams/readable:1696:12)\n    at processTicksAndRejections (node:internal/process/task_queues:82:21)\n    at Axios.request (/opt/Heroic/resources/app.asar/node_modules/axios/lib/core/Axios.js:45:41)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at $u (/opt/Heroic/resources/app.asar/build/main/main.js:7:3251)\n    at async Promise.all (index 1)\n    at Ao (/opt/Heroic/resources/app.asar/build/main/main.js:7:6290)\n    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:83537)",
  "config": {
    "transitional": {
      "silentJSONParsing": true,
      "forcedJSONParsing": true,
      "clarifyTimeoutError": false
    },
    "adapter": [
      "xhr",
      "http",
      "fetch"
    ],
    "transformRequest": [
      null
    ],
    "transformResponse": [
      null
    ],
    "timeout": 0,
    "xsrfCookieName": "XSRF-TOKEN",
    "xsrfHeaderName": "X-XSRF-TOKEN",
    "maxContentLength": -1,
    "maxBodyLength": -1,
    "env": {},
    "headers": {
      "Accept": "*/*",
      "Content-Type": "application/json",
      "User-Agent": "HeroicGamesLauncher/2.16.0",
      "Referer": "https://howlongtobeat.com/",
      "Content-Length": "341",
      "Accept-Encoding": "gzip, compress, deflate, br"
    },
    "method": "post",
    "url": "https://www.howlongtobeat.com/api/search",
    "data": "{\"searchType\":\"games\",\"searchTerms\":[\"testdeb\"],\"searchPage\":1,\"size\":20,\"searchOptions\":{\"games\":{\"userId\":0,\"platform\":\"\",\"sortCategory\":\"popular\",\"rangeCategory\":\"main\",\"rangeTime\":{\"min\":0,\"max\":0},\"gameplay\":{\"perspective\":\"\",\"flow\":\"\",\"genre\":\"\"},\"modifier\":\"\"},\"users\":{\"sortCategory\":\"postcount\"},\"filter\":\"\",\"sort\":0,\"randomizer\":0}}"
  },
  "code": "ERR_BAD_REQUEST",
  "status": 404
}
(14:08:13) DEBUG:   [Backend]:          No SteamID, not getting ProtonDB info
(14:08:13) DEBUG:   [Backend]:          No SteamID, not getting Stem Deck info
(14:08:13) DEBUG:   [Backend]:          No SteamID, not getting ProtonDB info
(14:08:13) DEBUG:   [Backend]:          No SteamID, not getting Stem Deck info
(14:08:14) INFO:    [Backend]:          Launching testdeb (uE4iKT1HZyZdSMGgzcbRvo)
(14:08:14) INFO:    [Backend]:          Preventing display from sleep
(14:08:14) INFO:    [Backend]:          Checking if wine version exists: Proton - GE-Proton-latest
(14:08:14) INFO:    [Backend]:          Checking if wine version exists: Proton - GE-Proton-latest
(14:08:14) INFO:    [Backend]:          Checking if wine version exists: Proton - GE-Proton-latest
(14:08:14) INFO:    [Backend]:          Checking if wine version exists: Proton - GE-Proton-latest
(14:08:14) DEBUG:   [Backend]:          Running Wine command: run wineboot --init
(14:08:14) INFO:    [Backend]:          Preventing machine to sleep
(14:08:14) WARNING: [Backend]:          getExtraInfo not implemented on Sideload Game Manager. called for appName = uE4iKT1HZyZdSMGgzcbRvo
(14:08:19) INFO:    [Backend]:          Created/Updated Wineprefix at /home/me/Games/Heroic/Prefixes/default/testdeb
(14:08:19) INFO:    [Backend]:          launching non-native sideloaded: /home/me/Games/TheKillingAntidote/TheKillingAntidote.exe 
(14:08:19) INFO:    [Backend]:          Checking if wine version exists: Proton - GE-Proton-latest
(14:08:19) DEBUG:   [Backend]:          Running Wine command: waitforexitandrun /home/me/Games/TheKillingAntidote/TheKillingAntidote.exe
(14:08:19) DEBUG:   [Backend]:          Logging to file "/home/me/.config/heroic/GamesConfig/uE4iKT1HZyZdSMGgzcbRvo-lastPlay.log"
(14:08:19) INFO:    [Backend]:          Preventing display to sleep
(14:08:19) WARNING: [Backend]:          getExtraInfo not implemented on Sideload Game Manager. called for appName = uE4iKT1HZyZdSMGgzcbRvo

Steps to reproduce

Add non-store game to Heroic (haven't logged in to try store games yet).
Run game.

Expected behavior

Create a complete prefix so game can run.

Screenshots

No response

Heroic Version

Latest Stable

System Information

  • OS debian sid / Gnome / Wayland

Additional information

No response

@therealfumbles therealfumbles added the bug:unconfirmed Someone works on identifying the issue label Mar 7, 2025
@arielj
Copy link
Collaborator

arielj commented Mar 7, 2025

the first picture is a prefix created with proton+umu, the second picture is a prefix created by proton alone (without umu)

both should be valid though, it's just that umu symlinks the pfx folder to be the parent folder

so make sure you have umu not disabled for that game if you want the same prefix structure

@therealfumbles
Copy link
Author

therealfumbles commented Mar 7, 2025

Thanks for explaining that. I haven't disabled umu though. Is it installed along with the heroic deb package? Maybe it needs to be installed and that's my problem. Although I've ticked the disable umu box and still made no progress.

As it stands I can't run anything in the created prefix. Not even the VC++ runtime installer. Either via winetricks or via run exe on prefix. A small black window flashes up for a split second and then the process goes nowhere.

Update: so there's no trace of umu in the deb install of Heroic. I tried copying the umu folder from the flatpak into the runtimes folder (~/.local/share/umu already exists and is populated from having ran the flatpak copy of Heroic) but no change. Still the same prefix as my second screenshot and can't run anything.

Update 2: Same situation with the appimage. Only the flatpak works here.

Update 3: Third time lucky. Toggling "disable umu" on and then off seems to enable umu and it gets downloaded. Now I can run installera and games. Phew.

@arielj
Copy link
Collaborator

arielj commented Mar 8, 2025

I'll close this then since using umu worked fine and that's the recommended way to run things anyway.

@arielj arielj closed this as completed Mar 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:unconfirmed Someone works on identifying the issue
Projects
None yet
Development

No branches or pull requests

2 participants