Add ares for snes and nintendo 64.
This commit is contained in:
parent
4db3ef1ed3
commit
83389cb5cf
@ -8,6 +8,7 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./roles/2ship2harkinian
|
./roles/2ship2harkinian
|
||||||
|
./roles/ares
|
||||||
./roles/global_options
|
./roles/global_options
|
||||||
./roles/graphics
|
./roles/graphics
|
||||||
./roles/pcsx2
|
./roles/pcsx2
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
me.ares.enable = true;
|
||||||
me.graphical = true;
|
me.graphical = true;
|
||||||
me.optimizations.enable = true;
|
me.optimizations.enable = true;
|
||||||
me.pcsx2.enable = true;
|
me.pcsx2.enable = true;
|
||||||
|
95
nix/steam_deck/configuration/roles/ares/default.nix
Normal file
95
nix/steam_deck/configuration/roles/ares/default.nix
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# MANUAL: mkdir -p ~/.persist/.local/share/ares/saves ~/.persist/.local/share/ares/screenshots
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
steam_ares = pkgs.writeScriptBin "steam_ares" ''
|
||||||
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.libglvnd}/lib"
|
||||||
|
exec ${pkgs.ares}/bin/ares "''${@}"
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ ];
|
||||||
|
|
||||||
|
options.me = {
|
||||||
|
ares.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether we want to install ares.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.me.ares.enable (
|
||||||
|
lib.mkMerge [
|
||||||
|
(lib.mkIf config.me.graphical {
|
||||||
|
nixGL.vulkan.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
ares
|
||||||
|
steam_ares
|
||||||
|
];
|
||||||
|
|
||||||
|
home.persistence."/home/deck/.persist" = {
|
||||||
|
directories = [
|
||||||
|
{
|
||||||
|
directory = ".local/share/ares/saves";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = ".local/share/ares/screenshots";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".local/share/ares/settings.bml" = {
|
||||||
|
source = ./files/settings.bml;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(
|
||||||
|
final: prev:
|
||||||
|
let
|
||||||
|
optimizeWithFlags =
|
||||||
|
pkg: flags:
|
||||||
|
pkg.overrideAttrs (old: {
|
||||||
|
env.NIX_CFLAGS_COMPILE =
|
||||||
|
(old.env.NIX_CFLAGS_COMPILE or "") + (lib.strings.concatStringsSep " " flags);
|
||||||
|
});
|
||||||
|
original_package =
|
||||||
|
if config.me.optimizations.enable then
|
||||||
|
(optimizeWithFlags prev.ares [
|
||||||
|
"-march=znver2"
|
||||||
|
"-mtune=znver2"
|
||||||
|
])
|
||||||
|
else
|
||||||
|
prev.ares;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
ares = pkgs.buildEnv {
|
||||||
|
name = prev.ares.name;
|
||||||
|
paths = [
|
||||||
|
(config.lib.nixGL.wrap original_package)
|
||||||
|
];
|
||||||
|
extraOutputsToInstall = [
|
||||||
|
"man"
|
||||||
|
"doc"
|
||||||
|
"info"
|
||||||
|
];
|
||||||
|
# We have to use 555 instead of the normal 444 here because the .desktop file ends up inside $HOME on steam deck and desktop files must be either not in $HOME or must be executable, otherwise KDE Plasma refuses to execute them.
|
||||||
|
postBuild = ''
|
||||||
|
chmod 0555 $out/share/applications/ares.desktop
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
})
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
418
nix/steam_deck/configuration/roles/ares/files/settings.bml
Normal file
418
nix/steam_deck/configuration/roles/ares/files/settings.bml
Normal file
@ -0,0 +1,418 @@
|
|||||||
|
Video
|
||||||
|
Driver: OpenGL 3.2
|
||||||
|
Monitor: Primary
|
||||||
|
Format: ARGB24
|
||||||
|
Exclusive: false
|
||||||
|
Blocking: false
|
||||||
|
PresentSRGB: false
|
||||||
|
ThreadedRenderer: true
|
||||||
|
NativeFullScreen: false
|
||||||
|
Flush: false
|
||||||
|
Shader: bilinear.slangp
|
||||||
|
Multiplier: 1
|
||||||
|
Output: Scale
|
||||||
|
AspectCorrection: true
|
||||||
|
AdaptiveSizing: true
|
||||||
|
AutoCentering: false
|
||||||
|
Luminance: 1.0
|
||||||
|
Saturation: 1.0
|
||||||
|
Gamma: 1.0
|
||||||
|
ColorBleed: false
|
||||||
|
ColorEmulation: true
|
||||||
|
DeepBlackBoost: false
|
||||||
|
InterframeBlending: true
|
||||||
|
Overscan: false
|
||||||
|
PixelAccuracy: false
|
||||||
|
Quality: SD
|
||||||
|
Supersampling: false
|
||||||
|
DisableVideoInterfaceProcessing: false
|
||||||
|
WeaveDeinterlacing: true
|
||||||
|
Audio
|
||||||
|
Driver: PulseAudio Simple
|
||||||
|
Device: Default
|
||||||
|
Frequency: 48000
|
||||||
|
Latency: 0
|
||||||
|
Exclusive: false
|
||||||
|
Blocking: false
|
||||||
|
Dynamic: false
|
||||||
|
Mute: false
|
||||||
|
Volume: 1.0
|
||||||
|
Balance: 0.0
|
||||||
|
Input
|
||||||
|
Driver: SDL
|
||||||
|
Defocus: Pause
|
||||||
|
Boot
|
||||||
|
Fast: false
|
||||||
|
Debugger: false
|
||||||
|
Prefer: NTSC-U
|
||||||
|
General
|
||||||
|
ShowStatusBar: true
|
||||||
|
Rewind: false
|
||||||
|
RunAhead: false
|
||||||
|
AutoSaveMemory: true
|
||||||
|
HomebrewMode: false
|
||||||
|
ForceInterpreter: false
|
||||||
|
Rewind
|
||||||
|
Length: 100
|
||||||
|
Frequency: 10
|
||||||
|
Paths
|
||||||
|
Home
|
||||||
|
Firmware
|
||||||
|
Saves: /home/deck/.local/share/ares/saves/
|
||||||
|
Screenshots: /home/deck/.local/share/ares/screenshots/
|
||||||
|
Debugging: /home/deck/.local/share/ares/debug/
|
||||||
|
ArcadeRoms
|
||||||
|
SuperFamicom
|
||||||
|
GameBoy
|
||||||
|
BSMemory
|
||||||
|
SufamiTurbo
|
||||||
|
DebugServer
|
||||||
|
Port: 9123
|
||||||
|
Enabled: false
|
||||||
|
UseIPv4: false
|
||||||
|
Nintendo64
|
||||||
|
ExpansionPak: true
|
||||||
|
Visible: true
|
||||||
|
Path: /home/deck/.persist/manual/games/nintendo_64/roms/
|
||||||
|
MegaDrive
|
||||||
|
TMSS: false
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Recent
|
||||||
|
Game-1
|
||||||
|
Game-2
|
||||||
|
Game-3
|
||||||
|
Game-4
|
||||||
|
Game-5
|
||||||
|
Game-6
|
||||||
|
Game-7
|
||||||
|
Game-8
|
||||||
|
Game-9
|
||||||
|
VirtualPad1
|
||||||
|
Pad.Up: 0x28de1205/1/1/Lo;;
|
||||||
|
Pad.Down: 0x28de1205/1/1/Hi;;
|
||||||
|
Pad.Left: 0x28de1205/1/0/Lo;;
|
||||||
|
Pad.Right: 0x28de1205/1/0/Hi;;
|
||||||
|
Select: ;;
|
||||||
|
Start: 0x28de1205/3/7;;
|
||||||
|
A..South: 0x28de1205/3/0;;
|
||||||
|
B..East: ;;
|
||||||
|
X..West: 0x28de1205/3/1;;
|
||||||
|
Y..North: ;;
|
||||||
|
L-Bumper: 0x28de1205/3/4;;
|
||||||
|
R-Bumper: 0x28de1205/3/5;;
|
||||||
|
L-Trigger: ;;
|
||||||
|
R-Trigger: 0x28de1205/0/2/Hi;;
|
||||||
|
L-Stick..Click: ;;
|
||||||
|
R-Stick..Click: ;;
|
||||||
|
L-Up: 0x28de1205/0/1/Lo;;
|
||||||
|
L-Down: 0x28de1205/0/1/Hi;;
|
||||||
|
L-Left: 0x28de1205/0/0/Lo;;
|
||||||
|
L-Right: 0x28de1205/0/0/Hi;;
|
||||||
|
R-Up: 0x28de1205/0/4/Lo;;
|
||||||
|
R-Down: 0x28de1205/0/4/Hi;;
|
||||||
|
R-Left: 0x28de1205/0/3/Lo;;
|
||||||
|
R-Right: 0x28de1205/0/3/Hi;;
|
||||||
|
Rumble: 0x28de1205/3/6;;
|
||||||
|
VirtualMouse1
|
||||||
|
X: ;;
|
||||||
|
Y: ;;
|
||||||
|
Left: ;;
|
||||||
|
Middle: ;;
|
||||||
|
Right: ;;
|
||||||
|
Extra: ;;
|
||||||
|
VirtualPad2
|
||||||
|
Pad.Up: ;;
|
||||||
|
Pad.Down: ;;
|
||||||
|
Pad.Left: ;;
|
||||||
|
Pad.Right: ;;
|
||||||
|
Select: ;;
|
||||||
|
Start: ;;
|
||||||
|
A..South: ;;
|
||||||
|
B..East: ;;
|
||||||
|
X..West: ;;
|
||||||
|
Y..North: ;;
|
||||||
|
L-Bumper: ;;
|
||||||
|
R-Bumper: ;;
|
||||||
|
L-Trigger: ;;
|
||||||
|
R-Trigger: ;;
|
||||||
|
L-Stick..Click: ;;
|
||||||
|
R-Stick..Click: ;;
|
||||||
|
L-Up: ;;
|
||||||
|
L-Down: ;;
|
||||||
|
L-Left: ;;
|
||||||
|
L-Right: ;;
|
||||||
|
R-Up: ;;
|
||||||
|
R-Down: ;;
|
||||||
|
R-Left: ;;
|
||||||
|
R-Right: ;;
|
||||||
|
Rumble: ;;
|
||||||
|
VirtualMouse2
|
||||||
|
X: ;;
|
||||||
|
Y: ;;
|
||||||
|
Left: ;;
|
||||||
|
Middle: ;;
|
||||||
|
Right: ;;
|
||||||
|
Extra: ;;
|
||||||
|
VirtualPad3
|
||||||
|
Pad.Up: ;;
|
||||||
|
Pad.Down: ;;
|
||||||
|
Pad.Left: ;;
|
||||||
|
Pad.Right: ;;
|
||||||
|
Select: ;;
|
||||||
|
Start: ;;
|
||||||
|
A..South: ;;
|
||||||
|
B..East: ;;
|
||||||
|
X..West: ;;
|
||||||
|
Y..North: ;;
|
||||||
|
L-Bumper: ;;
|
||||||
|
R-Bumper: ;;
|
||||||
|
L-Trigger: ;;
|
||||||
|
R-Trigger: ;;
|
||||||
|
L-Stick..Click: ;;
|
||||||
|
R-Stick..Click: ;;
|
||||||
|
L-Up: ;;
|
||||||
|
L-Down: ;;
|
||||||
|
L-Left: ;;
|
||||||
|
L-Right: ;;
|
||||||
|
R-Up: ;;
|
||||||
|
R-Down: ;;
|
||||||
|
R-Left: ;;
|
||||||
|
R-Right: ;;
|
||||||
|
Rumble: ;;
|
||||||
|
VirtualMouse3
|
||||||
|
X: ;;
|
||||||
|
Y: ;;
|
||||||
|
Left: ;;
|
||||||
|
Middle: ;;
|
||||||
|
Right: ;;
|
||||||
|
Extra: ;;
|
||||||
|
VirtualPad4
|
||||||
|
Pad.Up: ;;
|
||||||
|
Pad.Down: ;;
|
||||||
|
Pad.Left: ;;
|
||||||
|
Pad.Right: ;;
|
||||||
|
Select: ;;
|
||||||
|
Start: ;;
|
||||||
|
A..South: ;;
|
||||||
|
B..East: ;;
|
||||||
|
X..West: ;;
|
||||||
|
Y..North: ;;
|
||||||
|
L-Bumper: ;;
|
||||||
|
R-Bumper: ;;
|
||||||
|
L-Trigger: ;;
|
||||||
|
R-Trigger: ;;
|
||||||
|
L-Stick..Click: ;;
|
||||||
|
R-Stick..Click: ;;
|
||||||
|
L-Up: ;;
|
||||||
|
L-Down: ;;
|
||||||
|
L-Left: ;;
|
||||||
|
L-Right: ;;
|
||||||
|
R-Up: ;;
|
||||||
|
R-Down: ;;
|
||||||
|
R-Left: ;;
|
||||||
|
R-Right: ;;
|
||||||
|
Rumble: ;;
|
||||||
|
VirtualMouse4
|
||||||
|
X: ;;
|
||||||
|
Y: ;;
|
||||||
|
Left: ;;
|
||||||
|
Middle: ;;
|
||||||
|
Right: ;;
|
||||||
|
Extra: ;;
|
||||||
|
VirtualPad5
|
||||||
|
Pad.Up: ;;
|
||||||
|
Pad.Down: ;;
|
||||||
|
Pad.Left: ;;
|
||||||
|
Pad.Right: ;;
|
||||||
|
Select: ;;
|
||||||
|
Start: ;;
|
||||||
|
A..South: ;;
|
||||||
|
B..East: ;;
|
||||||
|
X..West: ;;
|
||||||
|
Y..North: ;;
|
||||||
|
L-Bumper: ;;
|
||||||
|
R-Bumper: ;;
|
||||||
|
L-Trigger: ;;
|
||||||
|
R-Trigger: ;;
|
||||||
|
L-Stick..Click: ;;
|
||||||
|
R-Stick..Click: ;;
|
||||||
|
L-Up: ;;
|
||||||
|
L-Down: ;;
|
||||||
|
L-Left: ;;
|
||||||
|
L-Right: ;;
|
||||||
|
R-Up: ;;
|
||||||
|
R-Down: ;;
|
||||||
|
R-Left: ;;
|
||||||
|
R-Right: ;;
|
||||||
|
Rumble: ;;
|
||||||
|
VirtualMouse5
|
||||||
|
X: ;;
|
||||||
|
Y: ;;
|
||||||
|
Left: ;;
|
||||||
|
Middle: ;;
|
||||||
|
Right: ;;
|
||||||
|
Extra: ;;
|
||||||
|
Hotkey
|
||||||
|
ToggleFullscreen: ;;
|
||||||
|
ToggleMouseCapture: ;;
|
||||||
|
ToggleKeyboardCapture: ;;
|
||||||
|
FastForward: ;;
|
||||||
|
ToggleFastForward: ;;
|
||||||
|
Rewind: ;;
|
||||||
|
FrameAdvance: ;;
|
||||||
|
CaptureScreenshot: ;;
|
||||||
|
SaveState: ;;
|
||||||
|
LoadState: ;;
|
||||||
|
DecrementStateSlot: ;;
|
||||||
|
IncrementStateSlot: ;;
|
||||||
|
PauseEmulation: ;;
|
||||||
|
ResetSystem: ;;
|
||||||
|
ReloadCurrentGame: ;;
|
||||||
|
QuitEmulator: ;;
|
||||||
|
MuteAudio: ;;
|
||||||
|
IncreaseAudio: ;;
|
||||||
|
DecreaseAudio: ;;
|
||||||
|
Arcade
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Atari2600
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
WonderSwan
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
WonderSwanColor
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
PocketChallengeV2
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
ColecoVision
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
MyVision
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
MSX
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.Japan
|
||||||
|
MSX2
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
MAIN.Japan
|
||||||
|
SUB.Japan
|
||||||
|
PCEngine
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
PCEngineCD
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
System-Card-1.0.Japan
|
||||||
|
Arcade-Card.Japan
|
||||||
|
System-Card-3.0.US
|
||||||
|
Games-Express.Japan
|
||||||
|
SuperGrafx
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
SuperGrafxCD
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
Arcade-Card.Japan
|
||||||
|
Famicom
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
FamicomDiskSystem
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.Japan
|
||||||
|
SuperFamicom
|
||||||
|
Visible: true
|
||||||
|
Path
|
||||||
|
Nintendo64DD
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.Japan
|
||||||
|
BIOS.US
|
||||||
|
BIOS.DEV
|
||||||
|
GameBoy
|
||||||
|
Visible: true
|
||||||
|
Path
|
||||||
|
GameBoyColor
|
||||||
|
Visible: true
|
||||||
|
Path
|
||||||
|
GameBoyAdvance
|
||||||
|
Visible: true
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
SG-1000
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
MasterSystem
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.US
|
||||||
|
BIOS.Japan
|
||||||
|
BIOS.Europe
|
||||||
|
GameGear
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
Mega32X
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
MegaCD
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.US
|
||||||
|
BIOS.Japan
|
||||||
|
BIOS.Europe
|
||||||
|
MegaCD32X
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
NeoGeoAES
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
NeoGeoMVS
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
NeoGeoPocket
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
NeoGeoPocketColor
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.World
|
||||||
|
PlayStation
|
||||||
|
Visible: true
|
||||||
|
Path
|
||||||
|
Firmware
|
||||||
|
BIOS.US
|
||||||
|
BIOS.Japan
|
||||||
|
BIOS.Europe
|
||||||
|
ZXSpectrum
|
||||||
|
Visible: false
|
||||||
|
Path
|
||||||
|
ZXSpectrum128
|
||||||
|
Visible: false
|
||||||
|
Path
|
Loading…
x
Reference in New Issue
Block a user