185 Replies
GeForce Soon TM
Well hello there
partial decomp repo with scripts, analysis, spoofs from Val etc https://github.com/xXJSONDeruloXx/nvidia-gfn-bin-decomp/tree/master
GitHub
GitHub - xXJSONDeruloXx/nvidia-gfn-bin-decomp: rough attempt to dec...
rough attempt to decomp the linux gfn bin. Goal is to make work on more than just Steam Deck - xXJSONDeruloXx/nvidia-gfn-bin-decomp
Evidently it's doing some sort of check to see if it's on a Steam Deck.
Spoofs came from bluedragon
Oh my spoof is in there lol
If you want to use the native app, you can fetch the OAuth URL from the console.log
Y'all want more spoofs?
build us a steam deck kernel
;)
the ultimate spoof
the steamdeck_spoof.so IDs it as the decks kernel
@Cilantro Limewire Bluedragon is the one with the SteamOS spoof good enough to trick anti-cheat, so I figured he'll be of value here.
do you have a diff spoof?
I have one that can spoof the GPU Vulkan wise.
But only if using Vulkan
interesting
I have a spoof to show the decks CPU specifically
But that's not exactly handy
have you been able to get it working on non os hardware then?
Non-os hardware?
non steamos
sorry
Not yet
same login problem
you can get around it
Is that a statement from experience or?
ive done it
just need to tail the console.log when you hit the login
and then it'll have an oauth url
this is im 90% sure an issue with installing via the flatpak direct workaround. We need to successfully install from the bin to get the login to work as it does on deck
Oh that's easy
Not making it work
But the installer can work easy
one sec
so uve installed with spoofs correct
LD_PRELOAD=/usr/lib64/libcrypto.so.3:/usr/lib64/libssl.so.3 ./GeForceNOWSetup.bin
it's just the login you're having dramas with?
cause theres deps that it relies on to oauth in the bg with CEF
This makes the installer run
And work for that matter
I'm not even sure if my LD_PRELOAD method of spoofing works in a flatpak, from memory flatpak blocks them to a degree

So what I'm reading here is that it's a CEF issue specifically?

not bazzite but chimera
installed worked without any issues
didnt need any extra variables
im back to limited browser resolutions
It's a readonly FS issue with Bazzite, only occurs on here.
max 1920x1200
gotcha
but we all experienced the same login issue
where you click login and it does nothing
via the bin? no LD_Preload? but you still do the login workaround?
via the bin no LD_PRELOAD
login was console logging
$HOME/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/console.log
Has anyone tried tracing the reads of the Flatpak with ptrace?
Or strace
nah i havent
but im not even gonna try and comprehend what that is
guessing this is impossible, but just curious if one could use distrobox or a similar containerization method to create a SteamOS environment and run inside of that?
im layering it now will try shortly
I think this has not worked so far
Just tried, there's one read of /etc/os-release
No checks DMI wise.
So, no in depth hardware checking realistically
Not to mention the /etc/os-release file was spoofed

So
yea
check pyc_analysis_results/install_pycdas.txt in the partial decomp
GitHub
nvidia-gfn-bin-decomp/pyc_analysis_results/install_pycdas.txt at ma...
rough attempt to decomp the linux gfn bin. Goal is to make work on more than just Steam Deck - xXJSONDeruloXx/nvidia-gfn-bin-decomp
confirms it seems thats the only real path checked
Yep

So if there's different functionality
In theory you could eliminate it with the steamdeck_spoof.so installer side
But I don't think there is any
biggest issue I saw with installer was
That's what the LD_PRELOAD here fixes.
I was failing to get it to fall back to system libs but maybe Im a silly goose
Yeah the spoof.so fools the installer so that's something

how to run the spoof?
i can check if it works on my end with my logged in client
maybe it unlocks the resolutions
Fooling the installer makes no difference
I can't help but think there's some absurd dep it's pulling pre installed on the Deck.
dead end for now i guess
Yeah, for now.
LD_PRELOAD doesnt override libs inside a pyinstaller though right?
I mean it fixed the installer for me?
oh wait
ok so you installed with the bin and its still being weird with launching in DE or hanging on login in gamescope?
Both.
Installer isn't at fault.
Something else is going on.
heres a bunch of deps and imports https://github.com/xXJSONDeruloXx/nvidia-gfn-bin-decomp/blob/master/import_dependencies.md
GitHub
nvidia-gfn-bin-decomp/import_dependencies.md at master · xXJSONDer...
rough attempt to decomp the linux gfn bin. Goal is to make work on more than just Steam Deck - xXJSONDeruloXx/nvidia-gfn-bin-decomp
need to look at the flatpak over the installer
the dump is not the flatpak
Yk it's funny, if intentional or not. Nvidia does NOT know how to make a Flatpak properly.
honestly I feel like they know and are intentionally obsfuscating it to not have to support random configs
A quick solution to see if this is the case would potentially be to copy the /lib and /lib64 off the deck and bind mount it inside a distrobox.
I'm spit balling though.
A buddy of mine managed to get here on Desktop, they're offline right now though.

i get that after about 2 minutes when im logged in
then im forced to quit
hmm
are there any dbus differences between steamos and other distros
What would be hosting on that port?
I do know remote CEF debugging when doing decky plugin dev needs port forwarding on bazzite and doesnt on steamOS but thats on 8080 I think
i can scan
i have steamos on my rog ally
1 sec
I don't know if this could help but, on windows logging is done running a background server, the browser always finishes the process to localhost
whered u find this
i have a feeling that 41989 is random
/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/logs/
messagebus_*.log?
yeah actually seems thats just that one session, heres all logs in there for me
is this when you have chrome open in the background?
i have the native app opened in desktop mode
I havent gotten that far, only gamescope for me
different OS
this is official steamos
trying to find the differences
ohh
yeah helpful
What is your GeForceNOWContainer.log inside NVContainer/
this is all junk
but
where is nvcontainer
/home/deck/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/logs/NvContainer/
okay so pretty much the same
anything useful in your debug.log at the root directory of GeForceNOW?
tail -f debug.log then click login
wondering if that'll give you an output
its between CEF and SSL errors it seems
I guess this is just cause I couldnt get to the login qr code part
WARNING:account_consistency_mode_manager.cc(77)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured.
sounds about right
i wonder if the installer set variables somewhere
this is probably the bigger problem
ERROR:ssl_client_socket_impl.cc(882)] handshake failed; returned -1, SSL error code 1, net_error -107
for those id and secret
lemme check certs on sd
but if the bin installer succeeds with spoof so it shouldnt matter yeah?
compare with yours
but yes it shouldnt matter
im just wondering if its because of a missing cert
that is exclusive to SD
youll need to disable wayland socket for it to work in desktop
in current year???
it seems gamescope work cuz xwayland
with wayland socket it wont even display for me :KEKW:
That's frickin hilarious.
And sad.
huh good to know lmao
I mean, makes sense
that is some truly dumb shit
btw did you guys ever figure out the coredump?
nop
im suspecting that is the one that triggers the something is wrong error
nothing is coming up in debug logs for me
i get the nvidia branded something went wrong error instead of the zenity gui error window
What have we learned so far? I believe
- bazzite fails with bin installer immediately
- flatpak direct workaround functions but won’t launch under Wayland, and hangs at login step when it does launch
- under stock steam os on anything that is not a deck, bin installer completes fully without issues, but still hangs at login step above
- spoofing bin installer with LD_PRELOAD on Bazzite can allow completing bin installer but still hanging like above
- we still don’t know what the diff is
- we are pretty confident that the installer does not do much else than add the flatpak repo after checking supported os params like etc/os and version, it’s more some obscure dep at runtime
Anything I got wrong or am missing?
if you open the app and wait, it will popup the error anyway and i suspect this is due to the coredump you found
That looks correct to me
Sounds right
ayyyy this worked to install with the installer bin lfg
LD_PRELOAD=/usr/lib64/libcrypto.so.3:/usr/lib64/libssl.so.3 ./GeForceNOWSetup.bin
even uninstall options and learn more button worked

some strace deets from the flatpak if it helps
where is this two error come from? it doesnt exist in your trace
lmao useless ai
ill go over it manually ig
here is what chatgpt 4.1 said
some of it seems correct but idk as a whole
/app/cef/icudtl.dat, /app/cef/v8_context_snapshot.bin (bundled data files—part of Chromium Embedded Framework)
wonder if thats something we should look at editing to align with deck + steam os in case of diffs causing lockout?
is the file generated? seems like its in the flatpak install directory
rn i get this though

when tring to run a game
i dont know wtf crl is and wtf this hase to do with the server connection and all that but gemini says this

so in x11 it works but not with xwayland?
maybe just a problem with my network though 🤷♂️
yes
not in gamescape xwayland
not in plasma xwayland
but in x11
😭
is this a xwayland incompatibility/bug/unimplemented stuff or is there any way the app may percieve xwayland another way than normal x11?
For what it's worth, this is what I used, based on my Steam Deck installation log, to get GFN running (although NOT launching games).
(You also still have to use the console.log to find your auth link.)
and it works?
this work in bazzite?
ig we're gonna have to find out lel
Anyone got a game launching?
Reddit
From the linux_gaming community on Reddit: GeForce NOW work flawles...
Explore this post and more from the linux_gaming community
Their screenshots only show getting to login but interesting
i mean it works in x11, im really considering layering it but idk man 😂
also in vm it just threw an error for some reason
I don’t think they got to a game tbh I think they just installed and decided to say it’s flawless lmao
welp :KEKW:

I'm getting an exit at the same timestamp as: "ERROR [VulkanInit.cpp] {AEDFA040} - Unable to find a Vulkan physical device that supports all required extensions." in geronimo.log (same directory as the other log files). Vulkaninfo looks normal, GPU's not that old, have tried disabling wayland socket, running under gamescope, etc. Please could some kind person who's got as far as the login leave their geronimo.log here? Or at least everything after "Enumerating instance layers" to the end.
hopefully there is no PII 😂
This is the biggest issue with Linux fandom imo, people saying an application works flawlessly if they get to the splash screen
You’ll have people try to say with a straight face that adobe suite works perfectly in Linux
Thank you! Annoyingly it seems like it lists the instance extensions it wants, but not the device extensions. I wonder if the issue I'm having is bad news for nvidia users (we are used to this).
It would be very funny if nvidia's software only works with their competitor's GPUs, though.
Those logs mention a 7800xt
Looking a bit further - I think what it really wants is VK_KHR_video_decode_av1. So asen23's GPU is new enough by one generation, and mine is too old by one generation. On Windows, GFN would just use h265, but can imagine that they felt no need to support that on steam deck.
Hey, do you know if Z1 and Z2 APUs support that?
So ROG Ally, Legion Go, etc
Yes. On my Ryzen HX 370.
you dont get error? you can login?
I can log in using the URL in console.log
(Go through the steps to log in and when it tries to launch the browser to log in, open the link from the log file.)
but do you get the error pop up?
What error?
I can't launch a game, so... I get an error then.

whoa... I just tried to launch a game to see if I get that then, and... it works now!
and, about 4 seconds in, I get that error.
I can play the game behind that error tho
There is no advantage with this over using Chrome though... same crippling option caps.
oh? i thought they have better res
on my SD, yes. but not otherwise.
on my desktop/Bazzite, I have the same capabilities as browser. ):
huh
that sucks
RDNA 3 supports av1 and discreet RDNA 2 I think does not, but deck apu I think has it
Remind me the path to that log? Wondering if we could make a launch script for the steam shortcut to monitor that log then script the auth or xdg-open browser or something
This is so weird, like it’s a fallback or maybe some karg fails to feature flag?
It's
~/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/console.log
Thanks, might play with an automation attempt monitoring this path
now the issue is preventing the error popup
You know what I think we could also benefit from unpacking the bin install process though? The post flatpak install process where it adds the game to steam as a non Steam app (nothing special, we also do this with get-media-app ujust)
But what I see they do which we haven’t pulled off is two big things:
- set up custom art for the steam shortcut fully programmatically
- apply a custom controller profile (which last I heard was previously possible but method was depreciated, maybe not anymore?)
I’d love to get my head around those two and see if we can implement in our media app installer ujust and yafti
Gist
Install GeForceNow on Desktop Linux/Non SteamOs devices
Install GeForceNow on Desktop Linux/Non SteamOs devices - Install GeForceNow on Desktop Linux.md
Gist
Install GeForceNow on Desktop Linux/Non SteamOs devices
Install GeForceNow on Desktop Linux/Non SteamOs devices - Install GeForceNow on Desktop Linux.md
Lel real hardware being a steam deck?
I get that on real hardware i.e b550i + 5800x3d + 7800xt
If you check stats, it's hw transcoding because it's in h265
Chrome is h264
They've locked it behind steam deck vendor IDs for sure
no error in popos, is the error unique to bazzite?
I get it on Chimera os
After 30 seconds
Its occuring after it pulls a bunch of library data down from their API
fedora
does it shown in a log? if yes which logs
I have HW decode in Chrome for GFN (AMD).
Ow, there goes my hope of using it on Linux then, have a discrete that only supports 264 I guess it's not gonna fly here, hopefully WINE implements DXVA2 backend soon though and the app will work on it
Hi. Using Bazzite stable on Rog Ally X, gamescope. I was able to get it pass the login (ssh, get the oauth URL from console.log, paste it to a browser, and load the localhost/AUTH_URL it via ssh in a statically compiled elinks browser), but now I am dealing with the popup... In console.log the exact moment these lines appear the popup shows:
2025-05-31 22:03:37.241 ERROR PluginsHandlerService Mandatory plugin failed to load null
2025-05-31 22:03:37.243 INFO LocaleService Locale set to en_GB
2025-05-31 22:03:37.243 INFO LocaleService Locale set to en_GB
2025-05-31 22:03:37.244 INFO telemetryService Sending event PluginsStatus
2025-05-31 22:03:37.251 ERROR JsEventsService Event cannot be sent due to consent level: None
2025-05-31 22:03:37.266 INFO app component Successfully loaded string table
The resource https://nvfile//app/mall/assets/img/spotlight-bg.webp was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate
as value and it is preloaded intentionally.
gaming on the cloud works impressively well, but with the damn popup in the middle 😦Debug.log in root folder
Really sucks that this doesn’t work on baste
Bazzite *
we probably already know this but if u install steamos on any machine, you get access to all the correct resolutions
Wonder if it can be bypassed using the spoof
nah
didnt fix it
honestly we should try and just spoof the network calls to use either windows or mac markers
to enable higher refresh rates
@asen23
Gist
Install GeForceNow on Desktop Linux/Non SteamOs devices
Install GeForceNow on Desktop Linux/Non SteamOs devices - Install GeForceNow on Desktop Linux.md
try this
see if u get the error
i just get this

Damn
It be like that