ring3k is a user mode kernel, similar to User mode linux, designed to run Windows 2000 and XP compatible native applications on a Linux platform.

It is a light-weight virtualization of Windows 2000 for the Linux x86 platform achieved by reimplementing kernel mode code as a ring 3 process in C++ that catches NT system calls using ptrace.

ring3k code is LGPL licensed.

Ring3k is able to run a simple Windows test application (Wine's winemine.exe, shown to the right) as it would run on Windows.

Project goals

Ring3k's goal is to install a full Windows environment from an installation CDROM and run it.

We aim to do this by:

Windows drivers and rootkits will not be supported!


ring3k-0.0.24.tar.gz was released on 25 July 2009 with:

The project is current under development, and is not yet suitable for end users.

For more information, see the list of frequently asked questions

Freshmeat annoucements: [0.0.24] [0.0.23] [0.0.22] [0.0.21] [0.0.20] [0.0.20] [0.0.19] [0.0.18] [0.0.17] [0.0.16] [0.0.15]

Source repository access:

git clone git://ring3k.org/git/ring3k


git clone git://github.com/mikemccormack/ring3k.git

Browse source code.

Quick Start

Instructions for the impatient (using Debian/Etch and a Windows 2000 ISO):
sudo apt-get install mingw32 libxml2-dev libsdl1.2-dev genisoimage git-core libfreetype6-dev
git clone git://mandoo.dyndns.org/ring3k.git
cd ring3k
ln -s /path/to/your/win2k.iso
make test

All tests should pass and running ./ring3k should give you a window with some GDI tests in it.

Please report any problems on the mailing list.


A few screenshots of test programs running on ring3k:

minitris running on ring3k

minitris.exe - a spartan application

track.exe mouse test running on ring3k

track.exe mouse test

winemine.exe on ring3k

winemine.exe - a game from Wine

© Copyright 2008-2009 Mike McCormack