SheepShaver for Linux

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Linux

Post by Cat_7 »

I just compiled on Fedora 29:

git clone https://www.github.com/macemu macemu-master
cd macemu-master/SheepShaver
make links
cd src/Unix
NO_CONFIGURE=1 ./autogen.sh
./configure (OR, if you want SDL video/audio)
./configure --enable-sdl-video --enable-sdl-audio
make
strip SheepShaver

Run SheepShaver as root.

best,
Cat_7
rxmd
Space Cadet
Posts: 3
Joined: Tue Jan 15, 2019 10:43 am

Re: SheepShaver for Linux

Post by rxmd »

Cat_7 wrote:I just compiled on Fedora 29:

git clone https://www.github.com/macemu macemu-master
cd macemu-master/SheepShaver
make links
cd src/Unix
NO_CONFIGURE=1 ./autogen.sh
./configure (OR, if you want SDL video/audio)
./configure --enable-sdl-video --enable-sdl-audio
make
strip SheepShaver

Run SheepShaver as root.

best,
Cat_7
OK, so I just did:

Code: Select all

git clone https://github.com/cebix/macemu
cd macemu/SheepShaver
make links
cd src/Unix
NO_CONFIGURE=1 ./autogen.sh
./configure --enable-sdl-video --enable-sdl-audio
make
strip SheepShaver
Upon emulator startup I get a segfault:

Code: Select all

$ sudo ./SheepShaver 
SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig

(SheepShaver:31879): Gtk-WARNING **: 23:09:16.205: Unable to locate theme engine in module_path: "adwaita",

(SheepShaver:31879): Gtk-WARNING **: 23:09:16.210: Unable to locate theme engine in module_path: "adwaita",
Reading ROM file...
WARNING: Cannot open /dev/cdrom (Datei oder Verzeichnis nicht gefunden)
Detected CPU features: MMX SSE SSE2 SSE3 SSSE3
PowerPC CPU emulator by Gwenole Beauchesne
SIGSEGV
  pc 0x780c599d
  ea 0x40de9200
 r0 00000000   r1 05ff7dba   r2 00000000   r3 06000400
 r4 00002278   r5 fffffffa   r6 00004e75   r7 ffffffe8
 r8 00000000   r9 00000026  r10 0000006a  r11 0040855c
r12 00000000  r13 00000000  r14 000061fc  r15 003ffffe
r16 000c3958  r17 000013ff  r18 000c2d28  r19 4081787e
r20 05ff7dcc  r21 06000190  r22 06000400  r23 00000000
r24 00001401  r25 00000020  r26 00000000  r27 ffff87b4
r28 00000000  r29 40de9200  r30 40c60000  r31 68fff000
 f0 0,00000   f1 0,00000   f2 0,00000   f3 0,00000
 f4 0,00000   f5 0,00000   f6 0,00000   f7 0,00000
 f8 0,00000   f9 0,00000  f10 0,00000  f11 0,00000
f12 0,00000  f13 0,00000  f14 0,00000  f15 0,00000
f16 0,00000  f17 0,00000  f18 0,00000  f19 0,00000
f20 0,00000  f21 0,00000  f22 0,00000  f23 0,00000
f24 0,00000  f25 0,00000  f26 0,00000  f27 0,00000
f28 0,00000  f29 0,00000  f30 0,00000  f31 0,00000
 lr 40de9200  ctr 00000000   cr 40101c22  xer 00000000
 pc 40de9200 fpscr 00000000
  0x40de91e0:  Speicherzugriffsfehler
If I do the same build procedure as above, but without SDL (just ./configure), I get an X error:

Code: Select all

$ sudo ./SheepShaver
SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig

(SheepShaver:2713): Gtk-WARNING **: 23:12:26.581: Unable to locate theme engine in module_path: "adwaita",

(SheepShaver:2713): Gtk-WARNING **: 23:12:26.585: Unable to locate theme engine in module_path: "adwaita",
Reading ROM file...
WARNING: Cannot open /dev/cdrom (Datei oder Verzeichnis nicht gefunden)
WARNING: Cannot open /dev/mixer (Datei oder Verzeichnis nicht gefunden)
WARNING: Cannot open /dev/dsp (Datei oder Verzeichnis nicht gefunden)
The program 'SheepShaver' received an X Window System error.
This probably reflects a bug in the program.
The error was 'XF86DGANoDirectVideoMode'.
  (Details: serial 43 error_code 180 request_code 154 minor_code 1)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
