Curiosity welcome
You don’t need to know it all.
Start with the basics. Open the technical details when they help you answer your next question.
Beginner
Understand the pieces.
What is RetroPie?RetroPie brings together tools for installing and configuring a retro-gaming setup. You usually choose games from EmulationStation, then an emulator runs them.What is an SBC? Raspberry Pi and Orange Pi explainedA single-board computer puts the main parts of a computer onto a small circuit board. Add power, storage and input/output devices to use it.What is a ROM?In an emulation setup, a ROM usually means a file containing game data from an older system. Disc-based systems may use different image formats.What is an emulator?An emulator recreates enough of another system’s behavior to run its software. Different emulators can target the same console with different strengths.What is EmulationStation?EmulationStation is the game-selection menu: choose a system, browse a list and launch something to play.What are RetroArch and emulator cores?RetroArch is an application that gives compatible emulator cores a shared interface for controls, audio, video and other features. A core implements the emulation.
Intermediate
Make your setup your own.
32-bit, 64-bit, ARM and x86These terms describe processor and software families. Choose a download made for your board and operating system, rather than the biggest number.Linux, Debian and BookwormLinux is the operating-system foundation. A distribution packages it with tools and updates. Bookworm is the name of Debian 12; Raspberry Pi OS is based on Debian.What is a BIOS file?Some emulators need firmware from the original system in addition to a game. The required filename and version depend on the emulator.File systems and storageA file system organizes files on a card or drive. An OS image may contain several partitions that your desktop computer does not all understand.Controller mapping and hotkeysMapping assigns physical buttons to the actions the system expects. The frontend and an emulator can use different mappings.What is SSH?SSH lets you open a command-line session on another computer over a network. It is useful for diagnostics when that device has SSH enabled.What is Samba?Samba can expose shared folders on your local network so another computer can transfer files. RetroPie configurations may provide shares for ROMs and other folders.Where do game files go?RetroPie organizes files into system-specific ROM directories. Supported extensions differ by emulator.Configuration files without the confusionConfiguration files save choices that applications read when they start or launch a game. Several files can contribute to the final behavior.
Advanced
Find out what happens underneath.
KMS / DRM: Linux display controlKernel Mode Setting is part of Linux’s display infrastructure. DRM in this context means Direct Rendering Manager, not a media-copy restriction.Mesa and graphics driversMesa provides implementations of graphics APIs and drivers used by many Linux applications. A matching hardware driver helps applications render through the GPU.OpenGL ES and VulkanGraphics APIs are interfaces applications use to ask for drawing work. OpenGL ES and Vulkan are different interfaces with different requirements.What does SDL do?SDL is a cross-platform library that applications can use for windows, input, audio and related functions. It sits between application code and operating-system services.Linux audio and output devicesA system may have several audio outputs: HDMI, USB devices or others. The operating system and emulator each need to select a usable path.Linux kernels and device treesThe kernel manages hardware and provides services to applications. On many ARM boards, a device tree describes the hardware layout to the kernel.Compiling from sourceA source build turns program source code into binaries for a particular environment. It can provide software that has no suitable prebuilt package.
Developer
Follow the source and build process.
Inside RetroPie-SetupRetroPie-Setup detects the platform and coordinates package modules that install and configure software. The module selected for one board may use a different path on another.Scriptmodules and package modulesPackage modules describe how RetroPie manages individual pieces of software. A module may retrieve source, install binaries, compile code or write configuration.Binary packages versus source buildsA binary package has already been built. A source install performs that work on or for the target environment. Availability can differ by OS and CPU architecture.EmulationStation configurationEmulationStation needs system definitions, file locations and launch commands to populate and run its menus. Themes affect presentation rather than implementing emulation.RetroArch’s configuration hierarchyRetroArch settings can come from global configuration and narrower overrides. RetroPie can also supply per-system configuration when launching a core.