Raspberry Pi + SheepShaver

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

somorastik
Space Cadet
Posts: 5
Joined: Fri Sep 13, 2013 10:46 am

Raspberry Pi + SheepShaver

Post by somorastik »

Hi,e
for the past two days i have been fighting to get the sheepshaver running on a ARM based computer called the raspberry pi.
I did manage to compile and i used the ROM and image file from redundant robot site, but when I hit start I get the:

"Cannot map Low Memory Globals: Invalid agument"

Anyone have an idea what I should do?

CONSOLE:
pi@raspberrypi ~/macemu/SheepShaver $ SheepShaver
SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig
The program 'SheepShaver' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 9 error_code 2 request_code 105 minor_code 0)
(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.)


Written from Raspberry Pi on a stupid wireless handheld keyboard
User avatar
24bit
Forum All-Star
Posts: 1409
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Raspberry Pi + SheepShaver

Post by 24bit »

"Cannot map Low Memory Globals: Invalid augment" was a known issue with a couple of GNU/Linux´s.
The fix is easy. Its in the guide.

Set memory access
Due to a change in how programs in Linux are allowed to use memory, before using SheepShaver you need to set a variable in the file
/etc/sysctl.conf
Add this line: vm.mmap_min_addr = 0

Let me know about your proceedings please, I was thinking of a Raspi lately too.
Do you plan for a Mac like encasement or maybe porting to the more frequent ARM devices running some flavor of Android?
jmedina
Space Cadet
Posts: 1
Joined: Fri Jan 17, 2014 4:57 am

Re: Raspberry Pi + SheepShaver

Post by jmedina »

Hi,

I made the change, but its not working for me ...

Edited the sysctl.conf, add the line in the bottom

Rebooted , check the change with cat > /proc/sys/vm/mmap_min_addr shows 0.

But I still get the same error : Cannot map Low Memory Globals: Invalid argument.

another ideas? thank you

Im running raspbian wheezy

raspberry pi model b
User avatar
Cat_7
Expert User
Posts: 5050
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Raspberry Pi + SheepShaver

Post by Cat_7 »

Hi,

The "permission denied" error would normally get fixed with the vm.map = 0 argument, but the "invalid argument" might point to the fact that SheepShaver can't allocate enough memory for itself to run. Did you try with setting memory to its lowest possible value for SheepShaver? (8 or 16Mb). You should also try to run as root.
On modern Linux you should at least always use the vm.map=0 argument.

FWIW: From what I understand from previous discussions, these error messages are not always correctly telling us what is wrong.

Good luck,
Cat_7
somorastik
Space Cadet
Posts: 5
Joined: Fri Sep 13, 2013 10:46 am

Re: Raspberry Pi + SheepShaver

Post by somorastik »

So I am starting again on trying to compile a functional version of SheepShaver for Raspberry Pi.
Today I downloaded all the latest: Rasbian and SheepShaver sources.

To install I used a combination of these three tutorials:
http://ubuntuforums.org/showthread.php?t=670336
http://www.raspberrypi.org/forums/viewtopic.php?t=39696
http://www.emaculation.com/doku.php/com ... r_basilisk

GTK+1.2 was not detected in the Rasberry Pi default repositories, so I downloaded it alternatively (the second link)

Anyway, I am still hanging at the:
Sheep Shave V2.4 by Christian Bauer and Mar"c" Hellwig
ERROR: Cannot map Low Memory Globals: Invalid argument.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 105 (X_ChangePointerControl)
Value in failed request: 0x0
Serial number in failed request: 9
Current serial number in output stream: 10
I added the vm.map = 0

Cat_7 I don know how/where (what config file) to change the 8, 16Mb RAM, since I can not run the graphical interface of SheepShaver...

Thank you so much for help
User avatar
Cat_7
Expert User
Posts: 5050
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Raspberry Pi + SheepShaver

Post by Cat_7 »

Hi,

I assume you added "vm.mmap_min_addr=0" and not "vm.map=0" ?