This is under 64-bit Kubuntu 18.10.
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: SheepShaver for Linux

Post by adespoton »

Which SDL libraries do you have installed?
rxmd
Space Cadet
Posts: 3
Joined: Tue Jan 15, 2019 10:43 am

Re: SheepShaver for Linux

Post by rxmd »

adespoton wrote:Which SDL libraries do you have installed?
1.2.15 and 2.0.8:

Code: Select all

$ apt list libsdl* --installed
Auflistung... Fertig
libsdl-image1.2/cosmic,now 1.2.12-8 amd64  [Installiert,automatisch]
libsdl1.2-dev/cosmic,now 1.2.15+dfsg2-2 amd64  [installiert]
libsdl1.2debian/cosmic,now 1.2.15+dfsg2-2 amd64  [Installiert,automatisch]
libsdl2-2.0-0/cosmic,now 2.0.8+dfsg1-4ubuntu1 amd64  [Installiert,automatisch]
libsdl2-dev/cosmic,now 2.0.8+dfsg1-4ubuntu1 amd64  [installiert]
vasi
Tinkerer
Posts: 54
Joined: Mon Feb 23, 2009 11:46 pm

Re: SheepShaver for Linux

Post by vasi »

I've compiled some new Linux builds of both SheepShaver and BasiliskII: https://github.com/vasi/macemu/releases/tag/2019-07-13 . Feel free to test them out, and maybe link them in the top post.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Linux

Post by Cat_7 »

Thanks Vasi !

I linked to the builds in the first post.

Best,
Cat_7
Ryk Groff
Space Cadet
Posts: 3
Joined: Sun Jan 03, 2021 6:14 pm

Re: SheepShaver for Linux

Post by Ryk Groff »

I'm at my wit's end with trying to get networking to work in SheepShaver on Linux Mint. I have the latest build of everything and it works great, except for networking. I'm a bit of a noob when it comes to Linux, so I followed these instructions to the letter:

Download the sheep_net.ko file from the same forum entry and place it in your home folder. Then open a terminal window and execute:

sudo modprobe sheep_net.ko

But all I get is this:

modprobe: FATAL: Module sheep_net.ko not found in directory /lib/modules/5.4.0-58-generic

I tried copying sheep_net.ko to the aforementioned directory but I get a permissions error.

Can anyone help?
Ryk Groff
Space Cadet
Posts: 3
Joined: Sun Jan 03, 2021 6:14 pm

Re: SheepShaver for Linux

Post by Ryk Groff »

Update: I was able to copy sheep_net.ko to the correct directory, but still can't get modprobe to see it:

rykgroff@LinuxMint:~$ sudo cp sheep_net.ko /lib/modules/5.4.0-58-generic
rykgroff@LinuxMint:~$ sudo modprobe sheep_net.ko
modprobe: FATAL: Module sheep_net.ko not found in directory /lib/modules/5.4.0-58-generic

Huh?
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Linux

Post by Cat_7 »

Hi,

Is the slirp networking option not working or sufficient for you?
If you downloaded the sheep_net.ko file from our forum, then please be advised it is very old and not compiled on Mint.
Perhaps you should compile your own if you need it.

Best,
Cat_7
Ryk Groff
Space Cadet
Posts: 3
Joined: Sun Jan 03, 2021 6:14 pm

Re: SheepShaver for Linux

Post by Ryk Groff »

Thanks for the quick reply, Cat_7!

Yes, I'm using slirp but am unable to connect to ethernet. I thought that .ko file would help, but I guess I need to learn to compile one specifically for my version of Linux Mint, eh? Now to learn how to compile! This is turning out to be quite the involved hobby, but fun!
DanWood
Space Cadet
Posts: 2
Joined: Sun Jan 10, 2021 2:29 pm

Re: SheepShaver for Linux

Post by DanWood »

Hi I'm running linux mint on my Inspiron 3650, can i install please?
macromorgan
Space Cadet
Posts: 1
Joined: Mon Nov 29, 2021 3:12 am

Re: SheepShaver for Linux

Post by macromorgan »

Is anyone able to compile this on Debian Bullseye ARM64? I'm getting the following error when I try:

