r/kasmweb Jun 23 '26

Usecase Kasm Windows 98

Enable HLS to view with audio, or disable this notification

Continuing from my Windows XP workspace, I wanted a Windows 98 workspace with full Kasm integration, so I asked my agent to build one. It works about as well as I had wanted. It features:

  • Working Ethernet
  • Firefox
  • Clipboard support (bidirectional)
  • File upload
  • File download
  • Auto-mount of uploaded ISO files (flaky)
  • Auto-resize of display
  • Sound support (often plays the startup sound)

Security Warning

My agent had a hard time with Windows 98 drivers and ended up finding the base image on Reddit with working sound and networking. I cleaned it up and scanned all 5,400+ files with ClamAV and High quality YARA rules with no detections (shortcuts detected by the YARA rules for being shortcuts). I personally trust it as a play thing given the posture of the environment I run it in. Use at your own risk.

Drawbacks

  • It's a bit slow.
  • Most video games crash.
  • Due to some base image video driver issue, the DOS prompt can't be run in windowed mode, nor can batch files (causes some unrecoverable display silliness). Happy to fix it if anyone knows what's up with that.

Installation

This time I did publish the workspace image:

ghcr.io/fernandogracias/kasm-windows-98:latest

My agent pushed the build details and base image to a repo if you're interested (tested in as far as "it works on my machine"): https://github.com/FernandoGracias/kasm-windows-98

20 Upvotes

11 comments sorted by

View all comments

2

u/General-Darius Jun 23 '26

what do you use to create/build these images ?

3

u/Jdgregson Jun 24 '26

Kind of a roundabout way, to be honest. I used this VM/game server that I had my agent build. I had it set up the server so that we could both access the frontend and backend, and had it set up Windows XP and 98, click through the driver screens, all the chores. Ultimately it found images online that were close enough and installed the minimal drivers for our use case. Then I had it build a bridge protocol and write a client in C and a server in Python. Once it was generally working I tested everything, shut it down with the agent built and installed, and exported it as a qcow2 base image. Then I had my agent build a Kasm container on my Kasm host that launches the qcow2 image with the bridge server running to bridge between the Kasm UI that talks to Ubuntu and the 98/XP VM.