Your old PC games, looking as good as you remember.

2ksbox runs Windows 98, Windows XP, Windows 7 and DOS on Linux, Windows and macOS, and Windows 11 beside them. Period 3D games run accelerated on your GPU, the picture goes through a CRT shader instead of a blurry stretched rectangle, and the CD-ROM drive runs raw dumps of the discs you own.

Runs on
Linux, Windows, macOS
Licence
Free software, GPL-2.0
Built on
A patched QEMU
The Windows 98 desktop with Explorer open Quake Max Payne Grand Theft Auto: Vice City at Ocean Beach Diablo Unreal Tournament Crimson Skies Blood Quake II A hover racing game Grand Theft Auto: Vice City at night The Quake start map
2KSBOX

An easy to use machine library manager.

The launcher creates a Windows 98, Windows XP, Windows 7, Windows 11, DOS or "Other" machine from a short wizard with defaults for each family. Each machine opens in its own player window.

Not the goal: cycle-accurate emulation of specific chipsets (that is 86Box and PCem) or piracy.

Real 3D
DirectX 1 up to 9 through 2ksbox's own paravirtual display adapter and driver, OpenGL passed through to the host, and an emulated 3dfx Voodoo 2 running 3dfx's own driver for Glide games. Quake II, Unreal Tournament, GTA Vice City, Max Payne and Need for Speed: Porsche Unleashed all run. On Windows 7 the same driver gives Aero.
Windows 11
A modern machine with UEFI, Secure Boot and a TPM 2.0, so stock install media works with no setup tricks. x64 on a Linux or Windows PC, Arm on a Mac. The clipboard goes both ways, and on Linux and macOS a host folder can be shared with it.
A CRT on your monitor
The guest's own framebuffer, at its native resolution and aspect (320×200 included), through a libretro slang shader chain, with shader profiles and a live preview in the launcher.
Your discs
cue/bin, CloneCD, Alcohol, ISO, and any folder on your disk served as a CD. All machines share one disc shelf; swap discs while a machine runs, from the launcher or from inside the guest with the included CDSHELF.EXE utility. CD audio plays.
Music
A Sound Blaster 16 with a real OPL3, and an MPU-401 with General MIDI (a bank is included) or a Roland MT-32 (bring your own ROMs).
Gamepads
Your PlayStation, Xbox or Switch controller reaches the guest as a generic USB controller or a DOS gameport joystick.
Snapshots and clones
Named snapshots ("fresh install", "before game X") and one-click copies of a whole machine.

Three ways a game of the era drew 3D. All three work.

Games from 1996 to 2005 picked one of three APIs. 2ksbox gives each its own path to your GPU rather than a software rasteriser.

DirectX 1 to 9

Direct3D, paravirtual

2ksbox's own display adapter and Windows driver hand the guest's Direct3D calls to a host executor on Vulkan. Nothing to copy per game, DirectX 9 included. On Windows 7 the same driver gives Aero.

Glide

An emulated Voodoo 2

Turn it on in the machine's settings and install 3dfx's own Voodoo 2 driver in the guest. The game then uses its own Glide against a real card, nothing wrapped.

OpenGL

Passed through to the host

Quake II and friends get an OPENGL32.DLL next to the game's EXE, and their calls run on your GPU with zero-copy frames back into the picture.

On an M1 Mac or a Ryzen 5700X the emulated machine is roughly a 1.7 GHz Pentium 4, and both ran era games at comfortable frame rates. When the host has no Vulkan 1.3 and no Wine, the guest has no Direct3D; OpenGL and the Voodoo 2 still run.

Diablo at 640 by 480, plain
Diablo at 640 by 480, through the CRT shader

The picture as you remember on your old CRT monitor.

The player captures the raw guest framebuffer before anything scales it, presents it at the correct aspect (non-square modes like 320×200 included) with integer scaling, and runs it through a libretro slang shader chain on the GPU.

  • Shader profiles name a preset plus your parameter overrides, with a live preview against a screenshot. A machine picks a profile by name.
  • The first time the launcher starts with no shader collection, it offers to download libretro's. The starter profiles are made from it.

A CD-ROM drive faithful enough that copy protection just passes.

Raw dumps mount as a drive with CD audio, subchannel data, period error behaviour and a raw table of contents. Nothing is patched: the protection reads the disc the way it did in 1999 and finds what it expects.

For multi-disc installs, swap discs from the launcher or from inside the guest with the CDSHELF program the guest tools install. A folder on your disk mounts as a disc too, for patches and files you want to hand to the guest.

The disc shelf

One shelf, shared by all machines.

  • cue / binraw dumps, with the audio tracks
  • ccdCloneCD images, subchannel included
  • mds / mdfAlcohol 120% images
  • isoplain data discs
  • a folderany directory on your disk, served as a CD

From an empty library to a running machine.

The first run, in order. You bring the install media for the guest operating system: your own Windows CD image or ISO, or a DOS floppy or CD.

  1. 1

    Create a machine

    New walks through family (Windows 98, Windows XP, Windows 7, Windows 11, DOS, Other), name, memory, processor, acceleration, networking, pointer, disk size and install media. Each family gets appropriate default settings, so start by picking one.

  2. 2

    Install the operating system

    Point the install media at your own Windows CD image or DOS disk and start the machine. Finish installing the OS and optionally save a snapshot right after so you have a convenient restore point if something goes wrong.

  3. 3

    Install the guest tools

    Add the guest-tools disc from the disc shelf and run the SETUP.EXE program inside the guest. That installs the display driver, the OpenGL pass-through and the disc-shelf program, then restart.

Every setting in the wizard, the player's keys, the disc shelf and what to do when something goes wrong are in the user manual.

What you need

One of these hosts, plus your own install media and, for games, dumps of your own discs.

Linux

MachineAn x86-64 machine with GTK 4.10 or newer. Built from source, or from a package your distribution makes.

AccelerationKVM for near-native Windows XP, Windows 7 and Windows 11. Windows 98 is emulated on purpose.

Direct3DA GPU with Vulkan 1.3 for the fast Direct3D path. Without it, Direct3D runs through Wine if it is installed.

macOS

MachineApple Silicon with macOS 26 or newer from the Mac App Store. Built from source it runs down to macOS 12, and an Intel build is possible but untested.

AccelerationThe era’s guests are emulated and still run faster than a period PC. Windows 11 on Arm runs under the Mac’s hypervisor.

Direct3DThe fast Direct3D path needs macOS 26. On older releases Direct3D runs through Wine if it is installed.

Windows

Machine64-bit Windows 10 (version 2004 or later) or Windows 11, with 4 GB of memory or more. Built from source it also needs the Windows App Runtime 2.4 or later.

AccelerationWHPX, the Windows Hypervisor Platform, accelerates XP, Windows 7 and Windows 11 when it is enabled. Windows 98 is emulated on purpose.

Direct3DWithout Vulkan 1.3, Direct3D runs on Windows’ own Direct3D 9.

With neither Vulkan 1.3 nor Wine, the guest has no Direct3D. OpenGL games and the Voodoo 2 still work.

In the store on Windows and macOS. From source anywhere.

Ready-to-run 2ksbox is on the Mac App Store and the Microsoft Store for a modest fee, which helps fund the project. The source is on GitHub under the GPL, and building it yourself is supported on Linux, Windows and macOS.

Microsoft Store

Windows 10 and 11, 64-bit

One purchase, installed and updated by the store. Every copy helps keep the project going.

Buy on the Microsoft Store

Mac App Store

macOS 26 or newer, Apple Silicon

One purchase, installed and updated by the store. Every copy helps keep the project going.

Buy on the Mac App Store