Virtualization
Contents |
Introduction
This is the virtualization section of the osx86project wiki. Here you will be able to acquire information about tools for running virtual x86 machines inside of Mac OSx86, and how each method reacts with your hardware.
Virtualization lets users create completely self-contained virtual machines on a single PC. Virtual machines can be created to run anything that will run natively on x86 hardware, including the entire Windows family, Linux distributions (such as Mandrake, Red Hat and SUSE), OS/2 and FreeBSD.
"Host" means the OS that the virtualization program runs on, OSx86. "Guest" means the OS running inside the virtual machine, like Windows or Linux.
Quick Comparison
Product | License | Price | Latest Stable | Latest Development | Guest Tools | Unique Features |
Parallels Desktop | Commercial | $80 | 2.5 (3186) | None | Windows only | Coherence Boot Camp integration |
VMware Fusion (beta) | Commercial | unknown | N/A | 1.0b2 (41385) | Windows, Linux, Solaris, FreeBSD, Novell | 3D acceleration Single Snapshot 64-bit guests Multiprocessor guests Battery information in the guest Maybe other unannounced stuff? |
Q (Developer site) |
Open source | free | 0.8.1a35 | 0.8.2d52 | none (?) | ? |
Notes
Guest tools improve performance of the virtualized system and can allow useful things like drag-and-drop or shared folders between guest and host.
"Latest Stable/Development" is as of March 2, 2007.
Parallels Desktop
You can download it from the official site.
Overview
Parallels is a new virtualization company, a subdivision of SWsoft. Parallels' programs rely on recent virtualization hardware extensions by Intel (VT-x) and AMD (Pacifica).
Parallels uses GTK+, which eases cross-platform development but occasionally makes Desktop not behave like other Mac applications.
CPU Requirements
Every Intel Mac (Except Mac Pro & Xserve) uses CORE CPUs wich are intel VT enabled (or not? see update below). OSx86 thanks to some patches works with Intel and AMD CPUs alike, infact every CPU with at least SSE2 (through SSE3 -> SSE2 Emulation).
On the Windows and Linux Versions of Parallels you can either enable or disable VT via Checkbox, because of course not every "PC CPU" supports it. Parallels for OSX however requires VT, as any LEGAL hardware it runs on supports it, that could be a problem for your Frankenstein Box unless you plan on using a VT enabled Intel CPU.
UPDATE: I've bought Parallels and I'm using version RC2 on a Celeron M which does not have VT. Mac version also has a VT enabled checkbox.
Specifications
Parallels Workstation virtualizes a full set of the standard PC hardware including:
- CPU Pentium or AMD Duron
- Generic motherboard compatible with Intel i815 chipset
- RAM up to 1500 Mb
- VGA and SVGA with VESA 3.0 support
- 1.44 Mb floppy drive (mapped to a physical drive or to an image file)
- Up to four IDE devices
- AC97 compatible sound card
- 104-key Windows enhanced keyboard
- PS/2 wheel mouse
More information on this page
Guides, Hacks and Tips
Here we have developed some guides, hacks and tips which can better your experience with Parallels Workstation. Please feel free to add any info that can better our experience with this software.
CD-ROM Issues
If you are using Parallels and it don't recognize your CD, try closing Parallels and ejecting the CD. Then put the CD in again and start Parallels. Check if you can use the CD.
If that doesn't help you, you can make an ISO of your cd and then use it in Parallels. For this go to Applications -> Utilities -> Disk Utility. Select your cdrom and then go to New Image and select Master DVD/CD, type a name for it and make the image. This way you'll have a file ending with .cdr. Rename the .cdr to .iso and mount it in your Parallels virtual machine.
Install Parallels on AMD64
- 1) Download it
- 2) Mount the image
- 3) Launch Parallels.pkg... Ta-daaan! XD It says that you haven't a compatible system, in italian it says "Parallels non può essere installato in questo computer. Assicurati che il tuo sistema possieda i requisiti necessari.", in english "Parallels cannot be installed on this computer. Make sure that your system meets the requirements."
- 4) Copy Parallels.pkg on your desktop
- 5) Right click on it and choose "Show package contents"
- 6) Right click on "Contents", show informations and under "Ownership and permission" make you owner of it with a read/write access
- 7) Apply to enclosed items...
- 8) Open "Info.plist" with TextEdit and delete the following:
<key>IFRequirementDicts</key> <array> <dict> <key>Level</key> <string>requires</string> <key>SpecArgument</key> <string>machdep.cpu.vendor</string> <key>SpecType</key> <string>sysctl</string> <key>TestObject</key> <string>GenuineIntel</string> <key>TestOperator</key> <string>eq</string> </dict> </array>
- 9) Save and exit
- 10) Go to Resources folder and delete InstallationCheck and pkmkshellutility
- 11) Exit and launch your modified Parallels.pkg
- 12) Install it!
Installing Windows XP in Parallels
Prepping
- First get a copy of windows xp handy.
- If the copy is in iso form, then great you're a step ahead.
- If you have a physical XP CD then it is recommended you make an ISO to use with parallels. Parallels seems to handle ISO files better then mounting physical discs. [NOTE: With new beta, CD/DVD support is working much better. Make sure there is a CD/DVD in the drive before launching the program and it works fine.]
Setting Up Virtual Machine
- This part is actually pretty straight-forward... just click the "New" button at the bottom and follow the prompts. Their website has a FAQ and a support forum for your use. http://www.parallels.com
VMware Fusion
Download the free beta from the official site (requires registration).
Overview
VMware kicked off virtualization on x86 hardware in the late 1990s, and was later acquired by EMC. Although VMware products are capable of using virtualization hardware extensions, this functionality is off by default because for normal workloads, it's actually slower for the current generation of hardware extensions.
Fusion uses the same disk format as other VMware products, so you can move virtual machines between them. Fusion uses a native Cocoa UI. You can download hundreds of free preconfigured virtual machines for use with VMware products (in some cases they may require minor tweaking to work).
Fusion is still in beta, the final version will be available in Summer 2007.
Experimental 3D support
Fusion supports hardware accelerated DirectX 8.1 in guests. For a list of games known to work, see the release notes. VMware developers have stated they are working on support for DX9.
Single Snapshot
Snapshots are a way to create a "save state" of a virtual machine. If something later goes wrong (you get a virus, decide you didn't want to delete that system file, etc.), you can revert to the snapshot and be on your way. This is superior to just making a backup copy because it saves space (future disk operations only need to record the difference between the old state and the new state).
Common Problems and Solutions
Read the release notes, FAQ, and check out the forums (requires registration). Many (all?) of these will be fixed in future updates. Be careful about the forums, they don't seem to like FrankenMac owners posting (reading looks OK).
(Note that some of these issues may be out of date and apply only to the previous beta, I only removed stuff the release notes explicitly mentioned)
system.log is full of messages beginning "SMAC: FromHostIP: could not find IP "
/var/log/system.log and it's gzipped rotating backups are full of this message, causing them to drastically increase in size to several megabytes each. There is only 1 log and 8 compressed rotating backups at a time, so this will add a few tens of megabytes -- small compared to a VM, but still annoying. The problem seems to be related to wireless. VMware has been informed of the problem. See the original thread If you are bothered by the large log size, try the following workarounds: When you're not using Fusion, stop the network kexts with
sudo '/Library/Application Support/VMware Fusion/boot.sh' --stop
and when you want to use Fusion again, resume the services with
sudo '/Library/Application Support/VMware Fusion/boot.sh' --start
You can also rotate the logs more frequently (so they don't have time to get as big), see the thread for details.
CD-ROM Issues
Make sure it's connected (CD-ROM icon should have a green circle). Usually works, but making an ISO of the disk is more reliable. To do this:
- Run /Applications/Utilities/Disk Utility
- Select the CD you want to image
- Select File > New > New Disk Image from Device
- Choose DVD/CD master, no compression, no encryption
- Rename the .cdr file to .iso (optional)
Mouse or Keyboard doesn't work
Definitely being worked on. The following things are known to cause problems:
- Quicken Scheduler, CheckPoint SecureClient
Host-only networking doesn't work
Known issue, noted in release notes.
Help! Trapped in full screen
Command-Enter toggles full-screen. Or, move the mouse up to where the menu bar should be and it'll appear. Then you can use the "Toggle Full Screen" option.
Moving a Parallels VM to Fusion
There's a nice guide with pictures on the forums. Basically use VMware Converter.
Q
Download from Apple or go to the developer site.
Overview
Q is a port of the QEMU emulator which uses native technologies such as OpenGL, CoreImage and CoreAudio. Technically, emulation is not the same thing as virtualization (though the casual user will not notice the difference); there is a closed-source accelerator for QEMU (and in the process of being ported to Q?) which does virtualization.
{someone needs to add more information about this}