The preferences are stored in a hidden file, named .sheepshaver_prefs. You can edit them with a text editor.
Do you run SheepShaver as root? You should try that. Note that the prefs file gets created in the home folder of the user, so edit the correct prefs file. When you run as root, use the prefs file in the root home folder.

for 32 Mb, memory is set as:
ramsize 33554432
for 64 Mb, memory is set as:
ramsize 67108864

Please copy the contents of the .sheepshaver_prefs file in your answer.

Best,
Cat_7
somorastik
Space Cadet
Posts: 5
Joined: Fri Sep 13, 2013 10:46 am

Re: Raspberry Pi + SheepShaver

Post by somorastik »

Ok, still not working.
I ran it as sudo, tried to change the ram (btw what is the value for 8MB?), edited the vm.mmap.addr=0. To NO success.


What about the "sheepthreads.c" file? Where is it located, wouldn't editing it help?

First, console right after compiling:
SheepShaver configuration summary:

SDL support ...................... : video audio
BINCUE support ................... : no
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 ................ : yes
GTK user interface ............... : no
mon debugger support ............. : no
Addressing mode .................. : real
Bad memory access recovery type .. : siginfo
Second, trying to run SheepShaver, right after compiling:
pi@raspberrypi ~/macemu/SheepShaver/src/Unix $ sudo SheepShaver
SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig
ERROR: Cannot map Low Memory Globals: Invalid argument.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 105 (X_ChangePointerControl)
Value in failed request: 0x0
Serial number of failed request: 9
Current serial number in output stream: 9
Last, ".sheepshaver_prefs":
extfs /
windowmodes 0
screenmodes 0
seriala /dev/ttyS0
serialb /dev/ttyS1
bootdrive 0
bootdriver 0
ramsize 16777216
frameskip 8
gfxaccel true
nocdrom false
nonet false
nosound false
nogui false
noclipconversion false
ignoresegv false
ignoreillegal false
jit false
jit68k false
keyboardtype 5
keycodes false
mousewheelmode 1
mousewheellines 3
dsp /dev/dsp
mixer /dev/mixer
ignoresegv false
idlewait true
User avatar
Cat_7
Expert User
Posts: 5050
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Raspberry Pi + SheepShaver

Post by Cat_7 »

Hi,

I ran a Raspberry OS in qemu and found it seems to use selinux.
This can prevent you from mapping the low memory.
Please find out how to disable it and run SheepShaver again.
See here: http://www.revsys.com/writings/quicktip ... linux.html

If it still fails, I would suggest checking whether you have the X development files installed and try to compile a version for X.
Just remove --enable-sdl-video from the compile instruction.

8Mb is: (please note sheepshaver might not run with that amount of memory)
ramsize 8388608

Best,
Cat_7
somorastik
Space Cadet
Posts: 5
Joined: Fri Sep 13, 2013 10:46 am

Re: Raspberry Pi + SheepShaver

Post by somorastik »

Thank you so much for reply!!! I am right on it!

Edit:
Ok I compiled without "--enable-sdl-video" that resulted in the same error.
X developement? What do you mean by that exactly? I am not sure...

From what I reasearched selinux is disabled or even not installed by default in Raspbian -the Raspberry Pi, Debian port.
mascondante
Space Cadet
Posts: 5
Joined: Sun Jun 01, 2014 1:04 am

Re: Raspberry Pi + SheepShaver

Post by mascondante »

Any luck? I plan to take a shot at compiling/installing this and I want to make sure it's not an pointless battle. BTW to set selinux use setenforce=0 and check to see if it worked by using getenforce. You want it to be permissive, not enforcing. I got it to work on a Google Nexus 10 under Debian using armhf so it *should* work. I found the Xorg dev packages by using a simple Google search. I encourage you to do the same.

Let me know how it goes. If I succeed I will let you know what I did.

Cheers!

