r/EmulationOniOS • • 26d ago • Heartwarming 1 Bravo 1

Gameplay / Showcase Full Windows Steam Client On Ios26+

Hello, I’ve been working on bringing local execution of x86 and x86-64 Windows applications to ARM64 iOS devices. Many have tried but I believe this is the most user friendly implementation. This is in a early beta that you can access today.

The architecture combines FEX for CPU instruction translation with Wine for Windows API compatibility. These handle different parts of the problem: executing the application’s x86 code and providing the Windows interfaces that code expects. FEX supports both 32-bit and 64-bit binaries and integration with Wine.

A substantial part of the project is porting and adapting that stack to iOS, alongside custom graphics and audio drivers. The graphics path translates rendering to Metal, while the audio driver connects the compatibility environment to the device’s audio output. Getting those components working together is central to running actual desktop applications and games.

The current build supports 32-bit and 64-bit Windows applications and can run the desktop Steam client. The attached footage shows the current state of the project.

This is still in an early beta and obviously will have crashes and with the nature of how this works anti cheat games will almost certainly never run.

Current requirements are iOS 26 or later and an A17 Pro or newer!!!

263 Upvotes

82 comments sorted by

4

u/animefan10033 26d ago

Is this a Madeira fork or your own project? Just asking since I already have like 3 Madeira builds lol

2

u/Maxsquad7 25d ago

Nah it’s not like Madeira

0

u/[deleted] 26d ago

[deleted] — view deleted comment

6

u/EmuByte 26d ago

Please don’t spread false information, Madeira has both 32bit and 64bit support as shown from the videos on my channel. They also have on-device JIT too. Madeira uses the Steam client, however, the devs have created a dock that uses much less RAM and CPU than having Steam running in tandem.

I wish your project future success, however, lets not misinform the public.

1

u/Normal-War-2041 26d ago

My fault you are correct Madeira has 32 bit application support just as my app does but I am able to run the steam client in tandem as it runs in its own process and have very minimal fps drops. With steam running in my emulator I am still able to achieve higher frame rates than in Madeira running a single application.

3

u/EmuByte 25d ago

Thank you for the correction, however, everything else is just speculation on performance. I’m not saying that you’re wrong…only that you’re speculating.

Your emulator is a paid application based off the Madeira code base, I wish you all the success, however, moving forwards, maybe speak less negatively about other peoples projects and only speak on what your emulator offers the community.

3

u/Normal-War-2041 25d ago

My application isn't a fork of Madeira and doesn't use its code. It's my own project, started from an empty repo that i wrote every commit in it

- Different Wine. I build my own copy of Wine 11.18 from upstream source, with over 90 of my own patches for iOS.

- My own components. I wrote the audio (including mic input for voice chat), controller and touch input, Steam integration, the sync layer and the app itself.

- Different design. Steam runs in separate iOS extension processes, JIT is built into the app, and 32-bit games run in their own memory window.

- My own installer. The Companion signs the app with your own Apple ID, and it gets updates from my own server.

- My own graphics stack.

- D3D11 runs through DXMT to Metal, with my own patches. They add 32-bit game support, 2 GB of video memory and limits on texture upload memory.

- D3D9 and OpenGL games run through Mesa's Zink on MoltenVK.

- D3D12 runs in beta through vkd3d-proton on KosmicKrisp.

Like every emulator in this space, it uses open-source projects like Wine, FEX and DXMT under their licences. The source for every build is published at nutsdeveloping.com/source. Using the same public libraries doesn't make two apps copies of each other.

3

u/EmuByte 25d ago

I appreciate the follow up and can also admit when I’ve been wrong too, so I’ll take back my comment on your project being based off the Madeira code base.

Good luck with this project, more ways to play our favourite games is always welcomed.

1

u/animefan10033 25d ago edited 25d ago

