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.31k stars 440 forks source link

[Steam Deck/SteamOS] Dropdown Menus not functioning consistently in Gamescope (Game Mode) #3678

Open kevin-wijnen opened 8 months ago

kevin-wijnen commented 8 months ago

Describe the bug

When using Heroic under Gamescope on SteamOS (in Game Mode), the dropdown menus seem to not fully function. Sometimes the screen softly flashes, moving the mouse cursor to the corner without the dropdown menu having been opened. Sometimes this does work (as it previously did).

Add logs

(16:48:45) INFO:    [Legendary]:        Legendary location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary
(16:48:45) INFO:    [Gog]:              GOGDL location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl
(16:48:45) INFO:    [Connection]:       Connectivity: check-online
(16:48:45) INFO:    [Connection]:       Pinging external endpoints
(16:48:45) INFO:    [Gog]:              Checking for existing gog manifests
(16:48:45) INFO:    [Nile]:             Refreshing library...
(16:48:45) INFO:    [Nile]:             Refreshing Amazon Games...
(16:48:45) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/nile library sync
(16:48:45) INFO:    [Nile]:             Game list updated, got 391 games
(16:48:45) INFO:    [Backend]:          DRM module staus {
  "oimompecagnajdejgnnjijobebaeigek": {
    "status": "new",
    "title": "Widevine Content Decryption Module",
    "version": "4.10.2710.0"
  }
}
(16:48:45) WARNING: [Backend]:          Failed to register protocol with OS.
(16:48:45) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig/legendary /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary --version
(16:48:45) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json --version
(16:48:45) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/nile --version
(16:48:45) INFO:    [Connection]:       Connectivity: online
(16:48:45) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:48:45) INFO:    [Backend]:          User Not Found, removing it from Store
(16:48:45) INFO:    [Gog]:              Checking if login is valid
(16:48:45) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:48:46) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(16:48:46) INFO:    [Backend]:          
System Information:
CPU: 8x AMD Custom APU 0405
Memory: 15.53 GB (used: 3.5 GB)
GPUs:
  GPU 0:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] VanGogh [AMD Custom GPU 0405]
    IDs: D=163f V=1002 SD=0123 SV=1002
    Driver: amdgpu
OS: SteamOS 3.5.17 holo (linux)

The current system is a Steam Deck (model: LCD) in desktop mode
We are running inside a Flatpak container

Software Versions:
  Heroic: 2.14.0 Flame Emperor Sabo
  Legendary: 0.20.34 Direct Intervention
  gogdl: 1.0.1
  Nile: 1.0.2 Jonathan Joestar

(16:48:46) INFO:    [Nile]:             Saved user data to config file
(16:48:46) INFO:    [Frontend]:         Refreshing undefined Library
(16:48:46) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(16:48:46) INFO:    [Legendary]:        Refreshing library...
(16:48:46) INFO:    [Nile]:             Refreshing library...
(16:48:46) INFO:    [Nile]:             Refreshing Amazon Games...
(16:48:46) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/nile library sync
(16:48:46) INFO:    [Nile]:             Game list updated, got 391 games
(16:48:46) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:48:46) INFO:    [Backend]:          Frontend Ready
(16:48:46) INFO:    [Gog]:              Getting GOG library
(16:48:46) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:48:46) INFO:    [Gog]:              Getting data of 1688404720: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json import "/run/media/mmcblk0p1/Heroic SD/STONKS-9800 Stock Market Simulator"
(16:48:46) INFO:    [Gog]:              Saved username to config file
(16:48:46) INFO:    [Backend]:          Checking for current version changelog
(16:48:47) ERROR:   [Gog]:              Unable to get current build of 1688404720
(16:48:47) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:48:48) INFO:    [Winetricks]:       Downloading Winetricks
(16:48:48) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:48:50) INFO:    [WineDownloader]:   Updating wine versions info
(16:48:50) INFO:    [WineDownloader]:   Fetching upstream information...
(16:48:51) INFO:    [Backend]:          Starting the Download Queue
(16:48:51) INFO:    [WineDownloader]:   wine versions updated
(16:48:59) INFO:    [Gog]:              Saved games data
(16:49:00) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(16:49:00) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gogdlConfig /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/auth.json auth
(16:49:03) INFO:    [Gog]:              Found 8 game(s) to update
(16:49:03) INFO:    [Nile]:             Looking for updates...
(16:49:03) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/nile list-updates --json

Steps to reproduce

  1. Go to any game's settings or Heroic's Settings > General
  2. Click on any dropdown menu UI element
  3. Screen "flashes" softly before cursor is sent to the left corner
  4. Click repeatedly to reproduce the same behaviour, eventually the dropdown menu works.

Expected behavior

Any dropdown menu should show the options and be able to click on any of the options to use that option.

Screenshots

GIF of the current issue, running in Game Mode.

zSteamLink_yprovhIHI9

Heroic Version

Latest Stable (Flatpak)

System Information

Additional information

While the log implies Heroic is running in Desktop Mode, the Heroic launcher is running in Game Mode (as shown in the GIF). Log is copied from the session running in Game Mode (and visible by the GameScope FPS counter in the left corner). Neither does the log show any indications/errors from the frontend.

Bug is similar to an issue in the past of Avalonia UI (which some projects like emulator Ryujinx has fixed).

The Heroic launcher used to not have any problems with dropdown menus until seemingly recently (although I don't remember if any update happened that caused this issue).

kevin-wijnen commented 7 months ago

Testing Update

Even with the combination of switching to the Main branch of SteamOS updates (clicking any dropbox UI element to crash the entire system and reboot) and a stable Steam Client, it doesn't seem to fix the issue.

kevin-wijnen commented 7 months ago

Version Update

This issue is still present as of Heroic Version 2.14.1 (Flatpak).

matheusfaustino-timematters commented 6 months ago

I can also confirm that this is happening to me, and only on gaming mode.

kevin-wijnen commented 4 months ago

Any response of a contributor/developer involved with Heroic? This bug is still present as of v2.14.1 and the topic is still labelled as "unconfirmed" despite another person verifying this issue.

OrinKinsella commented 3 months ago

Yeah this error was here for a long time i have it aswell on mine. It's bullshit type annoying

mdeguzis commented 3 weeks ago

Still the same behavior in the latest version. Works fine in desktop mode. Seems the software struggles with live in harmony with steam input.

kevin-wijnen commented 3 weeks ago

Seems the software struggles with live in harmony with steam input.

Not sure what that has to do with the current issue. It does not seem to be an issue with Steam Input, but rather Gamescope. Gamescope's not used in Desktop Mode and only used in Game Mode on the Steam Deck.

If you notice some different issue with Heroic and Steam Input, please file a separate issue describing it.

mdeguzis commented 1 week ago

Related: #4059

kevin-wijnen commented 1 week ago

Related: #4059

Thank you so much for pointing this PR out. Seems to get referenced by a similar issue (#4111) as this one. A shame it was not shown before.

I'll close the issue/keep people up-to-date by following the PR's progress and posting about it here.