Emulating a PowerPC under Linux on x86 is very simple. One of the programs that can do it under Linux x86 is SheepShaver. The same person that wrote SheepShaver for x86 also helped write BasiliskII/JIT which is a special version of BasiliskII that can perform instructions much faster than BasiliskII itself. But we won’t go into installing that as this is a guide to installing SheepShaver x86.

The requirements for SheepShaver x86 are:

  • a usable Linux install
  • Mac OS (from 7.5.3 to 8.6)
    • Note: There used to be a download link here to get System 7.5.3 directly from Apple. Those links have 404’d since the original publication of this guide and have been removed.
  • a PowerPC ROM (included on the Mac OS 8.6 CD), and, possibly, Wine.
    • You can get a ROM from another computer, and so far, the only ones known to work are from a PCI-based PowerMac, models 7500, 8500, and 8600.
    • This is the rom used for this tutorial, extracted from the Mac OS 8.6 CD.

Downloading and Compiling

  1. Open a new terminal window, and cd to any directory you like, this will be where the BasiliskII and SheepShaver source will be stored.
  2. In your terminal window, type cvs -d :pserver:[email protected]:/cvs login and press Enter. It will ask for the CVS password, type ‘anoncvs’, no quotes.
  3. Now type cvs -d :pserver:[email protected]:/cvs checkout BasiliskII and press Enter. It will download a bunch of files. When it completes, type cvs -d :pserver:[email protected]:/cvs checkout SheepShaver and press Enter. More files will be downloaded.
  4. Ignore the BasiliskII directory and type cd SheepShaver. Once in the SheepShaver directory, type make links.
  5. After that is done:
    • cd src/Unix
    • ./autogen.sh
      • Ignore the warnings about AM_GTK, as it compiled fine for me with those warnings.
    • Run make, as the output instructs you to do.
    • ./Sheepshaver now works to run the application directly out of this directory. Continue if you wish to install it in the proper place on your system.
    • sudo make install to install sheepshaver to the default prefix.

Note: you might have problems running autogen or make. If this is the case, install ALL development packages for your distribution. If you use SuSE, this can be done via YaST. Then try it again.

Configuring SheepShaver

  1. If you have used BasiliskII under Linux before, the GUI for SheepShaver is nearly identical. On the first tab, you can choose the volumes, add volumes, remove volumes, and create them. Note that you might have to install a disk under BasiliskII configured for ANY Macintosh and then use that in SheepShaver. I had a Mac OS 7.5.3 installation for a Mac IIci under BasiliskII and it refused to work under SheepShaver, which emulates a PowerMac. To boot from a Mac OS CD, select CD-ROM under Boot From. In the Linux Root box, you can leave it as / to give the Mac access to your Linux filesystem, or remove the / and replace it with a specific path such as /home/user or delete it altogether to isolate the Mac. Use the “Disable CD-ROM Driver” option in specific circumstances.
  2. Under the Graphics/Sound tab, set the Window Refresh Rate to 5Hz to take the load off of the virtual machine. It will run slow enough. For Enabled Video Modes, I believe that Fullscreen modes aren’t implemented yet, so either choose Window 640x480 or Window 800x600. For the bottom audio settings, you can either choose to disable or leave it enabled, and set your output and mixer devices, most commonly /dev/dsp for the output device and /dev/mixer for the mixer.
  3. Under Mouse/Keyboard, the defaults usually work, but if you are outside the U.S., you may have to play with the Keycode Translation File option. The Mouse Wheel Function and Lines To Scroll options are pretty obvious, usually the default is fine.
  4. For Serial/Network, the default Modem Port and Printer Port options are fine, and for Ethernet Interface, leave it blank, as the SheepNet driver, which provides Ethernet for the virtual machine, is broken. I couldn’t compile it, but if you’re good with C/C++, give it a fix.
  5. The Memory/Misc tab is where you set how much RAM you want the virtual machine to have, where to set its ROM file path, and the “Ignore Illegal Memory Accesses” function. I would set the RAM size to one of 16, 32, 64, 128, or 256MB, depending on the amount of RAM available on the host. Set the ROM File to where you have your PowerPC ROM stored, such as /home/joe/SheepShaver.rom in my case. I would leave the “Ignore Illegal Memory Accesses” option enabled, all it does is lets programs access RAM that doesn’t exist, it shouldn’t cause much trouble, but I like to leave it on. Feel free to change it.
  6. The last tab, JIT Compiler, has one option. Leave it enabled, it compiles the code “Just in Time” to increase performance.
  7. After you set things up the way you like it, click Start. Give the emulator 30 minutes to get going. Subsequent starts won’t take as long. Note that SheepShaver isn’t fast at all, not like BasiliskII compared to an older Mac.
  8. Have fun emulating the PowerPC.