Jump to content

OS X for SSE (qemu)


Dragon
 Share

417 posts in this topic

Recommended Posts

Since we can´t run OSX on SSE-less machines as native we´re now focus on emulate it at most usable speed using full SSE3 instruction set from qemu an ACPI to boot Iso´s so we can make a new OSX SSE3 installation.

 

Qemu is fully ACPI compatible on latest version (0.8.2 - 0.9.0) but hasn´t SSE3 support so i´ve trying to build a full ACPI SSE3 qemu but integrating SSE3 patch to qemu source make it unable to compile (op.c and Helper2.c errors while compiling), so what we have to do is to figure out how can we can apply SSE3 patch to qemu source and then modify files (using Dr. jagermister instruction to boot iso´s and disk images) to make it able to compile and boot iso.

 

The problem with SSE3 emulation code is that we are losing speed using disk images as Deadmoo that has installed SSE2 patches (why use SSE2 patch on qemu 0.8.1 that´s fully SSE3 compatible), also we can Add 3Dnow! multimedia instructions.

 

That´s the situation if anyone are intersed feel free to post!

Link to comment
Share on other sites

MacRetail: there are SSE chips that run at 1.8Ghz and above, are you seriously suggesting that they are slower than my 350mhz B&W G3? thats an acceptable speed. I'm sure one of the later Athlons will have enough CPU cycles to counter the extra overhead.

Link to comment
Share on other sites

Macretail, as i told to Dragon some pages ago, using PearPc is doing somenthing that is alredy done, i think we are trying to install (or emulate) OSX on fastest SSE-less chips (As athlon Xp 3000+), Jargemeister´s code is a little modification done on Targeti386/Helper2.c file from qemu´s source to make it able to boot Disk images as deadmoo, and yes there are another SSE2/3 emulators besides qemu as bochs but bochs is a little harder to use and haven´t ACPI

Link to comment
Share on other sites

If we are doing that, we need to make an sse3, deadmoo style disk image of 10.4.8/9 and boot it using jagermeister's patched qemu. All we have to do is find out why it isn't compiling correctly.

Link to comment
Share on other sites

Dragon, i don´t understand why do we have to make a deadmoo image, we are trying to make a qemu that can boot iso files so everyone can make they own installation and start it using qemu.

 

Macretail, if your AMD is not your main pc you can start lookin up if it is compatible with LinuxBios, but not yet because qemu aren´t fully able to boot iso so we are truncated here, LinuxBios is for all the people thath want to have ONLY .. ONLY OSX on his computer and just emulated... the idea is to flash Every Compatible PC with linuxbios, then Start an iso (using patched qemu), make a SSE3 installation and create a script to LinuxBios Launch qemu and Installation of OSX.

Link to comment
Share on other sites

I´ve Found that there´s a new bios file for qemu that supports EFI that is the procedure to boot mac so here: http://bellard.org/qemu/efi-bios.tar.bz2 is the new bios file, everyone that want to try just download it and replace bios.bin for the one on qemu folder then try to boot OSX from iso and make a new installation, i suggest to use qemu 0.8.1 that have SSE3 support so you can make an SSE3 new installation

Link to comment
Share on other sites

I would drop the idea of LinuxBIOS, it's just too complex and it won't help us much anyway. LinuxBIOS can only accelerate the boot speed of the Host OS, witch isn't our problem here; we want to finetune emulation speed. I think we should focus on that.

 

So the idea is:

 

Linux + QEMU + KQEMU (processor virtualisation + SSE2 Emulation) + OSX86

 

BTW: Thanks for posting the EFI-file!

Link to comment
Share on other sites

Macretail, Kqemu will disable SSE2/3 emulation so Kqemu is not an option, but Using Linuxbios it will seem that is a Mac because it will boot the emulated OSX on our machines, so for now we are just focus on create an SSE3 qemu with support to boot iso´s.

 

Anyone has already been able to boot iso with EFI bios?

Link to comment
Share on other sites