Code: Select all

../kpx_cpu/sheepshaver_glue.cpp:824:2: error: #error "FIXME: You don't have the capability to skip instruction within signal handlers"
  824 | #error "FIXME: You don't have the capability to skip instruction within signal handlers"
      |  ^~~~~
../kpx_cpu/sheepshaver_glue.cpp: In function ‘sigsegv_return_t sigsegv_handler(sigsegv_info_t*)’:
../kpx_cpu/sheepshaver_glue.cpp:832:19: error: ‘pc’ was not declared in this scope
  832 |  dump_disassembly(pc, 8, 8);
      |
I'm following the instructions detailed on here: https://www.emaculation.com/doku.php/co ... r_basilisk

Here is the results of my .configure:

Code: Select all

SheepShaver configuration summary:

SDL support ...................... : video audio
SDL major-version ................ : 2
BINCUE support ................... : yes
LIBVHD support ................... : no
FBDev DGA support ................ : no
XFree86 DGA support .............. : no
XFree86 VidMode support .......... : no
Using PowerPC emulator ........... : yes
Enable JIT compiler .............. : no
Enable video on SEGV signals ..... : no
ESD sound support ................ : no
GTK user interface ............... : gtk2
mon debugger support ............. : no
Addressing mode .................. : real
Bad memory access recovery type .. : siginfo
lbmac
Space Cadet
Posts: 1
Joined: Mon Feb 28, 2022 5:25 pm

Re: SheepShaver for Linux

Post by lbmac »

Trying to compile on Raspberry Pi 4 on Debian Bullseye 64 bits and getting the same error that was reported above:

Code: Select all


g++ -I../kpx_cpu/include -I../kpx_cpu/src -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/usr/include/SDL2 -D_REENTRANT -pthread -I/usr/include/gtk-2.0 -I/usr/lib/aarch64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -c ../kpx_cpu/sheepshaver_glue.cpp -o obj/sheepshaver_glue.o
../kpx_cpu/sheepshaver_glue.cpp:824:2: error: #error "FIXME: You don't have the capability to skip instruction within signal handlers"
  824 | #error "FIXME: You don't have the capability to skip instruction within signal handlers"
      |  ^~~~~
../kpx_cpu/sheepshaver_glue.cpp: In function ‘sigsegv_return_t sigsegv_handler(sigsegv_info_t*)’:
../kpx_cpu/sheepshaver_glue.cpp:832:19: error: ‘pc’ was not declared in this scope
  832 |  dump_disassembly(pc, 8, 8);

Any solutions/patches out there?

Thanks!
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: SheepShaver for Linux

Post by kanjitalk755 »

You can now build and run SheepShaver on Linux/arm64.

https://github.com/kanjitalk755/macemu
SuperKyK
Space Cadet
Posts: 6
Joined: Sun Sep 04, 2022 11:01 am

Re: SheepShaver for Linux

Post by SuperKyK »

hey, i am having sound problems with linux sheepshaver. how can i find my audio device in /dev?
ubuntu 22.04 x86_64 appimage
and nobody helped me for like 4 days or so
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: SheepShaver for Linux

Post by adespoton »

SuperKyK wrote: Tue Sep 06, 2022 3:51 pm hey, i am having sound problems with linux sheepshaver. how can i find my audio device in /dev?
ubuntu 22.04 x86_64 appimage
and nobody helped me for like 4 days or so
This might help?

https://sourceforge.net/p/basilisk/disc ... /5da1730a/

TL;DR: Sound problems in BII and SS are likely with SDL and not with the apps themselves. You need to have ALSA or PulseAudio configured to work correctly with SDL; by default, SDL is set up to use ALSA. If you're trying to use /dev/dsp but are using an SDL build of SheepShaver, not an X build, you'll get nothing.
SuperKyK
Space Cadet
Posts: 6
Joined: Sun Sep 04, 2022 11:01 am

Re: SheepShaver for Linux

Post by SuperKyK »

sadly libsdl1.2debian-pulseaudio has no installation candidates
and i do not know what is x version and how to get it
Last edited by SuperKyK on Wed Sep 07, 2022 5:53 am, edited 1 time in total.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Linux

Post by Cat_7 »

You might have to look for a comparable package for SDL2. SDL1.2 is not supported any more.

