Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What are the requirements? #27

Open
Felipefpl opened this issue Jun 14, 2023 · 6 comments
Open

What are the requirements? #27

Felipefpl opened this issue Jun 14, 2023 · 6 comments
Labels
discussion Just discussion about some topic

Comments

@Felipefpl
Copy link

There is no list of requirements in the main page here for panda3ds, citra for example demands opengl 4 (without explaining why opengl 2 or 3 doesnt work with citra).

I hope you'll support directx in this emu ;) - i know this is on a early stage but it would nice to have an idea of what kind of computer we need for this.

@wheremyfoodat
Copy link
Owner

The master branch currently doesn't run at satisfying speeds on most hardware due to GPU emulation overhead that is largely made better in PR #15, which can play things like Ocarina of Time 3D at >= full speed on my Ryzen 5 2500U + iGPU laptop.

The "minimum" requirements sort of look like this:

  • CPU: Any x86-64 or ARM64 chip. When Vertex shaders & vertex loader -> x64 JIT #15 is merged, x86-64 chips will need to have at least SSE3 to be used with the shader recompiler, however almost all x86-64 chips have it aside from the first few ones. Also, there's currently no WIP ARM64 shader recompiler, so shader emulation will slow down ARM machines a lot for the time being (Though things like M1 on Rosetta should not mind as they can use the x86-64 recompiler)

A recommended CPU would be something relatively modern but no need for anything super new. I know #15 can run fine on an Intel 6th series desktop chip and my 2500U laptop.

  • GPU: Currently the emulator creates an OpenGL 4.1 context, making it require that. However, this will likely be dropped later on when I want to run it on my RPi, and I will attempt to add fallbacks for older GL versions. The GPU requirements will be fairly shaky as GPU emulation progresses so I can't make promises.

The emulator actually has fairly low GPU usage, which might still change with time

Some more requirements are:

  • Decrypted 3DS ROMs in .3ds, .elf or .axf format. .3dsx and .cia will hopefully be supported in the future
  • Some spare storage space to store 3DS filesystem stuff on.

@wheremyfoodat
Copy link
Owner

The emulator also tries to makes use of CPU instruction set extensions whenever available, though they're not required. For example the hashing and JIT code in #15 make use of SSE4/AVX/etc when available, dynarmic used for the CPU can make use of SIMD extensions when present, etc.

@wheremyfoodat
Copy link
Owner

As for DirectX support: That's a possibility in the future.
OpenGL 2 is definitely not workable for 3DS emulation due to a lot of hurdles in GPU emulation (OpenGL 2 doesn't even support FBOs properly and barely supports GLSL). OpenGL 3.3 or so might be sufficient.

@Felipefpl
Copy link
Author

Thank you for the explanation, you should post that in the main page since it's really informative. 👍

@wheremyfoodat wheremyfoodat added the discussion Just discussion about some topic label Jun 17, 2023
@notprogramminggames
Copy link

As for DirectX support: That's a possibility in the future. OpenGL 2 is definitely not workable for 3DS emulation due to a lot of hurdles in GPU emulation (OpenGL 2 doesn't even support FBOs properly and barely supports GLSL). OpenGL 3.3 or so might be sufficient.

Are there any updated system requirements now? I'm working on trying to add an FAQ page for the website, and it would help for a more up to date answer.

@wheremyfoodat
Copy link
Owner

As for DirectX support: That's a possibility in the future. OpenGL 2 is definitely not workable for 3DS emulation due to a lot of hurdles in GPU emulation (OpenGL 2 doesn't even support FBOs properly and barely supports GLSL). OpenGL 3.3 or so might be sufficient.

Are there any updated system requirements now? I'm working on trying to add an FAQ page for the website, and it would help for a more up to date answer.

Nope (also uhh you might be a little disappointed to know someone else is already doing that)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Just discussion about some topic
Projects
None yet
Development

No branches or pull requests

3 participants