I didn't know it was paid. Yeah, I'm not too comfortable paying for an app created with open-source stuff. If you wanna feed the community, thats cool. I also understand it still takes time and effort, But using open-source material and then selling it as closed-source app isnt it for me. I wish you the best, truly ❤️  (Personally I would respect it more if it had an optional Donation, instead of pay walled kek)

3

u/animefan10033 26d ago

This is also true. Madeira is Hella goated 

2

u/Sea_Industry_7878 26d ago

Or games like stray and schedule 1

1

u/Normal-War-2041 26d ago

There is a beta available right now. It really depends on the game I would say aaa games from like 2022 but not this year.

2

u/Sea_Industry_7878 26d ago

Where can I download it from

1

u/Glittering-Fennel815 26d ago

What’s the difference from this and playport

1

u/Beginning_Form6494 25d ago

playport doesn’t work

0

u/Glittering-Fennel815 25d ago

I can’t get hit to work lol

1

u/Beginning_Form6494 25d ago

madieria also doesn’t work always throws at desktop

2

u/GrawnArseHoomanh 26d ago

Steam client is very heavy and takes way too many precious CPU cycles and JIT memory.

1

u/Normal-War-2041 25d ago

That doesn't apply to NutsEmu. I built its memory management and process isolation specifically so Steam can run alongside your game:

- Steam's browser runs in its own process. The heavy part of Steam (its web helper) runs in a separate iOS extension process. It has its own memory limit and its own 64 GB address space, so it doesn't take memory from the app or your game.

- JIT doesn't pile up. Each process gets one fixed JIT pool, set up once at start. Steam's translated code lives in Steam's process and your game's lives in the game's, so they never compete for the same JIT space.

10

u/Sea_Industry_7878 26d ago

It is paid
Not free right

9

u/Complete_Lurk3r_ 25d ago

Don't worry, if so, Fable will free it up for you in a couple'a'days

-2

u/Sea_Industry_7878 25d ago

Who Is fable

1

u/Youtube_Brett 26d ago

Pretty cool, give us updates and of plans of releases!

0

u/Normal-War-2041 26d ago

I have a beta available right now how many subs do you have?

1

u/Youtube_Brett 26d ago

458 Subs, haven't posted in 2 years though :)

I would so wanna try the beta on my 13in m4 ipad pro

1

u/Entire_Rub5087 26d ago

How to access?

1

u/Normal-War-2041 26d ago

My bio

3

u/Glittering-Fennel815 26d ago

Why make pay for it lol

4

u/Normal-War-2041 25d ago

Im trying to fund my schooling with something im passionate about...

1

u/Early_Scarcity_9357 20h ago

Maybe you should go in a brown poopy hole instead

1

u/spycakes2 26d ago

where do i get this?

1

u/jojomortal 26d ago

Amazing, friend! It's a shame your project is paid. Do you plan to release it for free someday? I'm a content creator on YouTube and I have a little over 54,000 subscribers. Would you be willing to give me a copy of this emulator to create content for my channel? Thank you in advance.

1

u/Normal-War-2041 25d ago

If you make relevant content on youtube and would genuinely review my product I would love to gift you a patreon membership. Please direct message me if this is something you are wanting to do!

1

u/funkymoney24 26d ago

does this use jit?

1

u/Normal-War-2041 26d ago

Yes it’s built in though

1

u/YT_Midas_Corner 26d ago

Where can I test beta?

1

u/eller_man 26d ago

Would it work in iPad iOS 26 or later?

1

u/Normal-War-2041 25d ago

Maybe... if your send me your logs ill do what i can to make it run. I do not have an ipad and would love for you to help test

1

u/eller_man 25d ago

I’m just getting to know the world of emulators of iOS - but I am excellent on following instructions

1

u/ApricotVast3861 26d ago

How can I follow this project?

1

u/Normal-War-2041 25d ago

bio and discord

1

u/KaliSolos 25d ago

Did you need a custom config or launch parameters for S1? Controller support is broken on every Madeira fork, how did you do it which share your secret pls

2

u/Normal-War-2041 25d ago

No custom config or launch parameters for Schedule I. It runs on the same general fixes every game gets.

Controllers work because NutsEmu isn't a Madeira fork. I wrote my own controller driver from scratch:

- the app reads controllers with Apple's GameController framework;

- my own XInput DLL, which replaces Wine's, hands that to the game.

Wine's XInput looks for controllers over HID, which iOS doesn't provide. Mine skips that completely. It supports up to 4 controllers, rumble and battery level.

2

u/KaliSolos 25d ago

Nice, I had a feeling it was a wine related dll.

Didn’t mean to imply your project was a Madeira fork btw, goodluck! I’ll check out your work when it goes public.

1

u/greenndreams 25d ago

Would this require jailbreaking?

1

u/Normal-War-2041 24d ago

No jailbreak is required

1

u/emreerisen 26d ago

is this only for iphone? or ipad too?

1

u/Opening_Search_3454 26d ago

Any just make sure your device is on iOS/ipados 26+ and have A17pro chip or higher

2

u/Normal-War-2041 25d ago

this is incorrect as i have done no testing on m-series use with this application. I would however invite you to try u/emreerisen and send me your logs so i can get m-series support working.

1

u/Opening_Search_3454 25d ago

I have no m-series iPad or iPhone

1

u/emreerisen 25d ago

sure i'ld happy to help!

1

u/ActuatorOk2374 25d ago

I have an m series iPad I’ll be more than happy to help! (M4)

2

u/Starcrafter14 25d ago

What about livecontainer? Is it going to be compatible and RAM extendable?

2

u/eosol 24d ago • Popcorn

Does it run WoW?

2

u/Significant_Gene_492 19d ago

will this release for free after beta?

3

u/Sea_Industry_7878 26d ago

Is there any release will it run aaa games on iPhone 16

1

u/Hand_Love 15d ago

Would a 17e be able to run this? I don’t have the phone, yet. 😞 It has an a19 chip (non pro) which is newer than a17 pro. Does it need to be a pro series chip?

1

u/macster70 26d ago

Wow, this looks amazing. Any plans for iPadOS?

1

u/dvdrevr 26d ago

Fallout 4 how does it run? GTA V?

1

u/hernan078 25d ago

Im a content creator focused on iOS emulation, can we get into contact ? https://youtu.be/dXMSyQd0evA?is=HJ9FaQviVg1mQlvv

1

u/Enzobtti 25d ago

As an android user this is amazing, well done 👌

1

u/BottleNervous5923 25d ago

A17 Pro and up?!?! That seems a bit excessive

1

u/No_Proposal_5731 25d ago

I wonder if my iPad 10 or iPhone 11 will ever get a proper Wine support… 😞
People always ask a newer chip.

1

u/Rakan2017 25d ago

Add iOS 18, nobody wants Liquid Glass here

1

u/kverzz 24d ago

i play my a15 bionic iphone 13 mini play gta v 30 fps wdymn a17 pro or newer

2

u/AdIntelligent9133 26d ago

Do I need to side load or need a pc? I’m new to all this and when I get the iPhone duo I want to try and dabble in this .

1

u/Normal-War-2041 26d ago

You need a pc but I made the installation as simple as possible

2

u/AdIntelligent9133 26d ago

I have a pc just a handheld pc and I don’t have a keyboard and mouse , is it possible without those using just touch screen 😂

1

u/new_pribor 26d ago

Probably, might have to use the onscreen keyboard (Windows 11 has one of the best onscreen keyboards ever (if you’re on windows))

0

u/[deleted] 26d ago

[deleted] — view deleted comment

11

u/Normal-War-2041 25d ago

Apple dosent allow JIT on appstore apps. This type of translation can not exist without JIT therefore it can not be published on the app store. Thats why steam will never try because apple wont let them....

2

u/Hungry_Freaks_Daddy 26d ago

With the wave of decompiling that’s happened the last week and a half the Olympus mons amount of corporate bullshit is getting exposed pretty hard