Page 1 of 2

Raspberry Pi + SheepShaver

Posted: Fri Sep 13, 2013 11:06 am
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

Re: Raspberry Pi + SheepShaver

Posted: Tue Dec 03, 2013 9:29 am
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?

Re: Raspberry Pi + SheepShaver

Posted: Fri Jan 17, 2014 5:29 am
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

Re: Raspberry Pi + SheepShaver

Posted: Fri Jan 17, 2014 6:51 am
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

Re: Raspberry Pi + SheepShaver

Posted: Tue Jun 17, 2014 1:52 pm
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

Re: Raspberry Pi + SheepShaver

Posted: Tue Jun 17, 2014 4:04 pm
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

Re: Raspberry Pi + SheepShaver

Posted: Wed Jun 18, 2014 10:51 am
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

Re: Raspberry Pi + SheepShaver

Posted: Wed Jun 18, 2014 11:07 am
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

Re: Raspberry Pi + SheepShaver

Posted: Wed Jun 18, 2014 11:18 am
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.

Re: Raspberry Pi + SheepShaver

Posted: Mon Oct 06, 2014 10:47 am
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!

Re: Raspberry Pi + SheepShaver

Posted: Sun Feb 14, 2016 10:04 pm
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 !!

Re: Raspberry Pi + SheepShaver

Posted: Sun Feb 14, 2016 10:39 pm
by Cat_7
Hi,

Please check your prefs and set

ignoresegv true
ignoreillegal true

Best,
cat_7

Re: Raspberry Pi + SheepShaver

Posted: Fri Feb 19, 2016 11:31 pm
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

Re: Raspberry Pi + SheepShaver

Posted: Wed Apr 20, 2016 9:00 am
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.

Re: Raspberry Pi + SheepShaver

Posted: Tue Aug 23, 2016 11:40 am
by somorastik
Can you post a guide?

Re: Raspberry Pi + SheepShaver

Posted: Wed Mar 18, 2020 8:45 pm
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 !!

Re: Raspberry Pi + SheepShaver

Posted: Sat Mar 21, 2020 1:07 am
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/

Re: Raspberry Pi + SheepShaver

Posted: Wed Mar 25, 2020 10:12 pm
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:

:/

Re: Raspberry Pi + SheepShaver

Posted: Wed Mar 25, 2020 10:29 pm
by adespoton
Sounds like a GTK issue. Which version do you have installed?

Re: Raspberry Pi + SheepShaver

Posted: Wed Mar 25, 2020 10:56 pm
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.

Re: Raspberry Pi + SheepShaver

Posted: Thu Mar 26, 2020 4:56 pm
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

Re: Raspberry Pi + SheepShaver

Posted: Sat Mar 28, 2020 6:41 pm
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

Re: Raspberry Pi + SheepShaver

Posted: Sun Apr 05, 2020 7:29 pm
by galgot
@ RaspberryPhil

Please, could you share your .sheepshaver_prefs files ?

Re: Raspberry Pi + SheepShaver

Posted: Sun Apr 05, 2020 8:10 pm
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?

Re: Raspberry Pi + SheepShaver

Posted: Sun Apr 05, 2020 8:31 pm
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 :)