Main > Linux
gentoo / advancemame fresh install
Major Rock Hardy:
[EDIT]
There seems to be a bit of confusion over why to go through this much trouble (mostly to compile svgalib), and I'm not surprised because I started off by saying I'm documenting a gentoo install. So let me explain:
The 3 reasons why to go through with this process:
1. You have an arcade monitor AND want authentic arcade resolutions.
2. You are planning to have an arcade monitor AND want authentic arcade resolutions when you get it.
That's pretty much it. If you are just going to use your PC monitor, then don't bother with all of this. Just 'emerge advancemame' and you're good to go (assuming you've installed Gentoo or a derivative). If you don't give a darn about tweaking video resolutions, you just want to play MAME games on linux, install SDLMAME from here:
http://rbelmont.mameworld.info/?page_id=163
Also, I compiled from advancemame source (very easy by the way - not the PITA of svgalib) because then I can tweak it for input (like the roadblasters hack mentioned by u_rebelscum - link below).
[/EDIT]
Trying to document a gentoo installation so anyone who wants to may follow. Cheers, MRH
1. read along at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml
2. install goes fairly smoothly until chapter 6, part 6.b.:
it tells you to
--- Code: ---emerge --sync
--- End code ---
... which tells you there's an update to portage, so you do a
--- Code: ---emerge portage
--- End code ---
... which then might tell you that some files in /etc need updating and tells you to run
--- Code: ---emerge --help config
--- End code ---
, so you do and it tells you that command is depricated! and you should use --config instead but when you run
--- Code: ---emerge --config
--- End code ---
it tells you something about 'package atoms' :angry: WTF?
WTF? Well, type the following to find these files that need updating:
--- Code: ---find /etc -iname '._cfg????_*'
--- End code ---
it will spit out a few files... basically portage is afraid of trampelling custom settings that you have set and these files were somehow flagged and the new ones have filenames prefixed with the ._cfg????_ prefix (where ???? is a number). At this point in the installation you probably haven't done anything custom so you'll just write over the old with the new:
--- Code: ---mv /etc/._cfg0000_etc-update.conf /etc/etc-update.conf
--- End code ---
(repeat for the other files)
At this point, I re-ran
--- Code: ---emerge --sync
--- End code ---
(but for the record, I don't think it's necessary)
I also ran
--- Code: ---emerge -v vim
--- End code ---
... because I prefer vi to nano for editing the /etc/make.conf file!
I made my USE= line look like this (since this is going to be an arcade box, I don't need all the glitzy gnome and kde versions being downloaded when I add programs):
--- Code: ---USE="-gnome -kde"
--- End code ---
...next thing that might need some explaining is timezones. Since I live in CO, I did the following:
--- Code: ---cp /usr/share/zoneinfo/America/Denver /etc/localtime
--- End code ---
to find the right one (assuming you live somewhere in the Americas), do a:
--- Code: ---ls /usr/share/zoneinfo/America
--- End code ---
... notice Indiana has its own subdirectory because of the crazy daylight savings times divisions of that state.
... a word on compiling the kernel. Before the step where you do a
--- Code: ---make menuconfig
--- End code ---
... do a:
--- Code: ---emerge -v pciutils
--- End code ---
... followed by:
--- Code: ---lspci
--- End code ---
and make particular note of your network card and video card and turn on kernel support for those, once you run(finally):
--- Code: ---make menuconfig
--- End code ---
... are we having fun yet? :applaud:
... oh and when you get to
--- Code: ---umount /mnt/gentoo
--- End code ---
(among others) ... I kept getting a "device is busy" error when I knew there was nothing more mounted in /mnt/gentoo . I had verified this by doing a:
--- Code: ---mount
--- End code ---
(i.e. I had already umounted /mnt/gentoo/boot, etc.), so I went ahead and did a:
--- Code: ---reboot
--- End code ---
Major Rock Hardy:
OK, so that seems to have worked. I re-booted and I can log in successfully!
Now to download advancemame. First do a:
--- Code: ---emerge -v lynx
--- End code ---
... followed by:
--- Code: ---lynx advancemame.sourceforge.net/download.html
--- End code ---
... browse to download the tar.gz file (version 0.106), save the file, then press q to exit lynx. (We'll follow the build instructions at: http://advancemame.sourceforge.net/doc-build.html )
doing the following:
--- Code: ---tar -xzvf advancemame-0.106.0.tar.gz
cd advancemame-0.106.0
sudo ./configure
sudo make install
--- End code ---
(Now we're following http://advancemame.sourceforge.net/doc-install.html )
hmmm... just noticed this line from the install doc:
--- Quote ---For both the Frame Buffer driver and the SVGALIB library some additional patches are available in the `contrib/' directory
--- End quote ---
(noted by me)
I'm going to try to get framebuffer working with advancemame so I am not installing SVGALIB (yet). This may be an exercise in masochism.
So I run advcfg and get the message "No video driver is able to program your video board... Ensure to have Frame Buffer device (other than VESA) in your Linux kernel." But a quick check of my config file says I do have it in the kernel! So I run:
--- Code: ---advcfg -log
--- End code ---
to get more info. Ah:
"Error opening the frame buffer /dev/fb0. Error 13 (Permission denied)."
so I ran advcfg as root. Most of the video modes worked! I thought I was on to something but I couldn't get suprmrio or rthunder or stunrun to play, only mspacman. So perhaps I will punt (again) on framebuffer :dunno
Tune in tomorrow night for SVGAlib installation
Major Rock Hardy:
OK, so I have downloaded svgalib versions 1.9.17,1.9.18, AND 1.9.19 (development version sources from www.svgalib.org) and patched them with the advancemame patches and during 'make install' they all error out. I even tried them with no patching, still they error out! Well, at least I can
--- Code: ---emerge svgalib
--- End code ---
and it builds 1.9.25 successfully... now, I would like to compile them with the patches (which I think should help with low frequency clock output) but for now we'll go with it... stay tuned.
apparently ALSA sound does not work just by choosing ALSA in the kernel. The configure script for advancemame will not build ALSA support into the binaries. I found this:
http://www.gentoo.org/doc/en/alsa-guide.xml
... which couldn't have been easier!
Now, re-running ./configure in the advancemame installation directory yields:
--- Code: ---Video : svgalib fb ncurses
Audio : alsa oss
--- End code ---
Success! Advancemame saw the alsa libraries. Now we have to re-build with the new configuration...
ARRRGGHH! More errors!
--- Code: ---obj/mame/linux/blend/advance/linux/vsvgab.o: in function 'svgalib_init':
vsvgab.c:(.text + 0xb31): undefined reference to 'os_internal_svgalib_get'
--- End code ---
... hmmm... that's nice and frustrating... now trying a:
--- Code: ---make clean
make install
--- End code ---
csa3d:
Keep going! Good documentation! I went down this road once and realized I had no clue how to begin fixing 75% of anything which went wrong during install. Three days later, I reinstalled xp and said "f that".
-csa
Major Rock Hardy:
... well the make clean followed by make install seemed to work!
and now I can play mp3s through the advs utility!
Navigation
[0] Message Index
[#] Next page
Go to full version