[HN Gopher] RPCS3 - Open Source Playstation 3 Emulator
       ___________________________________________________________________
        
       RPCS3 - Open Source Playstation 3 Emulator
        
       Author : notmysql_
       Score  : 282 points
       Date   : 2023-07-12 04:31 UTC (18 hours ago)
        
 (HTM) web link (rpcs3.net)
 (TXT) w3m dump (rpcs3.net)
        
       | jl6 wrote:
       | Am I right in thinking that the PS4 and Xbox One (and later)
       | consoles and should be easier to emulate by virtue of being based
       | on a more standard x86 architecture?
        
         | easyThrowaway wrote:
         | Sure, but we're still talking about customized SoCs, with some
         | additional silicon in there for extra audio and video DSPs.
         | Also I'd bet that even on modern architectures most console
         | games (or their base libraries) still require precise timing on
         | the side of memory access, CPU stalls, instruction cycles,
         | available bandwidth, etc.
         | 
         | Once you start requiring per-cycle emulation of any of those
         | components we lose any advantages from having any kind of
         | paravirtualization elsewhere.
        
         | djxfade wrote:
         | Perhaps, but not necessarily. The original Xbox was based on
         | mostly off the shelf PC hardware of its early, Intel Celeron,
         | standard motherboard architecture (mostly), Nvidia GPU, and
         | regular IDE hdd. But it's only in the past few years we have
         | begun to see working emulators.
        
           | als0 wrote:
           | I've always wondered whether that was because of technical
           | challenges or just lack of interest. After all, nearly all
           | games on Xbox were available either on PC or other consoles.
           | I can remember a few exclusives like Blinx, Conker, Far Cry
           | Instincts...
        
             | Shekelphile wrote:
             | 100% lack of interest. There's been like 5 people total in
             | the og xbox emu scene in the last 10 years, one of them
             | didn't even do any actual work besides getting mad in
             | reddit comments (jayfoxrox) and another put all his effort
             | into working on an hle/binary translation emulator which by
             | definition cannot work with half the library of games as
             | xbox api and dx api calls are inlined in those games.
        
               | MegaDeKay wrote:
               | Matt really saved the day when he started up xemu from
               | xqemu. It was advancing by leaps and bounds there for a
               | while but has slowed down once again over the last year.
               | I'm hoping it picks up steam once again.
        
           | ericlewis wrote:
           | Pentium III no?
        
             | fredoralive wrote:
             | Because the Xbox "Coppermine" CPU has the same L2 cache
             | size as a "Coppermine" Celeron (the main differentiator
             | between Pentium and Celeron at the time), the Xbox CPU is
             | sometimes called a Celeron instead of a Pentium III. The
             | Xbox chip retains 8 way cache associativity of a
             | "Coppermine" Pentium III instead of the 4 way that Celeron
             | has, so it's not quite what you'd get with a PC Celeron
             | chip. Ultimately this configuration is only used in the
             | Xbox, so if Intel and Microsoft want to call it a Pentium
             | III I guess that's what it is.
        
         | _kbh_ wrote:
         | > Am I right in thinking that the PS4 and Xbox One (and later)
         | consoles and should be easier to emulate by virtue of being
         | based on a more standard x86 architecture?
         | 
         | Easier to emulate to a working state, but potentially harder to
         | emulate to good performance if a game uses any of the quirks of
         | a modern console like the high bandwidth shared memory, fast
         | storage, custom hardware, etc.
        
         | tourmalinetaco wrote:
         | Yes, in fact the PS4 is beginning to see HLE with various
         | emulators, most notably fpPS4 (free pascal PS4).
         | 
         | https://github.com/red-prig/fpPS4
        
       | pipeline_peak wrote:
       | > Motorstorm at 60 fps
       | 
       | I just remembered how undesirable the ps3 was when it came out.
       | Then as blu ray depreciated as a consumer media format the
       | console slowly became a less popular Xbox 360
        
       | gbraad wrote:
       | Would be cool if this runs as UWP on an Xbox :-D
       | 
       | the irony of compatibility and homebrew development.
        
       | apozem wrote:
       | I recently purchased an old Guitar Hero controller and connected
       | it to RPCS3 emulating Rock Band 3. It worked shockingly well. It
       | felt like playing on a real PS3.
       | 
       | This is a super impressive achievement from the RPCS3 team,
       | because rhythm games are horrible with even a little latency.
        
         | callalex wrote:
         | You may be interested in Clone Hero.
        
           | Nouser76 wrote:
           | I recently installed Clone Hero, with my only PC Guitar Hero-
           | like experience being Frets on Fire probably 15 years ago,
           | and I was blown away by how it felt exactly like Guitar Hero.
           | 
           | FoF felt so clunky whereas Clone Hero is a delight. It
           | handled high FPS well, the song interface looked exactly like
           | Guitar Hero, and the customizability is the icing on top. The
           | community has ported over basically every song from every
           | Rock Band or Guitar Hero game, so there's more than enough
           | content. Clone Hero was so smooth I bought a wireless
           | receiver to use my old Rock Band drums and play with my wife.
           | It's a blast!
        
           | apozem wrote:
           | I have tried Clone Hero and frankly it drove me to RB3. It's
           | fine if you just want to shred, but my god that UI is
           | hideous. Zero polish. It absolutely feels like an amateur fan
           | project next to RB3.
        
       | NayamAmarshe wrote:
       | This is honestly one of the best emulators ever made! Uncharted 3
       | was amazing, thank you RPCS3!
        
       | alias_neo wrote:
       | I still have a collection of cherry-picked PS3 games I kept so
       | that I could play them one day, upscaled and potentially at
       | better performance than the PS3 was capable of.
       | 
       | Despite having hardware that could now play those better than a
       | PS3 using this emulator, I can't get the games from the discs;
       | When my OG 60GB PS3 died I disposed of it and got a slim, which
       | also died, so I bought a new slim, which as far as I can tell now
       | can't/hasn't been hacked, so there's no way to dump my disks.
       | 
       | I wasn't too lucky with PS3s to have had so many; I _still_ have
       | my original childhood PS1, sold both my PS2s (OG and Satin
       | Silver) to fund other purchases as a kid, gave away my PS4 to my
       | nephew (who tore it down and couldn't reassemble it) when I got
       | PS5. Same generation as PS3, my 360 also died.
        
         | VyseofArcadia wrote:
         | Why not buy a compatiple blu ray drive and dump them on your
         | PC?
        
           | alias_neo wrote:
           | I hadn't considered that; It's been a _while_ since I've had
           | a PC with a disc drive; thanks for the suggestion!
        
             | leetbulb wrote:
             | This page[0] describes how you can accomplish this.
             | 
             | [0] https://rpcs3.net/quickstart
        
       | 0x00000000 wrote:
       | I wonder if the PS5 could emulate the PS3 with reasonable
       | performance. It's sad that Sony seems to have just abandoned 90%
       | of their library rather than putting forth the investment to
       | develop and maintain their emulators like Microsoft has.
        
       | atahanacar wrote:
       | For some reason, I am very fascinated by the architecture of PS3.
       | Its complexity makes RPCS3 the most impressive emulator in my
       | eyes. Though to be fair, all emulators are impressive one way or
       | another.
        
         | xattt wrote:
         | One of the hooks of the PS3 architecture was that it sported a
         | core count greater than 2 in consumer hardware (albeit as a
         | very simplified core).
         | 
         | Rumours about Intel Larrabee were also flying around at the
         | time, so it seemed like the future was here.
        
         | zirgs wrote:
         | The architecture is unnecessarily complicated and it turned out
         | to be dead end. Which is why SONY dropped it and now uses x86
         | like everyone else.
        
           | opan wrote:
           | Everything from this generation (PS3's Cell included) was
           | some sort of PowerPC, many previous gens also had consoles
           | using PPC or MIPS. Sony and MS went x86 during the same
           | generation (PS4 and Xbox One). Nintendo went from PPC to ARM
           | (though arguably they'd already used ARM for a while because
           | of their handheld stuff).
        
             | jwells89 wrote:
             | Fun fact about the 360, MS bought a bunch of PowerMac G5
             | towers and installed a PPC build of Windows XP on them to
             | turn them into Xbox 360 dev kits. Makes sense because those
             | were the most readily available and most cost effective PPC
             | boxes at the time, but kind of funny.
        
             | fluoridation wrote:
             | I believe the GP is referring to the entire computer
             | architecture, not the instruction set architecture. I seem
             | to recall that it had three distinct heterogenous
             | processors that had to be coordinated to get the most out
             | of the system, so porting from, say, PC to PS5 wasn't
             | necessarily straightforward, without leaving performance on
             | the table.
        
               | ChoGGi wrote:
               | The xbox 360 was the one with the triple CPU, PS3 had the
               | odd combo of one "main" CPU and 7 auxiliary ones.
        
               | hughesjj wrote:
               | Iirc there were 8 chiplets on the cell die, one was
               | disabled for yield rate and one was dedicated to the os
               | itself, leaving 6 of them for gaming.
               | 
               | Then they had the super riced out rsx (Nvidia GeForce
               | 7000 series) for the GPU, but there wasn't really a
               | "main" CPU was there?
        
               | fredoralive wrote:
               | The Cell had a PowerPC core (the Power Processing
               | Element) as its main CPU, alongside the Synergistic
               | Processing Element co-processor units.
        
               | fluoridation wrote:
               | I think the 360 had a regular homogeneous tricore CPU, so
               | programming it was just normal multithread programming.
               | As you say the PS3 had several auxiliary processors that
               | all needed to be told what to do in specific, non-
               | portable ways, which is what made it inconvenient to work
               | with.
        
             | ericlewis wrote:
             | OG Xbox was x86 and was released similar time as PS2.
             | 
             | Then they went PPC for 360.
             | 
             | And now back to x86.
        
           | RockRobotRock wrote:
           | Developers had to be more creative when the hardware shaped
           | the kind of game you were making. that's what's fascinating
           | to me
        
             | zirgs wrote:
             | In practice it made multiplatform games to look and run
             | worse. For example - GTA IV ran @ 720p on x360, but only @
             | 640p on the PS3.
             | 
             | Another reason why both the PS and XBox use basically the
             | same hardware under the hood.
        
               | captainbland wrote:
               | I think the other aspect as well is that the 360 ended up
               | with the somewhat better GPU in Xenos.
               | 
               | I'm not sure if it was obvious at the time in-between the
               | Cell BE and "reality synthesiser" marketing etc. but I
               | understand that gave the 360 an edge in a lot of cross-
               | platform titles.
               | 
               | I think this really influenced the design of the PS4
               | which actually had a really weak Jaguar CPU but a solid
               | GPU in its APU.
        
             | fluoridation wrote:
             | On the other hand, weird hardware architectures are the
             | worst from a preservation standpoint. If no one had made a
             | PS3 emulator, MGS4 was at serious risk of becoming lost
             | media.
        
               | jmkni wrote:
               | Is MGS4 really that difficult to port to a different
               | architecture?
        
               | fluoridation wrote:
               | I don't see Konami interested in doing that anymore, and
               | I don't see how else it could happen.
        
               | xienze wrote:
               | They're releasing a "volume 1" collection of MGS games
               | soon, which contains up to MGS3. Presumably MGS4 will be
               | in volume 2.
        
               | fluoridation wrote:
               | I had no idea. Apparently it's coming to PC. Here's
               | hoping I can finally play MGS4 on PC, as well.
        
               | zirgs wrote:
               | They announced a MGS3 remake recently. So they might
               | remake MGS4 as well.
        
           | Narishma wrote:
           | IMO they went AMD because that was the only real option left.
           | PPC was dead by then outside of big IBM servers and ARM was
           | just getting into low-end x86 performance levels. If PPC was
           | still getting improved in the embedded space I think they
           | might have went that way for backwards compatibility reasons.
        
             | wmf wrote:
             | IBM put in a bid for PS4 (based on Power7 IIRC) but it
             | wasn't selected. I think the convenience of getting
             | everything from AMD helped them take over consoles.
        
             | MegaDeKay wrote:
             | AMD was also able to offer up an APU (GPU integrated with
             | CPU) vs separate chips that would have increased cost and
             | complexity.
        
         | derstander wrote:
         | > For some reason, I am very fascinated by the architecture of
         | PS3.
         | 
         | You're not alone. I also am enchanted by non-standard
         | architectures: the PS3's Cell, its predecessor the PS2's
         | Emotion Engine, the Transmeta Crusoe, etc.
         | 
         | There's a sibling comment to mine that talks about needless
         | complication and dead-ends. That's fine, but marching along
         | with essentially optimizations to a basic architecture seems
         | boring to me from a creative point of view (not that the
         | achievements made haven't been, of course, profoundly
         | technically impressive).
         | 
         | And that's on top of the fact the designing computer
         | architectures can probably be thought of as a huge
         | multidimensional optimization problem (where optimal can change
         | over time or between customer demographics). I think of the
         | approach of iterating as helping us march up that manifold to a
         | local maxima. I think of these "exotic" architectures as
         | sampling far away from those points to see if maybe we can find
         | a more global maxima.
         | 
         | And that's not to say that the main platforms aren't
         | innovating: with big-little, NUMA, etc.
         | 
         | But there's a soft spot in my heart for those wild, long shot
         | bets.
        
       | pmarreck wrote:
       | Eventually, people will learn that dulling enthusiasm for a thing
       | by limiting it to only people who can afford it is actually more
       | hurtful to your success in the long run. There's literally
       | millions of kids who can't afford your concert
       | ticket/game/movie/whatever but who would become lifelong fans if
       | they could experience the thing NOW.
        
         | basro wrote:
         | So, how do you suggest a company would make profit while also
         | not limiting to people who can afford paying for the product?
         | 
         | If you are thinking of the free to play model with
         | microtransactions, I do not think that it would work as well
         | for single player games.
        
         | dagmx wrote:
         | It's not like what you said hasn't been tried by various
         | companies. The most successful product ecosystems however have
         | been the ones that can say:
         | 
         | - hey devs, we have hardware that is known that you can
         | optimize for and don't need to troubleshoot against untold
         | permutations of random hardware
         | 
         | - hey gamers we give you a consistent experience on here
         | without having to think about settings and debugging drivers
         | 
         | - hey investors, when people buy into our ecosystem for even
         | one game, they're more likely to buy even more games within
         | that platform
         | 
         | That's a lot of wins that overshadow the potential of wider
         | sales. often wide isn't as lucrative as focused.
        
       | mouse_ wrote:
       | good project. Much better than PCSX2.
        
         | AdammadA wrote:
         | Stenzek who created the duckstation emulator moved over to
         | PCSX2 and the updates from him and others have made that
         | emulator really impressive in my humble opinion. It just seems
         | a bit odd to make a comparison like this. Is there something
         | i'm missing as to why you would compare either?
        
           | mijoharas wrote:
           | That sounds interesting, and I've enjoyed reading the deep
           | dives into dolphin emulation. Could you share a link to
           | these?
        
             | AdammadA wrote:
             | Its basically changelog notes with each update to the
             | emulator ( usually daily ) and has been very active in
             | recent years. You can also find a wealth of information and
             | upates of various computer and console emulators on reddit
             | r/emulation and that'll have what i think you are looking
             | for.
        
         | DoItToMe81 wrote:
         | I'd agree with you a few years ago, but PCSX2 has made leaps
         | and bounds since then. It's quite good now, maybe one of the
         | best.
        
         | mnd999 wrote:
         | PCSX2 can run Burnout 3 though. What else do you need?
         | 
         | But this is seriously impressive. Modern Vintage Gamer has done
         | some nice YouTube videos on it.
        
       | dang wrote:
       | Related. Others?
       | 
       |  _Playstation 3 Emulator Adds AMD FSR Upscaling_ -
       | https://news.ycombinator.com/item?id=28114817 - Aug 2021 (1
       | comment)
       | 
       |  _RPCS3 Inside Look: A Deep-Dive into Hardware and Performance
       | Scaling_ - https://news.ycombinator.com/item?id=24247586 - Aug
       | 2020 (11 comments)
       | 
       |  _RPCS3 PS3 Emulator - January 2019 Progress Report_ -
       | https://news.ycombinator.com/item?id=19415445 - March 2019 (61
       | comments)
       | 
       |  _RPCS3: An open-source PlayStation 3 emulator for Windows
       | written in C++_ - https://news.ycombinator.com/item?id=7457764 -
       | March 2014 (48 comments)
       | 
       | (note: links to past threads like the above are just to satisfy
       | extra-curious readers)
        
       | Al0neStar wrote:
       | This CPU tier list by the r/rpcs3 sub should be helpful
       | (specifically the "What do i buy" tab) :
       | 
       | https://docs.google.com/spreadsheets/u/0/d/1Rpq_2D4Rf3g6O-x2...
        
         | dataflow360 wrote:
         | No mentions of Apple Silicon, and a quick Googling didn't
         | reveal much. Anyone have insight or experience?
         | 
         | Asking for an M1 Max 64GB ;)
        
           | BolexNOLA wrote:
           | Check out apple's recently announced game porting tool kit
        
           | Al0neStar wrote:
           | According to this video, setting it up and running the games
           | shouldn't be a bottleneck, but performance isn't going to be
           | very good. He's using the M2 pro and you can still see/feel
           | the slowdown.
           | 
           | https://youtu.be/YnDAkZLXkPA?t=603
        
           | smcl wrote:
           | You could just try it out and document your experience
           | somewhere
        
           | Shekelphile wrote:
           | I haven't looked at RPCS3's codebase in quite a few years at
           | this point but when I last did there was still a bunch of x86
           | specific stuff that prevents it from being buildable for
           | aarch, if it compiles and runs at all you will be stuck with
           | having to use rosetta and moltenvk translation layers so
           | performance is gonna suck.
        
           | leetbulb wrote:
           | I'm trying this out on an M1 Air and while the emulator
           | itself works great, performance is very lacking.
        
         | arghwhat wrote:
         | Lacks 7000 series Ryzen...
        
           | hughesjj wrote:
           | Also all threadrippers
        
           | askiiart wrote:
           | Note that Ryzen 7000 is only missing in the tier list tab,
           | not the "what do I buy?" one.
        
       | dottjt wrote:
       | The fact they managed to achieve this astounds me.
       | 
       | I grew up with the PS3 as a teenager, and I just remember being
       | told how complex the architecture was, as well as just how
       | powerful the system was. Keep in mind, the US Air force connected
       | 1000+ of these together for super computing purposes.
       | 
       | ...and now a large part of it has been emulated to a high degree
       | and it kind of blows my mind. Will be crazy to think that the ps5
       | will likely be emulated on a computer within the next 20 years;
       | perhaps easier so because of the simpler architecture.
        
         | jerf wrote:
         | "Keep in mind, the US Air force connected 1000+ of these
         | together for super computing purposes."
         | 
         | Which I have long suspected was just a marketing stunt, because
         | even at the time it made no sense. Even on the day of release,
         | the PS3 was merely right where we'd expect a console of the
         | time to perform. No better, and certainly not _massively_
         | better.
         | 
         | My hat's off to Sony for the quality of their propaganda around
         | the PS3. Lots of people still seem to believe it was something
         | amazing, rather than... a console, which worked about as well
         | as expected. Honestly I'd rate it a bit under par when
         | evaluated objectively, in their zeal to pump up some of their
         | metrics they trashed some other ones like the way memory access
         | works in that system. They'd probably have been better off with
         | a more traditional architecture in the end.
        
         | fulafel wrote:
         | The hw is tricky to program (eg SPUs can't directly access main
         | memory), but not necessarily hard to implement.
        
         | Wingy wrote:
         | The PS5 is already emulated on computers today to some degree.
         | Kyty doesn't run any commercial PS5 games but it can run some
         | homebrew PS5 apps.
        
           | kevincox wrote:
           | The PS5 is basically a regular old desktop computer. The PS3
           | has a quite unique multi-"cell" architecture.
        
             | hypercube33 wrote:
             | PS5 and Xbox SX are AMD Ryzen 4000 series x86 and a GPU
             | slapped on a die with some memory so emulation isnt so far
             | off
        
               | dagmx wrote:
               | The original Xbox proved that hardware similarity doesn't
               | necessarily make emulation easy. It took a long while for
               | OG Xbox emulation to be decent , and that was with it
               | using fairly commodity hardware and a very DirectX api.
               | 
               | The PS5 has custom APIs that would need to be reversed
               | out, especially graphics APIs. It also has a large-ish
               | pool of shared memory that makes it difficult to map to
               | most PCs which don't have that setup.
               | 
               | There's several custom hardware blocks for bespoke
               | decompression that are routinely used and the equivalent
               | to direct storage to speed up resource access.
               | 
               | It's not impossible to port those games over as has been
               | seen, but it's also not easy to emulate that if the
               | specific game builds make use of those features (and many
               | many games do)
        
               | xienze wrote:
               | I think what we'll likely see is that it's (relatively)
               | easy to get PS5 games running in a PC emulator, but
               | running them _well_ will take ages. Primarily because PCs
               | will have to be able to out-horsepower the PS5 by a wide
               | margin to make up for things like the shared memory
               | setup, texture streaming stuff, etc.
        
               | dagmx wrote:
               | It would be interesting to me to see an emulator that
               | specifically required APUs to run to not have to design
               | around the unshared memory pool of a discrete GPU.
               | 
               | Either an AMD APU or, if Rosetta sticks around, the Apple
               | Silicon chips.
        
               | jwells89 wrote:
               | Yeah, PS5 games expect to have up to 16GB of VRAM
               | available, and thanks to GPU vendors being stingy with
               | VRAM to upsell to get that you'd need to buy expensive
               | high end cards.
               | 
               | But that doesn't do anything to help with the PS5's
               | shared memory architecture, where because VRAM and RAM
               | are one in the same, textures that need to be in memory
               | aren't duplicated between RAM and VRAM like on bog
               | standard PCs, which has performance implications.
               | 
               | Windows has support for streaming assets directly from
               | SSDs like the PS5 does now (at least if you have a fast
               | enough NVMe SSD installed, SATA SSDs or older NVMe drives
               | won't cut it), but PCs still lack the hardware texture
               | decompression of the PS5 which once again impacts
               | performance.
               | 
               | The mass market computers closest in architecture to PS5s
               | are actually M-series Macs, with how they also have a
               | large pool of memory serving as both RAM and VRAM. Once
               | the integrated GPUs on M-series SoCs achieves parity with
               | the PS5's onboard Radeon, they might actually be the most
               | straightforward to emulate a PS5 on despite needing
               | x86-to-ARM translation.
        
               | dagmx wrote:
               | Excellent points on memory architecture. Though I'd posit
               | that the non-base M series GPUs are actually already
               | equal or higher performing than the fairly aging Radeons
               | on a PS4/5, depending on the respective SKUs
               | 
               | The wild cards will be translation overhead , differences
               | in TBDR access and thermal headroom.
        
               | smoldesu wrote:
               | > PCs still lack the hardware texture decompression of
               | the PS5 which once again impacts performance.
               | 
               | They might not implement it the same, but hardware-
               | accelerated texture decompression has been around on PC
               | for as long as SIMD has existed. With tech like ATSC
               | floating around I'm not sure if it's appropriate to say
               | PCs really "lack" the technology.
               | 
               | > they might actually be the most straightforward to
               | emulate a PS5 on despite needing x86-to-ARM translation.
               | 
               | The problem with Apple Silicon is that nobody wants to
               | use Metal. The big Switch emulator Yuzu _should_ have
               | also been a perfect fit for Apple Silicon too, but it
               | took years to get  "ported" and the end result used
               | MoltenVK for the GPU API. Now that it's here, systems
               | like the Steam Deck are hitting 60fps where M2 struggles
               | to hold 50:
               | 
               | https://youtu.be/pubEj1yLknI?t=414
               | 
               | https://youtu.be/5BeYYuLnS3I
               | 
               | It would be cool to see, but nothing I've witnessed
               | surrounding these sorts of emulators suggests that will
               | be the case.
        
               | jwells89 wrote:
               | At the end of the day it all depends on the will of the
               | individuals involved with the projects. Dolphin got a
               | native Metal port for instance.
        
               | pjmlp wrote:
               | > The problem with Apple Silicon is that nobody wants to
               | use Metal.
               | 
               | iOS games market begs to differ.
        
               | smoldesu wrote:
               | The iOS games market speaks for itself. It's littered
               | with freemium games and low-effort asset flips, the
               | number of shitty 2D lottery/lootbox games outnumber
               | _Monument Valley_ s 100:1.
               | 
               | The vast majority of substantial game experiences are not
               | getting ported to iOS. The reason for this is mostly
               | Metal-related. Apple has acknowledged this themselves on
               | many occasions, like the last WWDC with their Game
               | Porting Toolkit.
        
               | dagmx wrote:
               | Why weren't they getting ported before Metal when OpenGL
               | 3.1 was still at parity with the rest of the industry?
               | 
               | The graphics API is not the significant portion of the
               | porting issue. It's market share and the fact that until
               | recently, very few Macs by market share had great GPUs.
               | 
               | The game porting toolkit works alongside wine and Rosetta
               | to make time to first pixel easier for developers to
               | consider the platform.
               | 
               | Regardless of metal or not, time to first pixel and
               | consistency of hardware has always been the biggest
               | hurdle. Most big engines support metal just fine already,
               | so it's not the primary hurdle people claim otherwise
               | we'd see more unreal and Unity games running natively on
               | Mac's.
               | 
               | Now every Mac has a decent GPU (for some definition of
               | decent) with very similar hardware.
        
               | smoldesu wrote:
               | > Why weren't they getting ported before Metal when
               | OpenGL 3.1 was still at parity with the rest of the
               | industry?
               | 
               | They were. The number of OpenGL games was minuscule
               | though, and Apple's underlying APIs have broken now,
               | rendering most of these games unplayable. Apple doesn't
               | really provide a stable gaming runtime, outside of the
               | DirectX-like promise that if you use their proprietary
               | APIs they won't depreciate them.
               | 
               | > The game porting toolkit works alongside wine and
               | Rosetta to make time to first pixel easier for developers
               | to consider the platform.
               | 
               | See, that's the thing. "time to first pixel" was an issue
               | because of Apple's APIs. If you translate non-native
               | program calls into native ones, then obviously you
               | circumvent the problem.
               | 
               |  _Furthermore_ , the reason why Game Porting Toolkit
               | didn't exist _before now_ was because Apple had to write
               | a Metal translator for DirectX. The community never wrote
               | one like they did for Vulkan, likely because nobody wants
               | to translate DirectX to a second proprietary API. Kinda
               | defeats the purpose, at least for non-commercial
               | contributors.
               | 
               | > Most big engines support metal just fine already, so
               | it's not the primary hurdle people claim otherwise we'd
               | see more unreal and Unity games running natively on
               | Mac's.
               | 
               | Most big engines also support PS5 and Nintendo Switch as
               | development targets. The reason why they are relatively
               | unpopular for porting is the _exact same_ as Apple 's -
               | the APIs are nonstandard and closed, with limited
               | distribution and long-term support options. Why would
               | anyone put in the majority of their effort to support a
               | minority of the market?
        
               | dagmx wrote:
               | The number of Mac metal games is about the same as the
               | number of Mac OpenGL games. Which is to say minuscule
               | like you said, but all that shows is that it's not about
               | the APIs or we'd see Unity/Unreal games a plenty.
               | 
               | It's just down to market share. Time to first pixel still
               | matters for off the shelf engine based games because devs
               | need to get over the hump of building it etc let alone
               | consider all the possible hypotheticals of how it works,
               | even before they get to APIs.
               | 
               | Game porting toolkit solves that. It's not meant as a
               | general purpose translator , just to get people over that
               | hump
               | 
               | And again it's just down to market share. There are
               | plenty of AAA games on iOS that use the same engines as
               | PC games without having Mac versions. Take the Call of
               | Duty games for iOS. Why wasn't there prevalent CoD on
               | macOS?
               | 
               | All that proves to me is that APIs aren't the primary
               | reason.
        
               | pjmlp wrote:
               | PS5 and Nintendo Switch unpopular?!?
               | 
               | The first and second champions of game sales of this
               | decade!
               | 
               | What a joke, thanks for making my day.
               | 
               | By the way, game studios don't have any issue
               | translanting DirectX to LibGNM/X and NVN.
        
               | dagmx wrote:
               | Exactly. They'll do what they need to do for any market
               | they deem to have an adequate ROI.
               | 
               | I always point to Linux when people mention APIs being
               | the issue. Linux gaming was depressing before Proton,
               | despite having both Vulkan and up to date OpenGL. Devs
               | could have supported them but didn't. So the API isn't
               | the big reason people make it out to be
        
               | smoldesu wrote:
               | Linux actually seems like the antithesis of your point.
               | It has the lowest ROI of any of the platforms we've
               | mentioned, yet the highest degree of compatibility with
               | PC and console games outside Windows. If openness and API
               | support _isn 't_ the issue, then why didn't DXVK get
               | written for Apple platforms first?
        
               | smoldesu wrote:
               | > PS5 and Nintendo Switch unpopular?!?
               | 
               | >> for porting
               | 
               | I don't think my statement is wrong. People don't like
               | porting to Switch or Playstation 5, there's a significant
               | amount of development and testing overhead required to
               | support either platform. The Switch has a decently
               | popular SDK backed with Nvidia drivers, but requires
               | deliberate ARM ports and very carefully written Vulkan
               | code (if any). The PS5 is a little friendlier to PC-first
               | devs, but still has a unique runtime and zero options for
               | DirectX code. Both platforms require fairly bespoke
               | versions of your game, compared to the "press play"
               | porting experience of the Deck or API parity of modern
               | DirectX on Xbox.
               | 
               | I wish the situation was better for these platforms, but
               | they reap what they sow when they make highly exclusive
               | SDKs and resist open specification.
               | 
               | > By the way, game studios don't have any issue
               | translanting DirectX to LibGNM/X and NVN.
               | 
               | Are there DirectX translators a-la DXVK for GNM and NVN?
               | As far as I'm aware, porting from DirectX has to be done
               | by-hand unless you're using an IR language like SPIR-V
               | (at which point you may as well use native Vulkan).
        
               | pjmlp wrote:
               | I would advise to spend some time in developer
               | conferences like GDC, GDCE, PAX.
               | 
               | The only people that don't like porting APIs are usually
               | indie devs in some FOSS forums, proper game studios have
               | hardly any issues dealing with multiple backeds.
               | 
               | Doing game engines with pluggabble backends has several
               | decades of industry experience since Atari and
               | ColecoVision.
               | 
               | Games IP, game design and getting good publishing deals
               | is what matters, not the 3D APU du jour.
               | 
               | As for shaders, usually there is either an internal
               | language, shader graphs, or chosing a specific one, with
               | a translation layer in the middle.
               | 
               | There is no native Vulkan on Playstation, and in what
               | concerns Switch, Vulkan and OpenGL aren't as used as FOSS
               | folks think.
        
               | pjmlp wrote:
               | Their Game Porting Toolkit is mostly about macOS.
               | 
               | There are plenty of AAA studios with iOS games,
               | regardless if you like their business model or not.
        
               | dagmx wrote:
               | You're conflating texture compression like ATSC with
               | generic resource compression.
               | 
               | https://gamingbolt.com/former-frostbite-software-
               | engineer-ex...
               | 
               | Kraken is a generic resource compressor while Oodle is
               | closer to ASTC
        
               | zirgs wrote:
               | OG Xbox took so long, because most of its exclusives were
               | also available on PC. Halo 1 & 2, for example. So there
               | wasn't much interest. Developers focused on more
               | interesting systems like the PS2 and the GameCube at the
               | time.
        
               | wolrah wrote:
               | Also OG Xboxes were cheap and trivial to mod including
               | converting in to debug consoles, so the homebrew
               | community that often drives emulation didn't have as much
               | reason to care. They could just install a debug BIOS,
               | find a copy of the XDK floating around the ol' interwebs,
               | and have basically the same toolset commercial game
               | developers had.
               | 
               | Now that unmodified OG Xboxes are being irreparably
               | damaged by failing clock capacitors and the used market
               | is drying up as a result the people who still care about
               | the platform have more reason to want a good emulator.
        
             | xela79 wrote:
             | I can really recommend this tech talk regarding PS4 and PS5
             | hardware by their lead hardware architect
             | https://www.youtube.com/watch?v=ph8LyNIT9sg
             | 
             | some really interesting topics related to what kind of
             | performance they wanted as a baseline and how to optimize
             | to make the PS5 do what it currently does... like no other
             | platform.
             | 
             | a $700 console that:
             | 
             | - outputs 4k / HDR (upscaled from lower native res. ofc)
             | 
             | - renders games steadily at 30 / 60fps
             | 
             | - no hitches, framedrops
             | 
             | - always records your gameplay
             | 
             | - live video sharing of stream with PS friends
             | 
             | - live streaming to youtube
             | 
             | - updates of games being installed
             | 
             | - downloads of games/data
             | 
             | all simultaneous, instant game switches, quick loading
             | times. the experience cannot be replicated with a 1k gaming
             | PC, not even a $2000 machine. They really delivered a
             | device which is imho, more than just "an AMD gaming PC with
             | a custom GUI and some DRM"
             | 
             | would have loved to have widescale keyboard/mouse support,
             | as playing Far Cry with a controller is frustrating at
             | best. And keyboard/mouse support is in hands of the game
             | dev if they want to support it or not.
        
               | MikusR wrote:
               | - no hitches, framedrops
               | 
               | This statement alone is pure bullshit. So the rest should
               | be taken with a pound of salt.
        
               | xela79 wrote:
               | [flagged]
        
               | max51 wrote:
               | pointing out a problem that many bad PC games have does
               | not magically give the ps5 extra performance and better
               | frame rates.
        
               | balls187 wrote:
               | It does when you are misinformed believing that the only
               | cause for frame-rate drop is JIT shader compilation.
        
               | xela79 wrote:
               | never said that shader compilation is the only cause, but
               | not wasting effort replying somebody calling BS without
               | bothering to RTFM, so ya. nothing of value lost
        
               | dagmx wrote:
               | While that one line is incorrect, it's a fallacy to use
               | that to try and sow the seeds of doubt in the other
               | points. People make mistakes in wording all the time and
               | it's a low debate tactic to do what you did.
               | 
               | The fact is some frame hitches are gone but obviously not
               | all.
               | 
               | The ones that will primarily be gone or largely mitigated
               | are
               | 
               | - shader compilation hitches, because console versions of
               | games can ship with pre compiled shaders.
               | 
               | - data transfer hitches because the consoles have shared
               | memory and dedicated compression blocks to optimize
               | transfer
               | 
               | - system resource scheduling contention because the OS
               | and other processes won't start interfering with the game
               | process since they use dedicated resource allocation.
        
               | xela79 wrote:
               | thanks, on an internet forum, you'd expect some leeway,
               | but alas, it seems it's worse than a technical paper ;)
               | 
               | the OS and hardware working hand in hand to help overcome
               | some of the causes for hitches and frame drops is what
               | sets the consoles apart from the DIY PC builds where you
               | simply don't have access to the custom design;
               | 
               | and it's also imho where in this generation Sony has
               | pulled ahead of Microsoft even if both are using similar
               | hardware
        
               | smoldesu wrote:
               | > the DIY PC builds where you simply don't have access to
               | the custom design;
               | 
               | On Linux (or Steam Deck) you can precompile shaders for
               | your specific hardware like Switch or PS5. There is
               | nothing about "DIY PC builds" that prevent you from
               | building an experience like this.
        
               | dagmx wrote:
               | The steamdeck is a single known entity of hardware. For
               | all intents and purposes, it can be treated like a
               | console in that regards.
               | 
               | But DIY PC builds, that's a wide range of hardware to
               | support. And it's not just hardware, it's driver
               | versions, OS versions and firmware versions.
               | 
               | So it's possible to do what Valve does where the first
               | playthrough caches the shader compilations and then
               | stores them by a configuration hash, so subsequent users
               | get it. But the sheer number of hardware and software
               | permutations makes it significantly harder.
               | 
               | It has nothing to do with Linux either.
               | 
               | The shaders are therefore not precompiled in the same way
               | they are for console. It just means that the second
               | playthrough of a section is a shared experience taking
               | advantage of the first users resources.
               | 
               | If a game hasn't been played first, or you encounter an
               | area of the game that hasn't been encountered before you,
               | or you're on a slightly different hardware/software
               | combination than the previous shader cache, you'll hit
               | the stuttering again.
        
               | smoldesu wrote:
               | That's not how Valve caches shaders on Steam. They
               | accommodate those DIY builds by compiling them on-machine
               | with Fossilize, converting them to system-optimized
               | files. For DirectX titles like _Elden Ring_ , this
               | effectively eliminates all shader compilation stutter in-
               | game. It also doesn't rely on fancy "first playthrough"
               | setups, since it's translating and optimizing the
               | original shaders wholesale.
               | 
               | > It has nothing to do with Linux either.
               | 
               | It's an out-of-box feature with Steam on Linux. You can
               | run all of this stuff on Windows too, but you'd have to
               | build it from source and configure DXVK environments for
               | each game by-hand. On Linux it all happens automatically.
        
               | dagmx wrote:
               | It's a factor of Steam not Linux. They could in theory do
               | it for other platforms too.
               | 
               | Fossilize does require at least one playthrough because
               | shader permutations can be generated at runtime. There's
               | no static shader setup that's common to all games. It
               | just means that the first playthrough doesn't have to be
               | the same person playing it right now
        
               | BearOso wrote:
               | I believe fossilize snapshots the entire pipeline
               | configurations. It can then replay that and generate
               | final hardware-specific binaries, not just SPIR-V, for
               | the cache completely ahead of time.
               | 
               | That's much better because it doesn't matter what
               | hardware the first person used, the data can be used
               | everywhere.
        
               | dagmx wrote:
               | True, the replay aspect does help as long as nothing
               | invalidates the pipeline, which is still a higher
               | possibility on PCs than consoles
        
               | itsTyrion wrote:
               | > always records your gameplay > video share > live
               | stream
               | 
               | it's called hardware encoding video. it's great that
               | those features are present, but HW encoding (even in
               | consoles) isn't new
        
               | xela79 wrote:
               | never said it was "new" have nvidia shadow play forever
               | running and OBS for the better open source solution on a
               | game PC; but that doesn't take away that the all-in-one
               | polished end user experience is very nice and required
               | some better planning.
               | 
               | PS3 multitasking performance was horrid
        
               | whoopdedo wrote:
               | Consoles are a loss-leader so saying that the price is
               | $700 doesn't tell you what it costs without including how
               | much of a negative margin Sony was willing to take.
        
               | kevincox wrote:
               | I'm not saying that the PS5 isn't a good performer for
               | its cost. It is also clearly cost-optimized to do exactly
               | those features without any resources wasted on extra
               | hardware. But at the end of the day even if an equivalent
               | desktop computer cost 5x as much the hardware and
               | hardware architecture look identical.
               | 
               | Sure, this will make emulation hard right now because you
               | don't have the huge compute advantage that you do when
               | emulating a PS3 on modern hardware, but you shouldn't
               | have much difficulty matching the architecture, because
               | it already matches. Basically a PS5 emulator can look a
               | lot more like Wine as opposed to hardware emulation like
               | you see for NES, N64 and similar consoles which were
               | completely custom hardware.
        
               | xela79 wrote:
               | it's definitely done on purpose by Sony, to have PC grade
               | hardware so they can port their games easily to the PC
               | platform and have a larger install base for the first
               | party titles, which previously only existed on the
               | Playstation. All in all, I see it as a win for end users
               | that they are converging as the software titles are
               | available across multiple platforms. So price competition
               | is very relevant. In a world experience worst inflation
               | in decades, this is a very thin silver lining for sure.
        
               | [deleted]
        
               | tsukikage wrote:
               | Performance is vastly helped just by not having a
               | fragmented ecosystem or a moving target. If I know all my
               | customers are running my software on the exact same
               | hardware, I can optimise the hell out of my software, and
               | also I can see exactly how it will perform for the end
               | user and polish the worst bits until either it's shiny
               | enough for me or I run out of budget.
               | 
               | If every single user has a different setup with
               | components chosen from a vast array of possibilities that
               | can all do different sets of things at different
               | speeds... well, I can get it to work on my machine, and I
               | can try and guess what to degrade when things get bad,
               | but ultimately I just have to throw it over the wall and
               | hope it's not too terrible in the wild. It's impressive,
               | really, that PC desktop games work as well as they do.
        
               | xela79 wrote:
               | that's the case for every console ever made after the
               | 90s; here the fact that both gaming desktop PC and
               | consoles share similar hardware pieces makes it imho that
               | more interesting to be able to find use cases the deliver
               | a better out of the box experience, and have it cost a
               | fraction of the game PC budget.
        
       | adhvaryu wrote:
       | Slightly unrelated but emulators have been a big part of my
       | childhood because I grew up in a country where a PlayStation was
       | unaffordable for the middle class and Nintendo simply didn't sell
       | their consoles there.
       | 
       | Luckily emulation has always been legal thanks to a case 2
       | decades ago [1]. I see it as one of the "big wins" of the (US)
       | judiciary because it has made the lives of many children joyous,
       | across the globe.
       | 
       | Plenty of old games on now obsolete platforms can still be
       | enjoyed thanks to emulation. I hope the precedent never goes
       | away.
       | 
       | [1]
       | https://archive.nytimes.com/www.nytimes.com/library/tech/00/...
        
         | Narishma wrote:
         | Doesn't that case only apply in the USA?
        
           | ASalazarMX wrote:
           | If USA doesn't care about emulation, it means those specific
           | copyright tentacles won't poke my government, hence my
           | country (Mexico) also won't care. Even if USA cares,
           | sometimes my country still won't care if it means spending a
           | lot of money on policying the Internet.
           | 
           | Sometimes, the love-hate relationship between Mexico and USA
           | has its advantages.
        
           | dontlaugh wrote:
           | The US is a significant market and emulators being allowed
           | there helps emulators in general?
        
           | passwordoops wrote:
           | As demonstrated by copyright, US legislatures generally
           | define global law when it comes to tech and entertainment
        
             | Mindwipe wrote:
             | Not really.
             | 
             | The general standard length of protection (life plus 70
             | years) is from Germany for example.
        
             | memsom wrote:
             | Not really. US copyright law is based around protecting the
             | rights to use a "work", but European copyright law tends to
             | protect the originator. It might seem similar, but in
             | practice it is not.
             | 
             | "Fair use" as an example, does not exist in the way defied
             | in the US in the UK. We have "fair dealing" and it is a lot
             | more specific. There are defined use-case exceptions to
             | copyright, it is not "do what you like, claim 'fair use'
             | and take it down when you get a DMCA notice".
        
           | patmorgan23 wrote:
           | International copyright law is somewhat harmonized through
           | international treaties. The Digital Millennium Copyright Act
           | (DMCA) actually implements what the US is obligated to when
           | it joined the World Intellectual Property Organization.
           | 
           | Copyright provisions regularly make their way into multi-
           | lateral trade treaties (such as the Trans Pacific
           | Partnership)
        
           | causi wrote:
           | Yes, but it doesn't need to apply anywhere else for people
           | everywhere to be able to access the software. It only needs
           | one place where it can be openly worked on.
        
           | leehuffman wrote:
           | Who cares? This person is telling a story about their lack of
           | access to cool new tech, and what projects like this one have
           | provided them.
           | 
           | Split hairs all you want but giving less privileged people
           | access to funsies that eventually turn to deeper technical
           | interest and (I assume) a higher earning career is the
           | overarching message and I'm all the way about that. The weird
           | dissection of an uplifting & cool comment like OPs is classic
           | HN & definitely unnecessary.
           | 
           | Edit: And their reply resonates with me. Not fronting like I
           | couldn't have those things, but I dug deep into retro gaming
           | (via emulation) in my early teens and my career can be traced
           | back to that original interest & deep diving.
        
             | canadianfella wrote:
             | [dead]
        
             | Narishma wrote:
             | I just fail to see how a court decision in the US would
             | have any effect on another country. It's not like OP's
             | situation and access to emulators would have been any
             | different if the decision went Sony's way.
        
               | highwaylights wrote:
               | At a guess, it at least doesn't discourage developers
               | from working on the emulators in the first place.
        
               | leehuffman wrote:
               | You legitimately can't comprehend how a court ruling in
               | the US would affect anything or anyone outside the US?
               | For real?
        
               | memsom wrote:
               | Well - it depends on the topic really. And, not the fact
               | a law exists in the US. A judgement in the US has no
               | bearing on law in other countries, except where it is
               | used to then set a presidency as others had said.
               | 
               | US law is actually different enough from some other
               | countries that what is legal in the US is outright
               | illegal, and vice versa. If you want some low hanging
               | fruit - anything to do with guns, gender identity,
               | abortion, liable/slander and "free" speech - many
               | countries disagree and actively oppose the US stand
               | point, on both sides of the US position. Another good
               | example is anything granted in the US constitution is not
               | a "God given right" outside of the US (which probably
               | intersects with guns and free speech, maybe other
               | things). US passing a law is not going to change that.
               | 
               | DMCA does not affect other countries - we have our own
               | laws - some of which were put in place in line with the
               | ideas that caused the DMCA, but some of which predate it.
               | Also - "fair use" is a wholly US concept, and might not
               | apply, depending on where you are located.
        
               | tough wrote:
               | You just gotta look at DMCA or Copyright
        
               | Mindwipe wrote:
               | Lol, I've got very bad news for you about where copyright
               | came from.
        
               | tough wrote:
               | Haha, didn't see that one coming ofc, stand corrected
               | https://en.wikipedia.org/wiki/History_of_copyright
        
               | bamfly wrote:
               | People and companies in the US have contributed a whole
               | lot of hours to emulator development, such that it's
               | plausible emulation would not be nearly as good as it is
               | if such development were illegal in the US. Moreover,
               | less effort may have been put into emulator development
               | or emulation-based-product development by foreign
               | companies, if they were legally unable to sell their
               | products in the US, which is a large and rich market.
               | Further, US copyright policy has a tendency to influence
               | international copyright regimes, over the longer term.
        
               | RunSet wrote:
               | > I just fail to see how a court decision in the US would
               | have any effect on another country.
               | 
               | By way of return, I fail to see _how_ you fail to see
               | precisely that.
        
               | yaseer wrote:
               | > It's not like OP's situation and access to emulators
               | would have been any different if the decision went Sony's
               | way.
               | 
               | I would respectfully disagree - although it's hard to
               | speculate on alternative histories.
               | 
               | The United States has an outsized impact on the software
               | industry - even for the largest economy in the world
               | (American big-tech dominates the largest companies by
               | market cap).
               | 
               | Preventing or impeding the development of emulation
               | software in the US would definitely impact the rest of
               | the world, simply because fewer people and companies can
               | legally contribute to open-source Emulation software.
        
               | bee_rider wrote:
               | The actual mechanism seems pretty straightforward (the US
               | is a big open country, if things can happen here somebody
               | will do it and it'll spread across the world without many
               | speedbumps).
               | 
               | Their phrasing was a bit awkward though, when they say
               | "Luckily emulation has always been legal..." one would
               | assume they are talking about the jurisdiction they live
               | in, by default at least.
        
               | WHYLEE1991 wrote:
               | so straightforward that it makes you realize how
               | comically bad some people here in the comment section are
               | at understanding even broad strokes kinda implications
               | about their and others actions.
        
         | _shantaram wrote:
         | Seconded. My PC hardware was never very powerful either, but I
         | had access to the entire library of (S)NES/GB(A) games to play
         | on my mum's phone as a child.
        
       | aseipp wrote:
       | I've been using this to play a silly japanese arcade game, Gundam
       | Extreme Vs. Full Boost -- with my friends, online, over an
       | emulated PSN. Worked immediately on all our PCs. Some random guy
       | even joined our lobby one time. Tested it and Tekken Tag
       | Tournament 2 also worked online. Walked away unbelievably
       | impressed, tbqh.
        
       | mateuszf wrote:
       | I'm wondering - heard that PS3 architecture is so complex, and
       | PS4 is back to x86 - so what is it that makes PS4 emulators so
       | hard to implement?
       | 
       | Surely nowadays hardware such as 7000 ryzen series and 4090 gpus
       | are leaps and bounds above PS4 hardware.
        
         | pushedx wrote:
         | Having very briefly looked into this problem a few years ago,
         | my impression of the primary challenge was that of re-
         | implementing a large OS API surface in a non-infringing way.
        
           | mateuszf wrote:
           | Looking how some emulators just ask users to copy firmware /
           | software / keys from their real consoles - couldn't the same
           | thing be done and only the hardware layer be emulated?
        
             | philistine wrote:
             | How do you get that software out of your console ?
        
               | mateuszf wrote:
               | No idea, that's why I'm asking :)
               | 
               | I guess there may be ways to do it not really legally by
               | some hacker and then sharing it with others.
               | 
               | Not that I support it, but there are still people who
               | don't see problems with such behavior.
        
               | bsagdiyev wrote:
               | rpcs3 just uses the PS3s update pup files to install the
               | OS so I imagine there might be a way for newer consoles
               | like that. You can obtain the PS3 ones directly from Sony
               | for use on a flash drive to update the console.
        
         | dagmx wrote:
         | The PS4 has its own graphics API called GNM and GNMx that would
         | need to be reverse engineered and ported.
         | 
         | It also has shared memory between the CPU and GPU that are
         | harder to do with a discrete GPU. See how much work Dolphin has
         | to do with the various direct write memory tricks for the
         | GameCube. Now imagine that kind of trickery on a bigger scale
         | for the PS4.
        
       ___________________________________________________________________
       (page generated 2023-07-12 23:02 UTC)