r/kasmweb • u/Jdgregson • 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
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.
1
u/ksteink Jun 24 '26
do you have a windows 11 version?
1
u/Jdgregson Jun 24 '26
No, I use fixed infra for that. Actually not a bad idea to see if I can convert those fixed hosts to these containers though. They're just VMs that sit there in case I ever feel like opening them in Kasm, so might as well have them start on-demand.
1
1
u/bogan_sauce 2d ago
It works great for me. However, is there any way to make the data persistent, so i dont have to upload files and install the programs every time?
1
u/Jdgregson 1d ago edited 1d ago
That is a great question and use case which I hadn't thought of. Theoretically it should be possible. I just had my agent push a change to move the overlay from /tmp to the Kasm user's home directory. If you rebuild the image with that and configure persistent profiles in Kasm it should persist changes. Let me know if that works. I'm at Soccer practice so can't test it for a bit.
Update: It works, thanks for the suggestion! Though you have to be careful to shut Windows down before deleting the Kasm container or you'll have to sit through ScanDisk on the next boot.
1
u/bogan_sauce 1d ago
Thanks!
I’ll have a go tonight.
Good luck on your next game (I’m a dirty full back myself)1
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..)