It's not a bad gun, although I'm kinda kicking myself for getting the solenoid one with the metal cable. It's fine for a couple of minutes but your arms hurt after a while because it's so heavy.
Preferably I would be using GM, but due to the way the SDL input works, it's just unusable and I couldn't find a way to change the method it uses to poll the gun inputs. From what I can work out, the gun is 'calibrated' to work on the desktop resolution, but as most games are smaller it means the gun tracks way too fast, presumably because it has less pixels to travel and SDL seems to ignore the current screen size.
I still haven't managed to get it working starting from attract+, at the moment it just hangs with a black screen and I'm not sure why, haven't spotted anything obvious in the logs.
This works when run from an SSH session:
DISPLAY=:0 retroarch -L /home/arcade/shared/configs/retroarch/cores/mame_libretro.so /home/arcade/shared/roms/lightgun/ptblank.zip
I made a lightgun config for attract+, but I think I must be doing something wrong, even though I copied it from another cfg that works. Any ideas?
EDIT: Managed to get it launching from attract+
~/.attract/emulators/Lightgun.cfg
executable /opt/galauncher/galauncher.sh
args retroarch mame "[romfilename]"
workdir $HOME
rompath $HOME/shared/roms/lightgun/
romext .7z;.zip
system mame
artwork flyer $HOME/shared/roms/lightgun/media/
artwork marquee $HOME/shared/roms/lightgun/media/screenmarquee
artwork snap $HOME/shared/roms/lightgun/media/images;$HOME/shared/roms/lightgun/media/videos
artwork video $HOME/shared/roms/lightgun/media/videos
artwork wheel $HOME/shared/roms/lightgun/media/wheel
I also had to edit ~/shared/configs/ga.conf to add the 'mame' line:
retroarch.c64.core=vice_x64
retroarch.mastersystem.core=genesis_plus_gx
retroarch.psp.core=ppsspp
retroarch.snes.core=snes9x
retroarch.psx.core=swanstation
retroarch.cdi.core=cdi2015
retroarch.megadrive.core=genesis_plus_gx
retroarch.nes.core=nestopia
retroarch.n64.core=mupen64plus_next
retroarch.pcengine.core=mednafen_pce
retroarch.segacd.core=genesis_plus_gx
retroarch.saturn.core=kronos
retroarch.fds.core=mesen
retroarch.gb.core=gambatte
retroarch.gbc.core=gambatte
retroarch.nds.core=desmume
retroarch.stv.core=kronos
retroarch.gba.core=mgba
retroarch.sega32x.core=picodrive
retroarch.wii.core=dolphin
retroarch.gc.core=dolphin
retroarch.naomi.core=flycast
retroarch.sg-1000.core=genesis_plus_gx
retroarch.ps2.core=play
retroarch.gamegear.core=genesis_plus_gx
retroarch.n3ds.core=citra
retroarch.atarijaguar.core=virtualjaguar
retroarch.x68000.core=px68k
retroarch.amiga.core=puae
retroarch.3do.core=opera
retroarch.wonderswan.core=mednafen_wswan
retroarch.intellivision.core=freeintv
retroarch.neogeo.core=fbalpha2012_neogeo
retroarch.videopac.core=o2em
retroarch.fbneo.core=fbneo
retroarch.zxspectrum.core=fuse
retroarch.dreamcast.core=flycast
retroarch.odyssey2.core=o2em
retroarch.pcfx.core=mednafen_pcfx
retroarch.vectrex.core=vecx
retroarch.atari7800.core=prosystem
retroarch.wonderswancolor.core=mednafen_wswan
retroarch.neogeocd.core=neocd
retroarch.atarist.core=hatari
retroarch.pc88.core=quasi88
retroarch.zx81.core=81
retroarch.x1.core=x1
retroarch.thomson.core=theodore
retroarch.mame.core=mame
alsa=0
volume=100