aclist / dztui

DayZ GUI server browser and frontend for Linux
https://aclist.github.io/dzgui/dzgui
GNU General Public License v3.0
89 stars 10 forks source link

[BUG] Steam client bug causes black screen on Workshop pages #91

Closed osbornecox closed 3 months ago

osbornecox commented 10 months ago

First of all, thank you for your work!

Second, I'm experiencing an issue and maybe you could point me in the right direction with it. I'm playing DayZ on Steam Deck. Everything worked fine several months ago, but now the DZG Watcher fails to open the workshop page.

I see this message: Opening workshop file for [server id]. If you see no progress after subscribing try unsubscribing and resubscribing again until the download commences.

I tried to wait, to restart everything, I tried different servers, I tried to google this issue, and checked everything. I'm using SteamOS 3.4.11. Is there anything I might be missing?

Thanks!

aclist commented 10 months ago

Thank you.

Please indicate whether you are attempting to do this from Game Mode or Desktop Mode, and if the latter, whether you are using the desktop/start menu shortcut or are launching it through Steam directly.

Also, please indicate your DZGUI version, your distribution, and other pertinent details. You can generate a system log via Advanced Options > Output system info and attach it here.

As to the question itself, there have been some changes to the Valve browser protocol recently that dropped some old methods of opening links, so it might be affecting this. I'll start looking into it while I await your response.

osbornecox commented 10 months ago

Thank you for the quick reply!

I'm launching it in Desktop Mode through a shortcut on the desktop.

Here is the log: Distro: SteamOS Kernel: Linux 5.13.0-valve37-1-neptune x86_64 Version: 4.0.4 Branch: stable Mode: normal Auto: OFF Servers:

Steam path: /home/deck/.local/share/Steam Workshop path: /home/deck/.local/share/Steam/steamapps/workshop/content/221100 Game path: /home/deck/.local/share/Steam/steamapps/common/DayZ

Mods: Arma 2 Helicopters Remastered @12e39279 2651195301 CannabisPlus @39246611 1932611410 CF @9dd22c91 1559212036 Community-Online-Tools @b582f8aa 1564026768 Dabs Framework @1bbd85f5 2545327648 DayZ-Expansion-Bundle @829b91b4 2572331007 DayZ-Expansion-Licensed @0891b3df 2116157322 EXPANSION Silence of Cities PVE @658e52ed 2880983779 FlipTransport @de1bb955 1832448183 RUSForma_vehicles @0b5c01ce 2536888090

aclist commented 10 months ago

This is related to an extremely annoying and longstanding bug in Valve's implementation of Electron in the Steam client that has persisted since the new Steam Beta client was merged into the stable Steam release earlier this year. In short, certain navigation windows in the Steam client appear black unless the user explicitly navigates to other windows and back again. This happens on certain video cards on desktop PCs as well (unrelated to DZGUI).

Because DZGUI attempts to open the mod page directly without the user's prior interaction, it's possible for the Steam client to have this bug. The best way I can see of rectifying it for now is making sure that:

  1. Steam was already open before using DZGUI
  2. You have navigated on and off to different Steam client tabs, such as "Library" and "Store" to make sure they become unstuck and that no windows are black
  3. Once the above is complete, launch DZGUI and let it open mod pages
  4. If the pages are still black, go back to the Steam client and click on other tabs like "Library" and "Store" again until the view updates, then navigate back to the "Community" tab and let Steam's internal Chromium browser update the page
  5. Reinitialize the mod download process and the Workshop pages should start loading now

After brief testing, I have not found a way of programmatically making the Steam client update even when requesting it to open other pages such as the library, large games list, mini games list, etc. The Steam client only refreshes itself when the user provides manual input by force refreshing one of the pages.

I can look into adding this information to the DZGUI knowledge base, although I don't see a technical solution to the problem until the bug itself is fixed in Steam. I'll investigate other ways of brute forcing the window into updating, but our options are limited here.

truefakts commented 8 months ago

I found that manual intervention in the Steam client seems to work around this bug on their side. Pressing the "back" arrow to try and redirect elsewhere, will sometimes force steam to re-render the web page so you can click Subscribe on the mod in question. This bug report should probably be moved to an issue against Steam for Linux: https://github.com/ValveSoftware/steam-for-linux

aclist commented 8 months ago

Yes, this is correct.

This issue affects the Steam client itself, not just Steam Deck, and already exists as issue 9598 on Valve's issue tracker. I do not have a foolproof method of reproducing the issue with DZGUI, however. It seems to be transitory.

osbornecox commented 8 months ago

offtop: thank you so much for doing this! you're amazing!

aclist commented 6 months ago

I still do not have a reliable way of reproducing this issue every time. Sometimes, it seems that workshop pages open exactly as intended (going from cold boot of the device to opening a workshop page programmatically), while other times the black screen bug appears and is resoved by manual intervention.

If you are reading this thread and consistently experience this bug on Steam Deck specifically, please provide a list of steps for getting it to trigger every time.

As for the upstream issue affected, it relates directly to ticket number 9598 on Valve's Steam for Linux repository.

aclist commented 3 months ago

A summary of this issue has now been merged into article DZG-004 on the DZGUI Knowledge Base.