Heroic, Proton+UMU, and Steam's Shader Caching Setting
I can't open Heroic in desktop mode on my deck after the latest updates went out. Running it from the command line gives the following:
I tried running
rpm-ostree install plasma-workspace-x11
to make sure it had the xorg fallback installed, but it's still booting into Wayland right now116 Replies
fascinating-indigoOPβ’6mo ago
there is also the issue that in game mode ever game has a black screen, but sound, when using UMU
fascinating-indigoOPβ’6mo ago
fascinating-indigoOPβ’5mo ago
i figured out the first issue, it turns out my flatseal permissions were a bit off after some testing. after resetting those i can launch heroic with no issue
the UMU issue is still happening though. here are two logs for Cat Quest, the first is with UMU on and in Game Mode, which does not show the game but still produces sound
fascinating-indigoOPβ’5mo ago
fascinating-indigoOPβ’5mo ago
the second is with no settings changed at all, but it's in desktop mode and works without issue
fascinating-indigoOPβ’5mo ago
fascinating-indigoOPβ’5mo ago
i've asked in the bazzite discord with no concrete answers
the launch commands are in a completely different order between the two, and the one in game mode has
--skip-version-check
where the one in desktop mode doesn'tnational-goldβ’5mo ago
does it work correctly without UMU? becuase if it fails only with UMU maybe it's something to report in the UMU github for more visibility of their devs
fascinating-indigoOPβ’5mo ago
it does, yeah
in your opinion, it doesn't look like user error or something that is wrong on my hardware, then?
national-goldβ’5mo ago
I can't tell for sure, but if the game works without UMU I'd suspect UMU (it's not the first game I see failing with UMU enabled and working without UMU)
fascinating-indigoOPβ’5mo ago
for me it is every single game
fascinating-indigoβ’5mo ago
i think the point was all games with umu dont work
while they work for others
national-goldβ’5mo ago
oh ok, I misunderstood that
fascinating-indigoOPβ’5mo ago
no worries!
fascinating-indigoβ’5mo ago
so sounds like something uniquely configured on his machine somehow but who knows what x_x
have you... just formated and started over? heh
fascinating-indigoOPβ’5mo ago
i'm trying with everything i have to not do that
fascinating-indigoβ’5mo ago
its honestly the only thought i have, not sure how much configuration time went into bazzite tho so that sucks
fascinating-indigoOPβ’5mo ago
not an insufferable amount, but i have a bunch of saves on here from emulated games that i don't want to hunt down
fascinating-indigoβ’5mo ago
are they not all stored in one place?
fascinating-indigoOPβ’5mo ago
no, not really
yuzu in one place, snes in another, then dolphin in another
fascinating-indigoβ’5mo ago
i dunno what emulators bazzite uses but if its libretro based then they should all be stored in one spot in your .config
fascinating-indigoOPβ’5mo ago
it's emudeck
it has sim links to all of the save points and it manages them all, as far as i understand it
fascinating-indigoβ’5mo ago
looks like some are symlinks some arent
but all of it is in Emulation/saves so you can probably figure out which ones are symlinks at least
still kind of annoying haha
fascinating-indigoOPβ’5mo ago
very, i would much rather figure out what is wrong with my system than hunt all that down
fascinating-indigoβ’5mo ago
too bad it doesnt have some kind of archive or backup thing since its already managing all thesaves
fascinating-indigoOPβ’5mo ago
this looks promising
https://github.com/SeanWilken/EDSBS
never mind, that's just a copy of the existing saves folder
which includes the symlinks, but doesn't follow it deeper
i've posted the issue here:
https://github.com/Open-Wine-Components/umu-launcher/issues/318
it may be a bazzite bug based on what that thread speculated
https://github.com/Open-Wine-Components/umu-launcher/issues/318#issuecomment-2567297982
the relevent piece
is this a problem with something i've accidentally deleted?
Bazzite dev guy is saying it's most likely not a Bazzite issue
is there any reason that you know of that umu may not be getting the steam id correctly?
stormy-goldβ’5mo ago
cannot reproduce - I was playing Brotato last night
fascinating-indigoOPβ’5mo ago
that is the thing that is frustrating me the most. I know that no one else has this issue, and i have no idea what i did to break it. therefore, I can't really fix it. it's driving me nuts
I also don't seem to be able to explain adequately what's going on, so I feel like a failure in terms of technical communication
national-goldβ’5mo ago
I checked on my steamdeck and I don't have any of those env variables defined
fascinating-indigoOPβ’5mo ago
same
national-goldβ’5mo ago
I don't know what should define them but they are not there by default and heroic is not adding them either
fascinating-indigoOPβ’5mo ago
according to the guy helping me in the github issue, they need to be set by the OS
according to the Bazzite dev, they don't touch them
national-goldβ’5mo ago
also, heroic does set the
STEAM_COMPAT_APP_ID
and GAMEID
env variables that seems to be what UMU uses too? https://github.com/Open-Wine-Components/umu-launcher/blob/59a82ea8cd284c7535bc06b8f6156abb7da96f6a/tools/umu-run-posix#L40
heroic also setts some other STEAM_COMPAT_
env variables:
but none are the ones they mention theregenetic-orangeβ’5mo ago
rsync -avh --copy-links "/PATH/TO/EMULATION/SAVES" "/PATH/TO/YOUR/DESIREDBACKUPLOCATION"
That'll follow the symlinks and copy all of your saves to a folder of your choice if you do want to go nuclear (I don't have any recommendations either way, I don't know the solution to this)fascinating-indigoOPβ’5mo ago
I'll do that
is there a way to copy them back since it's in the same structure? like, a reverse of
--copy-links
if not, i'd probably need to do this one at a time
man page says that maybe --keep-dirlinks
may work with the description treat symlinked dir on receiver as dir
genetic-orangeβ’5mo ago
That's what it sounds like yeah, haven't used that flag before though, https://unix.stackexchange.com/questions/116775/how-to-copy-directory-structure-without-removing-symlinks, seems like it worked here as well?
fascinating-indigoOPβ’5mo ago
amazing
well, looks like i'm going nuclear. thank you so much for that last piece of the puzzle
genetic-orangeβ’5mo ago
The launch codes instead of a fix π
fascinating-indigoOPβ’5mo ago
LOL
it's done. thanks for all your input on this
stormy-goldβ’5mo ago
what was the final resolution?
fascinating-indigoOPβ’5mo ago
yeah, i just reinstalled and it's working now
almost done restoring the backups
national-goldβ’5mo ago
now you should try to break it the same way so we all know how it happened π
fascinating-indigoOPβ’5mo ago
lol you're tempting fate at my expense there and I'm not a fan
i feel like I'm going crazy. it is happening yet again, and i have no idea why.
I've un-installed every decky plug in, deleted heroic's umu to make it re-download, removed the prefix, un-installed a bunch of flatpaks, re-installed heroic, verified game files, and nothing works to reverse this. it worked until I updated through the game mode interface, and now it's broken.
why in the hell does it work in desktop mode, but not in game mode??? that's the piece of this that is really eating at me
(you just had to ask me to break it in the same way, didn't you?)
I'm gonna try steamOS, I guess
stormy-goldβ’5mo ago
Updated what through game mode?
fascinating-indigoOPβ’5mo ago
the system
at least, i assume that's what's happening when you go into Settings -> System -> Software Updates
fascinating-indigoOPβ’5mo ago
fascinating-indigoOPβ’5mo ago
i've prepared three log files, one for every store. they each have as much detail as i know how to put in these
i would love to know if anything sticks out to any of you
i played each one until i heard a sound, then backed out of the game
i can also provide desktop mode versions of each one if that would be helpful
either i'm crazy or something is seriously broken that i keep doing
i just reimaged to SteamOS and am having the exact same problem.
the only things that i've changed on the steam deck are
1. installing heroic and games
2. installing anydesk
3. installing decky loader with the following modifications:
a. SteamGridDB
b. ProtonDB Badges
c. TabMaster
d. CSS Loader
i. Art Hero
ii. Better Game Badges
iii. Centered Game Text
iiii. Game Header Text Stroke
iiiii. Mini Carousel
iiiiii. Round
4. installing emudeck and games
none of this (except maybe CSS Loader) should be interfering with how a game launches from Heroic
every single game works from Steam or EmuDeck, but none of them work with Heroic and Proton+UMU
i should note that i tested to make sure it was working after i installed all the decky plugins, and it was.
stormy-goldβ’5mo ago
I have different CSS addons than you, but I have everything else
try unwinding all of the CSS addons and disabling the extension
fascinating-indigoOPβ’5mo ago
sure
* turned off all CSS Loader themes
* deleted all the themes
* switched to desktop mode
* disabled deckyloader entirely
* restarted
* no change
ah, one thing i forgot to mention that i changed is that i gave Heroic a single extra permission using flatseal for
All user files
to be able to save one of my games
The Banner Saga, i don't know where it saves, but i know it's somewhere in my home directory
do you have Shader Pre-Caching on?
i just turned that on and it's working now.... what the hell?stormy-goldβ’5mo ago
I don't download precompiled shaders if that's what you mean. I cache on-device
it also shouldn't affect Heroic stuff
fascinating-indigoOPβ’5mo ago
meaning you have the setting turned off in steam, yes?
what's the proton version you launch apps with in steam's settings? is it experimental or something else?
stormy-goldβ’5mo ago
I set to experimental as default
fascinating-indigoOPβ’5mo ago
to be clear, you have this setting turned off?

stormy-goldβ’5mo ago
I do have that turned off. it doesn't affect non-Steam stuff
fascinating-indigoOPβ’5mo ago
well, i just turned it off again and it's producing the same bug as before
do you have
Enable Steam Play for all other titles
turned on or off?stormy-goldβ’5mo ago
on, that's also a setting that doesn't affect stuff in Heroic
fascinating-indigoOPβ’5mo ago
just double checking, because you say that the shader pre-caching one doesn't affect anything in heroic, yet here we are
stormy-goldβ’5mo ago
when running Heroic shortcuts, it would run them as Linux-based commands, so the entire compatibility section of the Steam settings doesn't affect it
and given that you're getting a game log, you haven't forced Proton on any of your Heroic shortcuts
fascinating-indigoOPβ’5mo ago
yeah, i haven't
stormy-goldβ’5mo ago
let me install Cat Quest to pull an equivalent log
fascinating-indigoOPβ’5mo ago
i'm not sure why i keep using Cat Quest as the control, but it is every single game i installed with heroic that has the behavior lol
stormy-goldβ’5mo ago
fascinating-indigoOPβ’5mo ago
lol true
stormy-goldβ’5mo ago
ok great, now I'm getting your behavior
I had just loaded Kill Knight earlier today, so let me check that again
fascinating-indigoOPβ’5mo ago
okay, thank goodness lol
stormy-goldβ’5mo ago
I also just updated the OS this morning
fascinating-indigoOPβ’5mo ago
misery loves company
stormy-goldβ’5mo ago
this was similar behavior when umu was first integrated as well
fascinating-indigoOPβ’5mo ago
https://0x0.st/8ikf.log
this is when it's working and the shader pre-caching is on
not as clean as your log lol
stormy-goldβ’5mo ago
wait a sec, my precache setting was on and I didn't update you at the time. that's on me. I intended it to be off, but I must've turned it on and I turned it back off after we talked about it
good lord is that the issue? hahaha
let me turn it back on
sorry if I misled you
fascinating-indigoOPβ’5mo ago
totally fine, i'm glad that is likely the cause
what an absolutely bizarre thing
i'm fine with being misled if it eventually leads to an answer :D
stormy-goldβ’5mo ago
enabling precaching brought it back
what the damn hell?
π
fascinating-indigoOPβ’5mo ago
i have absolutely no clue hahaha
all it took was several reinstalls of my entire operating system to figure it out :D
stormy-goldβ’5mo ago
the Linux experience
fascinating-indigoOPβ’5mo ago
i wouldn't have it any other way, i love this stuff
stormy-goldβ’5mo ago
I added a comment on the github issue. We'd need someone with SteamOS (or any other distro really) to confirm this is the behavior as well to isolate if this is a umu+Heroic issue or if it's a distro issue
fascinating-indigoOPβ’5mo ago
i am on SteamOS today
i reimaged last night
national-goldβ’5mo ago
I can try too later
fascinating-indigoOPβ’5mo ago
that'd be great! :D
national-goldβ’5mo ago
to be clear:
- I disable that shared thing
- I run a game with proton+umu in gaming mode
is that it?
fascinating-indigoOPβ’5mo ago
correct
stormy-goldβ’5mo ago
that is the extent of what I did between working this morning and not working just now
fascinating-indigoOPβ’5mo ago
eastern-cyanβ’5mo ago
hello im new to this discord and also new with linux mint and heroic games. so basically i tried to play "Hell let Loose". After installig the game i tried to run the game but right after it started nothing happened. recording to the log information it says "ShellExecuteEX failed: not enough memory". Im going to upload the log information as well. I hope someone can help me, thank u guy π https://0x0.st/8inA.log
fascinating-indigoOPβ’5mo ago
please make your own thread, this one is about a very, very different issue
eastern-cyanβ’5mo ago
oh sorry, someone gave me a link to this one
fascinating-indigoOPβ’5mo ago
no, they gave you the link to the general one, and this is on that list :]
no worries, it happens
national-goldβ’5mo ago
I can't find that shader pre-caching config anywhere in my steamdeck π
fascinating-indigoOPβ’5mo ago
it's only on desktop mode in the download settings
national-goldβ’5mo ago
oh in desktop
fascinating-indigoOPβ’5mo ago
lord only knows why they did this
national-goldβ’5mo ago
yep, 100% can reproduce full-hd no-fake
steam logo loading, can't see anything but I can hear the game in the background in gaming mode
fascinating-indigoOPβ’5mo ago
fantastic, i love the sound of reproducibility in the afternoon
thank you all for making me not feel like i was insane
fascinating-indigoβ’5mo ago
is precaching on by default on a stock deck?
stormy-goldβ’5mo ago
yes. it's actually a source of a lot of newbie questions because they are confused why the Deck is always downloading stuff on boot
fascinating-indigoβ’5mo ago
ah if its on by default this is why i never noticed it
second question: why are you turning it off?
(i honestly dont know the use case so im curious)
fascinating-indigoOPβ’5mo ago
i don't like the cache being on the deck, and it's able to cache just fine. it's.. barely useful as i understand it
plus it builds up over time, several games get their cache size bloated beyond what's reasonable
stormy-goldβ’5mo ago
The cache will always be there. Steam builds on-device on launch of the game. Also, the bulk of the cache is usually downloaded transcoded videos which cannot be disabled
fascinating-indigoOPβ’5mo ago
ah, so no real point in turning it off?
stormy-goldβ’5mo ago
If youβre on a metered connection, you may choose to opt out to conserve bandwidth
But even then updates are deltas
fascinating-indigoOPβ’5mo ago
I'm not
stormy-goldβ’5mo ago
It pretty much comes down to whether you want to spend CPU cycles or bandwidth to get the shaders
The Mesa GPL update helps for situations where you donβt have shaders ready to go
fascinating-indigoOPβ’5mo ago
aiight, i misunderstood, i suppose
genetic-orangeβ’5mo ago
The new commit makes it sound like that caching is how they retrieve the app ID? https://github.com/Open-Wine-Components/umu-launcher/commit/57f9dfce97e4c49b74eea3e19376834f949f2d69 Am I understanding that right?
stormy-goldβ’5mo ago
it's possible that precaching affects that somehow, but I don't know enough about how umu works under the hood or why precaching affects it
national-goldβ’5mo ago
the code is only checking these env variables:
https://github.com/Open-Wine-Components/umu-launcher/blob/57f9dfce97e4c49b74eea3e19376834f949f2d69/umu/umu_run.py#L485
one is
DXVK_STATE_CACHE_PATH
but I don't think it's the same as the Shared Pre-Cache, it's just an env variable
maybe when caching is enabled the steamdeck sets that DXVK_STATE_CACHE_PATH
variable?stormy-goldβ’5mo ago
I can envision all 4 of those being tied to the shader cache.
national-goldβ’5mo ago
oh I found it, enabling the cache adds
STEAM_COMPAT_MEDIA_PATH
with /home/deck/.local/share/Steam/steamapps/shadercache/xxxxxxx/fozmediav1
, and that xxxxxx
is the steamid
and STEAM_FOSSILIZE_DUMP_PATH
also references the shadercache
ok, it just adds all of them they all have similar paths all part of the shadercache
I'm surprise that's the only place to get that ID from, sounds wrong haha
my understanding of the issue is:
- steam puts the loading
screen on top of everything while the game is launching in gaming mode
- umu tries to find that screen to remove it from the top to display the game
- because it couldn't find the steamappid
, it can't find the window, so it just returns None
instead of calling rearranged.remove(steamappid)
- without those paths (all added when shareds are enabled), umu can't get the steamappid
what suprises me is that's the only way of getting the steamappid, but I guess it's the safest in the sense that it's the default and it's in the env so you don't need access to any folder that you may not have access tofascinating-indigoOPβ’5mo ago
is there a way to set that environment variable if it's not already set when you launch a game on steam deck in game mode?
national-goldβ’5mo ago
I don't know where steam gets that steamappid from
/home/deck/.local/share/Steam/steamapps/shadercache
has so many folders over time
I imagine there must be a better way to get that id from the system, but I have no ideafascinating-indigoOPβ’5mo ago
yeah, fair enough
i feel so much relief at this not being a me problem lol
it was like a month and a half of on and off troubleshooting
national-goldβ’5mo ago
I'm thinking we could add some check in heroic to print something in the logs:
-
if steamdeack, and gaming mode, and none of these env variables are defined => print a message in the logs saying Shader Pre-Caching is required by UMU to work properly in gaming mode
because UMU is now adding some log saying the ID is not found, but id doesn't say how to fix itfascinating-indigoOPβ’5mo ago
and exit the game? or leave it?
national-goldβ’5mo ago
I wouldn't exit the game in case something changes in UMU and it uses something else to get the steamappid in the future, so the code doesn't prevent that from working
users can always check the logs if they have some issue and find the message
fascinating-indigoOPβ’5mo ago
that was my immediate thought after I hit send lol
national-goldβ’5mo ago
We already show some information like
The system is a steam deck
and we know if it's gaming mode or desktop mode in the logs, so we only need to check for the env variables and add one more line in the same place with a big WARNING: ....