# utmapp/UTM

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/utmapp-utm).**

32,882 stars · 1,652 forks · Swift · apache-2.0

## Links

- GitHub: https://github.com/utmapp/UTM
- Homepage: https://getutm.app
- awesome-repositories: https://awesome-repositories.com/repository/utmapp-utm.md

## Topics

`apple` `emulation` `ios` `jailbreak` `macos` `qemu` `utm` `virtual-machines` `vm`

## Description

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 on mobile hardware, alongside support for over thirty processor architectures including x86_64, ARM64, and RISC-V. It provides a graphical management interface that abstracts complex command-line configurations, allowing users to manage the lifecycle of multiple concurrent virtual machine instances. For environments where dynamic code generation is restricted, the software utilizes a threaded instruction interpreter to maintain functionality.

Beyond core emulation, the platform includes standardized driver architectures for high-performance device communication and remote rendering protocols for graphical output. It supports various deployment strategies, including sideloading for non-jailbroken devices and repository-based installation for jailbroken systems. The software facilitates resource sharing between host and guest environments, such as shared directories and network port forwarding, to support development, testing, and legacy software preservation.

## Tags

### DevOps & Infrastructure

- [Sandboxed Runtimes](https://awesome-repositories.com/f/devops-infrastructure/sandboxed-runtimes.md) — A secure containerized runtime that enforces strict isolation boundaries to prevent guest processes from accessing unauthorized host system resources.

### Operating Systems & Systems Programming

- [Hardware Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators.md) — Emulates full computer systems including processors, memory management units, and peripheral devices. ([source](https://cdn.jsdelivr.net/gh/utmapp/UTM@main/README.md))
- [Hypervisors](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hypervisors.md) — Provides a unified layer for coordinating hardware-accelerated virtualization and software-based emulation across different host operating systems.
- [Virtualization Platforms](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms.md) — Leverages native kernel-level virtualization APIs to run guest code at near-native speeds on supported hardware architectures.
- [Virtual Device Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtual-device-drivers.md) — Facilitates high-performance communication between guest operating systems and host-provided virtual hardware resources.
- [Virtualization Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-managers.md) — Coordinates hardware-accelerated virtualization and software-based emulation for managing guest environments.

### Mobile Development

- [Mobile Virtualization](https://awesome-repositories.com/f/mobile-development/mobile-infrastructure-security/mobile-virtualization.md) — Runs full-featured desktop operating systems on mobile hardware by leveraging low-level virtualization and emulation technology for portable computing.

### Security & Cryptography

- [Process Sandboxes](https://awesome-repositories.com/f/security-cryptography/process-sandboxes.md) — Enforces strict security boundaries by wrapping virtual machine processes in restricted environments to prevent unauthorized host system access.

### Development Tools & Productivity

- [Development Environments](https://awesome-repositories.com/f/development-tools-productivity/development-environments.md) — Packages complete development setups into virtual machine images to ensure consistent tooling and configurations across different developer workstations.

### Networking & Communication

- [Remote Display Protocols](https://awesome-repositories.com/f/networking-communication/remote-display-protocols.md) — Streams graphical output and input events between the virtual machine and the host display using a dedicated client-server protocol.

### Testing & Quality Assurance

- [Test Infrastructure](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/test-infrastructure.md) — Creates secure and sandboxed virtual machines to test software or configurations without risking the stability of the host operating system.
