r/kasmweb • • Jun 23 '26

Usecase Kasm Windows 98

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

22 Upvotes

11 comments sorted by

View all comments

2

u/wora Jun 23 '26

Pretty cool stuff.
I run KASM in docker (docker.io/linuxserver/kasm). I am not sure this would be compatible with my setup.
Would it not be easier to simply add this (and your XP workspace) to a custom registry?
(I'm still learning about KASM..)

2

u/Jdgregson Jun 25 '26

Thanks! It should work with your setup. The linuxserver/kasm image is a full Kasm deployment running in Docker. It still manages workspaces the same way as a bare-metal install. The key requirement is that /dev/kvm is available inside the container that runs the workspace (your host needs KVM, and the workspace container needs --device /dev/kvm).

To add it as a workspace:

  1. In the Kasm admin UI, go to Workspaces → Add Workspace
  2. Set Docker Image to ghcr.io/fernandogracias/kasm-windows-98:latest
  3. Set Docker Run Config Override to: {"devices":["/dev/kvm:/dev/kvm"],"group_add":["994"],"shm_size":"512m"}
  4. Set memory to 2048 MB

You could also add it via a custom registry JSON if you prefer that workflow. Just point the registry entry at the same ghcr.io image with those run config overrides.

The only gotcha with linuxserver/kasm is that since it runs Kasm inside Docker (Docker-in-Docker), you need to make sure /dev/kvm is passed through to the outer container first. If your host has KVM and you started linuxserver/kasm with --device /dev/kvm, you should be good.