Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gamepad not working on Linux #181

Open
Javantea opened this issue Jul 1, 2021 · 3 comments
Open

Gamepad not working on Linux #181

Javantea opened this issue Jul 1, 2021 · 3 comments

Comments

@Javantea
Copy link

Javantea commented Jul 1, 2021

I'm trying to use higan 9a625c5 from Gentoo's portage and I cannot get any input to work. I have tried udev, SDL, and Xlib. When I go to the Controller Port 1 option in Famicom, I get a -- Nothing in the box to the right.
I previously was able to use higan-106 with no problem.

From lsusb:
Bus 003 Device 003: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller

The joystick:
crw-rw-r--+ 1 root input 13, 0 Jun 30 19:18 /dev/input/js0
The usb file:
crw-rw-rw- 1 root joy 189, 258 Jun 30 19:18 /dev/bus/usb/003/003

I am in the input and joy groups. This device works with many programs (for example Mednafen).

I used gdb to determine that SDL_JoystickOpen does get called.

I would be happy to help debug this issue if any more information or tests would help.

@Screwtapello
Copy link
Contributor

When I go to the Controller Port 1 option in Famicom, I get a -- Nothing in the box to the right.

Here's what it's supposed to look like:

image

There's a "Nothing" option, which means nothing is connected to the port.

There's a "Gamepad" option, which creates a new set of mappings based on the "Gamepad" template.

There's an "XBox 360 Pad" option, which I created by choosing "Gamepad", then typing a new name, then selecting it in the left-hand panel and mapping my 360 pad to the various Famicom buttons.

In the standard version of higan, the "Gamepad" template is stored in ~/.local/share/higan/Famicom/Controller/Gamepad, and if it's not there, higan won't be able to include it in the list. I suspect one of the following has happened:

  • The Gentoo package forgot to install the templates into your home directory at first startup
  • The Gentoo package forgot to patch the code to look for templates in a system-wide location
  • The Gentoo package forgot to package template files entirely.

I recommend filing an issue against the Gentoo package, trying the nightly build for Ubuntu (which probably works on Gentoo), or just building from source yourself.

@nathanzachary
Copy link

nathanzachary commented Dec 3, 2021