I tried booting the OSX iso with the standard BIOS, but it gave me ACPI errors on boot-up (even if I disabled ACPI). I"ll soon try the EFI file (does it support BIOS emulation?)

 

BTW: Do we need SSE3 Emulation? Isn't SSE2 the only thing we need?

 

edit: We should rethink our opinion. QEMU + KQEMU + OSX86 works! I just tried it. I did get graphical errors, tough.

 

REQUIRED:

1. QEMU Manager (includes QEMU and KQEMU)

2. a SSE-only-processor (I used AMD Athlon XP)

3. an OSX HD image (I used the famous tiger-x86-flat.img, but it's 10.4.1)

 

HOW?

1. download QEMU Manager here

2. make a new VM

3. install and enable KQEMU

4. disable ACPI in your VM

5. RUN

6. start up with:

platform=x86pc "Graphics Mode"="800x600x15" -v

(only platform=x86pc is essential here)

7: you"ll end up with this:

qemu.jpg

 

With KQEMU, but it had a lot of graphical glitches and if you open an application other then the finder, OSX crashes. It's strange because when I boot OSX86, it doesn't say I have SSE2...

Link to comment
Share on other sites

Macretail, the graphics errors that you are getting are caused by KQEMU because it disables SSE2/3 emulation code and Aqua GUI requires at least SSE2 code to run fine but this is a nice discover, i mean probably KQEMU disables only a part of SSE emulation code, so little this part that can boot OSX, if it is true we can find a way to modify KQEMU to let all SSE2/3 emulation code run, but it is just a hypotesis, do you get a rasonable speed using KQEMU? and what about EFI bios have you try it?

Link to comment
Share on other sites

If you don't have SSE3 then Kqemu won't load, although it will appear to load.

type lsmod in terminal to see if kqemu loaded

 

I don't think we will be able to use kqemu, but with the EFI bios that andress has found, we might be able to boot an iso and install a version of OS X without built in SSE3 emulation.

That way we don't have to emulate the SSE3 instructions twice like we do with the 10.4.1 image.

 

So at the moment just try get the 10.4.8 iso booted with the EFI bios and we should see an increased speed.

Link to comment
Share on other sites

1. KQEMU is loaded in user mode. I pressed CTRL+ALT+2 and typed in "info kqemu" and it says it's loaded. So that's garanteed. But if I load KQEMU in kernel mode as well, OSX doesn't boot. Weird!

 

2. About the speed; it's a lot faster than without KQEMU, but I still believe PearPC is the fastest. The stability is very low; I can use the Finder up to some level, but the system crashes if I open any other application.

 

3. QEMU doesn't boot if I use the EFI BIOS, probably because OSX86 10.4.1 is made for regular BIOS and the EFI BIOS might have no BIOS Compatability layer.

Link to comment
Share on other sites

  • 2 weeks later...

I dont really understand why SSE cpus cannot emulate SSE3 the same way as SSE2 cpus does trough the kernel, I guess the cpu is making some kind of illegal instruction error and starts executing some machine code after and bam there comes SSE3 emulation and magically fixes what the SSE3 instruction should have done and then jumps back to where it was an execute as normal. In this case the "only" thing that needs to be done is more instructions to emulate. right?

 

My guess would be that writing the emulation would take an awful lot of time and no one is interested in doing it. Or am I completly wrong? Probably ;)

 

What is the technical difficulty emulating SSE3 on SSE compared to emulate it on SSE2?

Link to comment
Share on other sites

@ Common Sense, SSE Cpus probably can emulate SSE3 code but no one is interesed on write the code to emulate it, well actually the code is already written, (qemu SSE3 emulation source code) but no one is interesed on integrate it on OSX kernel, and the people that are insteresed (all of us) don´t know how

Link to comment
Share on other sites

disable kaspersky? *shrug*

 

I think what we need to do here is ask a dev very nicely to spend a week or so of their time integrating some of the QEMU code into the OS X kernel. We could have a whip round and raise some cash to make it worth their while? I pledge £5 to whoever does this.

Link to comment
Share on other sites

 Share

×
×
  • Create New...