P.S. Anyone who doesn't havery a Raspberry Pi should totally get one. So many fun projects. Overclockable to a very nice speed. Very easy-to-use. Such amaze! Much wow!
henri
Space Cadet
Posts: 2
Joined: Sun Feb 14, 2016 9:19 pm

Re: Raspberry Pi + SheepShaver

Post by henri »

Hi there,

I'm facing the exact same problem.

-Raspberry Pi 2 Model B
-Raspbian (Jessie)
-No SELinux - I checked
-Still changed vm.mmap_min_addr
-Compiled SheepShaver with default options

ERROR: Cannot map Low Memory Globals: Invalid argument.
X Error of failed request: BadValue (integer parameter out of range for operation)

So I tried with addressing-mode=direct, but I'm not sure which base address to put ... and just --enabled-addressing=direct (output was direct,0x10000000) resulted in
- launches, and starts booting a MacOS9 image (Mac logo in the middle)
- then just crashed with a SIGSEGV

PowerPC CPU emulator by Gwenole Beauchesne
WARNING: Unknown DiskStatus(6)
SIGSEGV
pc 0x5dbdc
ea 0x3012000
.... (register dump)

I have no idea what do try now...
Any help welcome. Thanks !!
User avatar
Cat_7
Expert User
Posts: 5050
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Raspberry Pi + SheepShaver

Post by Cat_7 »

Hi,

Please check your prefs and set

ignoresegv true
ignoreillegal true

Best,
cat_7
henri
Space Cadet
Posts: 2
Joined: Sun Feb 14, 2016 9:19 pm

Re: Raspberry Pi + SheepShaver

Post by henri »

Ah thanks a lot!

