Port of linux version to Android
#1
Hello, I'm pretty sure you've been hit with this question way too many times in the last years or so but I'm feeling that a valid case can start to be capable of being made.


Let me explain: ARM support has been introduced on the official Linux kernel in the last few months and many tools have started to be available for the migration process. The power (in phones or tablets) is not quite there of course , but we're getting there quite soon. The new tegra devices are expected to have the raw power of relatively high end PC of/around 2005, if you recall that was about the time that development was started for pcsx2. At first we cannot expect most games to run well (or at all), but some will and that's a good way to start as any.

The dream to have the ps2 library on a mobile form factor will never be full filled by Sony (as it is evidenced by the lack of support from psvita), so it falls upon us enthusiasts, modders, developers. And let us not kid ourselves the ps2 library of games is probably the most complete in the history of consoles, and even though porting it into a mobile platform may be a titanic undertaking, I believe it would be worthwhile...


I'm posting this here because I believe the android port -with android using glinux kernel- has to start here. I understand (that) the differences are pretty great (most of all different computing architecture), but I don't think it's impossible and certainly not non-worthwhile. The following decade would most probably prove android as the platform of choice for most computing devices in consumer electronics (from watches, to phones, to full fledged computers)... Such a release would be proved of momentous importance.
Reply

Sponsored links

#2
In short, ARM port == rewrite everythings (or mostly). Tegra is not fast, to compare with intel you need to divide frequency by 2. So a 4 core 3GHz smartphone is equivalent to a 2 core 1.5Ghz (2 core are useless by the way). GPU is weak (vs desktop) and more important the bandwith is low (remember you need to split it for CPU and GPU).

