20 ms·
ShadPS4 – PlayStation 4 emulator
- skykooler 2y agoThis looks like an interesting project to follow! Given the current lack of a portable option from Sony it would be interesting to see how this might run on the Steam Deck.
- Almondsetat 2y agoNot in a million years. The Steam Deck manages decent fps on some PS3 emulated games [0] but for running the games PS4 is actually desired for? No way 0: https://www.reddit.com/r/SteamDeck/comments/wodw8x/i_tested_a_bunch_of_rpcs3_games_on_steam_deck_so/ https://www.reddit.com/r/SteamDeck/comments/wodw8x/i_tested_...
- Deathmax 2y agoEmulating a PS3 is significantly harder than emulating a PS4, since on the PS3 you need to convert from the Cell architecture, whereas the PS4 is already x86.
- reedf1 2y agoI think this too. My perception of the PS4 is it's just a PC in a box running FreeBSD (or something). I don't think there is any custom architecture at all. Much like a steam deck, which can already run some first party PS4 games just fine (e.g. Death Stranding). Would any emulation even be required?
- p_l 2y agoMain differences would be hardcoded expectations regarding very tight integration between GPU and CPU, and the available memory bandwidth. PS4 (and PS5, iirc) both use a custom OS built out of FreeBSD with specialized variant of an AMD APU using GDDR memory, plus PS5 got few extra coprocessors for handling things like decompression in line with storage access
- jorvi 2y agoSony also did some really weird stuff with the PS4 to make emulation harder, chiefly among them the PCIe “glue device”, a PCIe device that masquerades as one of 15 (?) different ones, depending on the function needed at that instant. Geohotz has a section on it in his presentation about jailbreaking the PS4.
- arthurmorgan 2y agoWhere can the presentation be found? Thanks in advance.
- whaleofatw2022 2y agoHere is one that marcan42 did, goes into some details. https://youtu.be/QMiubC6LdTA https://youtu.be/QMiubC6LdTA
- mmaniac 2y agoI can see how that would be difficult for low level emulation, but does it really matter for HLE? Retail games running on the PS4 don't care about the PCIe topology, they just use Sony's function call APIs.
- EPWN3D 2y agoThere are various ways they could be made to care, e.g. wrapping a function call in a macro that expands with some sort of assertion about hardware state. But I'm guessing that if they were told to design emulation counter-measures, it was to defeat hardware emulation and not WINE-style library shimming.
- badsectoracula 2y agoYou'd most likely need to run it in a VM and either implement the needed APIs or implement whatever the official OS needs to run (RPCS3 has you download the OS from Sony and implements whatever needed to run, Xenia on the other hand -Xbox360 emulator- reimplements the OS so that you don't need anything from Microsoft).
- dagmx 2y agoLots of things are unique about the x86 consoles. They have custom graphics APIs (and semi custom GPUs) which makes graphics translation one of the hardest parts. The graphics systems also assume shared memory which is not a given elsewhere. There are sometimes also some extra CPU instructions if it benefits the console that may not be prevalent, and require some translation. And it’s even more different when you get to the PS5 era where the systems have some very critical hardware systems like kraken decompression and direct storage which don’t have super prevalent equivalents.
- fngjdflmdflg 2y ago>And it’s even more different when you get to the PS5 era Do you think a PS4 emulator should be 90% of the way to a PS5 emulator being that they both use x86, AMD GPU and NVM/X? ps. I argued with you here[0] about Vulkan on MacOS, and after reading more about graphics APIs and game engines I can say I was wrong about some of what I said eg. "studios are generally using modified versions of UE so my guess is that means they are generally making low level changes sometimes, and so it makes sense to me that they sometimes may write their Dx/ Vulkan code for different things sometimes" which after researching, studios do heavily modify Unreal, but they do not seem to touch the rendering APIs. (with some exceptions like here[1]). Also "Adding an extra platform like MacOS [on UE] is not simply clicking a button" which I simply assumed is true but have no evidence for. [0] https://news.ycombinator.com/item?id=40586991 https://news.ycombinator.com/item?id=40586991 [1] https://www.youtube.com/watch?v=WGv_BjxvJ8M&t=2027s https://www.youtube.com/watch?v=WGv_BjxvJ8M&t=2027s (A Taste of Chocolate: Adding a Rendering Fast Path without Breaking Unreal Engine | Unreal Fest 2024)
- dagmx 2y agoI don’t think the PS4 and PS5 are all that similar. They use very different generations of CPU, and GPU. So shader libraries will be different for the most part. Also custom hardware on top of that for decoding and direct storage access, as well as a fairly updated SDK. It’ll certainly help because the underlying systems have the same thread of design running through them but I think it’s the same way a 3DS emulator can help with the switch or how Dolphin can’t really do Wii U games. They’re similar but not quite. And I’m surprised that conversation was remembered :-) thanks for bringing it up.
- darby_nine 2y agoI just sold my last x86 machine. I suspect emulation will be a long-standing concern.
- KeplerBoy 2y agoThat's a different problem. I guess emulation devs targeting consoles which originally ran x86 code will not ship arm binaries for a long time. That layer of translation will be left to rosetta 2 and whatever microsoft ships as translation layer.
- badsectoracula 2y agoDepending on how the emulation is done PS4 might have a slightly easier time. AFAICT from some time ago i checked it, PS3 is probably the hardest architecture of all to emulate with RPCS3 basically using LLVM to "compile" code fragments from PS3's CPU to native code. I'd expect running x86 code written to run on an AMD APU with a Unix-based OS in another AMD APU with a Unix-based OS to be a bit easier, probably with some VM involved (even Xemu, the original Xbox emulator, is basically a QEMU PC configuration with some Xbox-specific hardware for the GPU and audio).
- latexr 2y ago> Not in a million years. I’d take that bet. Given a million years of concentrated effort, I’m feeling confident we’d find a way. Even if it takes a hobbyist replacing some internal components on the Steam Deck.
- wiseowise 2y agoAlso downscaling and hand optimizing hot paths.
- BossingAround 2y agoGiven a million years, I'd say the human race ending is more likely than the human race figuring out how to run Bloodborne 4 on a Steam Deck, given that in a couple years, Steam Deck 2 will outperform the original SD.
- Hamuko 2y agoIf it takes Ship of Theseusing your Steam Deck, it’s arguably not running on the Steam Deck.
- deleted 2y ago[deleted]
- ammar-DLL 2y agothis will run better than both switch and ps3 (even wii u and ps2 in same case ) emulator because of ps4/ps5 hardware architecture is the same as normal PC/steam deck
- jrm4 2y agoAs an avid non-consoler, I'm like why not? As I understood, the flagship game for the PS3 was GTAV and also for the PS4 and also for the PS5
- deleted 2y ago[deleted]
- Almondsetat 2y agoNo it's not
- sergiotapia 2y agohttps://www.youtube.com/watch?v=LafZSOtbTsI https://www.youtube.com/watch?v=LafZSOtbTsI it took 10 hours.
- Almondsetat 2y agoTo render a single frame?
- ammar-DLL 2y agoit may even run better than switch emulator if they go with compatibility layer route
- ultimaweapon 2y agoActually shadPS4 is a compatibility layer. What it does is re-implement the PS4 libraries and translate PS4 shading language into SPIR-V.
- ammar-DLL 2y agoshadPS4 is emulator and fpPS4 is compatibility layer check this wiki for more info : https://emulation.gametechwiki.com/index.php/PlayStation_4_emulators https://emulation.gametechwiki.com/index.php/PlayStation_4_e...
- ultimaweapon 2y agoThose wiki has some incorrect information. How shadPS4 and fpPS4 works are the same. Almost of them can be categorized as a compatibility layer. The only one that can be called a PS4 emulator is Orbital because it virtualize (and emulate) the PS4 hardwares.
- 0points 2y ago[flagged]
- ammar-DLL 2y agoi hope they add compatibility layer option in the future
- forgotpwd16 2y agoApparently is the first PS4 emulator that makes it to Bloodborne character screen.
- hhh 2y agoIt makes it ingame now. https://x.com/shadps4/status/1825669017392107971?s=46 https://x.com/shadps4/status/1825669017392107971?s=46
- BossingAround 2y agoAmazing. This made me want to play BB on my old PS4 that's gathering dust. Then, I remembered it's 30FPS locked, and has pretty bad loading times. I'll wait for the emulator, or a remaster, whatever comes first I guess :))
- gambiting 2y agoApparently someone made it run at 60fps on a PS5 devkit, and it's frustrating because I actually have access to one but there are no instructions anywhere so I can't experience the beauty of Bloodborne in 60fps :-(
- rawbot 2y agoAnybody with a hacked/jailbroken PS4 Pro or PS5 can run it at 60 fps. A dev called Illusion makes patches for other games too. If you got an old PS4 Pro lying around, and haven't updated it in a year, it's more than likely hackable. It's pretty simple, really.
- max_ 2y agoHow do people design emulators? Is there a good resource on how you can learn to do this?
- ranza 2y agohttps://rylev.github.io/DMG-01/public/book/ https://rylev.github.io/DMG-01/public/book/ this is a good read
- max_ 2y agoThanks. This looks beautiful
- mbivert 2y agoIf you want to learn, I guess look for something well-documented and comparatively simple, like an old Game Boy emulator
- stevekemp 2y agoI think if you're new to emulation it's generally a good idea to start with something even simpler - the chip-8 system http://www.emulator101.com/introduction-to-chip-8.html http://www.emulator101.com/introduction-to-chip-8.html An average programmer can probably get an emulator for that running in a weekend, and there are lots of guides and documetnation out there for the opcodes and similar. NES / Gameboy / GameGear / similar are probably well-documented, but they will be harder at least because the processors have more opcodes you have to care about.
- badsectoracula 2y agoYeah CHIP8 is a simple enough system that i even made two emulators (one in DOS and one in Windows) and an assembler back in 1999-2000 or so when i was in highschool and could barely put eight bits together to form a byte. Also somehow for some reason i was convinced back then that mobile phones in the future will have a CHIP8 emulator to play games :-P. Sadly(?) they got Java instead.
- sandebert 2y agoThis YouTube video by Modern Vintage Gamer might be an interesting watch, for people interested in PS4 emulators: https://www.youtube.com/watch?v=KZvSEdFGyxE https://www.youtube.com/watch?v=KZvSEdFGyxE
- 0points 2y agoMVG is just a clueless hypetrain.
- privacyking 2y agoCitation required
- eur0pa 2y agoDo not trust people who speak in SEO
- 0points 2y agoWatch his videos and be the judge. He don't code, he hardly understands the hardware he is covering. He constantly makes stupid "predictions".
- radicalbyte 2y agoHe's a games developer and an ex-member of the cracker scene. His technical chops are stronger than many people here.
- monoau 2y agoI feel bad for the people blindly defending him, many of his videos are wrong [1] and his viewers end up incorrectly learning a lot technical stuff, especially when there're actual knowledgeable youtubers out there. [1] https://news.ycombinator.com/item?id=41309281 https://news.ycombinator.com/item?id=41309281
- roshankhan28 2y agofinally someone did it! i was wondering why we stopped at ps3 emulators, now i can run ps4 games on pc aswell! but would love to know whats holding the devs back.
- sureIy 2y ago> whats holding the devs back Complexity. I'm amazed that anyone would even be able to single-handedly emulate such a different architecture like PS3
- jamesgeck0 2y agoNot sure about PlayStation, but the last two generations of Xbox have been some of the most secure consumer devices available. I imagine the difficulty of breaking into and analyzing the system has been a factor.
- Cthulhu_ 2y agoIs there a design document or some other resource that highlights prior art / previous attempts, and why this one is different?
- zombot 2y agoThis is so cool! How do you get a Mac to read a PS4 game storage medium?
- HideousKojima 2y agoCan't speak with 100% authority about the PS4 in particular, but for most modern consoles (from roughly the Xbox/PS2/Gamecube generation onward) the easiest way to dump a game disc/cartridge is to have a hacked/modified console that decrypts and dumps the game data for you.
- calebj0seph 2y agoGenuine question - under the hood is this more of an emulator like PCSX2 or a compatibility layer like Wine? Since the PS4 is more or less an x86 computer, I imagine most of the hard work would be implementing the system/graphics APIs of the PS4. Or are there major hardware differences between an x86 PC and the PS4 that also need to be handled?
- ultimaweapon 2y agoMost PS4 emulators work in the same way as Wine.
- calebj0seph 2y agoMakes sense! Slightly amusing given that originally Wine was a recursive acronym for "Wine is not an emulator".
- ahartmetz 2y agoWell, it's not a CPU (or other hardware) emulator. Console emulators usually are... or used to be, before all the x86 based consoles.
- asddubs 2y agoI believe it was originally WINdows Emulator and was later changed to better communicate how it works under the hood
- kimbernator 2y agoAs is the case with many recursive acronyms, based on this page: https://en.wikipedia.org/wiki/Recursive_acronym https://en.wikipedia.org/wiki/Recursive_acronym
- giancarlostoro 2y agoI'm guessing they had to get rid of "Windows" from the name?
- throwaway918299 2y agothe dream of finally being able to play Bloodborne on PC is within reach
- deisteve 2y agogran turismo for me on PC online maybe we can play gt2 remastered online
- deelowe 2y agoI’m curious. Is emulation development becoming easier these days now that modern consoles are essentially stripped down pc systems.
- Keyframe 2y agoyes, and when generations share same-ish architecture it goes even faster.
- ultimaweapon 2y agoI don't know about the older generation so I'll explain how PS4 emulation can be achieve. The first step is to understand how the console run the game. The good news is the PS4 has been hacked and almost all of its file and information has been decrypted and dumped. The official PS4 SDK also leaked. Now we know how the console run the game. The next step is how to use this information run the game outside the console. The good news is PS4 system is just a modified version of FreeBSD, which mean how it works is very similar to the PC. A PS4 executable is just a custom ELF file. So to run a PS4 game outside the console we need to manually map the game executable and provide the symbol it needed somehow (e.g. a custom implementation or reuse the PS4 library).
- lxgr 2y agoWhile that might be true for the CPU side, that description is omitting a ton of complexity on the GPU side this project must be doing.
- fasa99 2y agoExactly. I will make explain more how PS4 emulator can be achieve. First, you can make the whole universe. You need a universe for PS4 to live in. Then, you make do PS4 emulator. Now you have achieve.
- eddieroger 2y agoWe also have better access to others doing the same thing thanks to the Internet, and better and more computing power to figure out how these things work. But I imagine better access to information is a big driver.
- glitchc 2y agoToo soon. The PS4 is still an active platform with new games being released. This will get shut down right away.
- rowanG077 2y agoWhat? Why does that matter? Even Nintendo knows it has to leave ryuujinx alone. And switch is even a current platform.
- dfxm12 2y agoShut down by whom? For what reason? What's usually illegal in these cases is distributing games and BIOS roms. Making and distributing things like emulators seems to be OK legally. I'm pretty sure this was tested in court via Sony's lawsuits against Bleem, but I understand there are always finer points that may not be apparent. Also interesting and only tangentially related is that MAME used to have a rule about not supporting games within 2 years of release.
- WhereIsTheTruth 2y ago[flagged]
- Matticus_Rex 2y agoBad news about the frequency of this trait
- commodoreboxer 2y agoWhat is the frequency? I haven't read much on it. Honestly, I'm not sure the frequency needs to be extraordinarily high. The ability to get rid of the "but think of all the jobs that will be lost" argument lets us get rid of swaths of bullshit jobs that don't need to exist, or even actually harmful jobs. It's been a constant roadblock to greater automation.
- Zambyte 2y agoBad news about the frequency of having the resources to exercise this trait
- ammar-DLL 2y agowhat is UBI ?
- atlasduo 2y ago[flagged]
- tester457 2y agoThere is a payment here, it's reputation. The hard part is getting people to do exhausting, boring, smelly mundane tasks that don't garner applause. Those tasks are more numerous by orders of magnitude, until we achieve post-scarcity.
- bob1029 2y ago> The hard part is getting people to do exhausting, boring, smelly mundane tasks that don't garner applause. For example, further polishing this emulator implementation to be compatible with a larger range of titles and host system configurations. At some point, it always becomes a job.
- justmarc 2y agoAwesome work. Emulators are in many ways some of the coolest things one can build.
- sergiotapia 2y agoLatest progress for Bloodborne (what 99% of people are waiting for): This is the dev's youtube: https://www.youtube.com/watch?v=wC6s0avpQRE https://www.youtube.com/watch?v=wC6s0avpQRE I wonder what the hell Sony is doing still neglecting, almost vindictively, this S-tier culturally significant game. Are they waiting to use it for a launch PS6 title or what?
- Blot2882 2y agoAlways enjoyed Sony games. I will not forget that Sony didn't make the PS4 backwards compatible, claiming no one cared about that, and then later offered the ability to play older games via their subscription-based PSNOW service. You can download some of them, but others can only be streamed and you need to have a good internet connection to play a PS2 game. Ridiculous. There will always be a demand for playing older games, hence emulators like this.
- lepetitchef 2y agoI have a Logitech G29 Driving Force Racing Wheel and Floor Pedals. Do they compatible with this PS4 emulator?
- WhereIsTheTruth 2y ago[flagged]
- WhereIsTheTruth 2y agoThis tells you how hard people are willing to work on difficult tasks without getting paid A case study in favor of UBI Read my profile, next up is a ban And we go agane Five Eyes or not
- fngjdflmdflg 2y agoDoes this mean they created a DXVK equivalent for Gnm/Gnmx?[0] [0] https://en.wikipedia.org/wiki/PlayStation_4_system_software#System https://en.wikipedia.org/wiki/PlayStation_4_system_software#...
- foresto 2y agoThis reminds me that another PS4 emulator, called Spine, got some attention a couple years ago. I wonder what happened to that project. https://github.com/devofspine/spine https://github.com/devofspine/spine (No source code. Just binaries.)