So this only applies for the fixed addressing, right?
Tried that, now it doesn't stop, since ignoring the SigSegv, but it's stuck with Mac Smiley Face in the middle of the window, not doing anything, and using 100% CPU. (I'm using the OS9.img file from RedundantRobot).

Should I compile without optimzation so that I can gdb it and try to see what happens?

Thanks again
RaspberryPhil
Space Cadet
Posts: 6
Joined: Wed Apr 20, 2016 8:56 am

Re: Raspberry Pi + SheepShaver

Post by RaspberryPhil »

henri wrote:Ah thanks a lot!

So this only applies for the fixed addressing, right?
Tried that, now it doesn't stop, since ignoring the SigSegv, but it's stuck with Mac Smiley Face in the middle of the window, not doing anything, and using 100% CPU. (I'm using the OS9.img file from RedundantRobot).

Should I compile without optimzation so that I can gdb it and try to see what happens?

Thanks again
It worked fine for me this way, got macos 9 running pretty well on my RPI3 ;)

Mabe your boot image or ROM isn't compatible or something.

Gr,
Phil.
somorastik
Space Cadet
Posts: 5
Joined: Fri Sep 13, 2013 10:46 am

Re: Raspberry Pi + SheepShaver

Post by somorastik »

Can you post a guide?
galgot
Granny Smith
Posts: 101
Joined: Thu Feb 13, 2014 3:59 pm

Re: Raspberry Pi + SheepShaver

Post by galgot »

Have the exact same problem. Compiled SheepShaver on R-Pi 3B, and on launch I get :
ERROR: Cannot map Low Memory Globals: Invalid argument.

I did add "vm.mmap_min_addr=0" to /etc/sysctl.conf

where do you enter that "addressing-mode=direct" option quoted below ?
henri wrote:Hi there,

I'm facing the exact same problem.

-Raspberry Pi 2 Model B
-Raspbian (Jessie)
-No SELinux - I checked
-Still changed vm.mmap_min_addr
-Compiled SheepShaver with default options

ERROR: Cannot map Low Memory Globals: Invalid argument.
X Error of failed request: BadValue (integer parameter out of range for operation)

So I tried with addressing-mode=direct, but I'm not sure which base address to put ... and just --enabled-addressing=direct (output was direct,0x10000000) resulted in
- launches, and starts booting a MacOS9 image (Mac logo in the middle)
- then just crashed with a SIGSEGV

PowerPC CPU emulator by Gwenole Beauchesne
WARNING: Unknown DiskStatus(6)
SIGSEGV
pc 0x5dbdc
ea 0x3012000
.... (register dump)

I have no idea what do try now...
Any help welcome. Thanks !!
RaspberryPhil
Space Cadet
Posts: 6
Joined: Wed Apr 20, 2016 8:56 am

Re: Raspberry Pi + SheepShaver

Post by RaspberryPhil »

galgot wrote:Have the exact same problem. Compiled SheepShaver on R-Pi 3B, and on launch I get :
ERROR: Cannot map Low Memory Globals: Invalid argument.

I did add "vm.mmap_min_addr=0" to /etc/sysctl.conf

where do you enter that "addressing-mode=direct" option quoted below ?
henri wrote:Hi there,

I'm facing the exact same problem.

-Raspberry Pi 2 Model B
-Raspbian (Jessie)
-No SELinux - I checked
-Still changed vm.mmap_min_addr
-Compiled SheepShaver with default options

ERROR: Cannot map Low Memory Globals: Invalid argument.
X Error of failed request: BadValue (integer parameter out of range for operation)

So I tried with addressing-mode=direct, but I'm not sure which base address to put ... and just --enabled-addressing=direct (output was direct,0x10000000) resulted in
- launches, and starts booting a MacOS9 image (Mac logo in the middle)
- then just crashed with a SIGSEGV

PowerPC CPU emulator by Gwenole Beauchesne
WARNING: Unknown DiskStatus(6)
SIGSEGV
pc 0x5dbdc
ea 0x3012000
.... (register dump)

I have no idea what do try now...
Any help welcome. Thanks !!
Here you are:
https://www.novaspirit.com/?smd_process ... oad_id=558
https://www.novaspirit.com/2017/04/13/r ... pberry-pi/
galgot
Granny Smith
Posts: 101
Joined: Thu Feb 13, 2014 3:59 pm

Re: Raspberry Pi + SheepShaver

Post by galgot »

Yes thanks, and sorry for late response.
had found and tried that one already. I get :

(SheepShaver:2832): Gtk-WARNING **: cannot open display:

:/
User avatar
adespoton
Forum All-Star
Posts: 3075
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Raspberry Pi + SheepShaver

Post by adespoton »

Sounds like a GTK issue. Which version do you have installed?
galgot
Granny Smith
Posts: 101
Joined: Thu Feb 13, 2014 3:59 pm

Re: Raspberry Pi + SheepShaver

Post by galgot »

GTK versions ?
according to synaptic I have :
libgtk-3.0 v.3.14.5-1+deb8u1rpirpi1g (!)
libgtk2.0.-0 v.2.24.25-3+3deb8u2
gtk2-engines v.1:2.20.2-3
Installed.
RaspberryPhil
Space Cadet
Posts: 6
Joined: Wed Apr 20, 2016 8:56 am

Re: Raspberry Pi + SheepShaver

Post by RaspberryPhil »

galgot wrote:GTK versions ?
according to synaptic I have :
libgtk-3.0 v.3.14.5-1+deb8u1rpirpi1g (!)
libgtk2.0.-0 v.2.24.25-3+3deb8u2
gtk2-engines v.1:2.20.2-3
Installed.
I have a pi 3 with:
ii libgtk-3-0:armhf 3.24.5-1+rpt2 armhf GTK+ graphical user inter
ii libgtk-3-bin 3.24.5-1+rpt2 armhf programs for the GTK+ gra
ii libgtk-3-common 3.24.5-1+rpt2 all common files for the GTK+
ii libgtk2.0-0:armhf 2.24.32-3+rpt1 armhf GTK+ graphical user inter
ii libgtk2.0-bin 2.24.32-3+rpt1 armhf programs for the GTK+ gra
ii libgtk2.0-common 2.24.32-3+rpt1 all common files for the GTK+
ii libgtk2.0-dev:armhf 2.24.32-3+rpt1 armhf development files for the
un libgtk2.0-doc <none> <none> (no description available
un libgtk3-perl <none> <none> (no description available
ii gtk-update-icon-cache 3.24.5-1+rpt2 armhf icon theme cach
ii gtk2-engines:armhf 1:2.20.2-5 armhf theme engines f
ii gtk2-engines-clearlookspix:armhf 1:2.20.7 armhf clearlookspix t
ii gtk2-engines-pixbuf:armhf 2.24.32-3+rpt1 armhf pixbuf-based th
ii gtk2-engines-pixflat:armhf 0.3 armhf PiXflat theme e
un gtk2.0-binver-2.10.0 <none> <none> (no description
un gtk3-binver-3.0.0 <none> <none> (no description

But i think it's more related to the config of your X server, mabe this can help:
https://www.raspberrypi.org/forums/view ... p?t=167124
galgot
Granny Smith
Posts: 101
Joined: Thu Feb 13, 2014 3:59 pm

Re: Raspberry Pi + SheepShaver

Post by galgot »

Thanks,
Seems you have a more recent version of raspbian than me, so you have more recent versions of Gtk stuffs.
I have Raspbian 8 jessie here. Kept that because the sheep_ko ethernet driver works fine with it.
Anyway, I tried the trick posted on that page :
export DISPLAY=:0.0
then launching Sheepshaver, gui launch fine, but after :

Code: Select all

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

** (SheepShaver:30427): WARNING **: Invalid borders specified for theme pixmap:
        /usr/share/themes/GTK-GNUstep/gtk-2.0/Images/Lines/line-h.gif,
borders don't fit within the image
Reading ROM file...
WARNING: Cannot open /dev/cdrom (No such file or directory)
WARNING: Cannot open /dev/mixer (No such file or directory)
WARNING: Cannot open /dev/dsp (No such file or directory)
WARNING: No audio device found, audio output will be disabled.
WARNING: Cannot open /dev/sheep_net (Permission denied). Ethernet will not be available.
ERROR: Cannot obtain appropriate X visual.
Same if I do
./Sheepshaver --nogui true
galgot
Granny Smith
Posts: 101
Joined: Thu Feb 13, 2014 3:59 pm

Re: Raspberry Pi + SheepShaver

Post by galgot »

@ RaspberryPhil

Please, could you share your .sheepshaver_prefs files ?
RaspberryPhil
Space Cadet
Posts: 6
Joined: Wed Apr 20, 2016 8:56 am

Re: Raspberry Pi + SheepShaver

Post by RaspberryPhil »

galgot wrote:@ RaspberryPhil

Please, could you share your .sheepshaver_prefs files ?
Yeah sure my .sheepshaver_prefs:
disk /home/pi/macemu/OS9.img
extfs /
screen win/640/480
windowmodes 0
screenmodes 0
seriala /dev/ttyS0
serialb /dev/ttyS1
rom /home/pi/macemu/newworld86.rom
bootdrive 0
bootdriver 0
ramsize 134217728
frameskip 1
gfxaccel false
nocdrom true
nonet false
nosound false
nogui false
noclipconversion false
ignoresegv true
ignoreillegal true
jit false
jit68k false
keyboardtype 5
keycodes false
mousewheelmode 1
mousewheellines 3
dsp /dev/dsp
mixer /dev/mixer
ignoresegv true
idlewait true
Did you try using sudo when starting sheepshaver?
galgot
Granny Smith
Posts: 101
Joined: Thu Feb 13, 2014 3:59 pm

Re: Raspberry Pi + SheepShaver

Post by galgot »

RaspberryPhil wrote:
galgot wrote:@ RaspberryPhil
...
Did you try using sudo when starting sheepshaver?
!! :oops:
Of course, that is the thing I was forgetting...
It runs now with sudo.
Many thanks :)
Post Reply