Windows emulation on the Pi

After reading a few posts on the RaspBerry Pi forums from users who have gotten Win95 working on the R-Pi I decided to give it go and see if I could run Windows from v1.0 to 95.

Windows runs on the R-Pi via qemu but its really slow. This is really just to show that it can be done – its hardly usable though, especially Windows 95.

There are lots of helpful threads on getting this to work. I started off reading this one:

Win95 on the Pi

I also wanted to remote to my R-Pi via Xming which is really easy to do:
Xming to the Pi

My first attempt to get Win95 booting proved tricky but I eventually got it working with Qemu and a older version of Wheezy. For some reason Win95 kept crashing with the latest version of Wheezy

Here are the steps I used to get Windows 95 booting:


Expands FS

Do a apt-get update and apt-get upgrade

Windows 95 only successfully boots with Qemu 0.15.50. To install this you need to download from source and compile

Download older version of Qemuwget

Install libsdl sudo apt-get install libsdl1.2-dev

tar -xvf qemu-git.tar.bz2

cd qemu

./configure --target-list=i386-softmmu --enable-sdl --extra-cflags="-O3 -mfloat-abi=hard -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -march=armv6zk"


After a few mins you will some errors – you will need to edit 2 files to get rid of these errors:

Edit qemu/tcg/arm/tcg-target.c and qemu\tcg\i386\tcg-target.c

Search for: static void tcg_out_addi(TCGContext *s, int reg, tcg_target_long val)

And replace with:

static inline void tcg_out_addi(TCGContext *s, int reg, tcg_target_long val)

Run make and make installl which should now complete. It took around 15 mins to compile on my Pi.

Now that you qemu built, copy the Windows 95 img file to the Pi and run qemu win95.img -m 64

After successfully running Windows 95 I decided to try out Windows 1.01, 2.1, 2.11, Windows for Workgroups 3.1

All successfully booted and running on the Pi

I found the best way to create the images is to install VirtualBox and then setup Windows. Once you have it working copy over the vdi file to the R-Pi which you can then run with qemu.

Windows 1.01

Windows 2.1

Windows 2.11

Windows for Workgroups 3.1

Windows 95

1 comment

    • James on April 24, 2019 at 23:42
    • Reply

    I fixed the two errors but got a ton of other errors. I am running raspbian stretch (latest)

Leave a Reply to James Cancel reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.