GroovyMAME Installation on Arch Linux
Boot using archlinux-2014.05.01-dual.iso. Uses a snapshot download to compile GroovyMAME.
Arch Linux ---------- # loadkeys uk # fdisk /dev/sda o n [default] [default] [default] [default] w # mkfs.ext3 -L groovy /dev/sda1 # mount /dev/sda1 /mnt # pacstrap /mnt base syslinux sudo # dd if=/dev/zero of=/mnt/swapfile bs=1M count=512 # chmod 600 /mnt/swapfile # mkswap /mnt/swapfile # genfstab -L -p /mnt >> /mnt/etc/fstab # echo /swapfile none swap defaults 0 0 >> /mnt/etc/fstab # arch-chroot /mnt # echo groovy > /etc/hostname # ln -s /usr/share/zoneinfo/Europe/London /etc/localtime # mv /etc/locale.gen /etc/locale.gen.def # echo en_GB.UTF-8 UTF-8 > /etc/locale.gen # locale-gen # echo LANG=\"en_GB.UTF-8\" > /etc/locale.conf # echo KEYMAP=uk > /etc/vconsole.conf # nano -w /etc/mkinitcpio.conf MODULES="radeon nouveau i915" # mkinitcpio -p linux # passwd # syslinux-install_update -i -a -m # sed -i 's/sda3/sda1/g' /boot/syslinux/syslinux.cfg Append video=VGA-1:640x480@60 # cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/profile # ip link Note interface name, use in next sed command instead of INTERFACE # sed -i 's/eth0/INTERFACE/g' /etc/netctl/profile # netctl enable profile # useradd groovy # passwd groovy # mkdir /home/groovy # chown groovy:users /home/groovy # echo groovy ALL=\(ALL\) ALL > /etc/sudoers.d/groovy # sed -i 's/#MAKEFLAGS/MAKEFLAGS/g' /etc/makepkg.conf # exit # umount -R /mnt # reboot Using AUR --------- # pacman -S base-devel $ curl -L -O https://aur.archlinux.org/packages/sd/sdl-groovy/sdl-groovy.tar.gz $ curl -L -O https://aur.archlinux.org/packages/gr/groovyume/groovyume.tar.gz $ curl -L -O https://aur.archlinux.org/packages/xf/xf86-video-ati-groovy/xf86-video-ati-groovy.tar.gz $ curl -L -O https://aur.archlinux.org/packages/xf/xf86-video-nouveau-groovy/xf86-video-nouveau-groovy.tar.gz $ curl -L -O https://aur.archlinux.org/packages/at/attract-git/attract-git.tar.gz ... tar xvf .....tar.gz ... cd .... ... makepkg -s ... pacman -U ....pkg.tar.xz Cab Setup --------- $ switchres64 640 480 60 --monitor arcade_15 --edid $ mv edid.bin edid-15khz.bin $ switchres64 512 384 60 --monitor arcade_25 --edid $ mv edid.bin edid-25khz.bin $ switchres64 640 480 60 --monitor arcade_31 --edid $ mv edid.bin edid-31khz.bin # mkdir /usr/lib/firmware/edid # cp edid*.bin /usr/lib/firmware/edid # sed -i 's/BINARIES=""/BINARIES="\/usr\/lib\/firmware\/edid\/edid-15khz.bin \/usr\/lib\/firmware\/edid\/edid-25khz.bin \/usr\/lib\/firmware\/edid\/edid-31khz.bin"/g' /etc/mkinitcpio.conf # nano -w /boot/syslinux/syslinux.cfg Add to APPEND for 15KHz: drm_kms_helper.edid_firmware=VGA-1:edid/edid-15khz.bin fbcon=rotate:0 Add to APPEND for 25KHz: drm_kms_helper.edid_firmware=VGA-1:edid/edid-25khz.bin fbcon=rotate:0 Add to APPEND for 31KHz: drm_kms_helper.edid_firmware=VGA-1:edid/edid-31khz.bin fbcon=rotate:0 For vertical monitors change rotate to 1 or 3 # mkdir /etc/systemd/system/getty@tty1.service.d/ # nano -w /etc/systemd/system/getty@tty1.service.d/autologin.conf [Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin groovy --noclear %I 38400 linux Type=simple $ cp /etc/skel/.* . $ echo [[ -z \$DISPLAY \&\& \$XDG_VTNR -eq 1 ]] \&\& exec startx >> .bash_profile $ echo exec attract >> .xinitrc Xorg Drivers ------------ $ ABSROOT=. abs extra/xf86-video-ati $ cd extra/xf86-video-ati $ cp ~/groovyarcade.diff/xf86-video-ati-7.2.0/*.diff . $ nano -w PKGBUILD Add .diff files to source=() Add patch lines for each diff file after the first cd line in build(): patch -p1 -i "${srcdir}/patch.diff" $ updpkgsums $ makepkg # pacman -S xf86-video-ati-xxxx.pkg.tar.xz $ ABSROOT=. abs extra/xf86-video-nouveau $ cd extra/xf86-video-nouveau $ cp ~/groovyarcade.diff/xf86-video-nouveau-1.0.1/*.diff . ??? DIFF doesn't currently work. Line to change is identical. $ nano -w PKGBUILD Add .diff files to source=() Add patch lines for each diff file after the first cd line in build(): patch -p1 -i "${srcdir}/patch.diff" $ updpkgsums $ makepkg # pacman -S xf86-video-ati-xxxx.pkg.tar.xz Additional Packages ------------------- # pacman -S base-devel abs xmlto docbook-xsl bc unzip alsa-lib libxinerama qt4 glu mesa nasm python2 wget git xorg-server xorg-server-devel xorg-xrandr ati-dri nouveau-dri glamor-egl xorg-xinit xorg-twm xterm Linux Kernel ------------ Requires patches from Ansa89 in http://forum.arcadecontrols.com/index.php/topic,107620.0.html $ ABSROOT=. abs core/linux $ cd core/linux $ wget http://forum.arcadecontrols.com/index.php?action=dlattach;topic=107620.0;attach=310448 $ unzip -j patch-3.15.zip $ nano -w PKGBUILD Add .diff files to source=() Add patch lines for each diff file before the config section: patch -p1 -i "${srcdir}/patch.diff" $ updpkgsums $ makepkg # pacman -U linux-headers-x.xx.pkg.tar.xz # pacman -U linux-docs-x.xx.pkg.tar.xz # pacman -U linux-x.xx.pkg.tar.xz $ curl -L -O https://aur.archlinux.org/packages/li/linux-groovy/linux-groovy.tar.gz SDL --- Uses GroovyArcade packages from https://code.google.com/p/groovyarcade/source/ $ git clone https://code.google.com/p/groovyarcade.diff/ $ cd groovyarcade.diff/sdl-1.2.15-5 $ makepkg # pacman -U sdl-1.2.15-5.xxx.pkg.tar.xz # pacman -S sdl_ttf GroovyMAME ---------- $ wget http://git.redump.net/mame/snapshot/mame0153.tar.bz2 $ tar xvjf mame0153.tar.bz2 $ wget https://54c0ab1f0b10beedc11517491db5e9770a1c66c6.googledrive.com/host/0B5iMjDor3P__aEFpcVNkVW5jbEE/v0.153_015b/hi_153.diff $ wget https://54c0ab1f0b10beedc11517491db5e9770a1c66c6.googledrive.com/host/0B5iMjDor3P__aEFpcVNkVW5jbEE/v0.153_015b/0153_groovymame_015b.diff $ cp *.diff mame0153 $ cd mame0153 $ patch -p0 -E <hi_153.diff $ patch -p0 -E <0153_groovymame_015b.diff $ make NOWERROR=1 ARCHOPTS=-march=native PYTHON=python2 Attract Mode Frontend --------------------- # pacman -S base-devel abs # pacman -S ffmpeg sfml xorg-server fontconfig ttf-freefont $ git clone http://github.com/mickelson/attract $ cd attract $ make Finishing Touches ----------------- # nano -w /etc/grub/default Update GRUB_CMDLINE_LINUX with extra parameters: 15KHz: vga=0x311 video=VGA-1:640x480ec 25KHz: vga=0x311 video=VGA-1:512x384ez 31Khz: vga=0x311 video=VGA-1:640x480ey # grub-mkconfig -o /boot/grub/grub.cfg # wget https://www.archlinux.org/mirrorlist/\?country=GB\&protocol=http\&ip_version=4\&use_mirror_status=on -O /etc/pacman.d/mirrorlist Enable mirrors by uncommenting. # nano -w /etc/pacman.conf IgnorePkg = linux linux-headers linux-docs sdl xf86-video-ati xf86-video-nouveau # pacman -Syu Making Packages --------------- # pacman -S pkgbuild-introspection # updpkgsums # mkaurball Repackaging SDLMAME ------------------- $ ABSROOT=. abs community/sdlmame $ mv community/sdlmame/ groovyume $ cd groovyume $ mv sdlmame.install groovyume.install $ mv sdlmame.sh groovyume.sh $ sed -i 's/sdlmame/groovyume/g' groovyume.* PKGBUILD $ sed -i 's/SDLMAME/GroovyUME/g' groovyume.* PKGBUILD $ sed -i 's/ mame / ume /g' groovyume.* PKGBUILD $ sed -i 's/ mame64 / ume64 /g' groovyume.* PKGBUILD $ sed -i 's/OPTIMIZE=2/ARCHOPTS=-march=native TARGET=ume/g' PKGBUILD PKGBUILD mods pkgdesc="GroovyUME is a custom UME build mainly aimed at CRT monitors" depends - remove sdl>= entry. Add sdlgroovy, xf86-video-ati-groovy, xf86-video-nouveau-groovy optdepends=('linux-groovy') source lines for hi_153.diff and 0153_groovymame_015b.diff before the fi before make add patch lines: patch -p0 -E <${srcdir}/hi_153.diff patch -p0 -E <${srcdir}/0153_groovymame_015b.diff Extra lines for the MESS tools castool floptool imgtool nltool install -m755 castool $pkgdir/usr/share/${pkgname}/castool install -m755 floptool $pkgdir/usr/share/${pkgname}/floptool install -m755 imgtool $pkgdir/usr/share/${pkgname}/imgtool install -m755 nltool $pkgdir/usr/share/${pkgname}/nltool $ updpkgsums $ makepkg -s
1 Comments:
Hello!
Do you know if this would work with any nvidia card?
(especially for me 7900GS pcie model)
thanks!
Post a Comment
Subscribe to Post Comments [Atom]
<< Home