M0CRT Posted November 26, 2020 Share Posted November 26, 2020 Hi Folks As documented elsewhere, it seems that certain game developers are now taking on themselves to block running of their content on virtual platforms. With the potential, documented in the linked Reddit post below, how easy would it be to either provide an option for a 'hardened' QEMU version OR facilitate building a custom version (as documented in the post)? Whilst I have dev tools installed, cannot complete the build due to missing deps...namely pixman in my case. Keen to get RDR2 up and running once more. Thoughts would be most welcome. Quote Link to comment
jummama Posted November 28, 2020 Share Posted November 28, 2020 Hi, new on the forums, and was just gifted a copy of this on Steam. It starts up as far as the main menu, but then if I attempt to hit settings, or launch the game in single player or multiplayer, I get a crash to desktop. I've tried all the other methods I've found with no luck so far: DepotDownloader to downgrade to before the Naturalist update This no longer works, as the Rockstar Launcher refuses to launch the older version. Downgrading the launcher doesn't work either, because it either refuses to work if disconnected, or auto-updates a soon as it starts up. Running in Linux via Proton After a few attempts, I managed to get the game to start up as far as the main menu under Proton 5.13. Unfortunately, the symptoms are the same So, this leaves me at the point of trying to patch QEMU. I'm fairly savvy, but I'm not sure where to begin on modifying components in Unraid. I've noticed that there appear to be some Docker images that contain QEMU, I'm wondering if that might be a usable way to package up a modified QEMU and launch it on my Unraid box for the Windows VM without affecting the built in system version, and risking breaking other stuff. Quote Link to comment
jummama Posted November 28, 2020 Share Posted November 28, 2020 I found an easier solution, and have so far been able to at least get into the settings screen on my Windows VM! In that same Reddit thread, Philosopher_Valuable suggested using sed to modify a qemu binary in order to patch the ACPI tables: Quote Since these strings are pretty much unique it should be also possible just to use sed against existing binary Something like this: hexdump -ve '1/1 "%.2x"' qemu-system-x86_64 | sed -e 's/424f4348/434f4348/g' -e 's/42585043/44585043/g' | xxd -r -p > qemu-system-x86_64.new It will convert: BOCH to COCH BXPC to DXPC I tested above with Proxmox VE. Just change the /usr/bin/qemu-system-x86_64 with above trick. It will work without recompile. Based on this idea, I copied /usr/bin/qemu-system-x86_64 into my Manjaro system, and patched it as above. Then I copied it back into the Unraid system as /usr/bin/qemu-system-x86_64.rdr2, and moved some stuff around: cd /usr/bin/ mv qemu-system-x86_64 qemu-system-x86_64.stock #Keep the original around, just in case chmod 755 qemu-system-x86_64.rdr2 #Make sure the patched one is properly executable ln -s qemu-system-x86_64.rdr2 qemu-system-x86_64 #Create a symbolic link so that Unraid will launch the patched version This was done with a couple of other VMs running, no problems there. Afterwards, I did still have to do the XML edits described by dev-null-s in order to deal with the SMBIOS values, but now it seems to work. Off to play a bit, I'll report back later! Quote Link to comment
M0CRT Posted November 28, 2020 Author Share Posted November 28, 2020 (edited) 1 hour ago, jummama said: I found an easier solution, and have so far been able to at least get into the settings screen on my Windows VM! In that same Reddit thread, Philosopher_Valuable suggested using sed to modify a qemu binary in order to patch the ACPI tables: Based on this idea, I copied /usr/bin/qemu-system-x86_64 into my Manjaro system, and patched it as above. Then I copied it back into the Unraid system as /usr/bin/qemu-system-x86_64.rdr2, and moved some stuff around: cd /usr/bin/ mv qemu-system-x86_64 qemu-system-x86_64.stock #Keep the original around, just in case chmod 755 qemu-system-x86_64.rdr2 #Make sure the patched one is properly executable ln -s qemu-system-x86_64.rdr2 qemu-system-x86_64 #Create a symbolic link so that Unraid will launch the patched version This was done with a couple of other VMs running, no problems there. Afterwards, I did still have to do the XML edits described by dev-null-s in order to deal with the SMBIOS values, but now it seems to work. Off to play a bit, I'll report back later! Nice one Jummama. I'll take a look. I did attempt to patch utilising the aforementioned sed method but on checking my ACPI tables it still wasn't working. Do I need to refresh the tables somehow on an existing VM? Any reason why I cannot patch within an Unraid Terminal session? Thanks Edited November 28, 2020 by M0CRT Quote Link to comment
jummama Posted November 28, 2020 Share Posted November 28, 2020 19 minutes ago, M0CRT said: Nice one Jummama. I'll take a look. I did attempt to patch utilising the aforementioned sed method but on checking my ACPI tables it still wasn't working. Do I need to refresh the tables somehow on an existing VM? Any reason why I cannot patch within an Unraid Terminal session? Thanks I saw some reference to fast start caching some of the values, so it might help to turn off fast start in Windows. The Unraid terminal should be okay for patching the binary Quote Link to comment
M0CRT Posted November 28, 2020 Author Share Posted November 28, 2020 This works a treat. Ensure you disable Fast Boot in Windows 10 power settings for the ACPI tables to recache. Perfect. 🙂 Quote Link to comment
jummama Posted November 28, 2020 Share Posted November 28, 2020 Glad to hear you seem to have success! I was able to play for about an hour with no issues, aside from the somewhat low frame rate from my old GPU, and some control issues from trying to drive the horse like a GTA car Quote Link to comment
Blunt Posted November 29, 2020 Share Posted November 29, 2020 Can one of you guys please guide me on what to do here? I have the same issue with my Win 10 VM and I’d love to replay RDR2. Worked fine up until the patch. Quote Link to comment
Blunt Posted November 29, 2020 Share Posted November 29, 2020 (edited) On 11/28/2020 at 7:28 AM, M0CRT said: This works a treat. Ensure you disable Fast Boot in Windows 10 power settings for the ACPI tables to recache. Perfect. 🙂 Would you mind explaining the process you used? Thanks Edit: NVM I figured it out. Works great Thanks for sharing folks. Edited December 1, 2020 by Blunt Quote Link to comment
gray squirrel Posted December 4, 2020 Share Posted December 4, 2020 It would be interesting if somebody could make a guide for the not so technical. I am dual booting to get around this issue in RDR2. Are there any risks associated to this approach? Quote Link to comment
gray squirrel Posted December 8, 2020 Share Posted December 8, 2020 (edited) Still an interesting topic if some developers try to prevent virtual environments. However, it looks like RDR2 was patched today and now for whatever reason it works on a very standard VM setup. 2700X - 4 cores passed and isolated GTX 1080 - passed as primary 2TB NVME - Passed HyperV-on Performance is nice as well 50-70 FPS 1440P ultra! Edited December 8, 2020 by gray squirrel Quote Link to comment
danktankk Posted June 25, 2021 Share Posted June 25, 2021 (edited) I know this is a bit of an old post, but I want to play RDR2 from a VM in unraid... how did you guys get xxd to work in unraid? i cant seem to get this to work in cli. Edited June 25, 2021 by danktankk Quote Link to comment
derbestimmer Posted July 14, 2021 Share Posted July 14, 2021 On 6/25/2021 at 4:32 AM, danktankk said: I know this is a bit of an old post, but I want to play RDR2 from a VM in unraid... how did you guys get xxd to work in unraid? i cant seem to get this to work in cli. just install vim via nerd tools. xxd comes with it. Quote Link to comment
danktankk Posted July 24, 2021 Share Posted July 24, 2021 On 7/14/2021 at 5:18 AM, derbestimmer said: just install vim via nerd tools. xxd comes with it. Awesome. Thank you! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.