RPCS3 Forums

Full Version: The emulator won't run on my CPU
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

DaViD093

Hello, first of all thanks for the forums and, if any developers get to read this, thank you for your work, you people are awesome working in this things and gifting us users with this applications that you make purely out of passion/hobby/altruism. It is incredible and It is so much appreciated, sincerely.

I registered because I wanted to try the new emulator in developement, as I've seen it's improving so fast and wanted to take a look and see where it is now and also if I could, report bugs/successful runs of games or apps somewhere and help as little as I can to de developement.

However, I tried to run the emulator and it said that it won't run because my CPU (phenom ii x6) doesn't support an especific set of instructions (I recall them being SSSE3 and SSE4.1).

I figured that it happens because the emulator relies on those sets to work, and I accept that and also kind of understand it as far as my knowledge goes, but then again I find it odd that I can run almost any new game or app that comes out, and also all the other emulators that I've tried (even Dolphin, PCSX2, etc) don't have any issue with my somewhat legacy CPU lol.

So, this is not me asking for someone to make it compatible with CPU's that don't have those instructions (though i'm not going to lie, that would make me SO happy Big Grin) but it's just me reporting this "issue" and asking (more like opening a debate?) why it can't run without this sets, when advanced emulators like Dolphin do. (I do realize PS3 is way more complicated to emulate, but then again... Just wondering, not really complaining)
I wonder if it could "detect" when the user have a newer CPU and benefit from those instructions but work just OK without them.
Could that be possible in the mid/long future?

I hope someone can bring an interesting answer, and it would be even better if someone who knew first hand about this issue, even if not to bring a nice and comforting answer, just so we learn a little bit more about this stuff Smile

Thanks again for everything, and excuse me if I did any grammar or expression mistakes, English is not my 1st language.

tambre

Moved to general discussion, as it seems more fitting there.

flashmozzg

(03-17-2016, 11:33 AM)DaViD093 Wrote: [ -> ]Hello, first of all thanks for the forums and, if any developers get to read this, thank you for your work, you people are awesome working in this things and gifting us users with this applications that you make purely out of passion/hobby/altruism. It is incredible and It is so much appreciated, sincerely.

I registered because I wanted to try the new emulator in developement, as I've seen it's improving so fast and wanted to take a look and see where it is now and also if I could, report bugs/successful runs of games or apps somewhere and help as little as I can to de developement.

However, I tried to run the emulator and it said that it won't run because my CPU (phenom ii x6) doesn't support an especific set of instructions (I recall them being SSSE3 and SSE4.1).

I figured that it happens because the emulator relies on those sets to work, and I accept that and also kind of understand it as far as my knowledge goes, but then again I find it odd that I can run almost any new game or app that comes out, and also all the other emulators that I've tried (even Dolphin, PCSX2, etc) don't have any issue with my somewhat legacy CPU lol.

So, this is not me asking for someone to make it compatible with CPU's that don't have those instructions (though i'm not going to lie, that would make me SO happy Big Grin) but it's just me reporting this "issue" and asking (more like opening a debate?) why it can't run without this sets, when advanced emulators like Dolphin do. (I do realize PS3 is way more complicated to emulate, but then again... Just wondering, not really complaining)
I wonder if it could "detect" when the user have a newer CPU and benefit from those instructions but work just OK without them.
Could that be possible in the mid/long future?

I hope someone can bring an interesting answer, and it would be even better if someone who knew first hand about this issue, even if not to bring a nice and comforting answer, just so we learn a little bit more about this stuff Smile

Thanks again for everything, and excuse me if I did any grammar or expression mistakes, English is not my 1st language.
Mostly because it's was easier to use newer instructions ion some part of the code when trying to workaround with older set and the fact that most relatively new CPUs (at least all developer's ones) support these.
Since rpcs3 is in early stages (i.e. mostly suited for devs and enthusiasts) making it work on the widest possible hw is not a priority (especially if it's "old" hw that will be even older by the time it'll be able tu run something smoothly).
But no one stopping anyone from adding fallbacks for older instruction sets.

xXBeefyDjXx

(03-17-2016, 11:33 AM)DaViD093 Wrote: [ -> ]Hello, first of all thanks for the forums and, if any developers get to read this, thank you for your work, you people are awesome working in this things and gifting us users with this applications that you make purely out of passion/hobby/altruism. It is incredible and It is so much appreciated, sincerely.

I registered because I wanted to try the new emulator in developement, as I've seen it's improving so fast and wanted to take a look and see where it is now and also if I could, report bugs/successful runs of games or apps somewhere and help as little as I can to de developement.

However, I tried to run the emulator and it said that it won't run because my CPU (phenom ii x6) doesn't support an especific set of instructions (I recall them being SSSE3 and SSE4.1).

I figured that it happens because the emulator relies on those sets to work, and I accept that and also kind of understand it as far as my knowledge goes, but then again I find it odd that I can run almost any new game or app that comes out, and also all the other emulators that I've tried (even Dolphin, PCSX2, etc) don't have any issue with my somewhat legacy CPU lol.

So, this is not me asking for someone to make it compatible with CPU's that don't have those instructions (though i'm not going to lie, that would make me SO happy Big Grin) but it's just me reporting this "issue" and asking (more like opening a debate?) why it can't run without this sets, when advanced emulators like Dolphin do. (I do realize PS3 is way more complicated to emulate, but then again... Just wondering, not really complaining)
I wonder if it could "detect" when the user have a newer CPU and benefit from those instructions but work just OK without them.
Could that be possible in the mid/long future?

I hope someone can bring an interesting answer, and it would be even better if someone who knew first hand about this issue, even if not to bring a nice and comforting answer, just so we learn a little bit more about this stuff Smile

Thanks again for everything, and excuse me if I did any grammar or expression mistakes, English is not my 1st language.


In answer to bringing this project to the "Legacy" as you call it CPUs, This is not possible without a lot of work, Down to the fact that we must remember we are trying to emulate the PPU which is Power PC (PPC) Architecture, this is completely different to x64 but is easier to code into sse3/4.1 x64 rather than older Architectures as the newer sse (to my understanding) has more to play with in terms of compatibility.

Basically, Older PPC Emulation is possible, but an absolute balls ache to code into practice. Coming from someone who understands differences in architectures rather than full blown coding views. AFAIK, I believe it was mentioned by the Devs before.

vlj

I guess SSE3.1 intrinsics are used in PPU/SPU interpreters/recompiler. If you have time you can try to replace them there.

PPULLVM Recompiler mostly uses SSE intrinsic for the vector opcode. I don't know if it's helpful there since LLVM should be able to replace combinaison of opcode to intrinsic when possible (for instance a > b ? a : b is detected and replaced by native max instruction).