Booting straight to Windows 98 on a modern laptop using Kubuntu and 86Box

4.00 avg. rating (83% score) - 1 vote

I had some free time during the weekend and decided to see whether I could configure my Intel Core i7 Acer laptop to boot straight into Windows 98, just for the sake of nostalgia. This obviously cannot be done with a direct installation but is certainly possible via an emulator like 86Box.

The first step is to download 86Box and prepare a working configuration file with a suitable hard disk image for a Windows 98 machine. Once that is done, make sure that your Windows 98 machine can be started from the command line:

./86Box.AppImage -f win98.cfg

The next step is to configure Kubuntu to boot to text mode, instead of graphics mode:

sudo systemctl set-default multi-user.target
sudo systemctl disable sddm

Now create ~/.xinitrc in the user’s home folder with the following content:

#!/bin/bash
# Set xrandr output info to a file
xrandr > /home/user/xrandr.txt

# Configure display: resolution + scale
xrandr --output eDP-1 --mode 2560x1600 --scale 0.5x0.5

openbox & exec ./86Box.AppImage -f ./win98.cfg

The first call to xrandr will list all available resolutions. Pick a resolution which works best for your display and update the second call to xrandr to use that resolution. Without this, 86Box display will be distorted. The output of xrandr will look something like:

Screen 0: minimum 320 x 200, current 2560 x 1600, maximum 16384 x 16384
eDP-1 connected primary 2560x1600+0+0 (normal left inverted right x axis y axis) 344mm x 215mm
   2560x1600     60.01*+  48.02
   1920x1440     60.00
   1920x1200     59.95
   1920x1080     60.01    59.97

Now reboot the machine and you should boot straight into Windows 98. For further improvements, you can also write a simple script which allows user to select which 86Box configuration to boot from, just like how I did with my Acer laptop:

As can be seen in the video, although the first boot gives away the fact that we are using an emulator (due to Kubuntu boot messages and 86Box title being briefly visible early in the the boot process), subsequent reboots of the emulated machine are seamless and look very real with BIOS boot logo and messages. Microsoft Office, Visual Studio, and Borland Pascal is installed. MP3 playback is also possible via WinAmp. Internet browsing and Samba share access are possible, although connection speed is rather slow and tops at 1Mbps via SLiRP. I did not test whether PCAP could provide a faster connection speed.

Despite trying both PowerStrip and custom monitor INF files, I was not able to configure Windows 98 to use most 16:9 resolutions and had to live with 1024×768 (4:3) being stretched to full screen for now. A few drivers I tested supported 1920×1080, too large for Windows 98. Lower 16:9 resolutions such as 1280×720 were not available on most drivers I tried.

During my tests, I experienced choppy audio if heavy apps such as Microsoft Office ran while WinAmp was playing. I worked around the issue by using PolyEdit, a lightweight word processor, and audio performance improved somewhat. It was still nowhere good enough to listen to music while typing, even with the host running an 11th generation Core i7 CPU. I switched to just a Pentium I 133MHz and the audio issues finally stopped. The poor audio performance is likely because 86Box attempts a faithful emulation of the guest architecture, which could be very taxing on the CPU, unlike VirtualBox or VMware which runs the guest code on the host CPU directly.

4.00 avg. rating (83% score) - 1 vote
ToughDev

ToughDev

A tough developer who likes to work on just about anything, from software development to electronics, and share his knowledge with the rest of the world.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>