Main > Linux

gentoo / advancemame fresh install

<< < (3/9) > >>

Major Rock Hardy:
oh yes, and now I'm continuing along as it shows here:
http://easymamecab.mameworld.net/html/svgalib.htm

Major Rock Hardy:

--- Quote from: Major Rock Hardy on August 27, 2007, 02:42:06 am ---oh yes, and now I'm continuing along as it shows here:
http://easymamecab.mameworld.net/html/svgalib.htm


--- End quote ---

... well, with some modifications due to the gentoo system.  I will try to post tomorrow evening on the correct way to install kernel modules, etc. for gentoo...

csa3d:
you have a lot of patience... you have been installing a single OS for many days.   :cheers:

Major Rock Hardy:

--- Quote from: csa3d on August 27, 2007, 07:28:58 am ---you have a lot of patience... you have been installing a single OS for many days.

--- End quote ---

Correction grasshopper: the OS installed w/o a hitch in a couple of hours the first night!  Probably faster than any windows OS... it's the nitty gritty of getting advancemame (specifically svgalib) working that has taken a while.

One objective is to document this process so whenever anyone (including me in the future) wants to try advancemame/svgalib on an up-to-date linux kernel, they can read this thread and patch their stuff accordingly so hopefully there will be less of this:
 :banghead:
... and more of this:
 :applaud:

on a side note, once I got advcfg working, I was able to output 15kHz video from my Radeon card to my spankin' new Billlabs BL27CB0P!!! (happy birthday to me)

Major Rock Hardy:
Question 1: OK so how do we handle getting the svgalib_helper module to load
automatically (and jive with the Gentoo system)?

Step 1. Create group for arcade stuff and make your user a member

--- Code: ---groupadd games
sudo gpasswd -a majorrockhardy games

--- End code ---

Step 2. Edit /etc/conf.d/local.start file.  Add the following:

--- Code: ---# load svga helper module
modprobe svgalib_helper
# create svga devices
mknod -m 660 /dev/svga c 209 0
mknod -m 660 /dev/svga1 c 209 1
mknod -m 660 /dev/svga2 c 209 2
mknod -m 660 /dev/svga3 c 209 3
mknod -m 660 /dev/svga4 c 209 4
# change group owner of svga devices
chgrp games /dev/svga
chgrp games /dev/svga1
chgrp games /dev/svga2
chgrp games /dev/svga3
chgrp games /dev/svga4

--- End code ---
(this loads the svgalib_helper module, creates the /dev/svga* device nodes, and changes the permissions on them so your games group has read/write access to them.  I included svga1-4 because that was what they did in the contrib/mame/svgalib/svgalib-devfs.sh script in the advancemame directory.)

Step 3. Reboot your system and verify that the svgalib_helper module is loaded, and the svga devices are there, and have the correct permissions and group ownership:

--- Code: ---majorrockhardy@linuxcocktail ~ $ lsmod | grep svga
svgalib_helper          9508  0
majorrockhardy@linuxcocktail ~ $ ll /dev/svga*
crw-rw---- 1 root games 209, 0 Aug 28 19:25 /dev/svga
crw-rw---- 1 root games 209, 1 Aug 28 19:25 /dev/svga1
crw-rw---- 1 root games 209, 2 Aug 28 19:25 /dev/svga2
crw-rw---- 1 root games 209, 3 Aug 28 19:25 /dev/svga3
crw-rw---- 1 root games 209, 4 Aug 28 19:25 /dev/svga4

--- End code ---

Question 2. How do I get the correct permissions on the /dev/input/event* devices?

Step 1. Create /etc/udev/rules.d/10-local.rules file.  Make it
look like the following:

--- Code: ---# stuff for AdvanceMAME device permissions
KERNEL=="event*",       NAME="input/%k", MODE="0660", GROUP="games"

--- End code ---
(the event stuff will come in handy later when getting access to event interface devices:
mice/joysticks/etc)

Step 2. (optional) Restart udev to see if your rules worked:

--- Code: ---majorrockhardy@linuxcocktail ~ $ sudo killall udevd; sudo udevstart
majorrockhardy@linuxcocktail ~ $ ll /dev/input/event*
crw-rw---- 1 root games 13, 64 Aug 27 15:24 /dev/input/event0
crw-rw---- 1 root games 13, 65 Aug 27 15:24 /dev/input/event1
crw-rw---- 1 root games 13, 66 Aug 27 15:24 /dev/input/event2
crw-rw---- 1 root games 13, 67 Aug 27 15:24 /dev/input/event3

--- End code ---
(SIDE NOTE: sudo is a neat program for running things as root... read about it here:
http://www.gentoo.org/doc/en/sudo-guide.xml)


NOW GO GET YOUR GAME ON!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version