[HN Gopher] Dolphin Emulator Progress Report: May, June, and Jul...
       ___________________________________________________________________
        
       Dolphin Emulator Progress Report: May, June, and July 2023
        
       Author : thepbone
       Score  : 99 points
       Date   : 2023-08-13 19:21 UTC (3 hours ago)
        
 (HTM) web link (dolphin-emu.org)
 (TXT) w3m dump (dolphin-emu.org)
        
       | DylanSp wrote:
       | For anyone curious about the "Disney Trio of Destruction", that's
       | Disney Infinity, Cars 2, and Toy Story 3 (all for the Wii) which
       | have pretty subpar performance on Dolphin. https://dolphin-
       | emu.org/blog/2022/05/17/dolphin-progress-rep... has some more
       | info.
        
         | pipeline_peak wrote:
         | As eager as people are to get the Disney Trio to work, thank
         | god it's only forgettable shovelware and not something actually
         | important like Mario Galaxy.
        
       | genman wrote:
       | [dead]
        
       | matsemann wrote:
       | Android allows apps to use an arbitrary GPU driver? How does that
       | work?
       | 
       | (I didn't even know Dolphin existed for Android, nothing on the
       | web page points to that. Not that I've ever even used Dolphin,
       | they just have so good release notes that I always check them)
        
         | hrydgard wrote:
         | Only the user mode part of the driver is replaced, the kernel
         | interface is actually shared between the closed source and the
         | open source driver. So it's just loaded like a DLL/.so and
         | hooked up to the API.
        
           | sylware wrote:
           | android is linux, and linux kernel interface is the drm
           | (Direct Rendering Manager).
           | 
           | BTW, the NVIDIA opensource vulkan driver was dropped in
           | mesa...
        
           | kmeisthax wrote:
           | This is only possible because of a very specific quirk of
           | Linux: the interface between the kernel and user mode halves
           | of the GPU driver is considered as sacrosanct as normal Linux
           | syscalls[0]. If you want to get a graphics card driver in
           | kernel you have to get your driver's UAPI approved by the
           | kernel maintainers because it will be supported in Linux
           | until the end of time.
           | 
           | No other operating system does it this way, nor will this
           | work on Nvidia proprietary drivers. Everywhere else, the
           | point of demarcation for graphics is OpenGL, DirectX, Metal,
           | or Vulkan entrypoints in userspace. To be clear, there IS a
           | UAPI here too - hardware isolation demands it - but it breaks
           | constantly and nobody bats an eye. If you were willing to
           | deal with that fragility, you could do the same trick on
           | Windows or macOS.
           | 
           | [0] For those unaware, Linux has a very explicit policy of
           | never breaking userspace. That means no ABI changes
           | whatsoever.
        
             | zirgs wrote:
             | > Linux has a very explicit policy of never breaking
             | userspace.
             | 
             | And when someone tries to do it - Linus gets very angry.
             | https://lkml.org/lkml/2012/12/23/75
        
             | ftaghn wrote:
             | > For those unaware, Linux has a very explicit policy of
             | never breaking userspace
             | 
             | But has no qualm with constantly refactoring the kernel
             | side of the coin for the most minor of reasons, which
             | causes endless trouble when it comes to supporting out of
             | tree drivers and is the true reason why Android will never
             | be able to provide long term support. SOC manufacturers are
             | not interested in the churn involved in updating their
             | drivers to support the newer kernels that come with new
             | android versions. Most often, it's because they want to
             | keep their driver proprietary, but it is not the only
             | reason, there is a cold hard truth about the nature of the
             | market: new phones are released at a high cadence, while
             | the process of mainlining a driver into upstream linux
             | kernel is arduous, depending on the attitudes of kernel
             | maintainers, truly painful, and no company out there could
             | see any value in waiting for this process to end before
             | releasing their hardware onto the market. Since they're
             | already going to make it out of tree and release it as is,
             | why would they bother? a year later, they'll repeat this
             | process again, and again. Then Android updates, and the
             | devices are obsoleted.
             | 
             | On the other hand, you can install the latest GPU driver on
             | Windows 10 just fine, and it is the same driver as the one
             | on 11. Windows doesn't constantly break your not-
             | maintained-by-microsoft drivers with newer versions of
             | their kernel.
        
         | TillE wrote:
         | Game console emulators are surprisingly popular on Android.
         | Even with a bluetooth controller, it seems like a terrible
         | experience with a tiny screen that's even tinier if you're
         | playing retro games with a 4:3 aspect ratio.
        
           | rodgerd wrote:
           | I mean we played the originals on screens where 14-21" TVs
           | were very normal for people.
        
           | andrepd wrote:
           | >tiny screen
           | 
           | I wish! Have you seen phones nowadays? They're bigger than
           | tablets were in 2014!
        
         | ls612 wrote:
         | Yuzu has a similar feature on their android release. I bet
         | that's the big reason why these emulators are on android and
         | not iOS, the graphics hardware on modern iPhones is certainly
         | capable.
        
           | Klonoar wrote:
           | Dolphin has had a native Metal renderer for a bit now,
           | there's no graphics driver issues conceptually.
           | 
           | DolphinIOS exists though it's a fork and requires somewhat
           | unfriendly steps to get installed just due to iOS as a
           | platform.
        
           | matsemann wrote:
           | I'd guess missing the ability to sideload is also a huge
           | factor. If Google doesn't allow Dolphin, they can use a
           | different store or distribute the apk themselves. If Apple
           | doesn't allow Dolphin, all the effort is in vain.
           | 
           | Walled gardens, eh?
        
             | [deleted]
        
             | mdwalters wrote:
             | > If Apple doesn't allow Dolphin, all the effort is in
             | vain.
             | 
             | With a jailbreaked iPhone device, you can possibly install
             | Dolphin through a separate package manager (Cydia, Sileo,
             | etc.)
        
               | mod50ack wrote:
               | Yes, but iPhones are not uniformly jailbreakable, and
               | restricting yourself to a niche like that makes it harder
               | to get people in (as users or as developers). You've
               | essentially moved from a popular platform (iOS) to a very
               | niche one ( _jailbroken_ iOS).
        
               | echelon wrote:
               | We should use a term like _liberated_ rather than _jail_
               | broken. The phrasing leads to a conclusion about the
               | behavior which isn't correct.
        
           | ozarker wrote:
           | A Dolphin build for iOS exists and works well. You just have
           | to jump through a bunch of hoops to sideload it. See
           | https://altstore.io/
        
             | Wowfunhappy wrote:
             | Does this not require a Jailbreak anymore? I thought you
             | needed a kernel exploit in order to enable JIT (without
             | which Dolphin would be terribly slow).
        
               | chrnola wrote:
               | Correct. No jailbreak required!
               | 
               | The caveat for enabling JIT support is you have to
               | "attach a debugger" first. AltServer automates this
               | process...provided your iOS device can communicate with
               | it when launching the app.
        
               | Wowfunhappy wrote:
               | Ew, that sounds annoying, but also very clever, thanks
               | for explaining!
        
       ___________________________________________________________________
       (page generated 2023-08-13 23:00 UTC)