PowerPC Architecture Emulator Unleashed
Sebastian Biallas writes "We have finally released version 0.1 of our PowerPC architecture emulator: PearPC. The emulator itself is (prepared to be) architecture independent but only tested on x86s (here you go porters...). It also features a must faster just-in-time compilation unit for x86 hosts. This means that you can now run your favourite PowerPC-OS on x86: Mandrake Linux (9.1), Darwin (6 + 7) and Mac OS X (10.3)! And the best things is: it's GPL'd.
But be warned: it's experimental.."
This means that you can now run your favourite PowerPC-OS on x86: Mandrake Linux (9.1),
Why not just run it natively on the x86 architecture?
...until you can show me even a login screen.
Cloud City Digital: DVD Production at its cheapest/finest
OMG!
I never thought this day would finally come... a PowerPC emulator that
is stable and mature enough to actually run MacOS X on an x86!
Oh well, i've already bought 2 macs now (Titanium Powerbook G4) and a G4
Cube (which got majorly upgraded; 1.2ghz G4, GeForce3 64mb, 1.5gb ram,
etc).
But still, I wonder... will apple try to kill this project?
D.
You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
Maybe you should actually read the webpage and see for yourself.
On the warez scene, now Linux masses can pirate Apple software. Apple has too much invested in their partnership with IBM to produce power4 chips for G5's and beyond to ever port OSX to x86, but if GPL'd code fixes this problem, it could start to get interesting. Imagine this thing optimized for the opteron: our long-awaited dream of high-end OSX software on cheapo hardware might finally be just around the corner.
Can anyone confirm that it works with OS X?
If OS X even installs, how much of it works? Networking? Sound? Video acceleration?
This is actually not the first PowerPC Mac emulator for x86. SheepShaver has been able to run PowerPC Mac OS (only up to Mac OS 8.6, not OS X) for some time now. It's from the developer of the excellent Basilisk II emulator.
Hopefully, the two projects will collaborate and help improve the performance of the emulator until it is usable. 1/20th of actual CPU speed would be acceptable.
Imagine this thing optimized for the opteron: our long-awaited dream of high-end OSX software on cheapo hardware
Opteron is "cheapo hardware"?!
Treehugger? Treehugger... Treehugger!
Last week, IBM announced industry's first POWER5-based server, based on - advanced 64-bit IBM POWER5 (PowerPC) microprocessor technology
No, but Athlon 64 is.
Opteron is "cheapo hardware"?!
By the time this thing is optimized, it will be.
That's not intended as sarcasm, either, just a simple observation.
Does anyone know how it compares to QEmu (http://fabrice.bellard.free.fr/qemu/)?
"QEMU is a FAST! processor emulator using dynamic translation to achieve good emulation speed. "
"News
(May 8, 2004) QEMU version 0.5.5 is out. (Changelog). Much improved Windows 98 support. VGA support in PowerPC PREP target.
(Apr 26, 2004) QEMU version 0.5.4 is out. (Changelog). This is the first version which is able to install and run Windows XP (experimental). This is also the first version which is able to boot a PowerPC PREP Linux kernel on a PC."
Try Corewar @ www.koth.org - rec.games.corewar
From their docs: PearPC currently only supports two-button mice (i.e. middle-button click and the scrollwheel will be ignored).
:)
They are going to have to figure out how to disable that second mouse button if they want to truly emulate OSX.
Need Free Juniper/NetScreen Support? JuniperForum
The only problem with Sheepshaver is finding roms that work with it.
That's great guys, now go work on qemu instead--it only runs 10x slower or so, I believe.
pb Reply or e-mail; don't vaguely moderate.
A modern computer spends most of its time in system calls (Ok, depends on the program, but generally this is true). So Darwin runs on x86.
Would it be possible to get this thing to run on Darwin in such a way that the system calls run natively but the apps run in the emulator?
So only the non-kernel pats of a program are emulated? That might bring down that 500x a bit.
It would involve having some translation at the boundary between the apps and the kernel but is this not the way Apple emulated old 68000 programs when they did their transition to PowerPC?
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
Paragraphs, my friend. Paragraphs.
I'm seeing a lot of people saying "Great, now I can run OSX on my cheap x86 processor!" Yeah? Any idea how fast your x86 processor would need to be to actually have OSX be remotely usable? To build that little supercomputer won't be "cheap". But further, why bother? If you want a Mac, buy it. They're good. They're worth it. You'll be happy. But if you're looking for the hard way of doing things, you don't really want OSX anyway.
"Imagine this thing optimized for the opteron:"
What makes you think that it's better to emulate a 32-bit CPU using a 64-bit CPU rather than another 32-bit CPU?
What benefit do you think the 64-bit nature of the Opteron family gives you?
As someone who's worked with 68K-on-PPC emulators, I can assure you that having only a 32-bit host made it _easier_ to emulate a 32-bit target.
YAW.
Your head of state is a corrupt weasel, I hope you're happy.
soon i can install mac os x on my mighty pizza box mac with its powerful 68040 cpu. hah, apple! me not gonna buy new hardware!
Here is a screenshot of me running an OpenSSL benchmark on the emulated Macintosh:
Open SSL benchmark
And a screen shot of the PCI information:
PCI info
These tests were run on a Pentium III 500 under XP Pro. You can recrate the test on your system by running openssl speed rsa dsa md5 and compare the results to a real pc or mac running linux.
don't be stupid
The AMD64 arch has twice as much registers as plain IA32. Should help speed pretty much, no?
Won't be simpler of cource!
Apple stuff is so overpriced... why, the lowest-cost OS X platform you can buy from Apple is a $799 eMac.
With just a little bit of work and a decent motherboard you can put together a smokin' Wintel box for $400, tops and, well, sure, the eMac includes a monitor but you probably already have one.
So what if it runs at 1/200 the speed of a Mac? Hey, put a cooler on the chip and overclock it, then it will run at 1/100 the speed of the Mac!
And for less than half the price!
Well, OK, for $0.50 more than half price.
"How to Do Nothing," kids activities, back in print!
Mac OS X supports the use of 2nd button for pulling up "context menus", similar to right clicking in Windows. Of course, it's the same as control-clicking with the single button mouse, but it is supported. OS X also supports the scrollwheel to some extent (behaving mostly as you'd expect), which PearPC doesn't yet.
I once asked an Apple engineer why you couldn't GET a two-button mouse when buying a new Apple. It was implied that someone "with a huge amount of control over the design process" was still adamantly opposed to the 2nd button. I wonder who....
//Information does not want to be free; it wants to breed.
If so, then a native AMD64 port of this emulator, taking advantage of the higher number of available general purpose registers (combined with the fact that AMD64 CPU's are quite fast to begin with) would make this emulator run considerably faster, right?
Or did I disregard something?
"Oooh, does that mean we get to kick some puffy white mad zionist butt?"
Apparently it is now.
I've been waiting for an emulator like this for a while and while.
I may be waxing rhapsodic, this could be the butterfly-flapping-it's-wings event that brings open.
Source, Apple, and Microsoft together in a way that none of the three entities can control. This kind of software could be the death of Microsoft, Linux or Apple. The question is, which one on the one hand?
this could become the killer app open source has been going for. I mean, one of the main things both helping and hindering Apple is it's initial cost for both hardware and software. If open-source can do an end-run around the Apple tax, then?
What Apple certainly seems to then become a hardware company whose hardware isn't necessary. And make no mistake, this will be able to happen sooner rather than.
Later, Longhorn's still two years away, chips are going to get faster, and PearPC and it's ilk will get optimized. Imagine a point in the future when you'd be able to get a to rent of OS X 10.x and dual boot into it or Windows on an x-86. What once would have cost at least 900 bucks then becomes absolutely.
Free don't forget, his Jobsness trusts us little people so we don't really have to register the program to use it, unlike MS. One of the frequent open source complaints is it's lack of user-friendliness. Imagine packaging OS X through opensource: "This superior operating system brought to you by your helpful friends at free-as-in-beer Open Source. We bring the bourgeoisie-juju-magic of Apple to the masses' butt.
If this takes off, what would prevent everyone from switching over to OS X entirely itself?
just a fork of Unix? Sure, ther'd be the slashdoters fighting the good.
Fight but most would see OS X as the best possible combination of open source and proprietary especially. Once it came to x-86 I'd be willing to bet that OS X would replace the majority of Linux users.
Desktops (not servers, probably), especially if it wasn't on Apple's terms. It would be a dead end for Linux, a dead end still full of many uses but kept out of the zeitgiest of "personal desktop/laptop computers" now.
I wonder if Apple has planned for this. They'd be stupid not to, and I think Jobs and company are way too smart to bury their head in the sand. If there's one lesson to learn about, technology in the past ten years it is that it can.
And will always be reversed engineered. Here's what I see happening. PearPC gets better, OS X-on-x86 starts to get word of mouth. Jobs says, "Hey, you can use this hacked up hardware emulation for free that will be slow and buggy or pay us $129 for a native PC version. Of course, to get all the new ultra-l33t goodies we include, you really need to think about investing in our approved hardware with our superior technology for your next computer." Apple could survive on that, I think. Because Apple has realized that even commodity goods can have brand-name recognition. Krispy-Kreme, Maytag ect., people who want the best buy these things and happily pay out the money. What if the same software package could be used for both Mac and PC? Just distribute as encrypted binaries and compile when installing. If Apple can find a way to completely co-opt the bargain basement computers by providing a native operating system (letting those companies keep their razor-thin profit margins to themselves) while also providing a "complete and better solution" for a considerably larger and more profitable chunk of change then Apple could become both a hardware and software company and still be profitable at both. A sort of amalgam between Windows and Dell. Am I crazy? Probably. But something like this is bound to happen sooner or later. I just wonder how MS is going to handle it. They'd certainly not die, at least not for a good long while, but I think they'd no longer have dictatorial power over the industry.
Right in principle, but the PPC still has *way* more registers than any Athlon64. The x86-64 architecture has something like 8 general purpose registers as opposed to x86's 3 or 4. PPC has 32, as is common among RISC architectures like Sparc and MIPS. More registers also means more code to save and restore them on context switches, but the good CPUs have register windows and such to speed that up.
Bottom line is that the number of registers makes it more difficult than it would seem.
Disclaimer: I don't have the specs in front of me, so my numbers may be a bit off. Feel free to check them yourself if you think I may be very far off.
Karma: Contrapositive
I've had an idea about PPC emulation and running OS X.
What about taking a x86 "lower half" of the OS (i.e. Darwin) and plugging and emulated "upper half" (i.e. Cocoa, Charcoal, etc.) of OS X above it.
Would that be feasible?
how long until
When you compare systems with the Opteron processor to systems with the G5 processor, the answer is a resounding yes. In fact, its price compares favorably with G4 systems, and it's a hell of a lot faster.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I am following the instructions at http://pearpc.sourceforge.net/installdarwin.html and am tring to boot Darwin 7.01, it gets stuck at : The following devices are availble for installation: the output on the PearPC console is: [IO/MACIO] dbdma: write(4) @00000000: 000000fc [IO/MACIO] dbdma: read(4) @00000004 [IO/CUDA] keyb reg1 I did create a HD image (I D/Led the 3gb one) Anybody get any farther?
If you think that having 2x the number of registers makes a big difference you're sorely mistaken. The P4 has atleast 128 registers. They are just hidden behind a little thing called register renaming (look it up, register WINDOWS are used by Sun chips and are VERY bad for many reasons). The x86 architecture would never be able to perform nearly as good as it does now if it actually only used 8 registers.
The push/pop or load/store operations that overflow the registers when the 8 are exhausted are all optimized away by the processor's load/store buffers and superscalar-ness.
I agree the x86 architecture is a big piece of legacy crap but between trace caches and better instruction decoders, the x86 processor of today is at its core simply a RISC processor (intel's design is based of the old DEC Alpha, they stole some of their people way back). If you look at the core of the P4, Athlon64, G5 they are all the same just with different instruction decoders and more optimized pipelines...
I shouldn't be teaching undergraduate CS on slashdot, but here goes...
traditional "ia32" has (nearly) 8 general purpose registers. AMD64 increases this to 16.
PPC has 32. When JITing PPC code to ia32, register allocation will probably compete with flags management for top overhead. With AMD64, reasonable register allocation will make flags squashing your top overhead.
With a competent team and enough implementation resources, running PPC code on AMD64 shouldn't be more than a 3x slowdown.
If Basilisk II has even a scrap of ShapeShifter code in it (his previous project on the Amiga) then it is ILLEGAL.
http://www.emaculation.com/fusion.php
Microcode solutions were extremely pissed with Christian Bauer. I read somewhere, that to prove he was copying their code for their own competing product, "fusion-pc", Microcode Solutions put dummy code in one of their releases. That dummy code appeared later in ShapeShifter. Can't find a ref at the moment.
When (as Drew alleges) EMPLANT code was illegaly utilized by Christian Bauer (who would later create Basilisk II) to create Shapeshifter, a shareware Mac-on-Amiga emulator, UUI was put out of business. Drew, however, continued his emulation work by founding "Microcode Solutions" on August 24 1996, with two of his co-workers, including programmer Joseph Fenton who is still with the company. Together, they developed "Fusion," a software-only (no costly hardware was required) Macintosh emulator for the Amiga system.
"If you think that having 2x the number of registers makes a big difference you're sorely mistaken."
Read my comment again. I stated that having 2x as many registers will *not* make that much of a difference.
"The P4 has atleast 128 registers. They are just hidden behind a little thing called register renaming"
The P4 does NOT have 128 seperate general-purpose registers. Register renaming does not allow you to use any more general-purpose registers per program than if you only had one set. It's simply a fast hardware mechanism for context-switching.
"look it up, register WINDOWS are used by Sun chips and are VERY bad for many reasons"
I know about register windows. They have their benefits, just as register renaming has it's pitfalls. Again, completely off-topic, since we're talking about usable general-purpose registers.
"x86 processor of today is at its core simply a RISC processor"
That's completely right. Unfortunately, it has absolutely no bearing on what we're talking about, since you can't access the RISC core even using assembly language. None of what you said applies in the situation referenced by original poster, since none of those features can be used to make emulation of a different architecture faster.
Karma: Contrapositive
Likewise, I shouldn't be responding to AC's, but here goes...
That's pretty much what I was trying to say. I guess it depends on how them implement it. Even with only having to emulate half the registers, it's still going to be a very significant slowdown. Unless you can keep them in cache, your emulated registers are going to be in RAM, which is painfully slow compared to hardware registers. I hope they have a competent team, cause I really want to see this work in the near future at decent speeds.
Karma: Contrapositive
Ok I just had to reply to this again, even though you're right it is a little off topic, I just need to set the matter straight....
"Read my comment again. I stated that having 2x as many registers will *not* make that much of a difference."
I was mainly responding to the parent post, which was under the impression more registers = more performance, and you kinda agreed by saying " Right in principle"...
"The P4 does NOT have 128 seperate general-purpose registers. Register renaming does not allow you to use any more general-purpose registers per program than if you only had one set. It's simply a fast hardware mechanism for context-switching."
No, as I kinda implied, register renaming is not used for context switching; that is what register windows are used for.
Register renaming is used because the processor is superscalar and there are many instructions in-flight in the pipeline at one time (im not sure but I'm guessing P4 supports from 128-256 u-ops in-flight) and each of these instructions may write to one or (possibly) more registers and these have to physically exist somewhere.
It's true you can't access them from your program because of sophisticated logic that makes it appear as if there is only 8 registers as per the architecture specifies (I know, what a waste...), but they are there and they are all used in every program you run.
"I know about register windows. They have their benefits, just as register renaming has it's pitfalls."
Segmented addressing had its benefit too, but nobody uses it anymore...
Register windows are great if you're writing in assembly language with no operating system on the machine. But AFAIK most operating system's just ignore the feature and Sun is just forced to carry the bagagge around so 30yr old legacy apps work right.
"That's completely right. Unfortunately, it has absolutely no bearing on what we're talking about, since you can't access the RISC core even using assembly language. None of what you said applies in the situation referenced by original poster, since none of those features can be used to make emulation of a different architecture faster."
I was just making the point that there is no reason for the PPC emulator to run slower simply because the processor has less architectural registers. The ISA (instruction set architecture) is simply fluff overtop the architectural core, and most deficiencies can be optimized away.
There exist (mostly still in research) programs that will do binary-to-binary translation between different architectures (like IA32 and PPC).
Just look at transmeta, they use software and firmware to convert from IA32 binary to their native VLIW core at runtime. How hard would it be to make it run PPC binaries also? Not very...
I should probably get an account and stop posting as AC =)
"I should probably get an account and stop posting as AC =)"
;) Thanks for the informative reply. Point taken, and I apologize for getting defensive.
Yeah, you should. You're ruining the image of ACs by posting intelligent comments
Karma: Contrapositive
I run Linspire and OpenStep, easy enough for me to use and configure. No need for me to use OSX anyway.
For $450USD I can buy a very good low end PC Clone using an AMD processor at 2.0 Ghz, and an 80G hard drive, and 512M of RAM, DVD+RW drive, GeForce FX video chipset, onboard LAN, USB 2.0, Firewire, etc sans an OS and for $50USD I can buy a copy of Lindows, and use F/OSS software for the rest of it. So $500 total, and what do I have to spend to get all that with a Macintosh? $1799 for the low end G5 model. They may be worth it, but they are still out of my price range.
The iMac and eMac are underpowered for me, and not expandable enough for me.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
But....
Significant slowdown.
What does that mean?
1/3 of native? 1/10 ?
In my mind that would be okay.
1/50? Too slow.
1/10 speed of native code executed, on the latest Athlon FX-52?
That would be just dandy.
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
i am writing this on a 1ghz 12" powerbook with vpc 6... should i dare setting up pearpc in win2k, and trying to install OSX 10.3 on win2k in vpc on OSX 10.3?
The install could take DAYS! But i might be eligable for added geek points, aye?