Best,
Cat_7
Klaus
Student Driver
Posts: 14
Joined: Thu Mar 26, 2020 6:53 am

Re: SheepShaver for Linux

Post by Klaus »

Hello everybody,
my system (Neofetch), with SheepShaver Version 2.5:
OS: Slackware Linux x86_64
Host: GIGABYTE AORUS 5 MB
Kernel: 5.15.63
Uptime: 1 hour, 32 mins
Packages: 1919 (pkgtool)
Shell: bash 5.1.16
Resolution: 2560x1440
DE: Xfce 4.16
WM: Xfwm4
WM Theme: Default
Theme: Greybird [GTK2], Adwaita
Icons: elementary-xfce-dark [GTK
Terminal: xfce4-terminal
Terminal Font: Monospace 12
CPU: Intel i5-10200H (8) @ 4.100
GPU: NVIDIA GeForce GTX 1650 Ti
GPU: Intel Device 9ba4
Memory: 3394MiB / 31799MiB
Problem: starting SheepShaver with following warning
/usr/sbin/sysctl: File or directory not found
Under Slackware is SYSCTL not under /usr/bin, but under /sbin.

Any Idea to solve it?
SheepShaver runs without problems with MAC OS 8.6.

Thanks and regards,
Klaus
Korkman
Tinkerer
Posts: 40
Joined: Fri Jan 03, 2003 3:41 am

Re: SheepShaver for Linux

Post by Korkman »

About the hardcoded sysctl location: My bad. I'll open an issue and get it fixed soon.
Arindam
Space Cadet
Posts: 2
Joined: Sun Dec 25, 2022 12:33 pm

Re: SheepShaver for Linux

Post by Arindam »

SuperKyK wrote: Tue Sep 06, 2022 3:51 pm hey, i am having sound problems with linux sheepshaver. how can i find my audio device in /dev?
ubuntu 22.04 x86_64 appimage
On Ubuntu 20.04 I used /dev/snd.
Korkman
Tinkerer
Posts: 40
Joined: Fri Jan 03, 2003 3:41 am

Re: SheepShaver for Linux

Post by Korkman »

@Klaus: Removed the sysctl dependency. You can grab a new build.
User avatar
cheeseburger
Space Cadet
Posts: 2
Joined: Wed Oct 11, 2023 6:42 am

Re: SheepShaver for Linux

Post by cheeseburger »

Hi, I am having trouble getting the Sheepshaver appimage to run in Linux Mint 21.2 Cinnamon.

I downloaded it from here https://github.com/Korkman/macemu-appim ... r/releases
I am running the snapshot from 2023-10-11.

The GUI loads fine and I can set everything but when I click Start nothing loads (it just closes the GUI).
The same ROM and hard drive image works with the Windows version.

As a side note, BasiliskII works fine.

I wondered if there is a log or anything that might explain why it doesn't load?
salty_82
Space Cadet
Posts: 1
Joined: Wed Nov 15, 2023 10:34 pm

Re: SheepShaver for Linux

Post by salty_82 »

Hi, I'm also running Linux Mint 21.2 Cinnamon, and I downloaded the appimage from the same location.

With regards to, "if there is a log or anything", when I run SheepShaver-x86_64.AppImage in the terminal I was noticing an error

Code: Select all

ERROR: Cannot map Low Memory Globals: Cannot allocate memory.
If I didn't set

Code: Select all

sysctl vm.mmap_min_addr=0
then SheepShaver would prompt to set this when starting the emulator, which is fine but then I would still get the cannot allocate memory error. I would get this error even if I set

Code: Select all

sysctl vm.mmap_min_addr=0
using the terminal before opening SheepShaver.

I found a similar problem mentioned at https://aur.archlinux.org/packages/sheepnet-dkms-git, and when I investigated further it seemed like it might be an issue with the 6.5 kernel.

By choosing a different kernel using Grub, I tried 5.15, then SheepShaver started and would run okay.

I hope this information is helpful to someone. Thanks
User avatar
cheeseburger
Space Cadet
Posts: 2
Joined: Wed Oct 11, 2023 6:42 am

Re: SheepShaver for Linux

Post by cheeseburger »

Thank you salty_82, I tried using an older kernel, 6.10-1025-oem, and it works! :smile:
Post Reply