Documentation
¶
Overview ¶
Package linuxemu provides reusable emulator discovery and launchers for Linux-family platforms.
Index ¶
- Constants
- func AttachPlainESDEScanners(cfg *config.Instance, options Options, catalog []platforms.Launcher)
- func DesktopRetroArchConfigPath() string
- func DesktopRetroArchOptions(appendConfigPath string) sharedretroarch.Options
- func EnsureRetroArchNetworkConfig(path string) error
- func KnownEmulatorProcesses() []string
- func Launchers(cfg *config.Instance, options Options, existing []platforms.Launcher) []platforms.Launcher
- type EmuDeckPaths
- type EmulatorProcess
- type EmulatorStartCallback
- type EmulatorStopCallback
- type EmulatorTracker
- type Options
- type RetroDECKPaths
Constants ¶
const ( RetroArchFlatpakID = "org.libretro.RetroArch" RetroArchNetworkAddr = "127.0.0.1:55355" )
const RetroDECKFlatpakID = "net.retrodeck.retrodeck"
Variables ¶
This section is empty.
Functions ¶
func AttachPlainESDEScanners ¶
AttachPlainESDEScanners enriches filesystem results from explicit index roots using standard ~/ES-DE/gamelists metadata. It never adds or scans roots.
func DesktopRetroArchConfigPath ¶
func DesktopRetroArchConfigPath() string
DesktopRetroArchConfigPath returns the shared Linux desktop network-command overlay path.
func DesktopRetroArchOptions ¶
func DesktopRetroArchOptions(appendConfigPath string) sharedretroarch.Options
DesktopRetroArchOptions builds standard Flatpak RetroArch options for Linux desktops.
func EnsureRetroArchNetworkConfig ¶
EnsureRetroArchNetworkConfig writes the shared network-command overlay.
func KnownEmulatorProcesses ¶
func KnownEmulatorProcesses() []string
KnownEmulatorProcesses returns the monitored process-name catalog.
Types ¶
type EmuDeckPaths ¶
EmuDeckPaths holds discovered EmuDeck library paths.
func DefaultEmuDeckPaths ¶
func DefaultEmuDeckPaths(homeDir string) EmuDeckPaths
DefaultEmuDeckPaths discovers EmuDeck's configured ROM root and standard ES-DE gamelist directory without executing its shell settings file.
type EmulatorProcess ¶
EmulatorProcess describes one detected emulator process.
type EmulatorStartCallback ¶
EmulatorStartCallback is called when an emulator process is detected.
type EmulatorStopCallback ¶
EmulatorStopCallback is called when an emulator process exits.
type EmulatorTracker ¶
type EmulatorTracker struct {
// contains filtered or unexported fields
}
EmulatorTracker monitors emulator process lifecycle through a shared scanner.
func NewEmulatorTracker ¶
func NewEmulatorTracker( scanner *procscanner.Scanner, onStart EmulatorStartCallback, onStop EmulatorStopCallback, ) *EmulatorTracker
NewEmulatorTracker creates a tracker using a running process scanner.
func (*EmulatorTracker) TrackedEmulators ¶
func (t *EmulatorTracker) TrackedEmulators() []EmulatorProcess
TrackedEmulators returns a snapshot of active emulator processes.
type Options ¶
type Options struct {
RetroArch *sharedretroarch.Options
GameMode *gamescope.Manager
LaunchEnv func() []string
IsFlatpakInstalled func(string) bool
LookPath func(string) (string, error)
HomeDir string
IncludeRetroArch bool
IncludeStandalone bool
IncludeProviderDecks bool
}
Options parameterizes platform-specific Linux emulator behavior.
func DesktopEmulationOptions ¶
func DesktopEmulationOptions( gameMode *gamescope.Manager, retroArch sharedretroarch.Options, ) Options
DesktopEmulationOptions applies shared desktop launch-environment wiring.
func NewOptions ¶
func NewOptions(homeDir string, retroArch sharedretroarch.Options) Options
NewOptions returns defaults suitable for a desktop Linux platform.
type RetroDECKPaths ¶
RetroDECKPaths holds discovered RetroDECK library paths.
func DefaultRetroDECKPaths ¶
func DefaultRetroDECKPaths(homeDir string) RetroDECKPaths
DefaultRetroDECKPaths discovers RetroDECK's configurable userdata paths from its Flatpak JSON config, falling back to documented defaults.