If a new ARM arch appears (let's say armv8, oh wait will be here in 2 years), you need to redo a lots of stuff.

On my side, I prefer finish the linux port before starting an android port. Every fix I made on openGL won't be lost on Android anyway.
Reply
#3
(03-29-2013, 10:19 AM)gregory Wrote: In short, ARM port == rewrite everythings (or mostly). Tegra is not fast, to compare with intel you need to divide frequency by 2. So a 4 core 3GHz smartphone is equivalent to a 2 core 1.5Ghz (2 core are useless by the way). GPU is weak (vs desktop) and more important the bandwith is low (remember you need to split it for CPU and GPU).

If a new ARM arch appears (let's say armv8, oh wait will be here in 2 years), you need to redo a lots of stuff.

On my side, I prefer finish the linux port before starting an android port. Every fix I made on openGL won't be lost on Android anyway.

I was talking about tegra 4 which is going to use 4 cortex a15 cores at 2.3ghz, and 72 core with architecture comparable to g70 (2005 GPUs), which is why I called the current mobile hardware equivalent to 2005's PC hardware. Back then only disgaea could run well, if that... I'm perfectly aware, *however* arm processors move in leaps and bounds at this rate they will start challenging Intel in raw power in a few years time.

My idea was to have something ready until then, so when the power comes we will be able to have a full pcsx2 experience. Obviously its not an easy undertaking but i see it as the only way forwards. If intel won't be able to match arm's growth she will be in trouble and soon, we wouldn't want pcsx2 to only function in legacy hardware, would we?


Anyway -yeah- the linux port takes a precedent for the time being, but i guess that arm route should be thought on the side. Nothing too complex, merely a proof of concept at first (i.e. a way to see if it's doable under realistic circumstances). I hope the team already is making thoughts towards that direction...
Reply
#4
Be aware of the marketing. A dual core @2Ghz blow out the water the poor tegra4. You will probably need a 3GHz tegra4 (wikipedia said 1.9 not 2.3) maybe you deals about the 4i but [email protected] is slower than a [email protected].

Quote:arm processors move in leaps and bounds at this rate they will start challenging Intel in raw power in a few years time.
Every one used to do that, then reality become true. Check the frequency increase between 2005 to 2013 on Intel. Power wise, it won't be efficient to double the size of core to gain 10% of performance. Soon we will get boost on smartphone too, but it will only be usable 5 minutes (for benchmark) then it will be too hot. Leakage become bigger and bigger with every new tech which limit frequency further.

Quote:My idea was to have something ready until then, so when the power comes we will be able to have a full pcsx2 experience. Obviously its not an easy undertaking but i see it as the only way forwards. If intel won't be able to match arm's growth she will be in trouble and soon, we wouldn't want pcsx2 to only function in legacy hardware, would we?
Seriously, the probability that Intel destroys ARM is as big as Intel become legacy. Intel killed every competitor on CPU market, the only remaining one is ARM because it was a niche market until smarphone era. X86 will still be here in 5 years, ARM current instruction set (v7) will be dead and replaced by v8, v9?
Reply
#5
(03-29-2013, 08:17 PM)gregory Wrote: Be aware of the marketing. A dual core @2Ghz blow out the water the poor tegra4. You will probably need a 3GHz tegra4 (wikipedia said 1.9 not 2.3) maybe you deals about the 4i but [email protected] is slower than a [email protected].

Every one used to do that, then reality become true. Check the frequency increase between 2005 to 2013 on Intel. Power wise, it won't be efficient to double the size of core to gain 10% of performance. Soon we will get boost on smartphone too, but it will only be usable 5 minutes (for benchmark) then it will be too hot. Leakage become bigger and bigger with every new tech which limit frequency further.

Seriously, the probability that Intel destroys ARM is as big as Intel become legacy. Intel killed every competitor on CPU market, the only remaining one is ARM because it was a niche market until smarphone era. X86 will still be here in 5 years, ARM current instruction set (v7) will be dead and replaced by v8, v9?

Well at this point we do not have much to go by, but this place is a good start as any. As you can plainly see a dual core Intel at 2.13ghz it's 2-3 faster than a dual core A15 at 1.7ghz. So a quad A15 at 2.13 GHz (with the same clock) may well be on the same ballpark of performance (just a few percentage lower). This may not say much after all we're talking of a measly Intel dualie that is being challenged, but you have to be reminded that arm is not stricken from the same disease that Intel is/was (lack of competition).


At this point Intel has absolutely no claim on Low power CPUs and as much as they failed in the GPU arena (who remembers the high end GPU that Intel was planning), I have no reason to believe that they will not fail in this too.


Obviously all of what follows is absolute conjecture (but based on good evidence), but if Intel does nothing (or very little) we re going to say bye bye to x86 on consumer electronics, the sales has already contracted by margin for this arch, and those arm machines as weak as they still are, are already taking over the market. I don't see a good reason barring a miracle that Intel would survive this onslaught. Sure she survived a lot but that says nothing of what she can survive further, historic companies close down or completely change their expertise time and time again, why do you think that Intel will avoid this fate? (funnily enough their atoms - the lowest of the low they ever produced- may be proved the only way out for them)..


My point is that barring a miracle, "it's coming" and it's coming fast one's better to be prepared for that than not at all. As for the "measly Intel dualie" (that only now is being challenged by arm) it can still play *some* of the pcsx2 games (the lowest of the low of course), which means that if we could have a pcsx2 prototype compiled for arm right now it *would* play some (very few) of the ps2 games so we're sort of already there. The change in the instruction set on arm (that may or may not happen soon) is indeed a problem but the team has to start from somewhere, not so to build a full fledged emulator but merely something that "shows a game running" a prototype of sorts at this stage... That's my opinion, but I'm not the one to set targets, so it falls upon the team to think of those...
Reply
#6
PCSX2 is dual threads, so A quad [email protected] will still be 2 times slower than your intel CPU. Why do you think Intel lacks competition. Well maybe a bit but that only impact the price of the CPU, not the efficiency of the core.

Frequency increases in the mobile market is nearly dead. Maybe we will reach 3GHz (I actually work on a 3Gz SoC but it was A9) but nothings more. That why they go from mono core to useless quad core. Desktop was the same severals years ago. Smartphone will follow exactly the same evolution as PC. ARM evolution will slow down very quickly and it will stall.

I think you forgot someone on your equation => SW developer. A SoC migh cost 1 billion of $ to develop but 1 billion of SW will cost much more. A long time ago, spec wise Intel was the worst (more expensive, slower, higher power consumption) but SW was compatible only on Intel CPU => and now PS4 is x86! Today the situation is different because of JAVA but I wanted to highlight the difficulty of any prediction.

Advance (ie one that need to draw any electron of your harware) emulator are special piece of software. You're thinking that it will be:
PCSX2->prototype ARM-> Final ARMSX2
But it will be like that:
PCSX2-> trash -> restart to have a prototype ARM -> trash -> restart to have an ARMSX2
Reply
#7
Hmm, I am/was under the impression that lately (in the last year or so) pcsx2 started to take advantage of more than 2 cores (though MTVU)...

But we're picking straws here, sure having more cores does not translate well to more performance but following a rapidly developing schedule where each generation post significant gains in instructions per clock (IPCs) as well as higher clocks *then* we're talking. ARMv8's whistleblower will be a processor aptly named cortex a57 which would be the first 64bit arm processor to post IPCs in desktop's level.

You'd basically have a 3w processor being able to run pretty much anything you can throw at including desktop applications. Will it run them well, probably there will be slow downs. But think about it, you'd be able to have comparable productivity using a 3w piece of machinery to that of 30w or even 60w. That's a significant departure, and you may say this rate will slow down? Well maybe but that's pure conjecture what I wrote about Intel is based on her track record in the last 5 or 6 years, instead.

Things haven't slowed down significantly in the GPU arena either, so it is very possible to think that ARM holdings will continue pushing out designs with more performance. Whatever may happen though, people are already moving en masse away from x86. Sure consoles use x86 this time around, but that more has to do with how economies of scale work rather than where things go.

I'll tell you this, the next best selling console would be AMR based, and I have good reasons to believe so. Until next generation ARM would probably have caught up with x86, but most importantly it would already be powerfull enough already (before then) that a myriad low cost consoles would be able to compete with "real" consoles (see ouya, or even every new phone in existence).

...anyway our issue here is software. And if indeed it would take the whole team pausing on pcsx2 it wouldn't make sense to build a prototype. However the windows version is already good enough -i believe- so having some of those guys try their luck with arm shouldn't be too far fetched. Also I do not understand why a prototype ought to be trashed, can't you use parts of the same code for the real thing?
Reply
#8
We need another thread mourning Intel demise like that one for AMD (despite AMD is still going on and even causing some boiling Smile )

Even not liking the vPRO on the incoming Haswell, seems there are no doubts it is fiercely targeting the low consumption market and probably will succeed in this. Not counting AMD also... so, ARM is the one to be at the worrisome side in near future most probably.
Imagination is where we are truly real
Reply
#9
IIRC, MTVU is useful if GS thread is fast enough.

Current A15 is 2x slower than X86. You're dreaming about a 2x increase in IPC without any power impact.... Let's take tegra chip, look A15 is 1.5x the IPC of A9, A9 is 2.3GHz and A15 is 1.9GHz because of power impact. If you do the math, in the end the A15 is only 24% faster. Well that not too bad but it would take 3 technology node (if you can keep the pace) => 6 years to gain the 2x factor... Besides did you compare floating point performance between x86 (SSE) and ARM (neon). Anyway ARM follow the same trend as X86 with a shift of several years. They will hit the silicon wall too. Except if silicon is replaced with a complete new tech, there isn't any escape. Did you even consider that Intel can't do better, people said no competition but the sad truth is silicon is limited.

Well depends on what you call a prototype. The core of PCSX2 (plugin too) is optimized for X86 and ASM code is written manually (like a real compiler). It would cost a lots to do the same for ARM. Either you do it directly on your prototype but in this case it is close to be finish. Either you do somethings very basic, but in this case you didn't do anytings. And it doesn't help you to find the good architecture. So you're prototype is useless.
Reply
#10
To be fair Intel had also hit a wall back in the "GHz" era, remember? When Intel would produce bigger and hotter CPUs year after year only to be beaten from amd's processors with half the frequency. If it was up to Intel then would had told you (back then even) that "we hit the silicon wall". But once AMD put charring coals underneath Intel they suddenly produced Conroe, so -yes- I'm not too sure if it's Intel or silicon the one that put a stop to the CPU race.

As for ARM socs I think it would be wiser to be comparing between generations taking into account the better manufacturing that is being utilized...


So with Tegra we had a 40nm quad A9 at 1.4ghz and in 2013 a 28nm quad A15 @ 1.9ghz. If you do the math you'd see that we had 2x gains in performance in a bit more than a year. So tegra 5 the 2014 chip, it may well be at 20nm using 4xmodified A57 cores @ 2.5ghz, that would be another 60% in performance ... See how fast things are moving in the ARM world? Before 2015 will be out you'd probably match the performance of a quad Intel at 2.4ghz... See? We're getting there. And in 2016 be sure that we'll have AMRSX2 running speeds ... we're getting there!

That's 3 years away not nearly as far as you say; all we'd need (by then) would be the software which is *why* I'm saying that you should start thinking about it *today*, 3 and a half years is not much, it's coming long before arm will meet the much fabled silicon wall and Intel *should* be afraid (as -i think that- she is for the reasons I posted above).


As for how you can go about it, I'm not in the team so I can't know the internals of how you work but building a prototype is a valid course of action for most software teams I know of. If that doesn't work for you, well, you still have to do *something* to prepare instead of betting that x86 is here to stay forever (and yes x86 *will* stay alive but only in specialized computing systems, so Intel -too- will probably survive but nowhere near in the form that she is today)...
Reply




Users browsing this thread: 1 Guest(s)