Yes, this is indeed the problem (and also the source of many other problems with Gentoo's build of Higan, e.g. not being able to find the ipl.rom or boards.bml files for the emulated systems). The current Gentoo ebuild puts all of these files under /usr/share/higan-$VERSION:

$ tree /usr/share/higan-116_pre20210404/
/usr/share/higan-116_pre20210404/
├── Database
│   └── Database
│       ├── BS Memory.bml
│       ├── Sufami Turbo.bml
│       └── Super Famicom.bml
├── extras
│   ├── paths.bml
│   ├── README.md
│   └── Shaders
│       ├── 2xBR-2pass.shader
│       │   ├── 2xbr-lv1-c-pass0.fs
│       │   ├── 2xbr-lv1-c-pass0.vs
│       │   ├── 2xbr-lv1-pass1.fs
│       │   ├── 2xbr-lv1-pass1.vs
│       │   └── manifest.bml
│       ├── 2xBR-Halation-Scanlines.shader
│       │   ├── 2xbr-lv1-c-pass0.fs
│       │   ├── 2xbr-lv1-c-pass0.vs
│       │   ├── 2xbr-lv1-pass1.fs
│       │   ├── 2xbr-lv1-pass1.vs
│       │   ├── combine.fs
│       │   ├── gaussian-horiz.fs
│       │   ├── gaussian-vert.fs
│       │   ├── manifest.bml
│       │   └── scanline.fs
│       ├── AANN.shader
│       │   ├── AANN.fs
│       │   └── manifest.bml
│       ├── Advanced-AA.shader
│       │   ├── advanced-aa.fs
│       │   ├── advanced-aa.vs
│       │   └── manifest.bml
│       ├── Beam4.shader
│       │   ├── beam4-p0.fs
│       │   ├── beam4-p1.fs
│       │   ├── beam4-p2.fs
│       │   ├── curvature.fs
│       │   └── manifest.bml
│       ├── Bicubic.shader
│       │   ├── bicubic.fs
│       │   └── manifest.bml
│       ├── Bicubic-sharp.shader
│       │   ├── bicubic-sharp.fs
│       │   └── manifest.bml
│       ├── Cocktail.shader
│       │   ├── cocktail.fs
│       │   ├── cocktail.vs
│       │   └── manifest.bml
│       ├── CRT-Aperture.shader
│       │   ├── aperture.fs
│       │   └── manifest.bml
│       ├── CRT-Caligari.shader
│       │   ├── crt-caligari.fs
│       │   └── manifest.bml
│       ├── CRT-Geom-Halation.shader
│       │   ├── combine.fs
│       │   ├── crt-geom.fs
│       │   ├── crt-geom.vs
│       │   ├── gaussian-horiz.fs
│       │   ├── gaussian-vert.fs
│       │   └── manifest.bml
│       ├── CRT-Geom.shader
│       │   ├── crt-geom.fs
│       │   ├── crt-geom.vs
│       │   ├── curvature.fs
│       │   └── manifest.bml
│       ├── CRT-Glow.shader
│       │   ├── blur_horiz.fs
│       │   ├── blur_horiz.vs
│       │   ├── blur_vert.fs
│       │   ├── blur_vert.vs
│       │   ├── gauss_horiz.fs
│       │   ├── gauss_horiz.vs
│       │   ├── gauss_vert.fs
│       │   ├── gauss_vert.vs
│       │   ├── lanczos_horiz.fs
│       │   ├── lanczos_horiz.vs
│       │   ├── linearize.fs
│       │   ├── linearize.vs
│       │   ├── manifest.bml
│       │   ├── resolve.fs
│       │   ├── resolve.vs
│       │   ├── threshold.fs
│       │   └── threshold.vs
│       ├── CRT-Lottes2.shader
│       │   ├── lottes.fs
│       │   ├── lottes.vs
│       │   └── manifest.bml
│       ├── CRT-Lottes-Multipass.shader
│       │   ├── bloompass.fs
│       │   ├── bloompass.vs
│       │   ├── manifest.bml
│       │   ├── scanpass.fs
│       │   └── scanpass.vs
│       ├── CRT-Lottes.shader
│       │   ├── manifest.bml
│       │   └── shadertoy.fs
│       ├── CRT-Royale-Kurozumi.shader
│       │   ├── bloom-approx.fs
│       │   ├── bloom-approx.vs
│       │   ├── bloom-horizontal-reconstitute.fs
│       │   ├── bloom-horizontal-reconstitute.vs
│       │   ├── bloom-vertical.fs
│       │   ├── bloom-vertical.vs
│       │   ├── blur9fast-horizontal.fs
│       │   ├── blur9fast-horizontal.vs
│       │   ├── blur9fast-vertical.fs
│       │   ├── blur9fast-vertical.vs
│       │   ├── brightpass.fs
│       │   ├── brightpass.vs
│       │   ├── first-pass-linearize-crt-gamma-bob-fields.fs
│       │   ├── first-pass-linearize-crt-gamma-bob-fields.vs
│       │   ├── geometry-aa-last-pass.fs
│       │   ├── geometry-aa-last-pass.vs
│       │   ├── manifest.bml
│       │   ├── mask-resize-horizontal.fs
│       │   ├── mask-resize-horizontal.vs
│       │   ├── mask-resize-vertical.fs
│       │   ├── mask-resize-vertical.vs
│       │   ├── scanlines-horizontal-apply-mask.fs
│       │   ├── scanlines-horizontal-apply-mask.vs
│       │   ├── scanlines-vertical-interlacing.fs
│       │   ├── scanlines-vertical-interlacing.vs
│       │   └── textures
│       │       ├── TileableLinearApertureGrille15Wide8And5d5Spacing.png
│       │       ├── TileableLinearApertureGrille15Wide8And5d5SpacingResizeTo64.png
│       │       ├── TileableLinearShadowMaskEDP.png
│       │       ├── TileableLinearShadowMaskEDPResizeTo64.png
│       │       ├── TileableLinearShadowMask.png
│       │       ├── TileableLinearShadowMaskResizeTo64.png
│       │       ├── TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacing.png
│       │       └── TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacingResizeTo64.png
│       ├── CRT-Royale.shader
│       │   ├── bloom-approx.fs
│       │   ├── bloom-approx.vs
│       │   ├── bloom-horizontal-reconstitute.fs
│       │   ├── bloom-horizontal-reconstitute.vs
│       │   ├── bloom-vertical.fs
│       │   ├── bloom-vertical.vs
│       │   ├── blur9fast-horizontal.fs
│       │   ├── blur9fast-horizontal.vs
│       │   ├── blur9fast-vertical.fs
│       │   ├── blur9fast-vertical.vs
│       │   ├── brightpass.fs
│       │   ├── brightpass.vs
│       │   ├── first-pass-linearize-crt-gamma-bob-fields.fs
│       │   ├── first-pass-linearize-crt-gamma-bob-fields.vs
│       │   ├── geometry-aa-last-pass.fs
│       │   ├── geometry-aa-last-pass.vs
│       │   ├── manifest.bml
│       │   ├── mask-resize-horizontal.fs
│       │   ├── mask-resize-horizontal.vs
│       │   ├── mask-resize-vertical.fs
│       │   ├── mask-resize-vertical.vs
│       │   ├── scanlines-horizontal-apply-mask.fs
│       │   ├── scanlines-horizontal-apply-mask.vs
│       │   ├── scanlines-vertical-interlacing.fs
│       │   ├── scanlines-vertical-interlacing.vs
│       │   └── textures
│       │       ├── TileableLinearApertureGrille15Wide8And5d5Spacing.png
│       │       ├── TileableLinearApertureGrille15Wide8And5d5SpacingResizeTo64.png
│       │       ├── TileableLinearShadowMaskEDP.png
│       │       ├── TileableLinearShadowMaskEDPResizeTo64.png
│       │       ├── TileableLinearShadowMask.png
│       │       ├── TileableLinearShadowMaskResizeTo64.png
│       │       ├── TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacing.png
│       │       └── TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacingResizeTo64.png
│       ├── CRT-Simple.shader
│       │   ├── crt-simple.fs
│       │   ├── crt-simple.vs
│       │   └── manifest.bml
│       ├── Display Emulation
│       │   ├── fallbacks
│       │   │   ├── famicom.shader
│       │   │   │   ├── famicom.fs
│       │   │   │   └── manifest.bml
│       │   │   ├── game boy advance.shader
│       │   │   │   ├── game-boy-advance.fs
│       │   │   │   └── manifest.bml
│       │   │   ├── game boy.shader
│       │   │   │   ├── game-boy.fs
│       │   │   │   └── manifest.bml
│       │   │   └── super famicom.shader
│       │   │       ├── manifest.bml
│       │   │       └── super-famicom.fs
│       │   ├── famicom_cgwg.shader
│       │   │   ├── 3line-comb-decode.fs
│       │   │   ├── adaptive-comb-decode.fs
│       │   │   ├── basic-decode.fs
│       │   │   ├── composite-encode.fs
│       │   │   ├── crt-geom.fs
│       │   │   ├── crt-geom.vs
│       │   │   ├── lowpass-chroma.fs
│       │   │   ├── lowpass-decode.fs
│       │   │   ├── lowpass-notch-decode.fs
│       │   │   ├── lowpass-notch-decode-yiq.fs
│       │   │   └── manifest.bml
│       │   ├── famicom.shader
│       │   │   ├── combFilter.fs
│       │   │   ├── combFilter.vs
│       │   │   ├── DAC.fs
│       │   │   ├── DAC.vs
│       │   │   ├── lowPass.fs
│       │   │   ├── manifest.bml
│       │   │   ├── NesTable.png
│       │   │   ├── scaleX.fs
│       │   │   ├── scaleX.vs
│       │   │   ├── scaleY.fs
│       │   │   └── scaleY.vs
│       │   ├── game boy advance.shader
│       │   │   ├── game-boy-advance.fs
│       │   │   └── manifest.bml
│       │   ├── game boy color.shader
│       │   │   ├── lcd-grid.fs
│       │   │   ├── manifest.bml
│       │   │   └── motion-blur.fs
│       │   ├── game-boy-color.shader
│       │   │   ├── game-boy-color.fs
│       │   │   └── manifest.bml
│       │   ├── game boy.shader
│       │   │   ├── manifest.bml
│       │   │   ├── pass1.fs
│       │   │   ├── pass2.fs
│       │   │   ├── pass2.vs
│       │   │   ├── pass3.fs
│       │   │   └── pass3.vs
│       │   └── super famicom.shader
│       │       ├── GTU-pass1.fs
│       │       ├── GTU-pass2.fs
│       │       ├── GTU-pass2.vs
│       │       ├── GTU-pass3.fs
│       │       ├── GTU-pass3.vs
│       │       ├── GTU-pass4.fs
│       │       ├── GTU-pass4.vs
│       │       └── manifest.bml
│       ├── Dot.shader
│       │   ├── dots.fs
│       │   ├── dots.vs
│       │   └── manifest.bml
│       ├── Gameboy.shader
│       │   ├── manifest.bml
│       │   ├── pass1.fs
│       │   ├── pass2.fs
│       │   ├── pass2.vs
│       │   ├── pass3.fs
│       │   └── pass3.vs
│       ├── Gaussian Scanlines.shader
│       │   ├── gaussian-scanlines.fs
│       │   └── manifest.bml
│       ├── GritsScanlines.shader
│       │   ├── Fake-Self-Illumination.png
│       │   ├── GritsScanlines.fs
│       │   ├── manifest.bml
│       │   ├── Scanline-LUT-4px.png
│       │   └── Trinitron D50 Absolute Colorimetric - LUT.png
│       ├── GTU.shader
│       │   ├── GTU-pass1.fs
│       │   ├── GTU-pass2.fs
│       │   ├── GTU-pass2.vs
│       │   ├── GTU-pass3.fs
│       │   ├── GTU-pass4.fs
│       │   ├── GTU-pass4.vs
│       │   └── manifest.bml
│       ├── Interlacing.shader
│       │   ├── interlace.fs
│       │   └── manifest.bml
│       ├── lanczos16.shader
│       │   ├── lanczos16.fs
│       │   ├── lanczos16.vs
│       │   └── manifest.bml
│       ├── LCD-cgwg.shader
│       │   ├── lcd-grid.fs
│       │   ├── manifest.bml
│       │   └── motion-blur.fs
│       ├── LICENSE
│       ├── mdapt-4p.shader
│       │   ├── manifest.bml
│       │   ├── mdapt-pass1.fs
│       │   ├── mdapt-pass2.fs
│       │   ├── mdapt-pass3.fs
│       │   └── mdapt-pass4.fs
│       ├── NTSC-MAME.shader
│       │   ├── mame-ntsc.fs
│       │   ├── mame-ntsc.vs
│       │   ├── mame-postproc.fs
│       │   ├── mame-postproc.vs
│       │   └── manifest.bml
│       ├── NTSC.shader
│       │   ├── gaussian-scanlines.fs
│       │   ├── manifest.bml
│       │   ├── ntsc-pass1.fs
│       │   └── ntsc-pass2.fs
│       ├── old-obsolete
│       │   ├── Border.shader
│       │   │   ├── border.png
│       │   │   ├── integer-scale.vs
│       │   │   ├── manifest.bml
│       │   │   └── mix.fs
│       │   ├── cgwg-CRT-deconstructed.shader
│       │   │   ├── cgwg-scanlines-interlaced.fs
│       │   │   ├── corner.fs
│       │   │   ├── curvature.fs
│       │   │   ├── dot-mask.fs
│       │   │   └── manifest.bml
│       │   ├── CMYK-Halftone.shader
│       │   │   ├── cmyk-dot.fs
│       │   │   ├── gamma.fs
│       │   │   └── manifest.bml
│       │   ├── GameBoy_ghosting.shader
│       │   │   ├── background.png
│       │   │   ├── gb-pass-0.fs
│       │   │   ├── gb-pass-0.vs
│       │   │   ├── gb-pass-1.fs
│       │   │   ├── gb-pass-1.vs
│       │   │   ├── gb-pass-2.fs
│       │   │   ├── gb-pass-2.vs
│       │   │   ├── gb-pass-3.fs
│       │   │   ├── gb-pass-3.vs
│       │   │   ├── gb-pass-4.fs
│       │   │   ├── manifest.bml
│       │   │   └── palette.png
│       │   ├── GameBoy.shader
│       │   │   ├── background.png
│       │   │   ├── gb-pass-0.fs
│       │   │   ├── gb-pass-0.vs
│       │   │   ├── gb-pass-1.fs
│       │   │   ├── gb-pass-1.vs
│       │   │   ├── gb-pass-2.fs
│       │   │   ├── gb-pass-2.vs
│       │   │   ├── gb-pass-3.fs
│       │   │   ├── gb-pass-3.vs
│       │   │   ├── gb-pass-4.fs
│       │   │   ├── manifest.bml
│       │   │   └── palette.png
│       │   ├── Hires-blend.shader
│       │   │   ├── hires-blend.fs
│       │   │   └── manifest.bml
│       │   ├── Image Adjustment.shader
│       │   │   ├── gamma.fs
│       │   │   └── manifest.bml
│       │   ├── Integer Scale.shader
│       │   │   ├── integer-scale.vs
│       │   │   └── manifest.bml
│       │   ├── Integrated-Television.shader
│       │   │   ├── black-and-white.fs
│       │   │   ├── cgwg-scanlines.fs
│       │   │   ├── cgwg-scanlines-interlaced.fs
│       │   │   ├── corner.fs
│       │   │   ├── curvature.fs
│       │   │   ├── dot-mask.fs
│       │   │   ├── gaussian-scanlines.fs
│       │   │   ├── manifest.bml
│       │   │   ├── ntsc-pass1.fs
│       │   │   └── ntsc-pass2.fs
│       │   ├── Motion Blur Exponential Decay.shader
│       │   │   ├── manifest.bml
│       │   │   └── motion-blur-exponential-decay.fs
│       │   ├── RGB-Triad.shader
│       │   │   ├── caligari.fs
│       │   │   └── manifest.bml
│       │   ├── xbr.mdapt.hiresBlend.shader
│       │   │   ├── manifest.bml
│       │   │   ├── mdapt-pass1.fs
│       │   │   ├── mdapt-pass2.fs
│       │   │   ├── mdapt-pass3.fs
│       │   │   ├── mdapt-pass4.fs
│       │   │   ├── xbr-mlv4-pass1.fs
│       │   │   ├── xbr-mlv4-pass2.fs
│       │   │   ├── xbr-mlv4-pass3.fs
│       │   │   └── xbr-mlv4-pass4.fs
│       │   ├── xbr.mdapt.hiresSplit.shader
│       │   │   ├── blend.fs
│       │   │   ├── extract1.vs
│       │   │   ├── extract2.fs
│       │   │   ├── extract2.vs
│       │   │   ├── manifest.bml
│       │   │   ├── mdapt-pass1.fs
│       │   │   ├── mdapt-pass2.fs
│       │   │   ├── mdapt-pass3.fs
│       │   │   ├── mdapt-pass4.fs
│       │   │   ├── xbr-mlv4-pass1.fs
│       │   │   ├── xbr-mlv4-pass2.fs
│       │   │   ├── xbr-mlv4-pass3.fs
│       │   │   └── xbr-mlv4-pass4.fs
│       │   ├── xBR-mlv4-Multipass.shader
│       │   │   ├── manifest.bml
│       │   │   ├── xbr-mlv4-multipass-0.fs
│       │   │   ├── xbr-mlv4-multipass-0.vs
│       │   │   ├── xbr-mlv4-multipass-1.fs
│       │   │   ├── xbr-mlv4-multipass-1.vs
│       │   │   ├── xbr-mlv4-multipass-2.fs
│       │   │   ├── xbr-mlv4-multipass-2.vs
│       │   │   ├── xbr-mlv4-multipass-3.fs
│       │   │   └── xbr-mlv4-multipass-3.vs
│       │   └── xbr-mlv4.shader
│       │       ├── manifest.bml
│       │       ├── xbr-mlv4-pass1.fs
│       │       ├── xbr-mlv4-pass2.fs
│       │       ├── xbr-mlv4-pass3.fs
│       │       └── xbr-mlv4-pass4.fs
│       ├── PAL-r57shell.shader
│       │   ├── manifest.bml
│       │   └── pal-r57shell.fs
│       ├── Phosphor-21x.shader
│       │   ├── manifest.bml
│       │   └── phosphor-21x.fs
│       ├── Phosphorish.shader
│       │   ├── manifest.bml
│       │   └── phosphorish.fs
│       ├── PhosphorLUT-v2.2.shader
│       │   ├── gamma.fs
│       │   ├── gaussian-horiz.fs
│       │   ├── manifest.bml
│       │   ├── miniLUT.png
│       │   └── shadow-mask.fs
│       ├── Pixellate.shader
│       │   ├── manifest.bml
│       │   └── pixellate.fs
│       ├── Quilez.shader
│       │   ├── manifest.bml
│       │   └── quilez.fs
│       ├── README.md
│       ├── Retro.shader
│       │   ├── gamma.fs
│       │   ├── manifest.bml
│       │   └── retro.fs
│       ├── ScaleFX.shader
│       │   ├── manifest.bml
│       │   ├── scalefx-pass0.fs
│       │   ├── scalefx-pass0.vs
│       │   ├── scalefx-pass1.fs
│       │   ├── scalefx-pass1.vs
│       │   ├── scalefx-pass2.fs
│       │   ├── scalefx-pass2.vs
│       │   ├── scalefx-pass3.fs
│       │   ├── scalefx-pass3.vs
│       │   ├── scalefx-pass4.fs
│       │   └── scalefx-pass4.vs
│       ├── ScaleFX-Smooth.shader
│       │   ├── manifest.bml
│       │   ├── scalefx-pass0.fs
│       │   ├── scalefx-pass0.vs
│       │   ├── scalefx-pass1.fs
│       │   ├── scalefx-pass1.vs
│       │   ├── scalefx-pass2.fs
│       │   ├── scalefx-pass2.vs
│       │   ├── scalefx-pass3.fs
│       │   └── scalefx-pass3.vs
│       ├── Sharp-Bilinear.shader
│       │   ├── manifest.bml
│       │   └── sharp-bilinear.fs
│       ├── Stock.shader
│       │   ├── manifest.bml
│       │   ├── stock.fs
│       │   └── stock.vs
│       ├── Super-2xBR-3D.shader
│       │   ├── custom-jinc2-sharper.fs
│       │   ├── manifest.bml
│       │   ├── super-2xbr-3d-pass0.fs
│       │   ├── super-2xbr-3d-pass1.fs
│       │   ├── super-2xbr-3d-pass2.fs
│       │   └── super-2xbr-3d-pass2.vs
│       ├── Super-4xBR-3D.shader
│       │   ├── custom-jinc2-sharper.fs
│       │   ├── manifest.bml
│       │   ├── super-4xbr-3d-pass0.fs
│       │   ├── super-4xbr-3d-pass1f.fs
│       │   ├── super-4xbr-3d-pass1.fs
│       │   ├── super-4xbr-3d-pass1f.vs
│       │   ├── super-4xbr-3d-pass2.fs
│       │   ├── super-4xbr-3d-pass3f.fs
│       │   ├── super-4xbr-3d-pass3.fs
│       │   └── super-4xbr-3d-pass3f.vs
│       ├── Super-8xBR-3D-6p.shader
│       │   ├── manifest.bml
│       │   ├── super-8xbr-3d-pass0.fs
│       │   ├── super-8xbr-3d-pass1.fs
│       │   ├── super-8xbr-3d-pass2.fs
│       │   ├── super-8xbr-3d-pass3.fs
│       │   ├── super-8xbr-3d-pass4.fs
│       │   └── super-8xbr-3d-pass5.fs
│       ├── Super-multires-xBR-3D.shader
│       │   ├── custom-jinc2-sharper.fs
│       │   ├── manifest.bml
│       │   ├── super-multi-xbr-3d-pass0.fs
│       │   ├── super-multi-xbr-3d-pass0.vs
│       │   ├── super-multi-xbr-3d-pass1.fs
│       │   ├── super-multi-xbr-3d-pass1.vs
│       │   ├── super-multi-xbr-3d-pass2.fs
│       │   ├── super-multi-xbr-3d-pass2.vs
│       │   ├── super-multi-xbr-3d-pass3.fs
│       │   └── super-multi-xbr-3d-pass3.vs
│       ├── testing
│       │   └── PhosphorLUT.shader
│       │       ├── combine.fs
│       │       ├── gaussian-horiz.fs
│       │       ├── gaussian-vert.fs
│       │       ├── manifest.bml
│       │       ├── scanline.fs
│       │       ├── shadow-mask.fs
│       │       ├── shadow-mask.vs
│       │       └── vert-test.png
│       ├── xBRZ-Freescale.shader
│       │   ├── manifest.bml
│       │   ├── xBRZ-Freescale-p0.fs
│       │   └── xBRZ-Freescale-p1.fs
│       └── Yee64.shader
│           ├── manifest.bml
│           └── yee64.fs
├── Firmware
│   └── Firmware
│       ├── cx4.data.rom
│       ├── sgb1.boot.rom
│       └── sgb2.boot.rom
└── System
    ├── ColecoVision
    │   └── Controller
    │       └── Gamepad
    ├── Famicom
    │   └── Controller
    │       └── Gamepad
    ├── Game Boy
    │   ├── boot.dmg-0.rom
    │   ├── boot.dmg-1.rom
    │   └── boot.mgb.rom
    ├── Game Boy Advance
    ├── Game Boy Color
    │   ├── boot.cgb-0.rom
    │   └── boot.cgb-1.rom
    ├── Game Boy Player
    ├── Game Gear
    ├── Master System
    │   └── Controller
    │       └── Gamepad
    ├── Mega Drive
    │   ├── Controller
    │   │   ├── Control Pad
    │   │   └── Fighting Pad
    │   └── tmss.rom
    ├── MSX
    │   ├── bios.rom
    │   ├── Controller
    │   │   └── Gamepad
    │   └── Keyboard
    │       └── Japanese
    │           └── layout.bml
    ├── MSX2
    │   ├── bios.rom
    │   ├── Controller
    │   │   └── Gamepad
    │   ├── Keyboard
    │   │   └── Japanese
    │   │       └── layout.bml
    │   └── sub.rom
    ├── Neo Geo Pocket
    ├── Neo Geo Pocket Color
    ├── Nintendo 64
    │   ├── Controller
    │   │   └── Gamepad
    │   ├── pif.ntsc.rom
    │   ├── pif.pal.rom
    │   └── pif.rom
    ├── PC Engine
    │   └── Controller
    │       ├── Avenue Pad 6
    │       └── Gamepad
    ├── PC Engine Duo
    │   └── Controller
    │       ├── Avenue Pad 6
    │       └── Gamepad
    ├── PlayStation
    │   └── Controller
    │       └── Gamepad
    ├── Pocket Challenge V2
    │   └── boot.rom
    ├── SC-3000
    │   └── Controller
    │       └── Gamepad
    ├── SG-1000
    │   └── Controller
    │       └── Gamepad
    ├── Super Famicom
    │   ├── boards.bml
    │   ├── Controller
    │   │   ├── Gamepad
    │   │   ├── Justifier
    │   │   ├── Justifiers
    │   │   ├── Mouse
    │   │   ├── NTT Data Keypad
    │   │   ├── Super Multitap
    │   │   ├── Super Scope
    │   │   └── Twin Tap
    │   ├── Expansion
    │   │   ├── 21fx
    │   │   └── Satellaview
    │   └── ipl.rom
    ├── SuperGrafx
    │   └── Controller
    │       └── Gamepad
    ├── SwanCrystal
    │   └── boot.rom
    ├── WonderSwan
    │   └── boot.rom
    └── WonderSwan Color
        └── boot.rom

157 directories, 448 files

I will start taking a look at the ebuild to see if we can easily change the installation location from /usr/share/higan-$VERSION to ~./local/share/higan/.

Is that the best solution or would @Screwtapello 's second bullet point ("patching the code to look for templates in a system-wide location") be the better approach?

Cheers,
Nathan Zachary

@nathanzachary
Copy link

nathanzachary commented Dec 7, 2021

Gentoo bug:
https://bugs.gentoo.org/828108

Patch and modified ebuild provided there. Please feel free to review and let me know if you think that there's a better approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants