Wait, what? Playstation?
Wait, what? Playstation?
I probably misremembered something then, 390xx it is then.
But whatever it may be it is in the AUR 100%.
It’s very good.
Basically, there is one maintainer in the AUR (the name escapes me, jonathon I think it was?) who applies the necessary patches to the old NVIDIA drivers to make them run with a modern Linux kernel.
Of course, there won’t be any Wayland support, but the experience is acceptable as long as you temper your expectations in terms of graphics API support. (No vulkan sadly)
I hadn’t used it myself but I know a person who does and loves it. iGPU handles Wayland stuff while the NVIDIA is there for the heavy lifting in Xorg.
Unironically, the best bet for them is nvidia 540xx drivers on the AUR with an LTS kernel.
Yes, both Yuzu and Ryujinx were open source.
Ryujinx is licensed under MIT and Yuzu is under GPLv3.
I need to remind some people here who don’t seem to understand something.
Forks may be dead and development may not be as fast as the original.
However - you must think about the future and not the situation right now. Yuzu and Ryujinx sources will be invaluable information for people making emulators later down the line.
It’s a matter of when and not if someone picks it up again.
There go my hopes and dreams of IRL Solid Vision system and duel disks…
One day, it will happen with MR.
Oh cool, I didn’t know!
I’ll go check it out, thanks!
I want to try to use Rust myself as well to build a library and I wonder how it’ll turn out (especially since I do Win32 hacks mostly lol).
No problem. Please do report back!
We really do not have many (if any) Rust alternatives for code hooking and injection and doing stuff with rendering like we do with C++.
Maybe you could finally figure something out we can use for other games as well!
I’ll preface this by saying that I’m not familiar with Rust nor Hearthstone at all, but I do deal with D3D9 and D3D11 on Windows to do similar things. Hopefully this will give you insights how you could approach this. (Closest I’ve done was code injection on Android)
The most common and robust approach to this is to hook/detour the API functions that the game imports from the renderer backend.
One way you usually do this is by creating a dummy library which overrides/intercepts the system library and passes through every function call to the API, except for the ones you need, you’d put your code before/after the passthrough. This usually requires you to gather all exported symbols and re-create them, which is a very tedious but rewarding task, as it usually is very stable and can work around things such as DRM.
Usually, since that sits quite low on the application’s code stack, it is most efficient for it to be a more general-purpose hook which can load other libraries. Examples would be things like the ASI loader or Reshade on Windows.
Another way would be to do code injection via library side-loading. Essentially, you can simply load a library that performs the code hooks and does necessary renderer API hooking. This is usually done in combination with the previous method (it being a “plugin” loader), however, it is also possible to modify game binaries to call dlopen
to load your library and its exported function as an entrypoint (in which case you need to do platform’s CPU assembly code for a bit).
Those are the entrypoints for your code. After that, it is all about necessary render backend code that you need to do in order to draw graphics/text/etc.
In C/C++ land I’d just tell you to use Dear ImGui, but seeing as that doesn’t exist for Rust, you’re kinda on your own.
Same with the API detouring. Ideally, you’d make a plugin loader that does the job for you. Not sure if that exists in Rust yet.
For references, Vulkan overlays such as MangoHUD or ReShade could be useful to help you figure out how to draw stuff on screen.
As for the rest of your code - it can run in a separate thread that does the job for you as the game runs. Or, make a client-server relationship and make the game hook be the server for your info that you need.
It’s just their ego showing through.
It basically now comes down to the current devs depending on new Rust devs for anything that interacts with Rust code.
They could just work together with Rust devs to solve any issues (API for example).
But their ego doesn’t allow for it. They want to do everything by themselves because that’s how it always was (up until now).
Sure, you could say it’s more efficient to work on things alone for some people, and I’d agree here, but realistically that’s not going to matter because the most interactivity that exists (at the moment) between Rust and C in Linux is… the API. Something that they touch up on once in a while. Once it’s solid enough, they don’t have to touch it anymore at all.
This is a completely new challenge that the Linux devs are facing now after a new language has been introduced. It was tried before, but now it’s been approved. The only person they should be mad at is Linus, not the Rust devs.
Yeah enabling remote debugging because the dev thought it made it easier is a pretty big oof.
But this is just strike one. It’s a one man show, after all, so cutting them some slack is warranted when it comes to this specific topic.
Nevertheless, your concerns aren’t unfounded. This project needs more contributors to be able to keep up. (Thorium is basically in the same boat)
You’re mostly correct. People here don’t take Windows praise lightly.
NT is probably the best part about Windows. If you’re gonna complain about Windows, the kernel is the last thing to complain about.
As you’ve said, there are things that are still better about NT to this day;
Most of NT stigma comes from NTFS (which has its own share of problems) and the bugcheck screens that people kept seeing (which weren’t even mostly MS’ fault to begin with, that was on the driver vendors).
Mark Russinovich has some of his old talks up on his YT channel and one of them compares Linux (2.6 at the time) to NT and goes into great detail. Most of the points made there still applies to this day.
Not to mention - this isn’t necessarily the correct place for Windows anyway. That is exactly why they standardized stuff around Vista.
Plus - what about apps that store an ungodly amount data in there? Personally, I only keep the OS and basic app data (such as configs and cache) on the partition and nothing else.
Then something like Minecraft comes along and it’s like “humpty dumpty I’m crapping a lumpty” and stores all its data in “.minecraft” right there in your user directory.
Then you gotta symlink stuff around and it becomes a mess…
A little thing called the “Massive Ad client” exists in NFS Carbon, Pro Street, Undercover and even World.
It was used to download ads off the internet and display them in the game’s own billboards.
It was also an entrypoint for a NFS World hack too lol so ripbozo EA
A little thing called the “Massive Ad client” exists in NFS Carbon, Pro Street, Undercover and even World.
It was used to download ads off the internet and display them in the game’s own billboards.
It was also an entrypoint for a NFS World hack too lol so ripbozo EA
AFAIK LUnix exists as the “little Unix” project aiming to run on the Commodore 6502 computers.
There’s even a video where someone got it to run on a Famicom.
One thing, I don’t know why
I bought a PS5 with no games to buy
Absolute madness. I cringe at the thought of making modern x86 asm code.
Great work!