Login  •  Register


The time is now: Sun Sep 24, 2017 4:59 am

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 1 of 1 [ 6 posts ]
Print view Previous topic  |  Next topic
Author Message
PostPosted: Fri Aug 04, 2017 2:19 pm 
Offline
Space Cadet

Joined: Fri Aug 04, 2017 2:08 pm
Posts: 2
I was interested in building SheepShaver from the Git repository, but discovered that it required an older version of GCC in order to build successfully. Not to be deterred, I've built a Docker image the runs Debian Wheezy and builds SheepShaver from the master branch of the repository on GitHub. It's working pretty well so far, if you're interested you can check it out here:

https://github.com/cmiles74/docker-sheepshaver

I have found that the kernel module for network access builds just fine with the current version of GCC, I recommend building and installing that module from source and then running the Docker image. I've been using the "slirp" interface and can see the network without issue.

Lastly, I am seeing a problem with the GUI... If the GUI is turned on, when I press the "Start" button I'll just get a black screen. If I turn the GUI off and rely on the command line parameters, then SheepShaver launches without issue. If anyone has a hint on this one, let me know and I'll update the image. :-)


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Aug 09, 2017 11:38 pm 
Offline
Granny Smith
User avatar

Joined: Mon Sep 15, 2014 7:59 pm
Posts: 124
Thanks for sharing your docker file.

I build and compile successfully with the following option:
Code:
make clean
NO_CONFIGURE=1 ./autogen.sh
./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --enable-jit-compiler --with-x --with-gtk
make -j 32


I used Power Mac G3 ROM with bootable 8.5 Mac OS ISO file (set read permissiononly). The ISO file has been tested on my 1400 PowerBook. It works.

However, sheepshaver always has segfault. My Linux is running under Fedora 26 with GCC 7.1.1

Do you think it relates to GCC compiler? In any case, i should give a try yours docker.

_________________
There is an App for that!
https://github.com/rickyzhang82


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Aug 15, 2017 7:28 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 1756
Dockerizing all the build environments is a great idea! Thanks for doing this!

This way we can all be assured we're using the same build environment to find/fix errors.

Now I just need to set up a VirtualBox VM that can run docker images ;) I guess I'd need to disable VTx for that, limiting me to a single processor.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Aug 16, 2017 1:28 am 
Offline
Granny Smith
User avatar

Joined: Mon Sep 15, 2014 7:59 pm
Posts: 124
Last year, I did an experiment to build and run BII under vagrant. See my git repo https://github.com/rickyzhang82/macemu/tree/vagrant-dist

But I found that it is too slow to play Lemmings even under i7 3770k CPU. So I decided not to make it public.

I don't see the point to run docker image under Linux VM. You should either run docker under native Linux host or build a vagrant VM directly.

_________________
There is an App for that!
https://github.com/rickyzhang82


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri Aug 18, 2017 9:09 pm 
Offline
Space Cadet

Joined: Fri Aug 04, 2017 2:08 pm
Posts: 2
A Docker container is going to be much faster than a Vagrant image. Typically, Vagrant will spin up a VirtualBox image, that image will include a complete Linux environment. VirtualBox will leverage the virtualization capabilities of your machine to host the image.

Docker, on the other hand, will use features of the Linux kernel of a Linux host to share that kernel and the resources of your Linux environment with the container. This is usually a lot faster then VirtualBox (if your machine is running Linux), it's much less load on the host machine in terms of resources, in my experience.

If you aren't running Linux, then you won't see as much of a performance improvement. Still, it's far less resources running multiple Docker containers under Docker Machine on MacOS X then running multiple VirtualBox Linux instances.

I think the biggest use case for this image is if you are running a new-ish Linux distribution and you want to build and run Sheepshaver from the code on GitHub, this image will do exactly that. Also, as someone else mentioned, it could be handy for use when cross-compiling and testing on other operating systems (it's easier to share a Docker file then a Vagrant Box, in my opinion).

Thank you for your interest!


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Aug 19, 2017 2:18 am 
Offline
Granny Smith
User avatar

Joined: Mon Sep 15, 2014 7:59 pm
Posts: 124
I'm not against using docker but I'm against using Linux docker image under Linux virtual machine in Windows/Mac OS host.

No offense. The docker script you wrote is good for Linux host only. But if it runs under Windows/Mac OS host, the performance sucks. I did a I/O test at work. It was far from acceptable.

Microsoft recently introduce Hyper-V and Windows server containers in server 2016. Windows containers only run Windows docker image for isolation purpose. Hyper-v container is VM. Only Hyper-v can run Linux docker image. I can't answer you the performance. But I can image unless you have Windows docker image under Windows server container, you can't match the performance of your current Linux docker image under Linux host.

_________________
There is an App for that!
https://github.com/rickyzhang82


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 1 of 1 [ 6 posts ]


Who is online

Users browsing this forum: Baidu [Spider] and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
 

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group