awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Hardware emulation layer

Ranking updated Jul 22, 2026

For hardware emulation layers, the strongest matches are qemu/qemu (QEMU is a comprehensive system-level hardware emulator and virtualization), utmapp/utm (UTM is a comprehensive system emulator and hypervisor for) and 86box/86box (86Box is a cycle-accurate x86 hardware emulator and vintage). felixrieseberg/macintosh.js and touchhle/touchhle round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the top open-source hardware emulation layers for virtualizing components, ranked by GitHub stars and activity. Compare and find the best fit.

Hardware emulation layer

Find the best repos with AI.We'll search the best matching repositories with AI.
  • qemu/qemuqemu avatar

    qemu/qemu

    12,714View on GitHub↗

    QEMU is a cross-platform system emulator and hardware virtualization platform that enables the execution of multiple isolated operating systems on a single host machine. It functions as a processor architecture emulator, translating machine instructions between different hardware platforms to allow software designed for one architecture to run on another. The project distinguishes itself through a modular target architecture that separates core emulation logic from specific hardware definitions, supporting a wide range of processor and peripheral configurations. It utilizes dynamic binary tra

    QEMU is a comprehensive system-level hardware emulator and virtualization platform that natively supports CPU emulation, peripheral simulation, and debugging across multiple platforms.

    CHardware EmulatorsHardware EmulatorsSystem Emulators
    View on GitHub↗12,714
  • utmapp/utmutmapp avatar

    utmapp/UTM

    34,401View on GitHub↗

    UTM is a comprehensive virtualization suite that provides a unified interface for running guest operating systems on host hardware. It functions as a cross-platform system emulator and hypervisor, coordinating both hardware-accelerated virtualization and software-based instruction emulation to execute diverse operating systems. By leveraging native kernel-level virtualization frameworks, the software achieves near-native performance while maintaining strict security through sandboxed process isolation. The project distinguishes itself by enabling full-featured desktop operating systems to run

    UTM is a comprehensive system emulator and hypervisor for Apple platforms that runs diverse guest operating systems through CPU emulation and virtualization, hitting nearly all the requested features including debugging support and graphical output.

    SwiftHardware EmulatorsVirtual Device Drivers
    View on GitHub↗34,401
  • 86box/86box86Box avatar

    86Box/86Box

    4,059View on GitHub↗

    86Box is a low-level x86 hardware emulator and vintage PC simulator designed to replicate early IBM PC compatibles. It provides virtualized environments for executing legacy operating systems, such as MS-DOS and early versions of Windows, by simulating processors and system designs ranging from the 8086 through the Pentium era. The project distinguishes itself through cycle-accurate processor simulation and high-fidelity hardware emulation. This includes the ability to route retro MIDI audio data to emulated hardware modules or external synthesizers to achieve authentic audio playback from le

    86Box is a cycle-accurate x86 hardware emulator and vintage PC simulator that provides comprehensive system-level emulation, peripheral simulation, and debugging tools to run legacy operating systems across platforms.

    CHardware Emulators
    View on GitHub↗4,059
  • felixrieseberg/macintosh.jsfelixrieseberg avatar

    felixrieseberg/macintosh.js

    8,480View on GitHub↗

    macintosh.js is an Electron-based system emulator designed to run legacy operating systems and vintage software within a modern desktop application. It functions as a virtual machine that replicates the hardware and software environment of a Macintosh Quadra to execute System 8. The project includes a UDP network bridge and virtual Ethernet integration, which routes network traffic to specific ports to enable communication between multiple emulated instances on a local network. The emulator supports virtual disk management and disk-image mounting to transfer files between the host machine an

    This Electron-based application emulates vintage Macintosh hardware to run legacy operating systems and software, fulfilling the core system-level hardware emulation requirement despite lacking advanced low-level debugging tools.

    JavaScriptHardware EmulatorsSystem Emulators
    View on GitHub↗8,480
  • touchhle/touchhletouchHLE avatar

    touchHLE/touchHLE

    3,754View on GitHub↗

    touchHLE is a high-level emulator designed to run legacy iPhone OS applications and games on modern desktop and mobile operating systems. It functions by simulating the original hardware environment and operating system API calls rather than emulating underlying CPU instructions. The project focuses on the preservation of early third-party mobile software through legacy archiving. It distinguishes itself by translating modern mouse, keyboard, and controller inputs into simulated touch gestures and accelerometer data, and by connecting multiple emulator instances over a local network to enable

    TouchHLE is a high-level system emulator designed to run legacy mobile applications by simulating environment APIs and hardware behaviors, though it focuses on high-level emulation rather than low-level CPU instruction emulation.

    RustSystem EmulatorsHigh-Level EmulationSystem Emulators
    View on GitHub↗3,754
  • mgba-emu/mgbamgba-emu avatar

    mgba-emu/mgba

    6,798View on GitHub↗

    mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on modern computers. It serves as a scriptable emulation environment that allows for the execution of portable hardware software and the simulation of associated peripherals. The project distinguishes itself through its focus on technical analysis, providing a suite of tools for retro game debugging and game logic inspection. It includes a host-client debug protocol that enables external debugger connectivity via TCP socket communication and an event-driven scripting engine for

    mGBA is a high-accuracy system-level emulator focused on handheld consoles with robust debugging support and peripheral simulation, though it is specialised for Game Boy hardware rather than general-purpose computer architectures.

    CEmulated Hardware DebuggersHardware-Level Debuggers
    View on GitHub↗6,798
  • mamedev/mamemamedev avatar

    mamedev/mame

    9,929View on GitHub↗

    MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal

    MAME is a comprehensive hardware emulation platform that accurately simulates complete vintage systems, peripheral devices, and CPUs with built-in debugging tools and graphical output.

    C++Hardware Emulators
    View on GitHub↗9,929
  • pcsx2/pcsx2PCSX2 avatar

    PCSX2/pcsx2

    14,969View on GitHub↗

    This project is a cross-platform emulator designed to execute software originally developed for the PlayStation 2 console on modern computing hardware. By replicating the original processor and graphics architecture, it allows users to run legacy game discs and digital backups within a virtual environment on contemporary desktop and laptop systems. The software distinguishes itself through advanced graphics enhancement engineering, which enables users to adjust rendering resolutions, apply texture filtering, and utilize community-created patches to improve visual fidelity beyond original hard

    This project is a dedicated console emulator that accurately simulates the architecture of vintage hardware to run PlayStation 2 software, though it is tailored for a specific gaming console rather than a general-purpose system emulator.

    C++Hardware EmulatorsHardware Emulators
    View on GitHub↗14,969
  • bochs-emu/bochsbochs-emu avatar

    bochs-emu/Bochs

    1,319View on GitHub↗

    Bochs - Cross Platform x86 Emulator Project

    Bochs is a cross-platform x86 hardware emulator that provides full system-level emulation, CPU simulation, peripheral support, and built-in debugging features for running vintage operating systems.

    C++Firmware Emulation Frameworks
    View on GitHub↗1,319
  • dolphin-emu/dolphindolphin-emu avatar

    dolphin-emu/dolphin

    14,644View on GitHub↗

    Dolphin is a software environment that simulates GameCube and Wii console hardware, allowing users to execute game discs and digital software on modern computing platforms. It functions by translating original console processor instructions into native host machine code at runtime and intercepting low-level graphics commands to render them through modern graphics APIs. The project distinguishes itself through a comprehensive netplay engine that enables online multiplayer for local games by synchronizing game states and input timing across remote instances. This system enforces deterministic e

    Dolphin is a mature system-level hardware emulator for the GameCube and Wii that features CPU emulation, peripheral simulation, and debugging support across multiple modern platforms.

    C++Hardware EmulatorsSystem Emulators
    View on GitHub↗14,644
  • open-smartwatch/open-smartwatch-osOpen-Smartwatch avatar

    Open-Smartwatch/open-smartwatch-os

    1,114View on GitHub↗

    Open-smartwatch-os is an operating system designed for resource-constrained wearable devices. It provides a development and testing environment that allows developers to build, validate, and debug firmware for smartwatches within a simulated desktop environment before deploying to physical hardware. The project distinguishes itself through a comprehensive suite of tools for hardware emulation and remote diagnostics. By utilizing a hardware abstraction layer and modular driver architecture, it decouples core system logic from specific physical components. This enables developers to run the ope

    Open-smartwatch-os provides a simulated desktop environment and hardware emulation tools to test wearable firmware, fitting the category even though its scope is focused specifically on smartwatch development rather than general-purpose computer architectures.

    CHardware Emulators
    View on GitHub↗1,114
  • jpd002/play-jpd002 avatar

    jpd002/Play-

    2,539View on GitHub↗

    Play- is a multi-system game emulator and virtual hardware emulator that simulates various console and arcade hardware to run original game files on modern devices. It functions as a retro game frontend, providing a graphical interface for organizing, launching, and managing libraries of legacy console and arcade titles. The project includes a hardware input mapper that translates modern controllers and mouse movements to simulate specialized legacy input devices, such as light guns and steering wheels. It also features a game state manager capable of capturing and restoring the exact memory

    Play- is a multi-system hardware emulator that simulates vintage console and arcade systems with cross-platform support and peripheral input translation, though it is specifically focused on gaming rather than general-purpose computing architectures.

    C++System EmulatorsPeripheral Simulation
    View on GitHub↗2,539
  • amhndu/simplenesamhndu avatar

    amhndu/SimpleNES

    5,087View on GitHub↗

    SimpleNES is a C++ application that simulates original Nintendo Entertainment System hardware to run legacy games on modern computers. It functions as a hardware simulator and retro gaming emulator designed to execute classic game ROMs by recreating the original console environment through software. The system implements a software version of the 6502 CPU and picture processing unit to render retro game video and audio. It recreates 8-bit console architecture to ensure the execution of original game ROMs. The project covers low-level hardware simulation, including cycle-accurate CPU emulatio

    SimpleNES is a C++ Nintendo Entertainment System emulator that handles cycle-accurate CPU emulation, console architecture simulation, and graphical output, making it a solid system-level hardware emulator even though its scope is strictly focused on a single vintage console.

    C++Hardware Emulators
    View on GitHub↗5,087
  • xemu-project/xemuxemu-project avatar

    xemu-project/xemu

    3,673View on GitHub↗

    xemu is a game console emulator and virtual hardware hypervisor designed to execute original Xbox game software on various operating systems. It functions as a disk image player that simulates physical circuitry and storage to enable the playback of original titles. The project includes a suite of low-level system debugging tools for inspecting registers, tracing execution events, and dumping memory from running guest code. It provides specialized capabilities for hardware accuracy testing and game hardware debugging to analyze system behavior. The software covers a broad range of emulation

    This repository provides a system-level hardware emulator for the original Xbox complete with CPU emulation, peripheral simulation, and debugging support across multiple operating systems, though it is specifically tailored to a single console architecture rather than a general-purpose system simulator.

    CHardware-Level DebuggersHigh-Level Emulation
    View on GitHub↗3,673
  • copy/v86copy avatar

    copy/v86

    23,160View on GitHub↗

    v86 is a browser-based virtual machine and x86 hardware simulator that allows 16-bit and 32-bit operating systems to run directly within a web page. It functions as an x86 emulator for WebAssembly, simulating CPUs, memory, and storage devices to execute legacy software without original native hardware. The project utilizes a WebAssembly just-in-time compiler to translate x86 machine code into WebAssembly modules for high-performance execution in the browser. The system covers hardware emulation and lifecycle management, including the ability to boot from disk images, configure virtual hardwa

    v86 is a browser-based x86 hardware emulator that compiles machine code to WebAssembly, making it easy to run vintage operating systems and software directly in web pages with strong system-level emulation and peripheral simulation.

    JavaScriptLegacy System PreservationOperating System Emulation
    View on GitHub↗23,160
  • floooh/chipsfloooh avatar

    floooh/chips

    1,177View on GitHub↗

    Chips is a modular, header-only C library framework designed for building cycle-accurate hardware simulators and replicating historical eight-bit computing architectures. It provides the foundational components necessary to construct complete vintage systems by integrating individual emulated microprocessors and peripheral chips. The framework distinguishes itself through a component-based architecture where hardware modules are implemented as standalone headers that can be wired together to form complex systems. It models hardware interactions at a low level, utilizing pin-level signal emula

    Chips is a modular header-only C library for building cycle-accurate hardware simulators and vintage computing architectures, fitting the hardware emulator category well despite being a framework rather than a complete standalone system.

    CHardware Emulators
    View on GitHub↗1,177
  • hrydgard/ppsspphrydgard avatar

    hrydgard/ppsspp

    13,375View on GitHub↗

    This project is a cross-platform, open-source emulator designed to execute handheld gaming software on modern desktop and mobile hardware. By recreating the original console environment and system libraries, it allows users to run game files without requiring original firmware. The software achieves high-performance execution through a combination of dynamic recompilation and just-in-time instruction translation, which map console-specific instructions to native host machine code. The emulator distinguishes itself by providing advanced visual and connectivity enhancements that extend beyond t

    PPSSPP is a cross-platform console emulator featuring CPU translation, peripheral simulation, and system debugging support, making it a robust specialized hardware emulator despite its focus on a single gaming system.

    C++Hardware Emulators
    View on GitHub↗13,375
  • baekalfen/pyboyBaekalfen avatar

    Baekalfen/PyBoy

    5,159View on GitHub↗

    PyBoy is a programmable Game Boy emulator and hardware simulation framework written in Python. It functions as an emulation engine that allows users to execute original handheld software while providing a programmatic interface to control, probe, and automate game execution. The project is specifically designed as a reinforcement learning environment, exposing emulator states and controls to facilitate the training of machine learning agents. It distinguishes itself by providing tools for game area mapping and the extraction of simplified 2D screen representations and collision maps to suppor

    PyBoy is a Game Boy emulator and hardware simulation framework providing programmatic access for automation and machine learning, though it is specifically tailored to a single console rather than being a general system emulator.

    PythonHardware Emulators
    View on GitHub↗5,159
  • skmp/reicast-emulatorskmp avatar

    skmp/reicast-emulator

    1,133View on GitHub↗

    Reicast Emulator is an open-source video game emulator that runs vintage Sega Dreamcast console games on contemporary desktop and mobile computers by translating original hardware instructions. It operates as a multiplatform console emulator that executes legacy console binaries on contemporary operating systems. The software uses a dynamic binary translation engine to convert guest CPU instructions into native host machine code at runtime. It implements a graphics pipeline that converts proprietary display lists into standard modern graphics API draw calls, alongside hardware register mappin

    Reicast is a multiplatform Sega Dreamcast emulator featuring system-level emulation and cross-platform support, making it a capable tool for running vintage console software.

    C++Dreamcast CoresDynamic Binary TranslatorsGL-Based Pipelines
    View on GitHub↗1,133
  • commanderx16/x16-emulatorcommanderx16 avatar

    commanderx16/x16-emulator

    382View on GitHub↗

    The Commander X16 Emulator is a retro computer emulator that runs assembly and BASIC software designed for the Commander X16 8-bit computer architecture on modern host operating systems. It replicates vintage hardware systems to support software testing, vintage computer preservation, and retro game development in a contemporary environment. The software emulates physical 65C02 processor instructions and memory maps within a software-defined address space, utilizing a cycle-accurate timing model to synchronise CPU execution cycles with peripheral devices. It maps hardware registers and input

    This repository provides a system-level emulator for the Commander X16 vintage computer, offering the core hardware simulation needed although it is specifically tailored to a single architecture rather than multiple systems.

    Commander X16 Emulation EnvironmentsRetro Gaming SoftwareRetro Hardware Emulation
    View on GitHub↗382
  • irwir/emuleirwir avatar

    irwir/eMule

    1,189View on GitHub↗

    eMule is a decentralized file sharing client and download manager that connects to peer-to-peer networks to download, share, and exchange files directly with other users without relying on central servers. It queues transfers, tracks active network sources, and automatically recovers corrupted file archives. The client maintains distributed connections across large networks to discover sources and transfer file chunks directly between clients. It downloads distinct file fragments concurrently from multiple independent peers and reconstructs them into complete archives, while managing upload a

    This repository provides a C++ hardware emulation project that aligns with the requested category, though its sparse documentation makes it difficult to verify the full set of debugging and peripheral features.

    C++Download ManagersChunked Resumable TransfersDistributed Hash Tables
    View on GitHub↗1,189
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
qemu/qemu12.7KCotherFeb 19, 2026
utmapp/utm34.4KSwiftApache-2.0Jun 8, 2026
86box/86box4.1KCgpl-2.0Feb 21, 2026
felixrieseberg/macintosh.js8.5KJavaScript—May 5, 2026
touchhle/touchhle3.8KRustMPL-2.0Jun 23, 2026
mgba-emu/mgba6.8KCmpl-2.0Feb 19, 2026
mamedev/mame9.9KC++otherFeb 20, 2026
pcsx2/pcsx215KC++GPL-3.0Jun 16, 2026
bochs-emu/bochs1.3KC++LGPL-2.1Jun 14, 2026
dolphin-emu/dolphin14.6KC++otherFeb 21, 2026

Related searches

  • Hardware acceleration libraries
  • an open source hardware design platform
  • Runtime abstraction layers
  • a guide for building a game emulator
  • Kernel driver development
  • GPU acceleration libraries
  • a cross-platform graphics abstraction library
  • GPU acceleration tools