Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dosemu2 + vbesvga #17

Open
stefand opened this issue Jan 5, 2025 · 3 comments
Open

dosemu2 + vbesvga #17

stefand opened this issue Jan 5, 2025 · 3 comments

Comments

@stefand
Copy link

stefand commented Jan 5, 2025

Hi,

I came across vbesvga.drv after a recent discussion on HN indirectly linked to it. I am an occasional user of dosemu2 (https://github.com/dosemu2/dosemu2) and gave it a try there since there's no driver combination that works with the hardware emulated by dosemu in 16/24 bits per pixel mode.

To my surprise vbesvga.drv (release 0.1.1) even works to some extent. I got Windows for Workgroups up in 1280x1024, 24 bpp mode. I quickly ran into bugs though:

  • Applications crash when moving their windows
  • 8 bpp modes don't work (windows hangs when starting without any obvious error)
  • 1280x1024 is the highest resolution I managed to get - presumably dosemu's VBE implementation simply doesn't advertise e.g. 1920x1080
  • clock.exe draws hands slowly in some situations that I couldn't clearly reproduce yet.

Note that win3.1 + dosemu2 is a bit of an odd environment. Dosemu with the help of the Linux kernel provides the DPMI server, so it runs krnl386.exe while replacing DOSX. Some features of dosx are plainly unsupported, most notably spawning dos VMs or loading third party VxD modules.

I have also filed dosemu2/dosemu2#2343 on the dosemu side

@PluMGMK
Copy link
Owner

PluMGMK commented Jan 6, 2025

That's great that it works, even to some extent! 😄

The problem about applications crashing when moving windows sounds similar to #9, which I don't really have a handle on yet. As for 8bpp modes, I haven't really done much testing with those so I may yet stumble on that as I work my way through the TODO list!

Other than that, running with krnl386 under a substitute DPMI host should approximate Standard Mode, which I am committed to support, so ideally I should be able to make it work!

@Baron-von-Riedesel
Copy link

Baron-von-Riedesel commented Jan 10, 2025

... running with krnl386 under a substitute DPMI host should approximate Standard Mode

It does. Running Win3.1 with vbesvga in standard mode with hdpmi16.exe as DPMI host runs stable. Program manager is unable to correctly display available memory - it obviously didn't expect memory amounts of 3-4 GB back then.

@jschwartzenberg
Copy link

That's great that it works, even to some extent! 😄

Yes, this is great really! This is the first driver that allows higher resolutions with higher bit depths in dosemu! I created dosemu2/dosemu2#265 many years ago for this.

Many thanks for creating this driver!!

@Baron-von-Riedesel might there be issues in dosemu's DPMI host that hdpmi16 does not have?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants