VOGONS


First post, by Start me up

User metadata
Rank Newbie
Rank
Newbie

One of the biggest problems of Windows 2000 is the compatibility with modern hard- and software. To reduce these problems a new fan project has started which tries to find solutions to the compatibility issues.

The fan project has a series of video presentations which show how to get Windows 2000 up and running on modern devices. The project also writes drivers for modern hardware to fix the most common issues, like the inability to set a high display resolution without a graphics driver for Windows 2000.

But Windows 2000 also offers some advantages compared to newer versions of Windows like Windows xp and later. These advantages include:

  • Windows 2000 needs only an anonymous serial number once - there is no registration and no monthly subscription like it is planned for Windows 12
  • Windows 2000 does not depend on the internet
  • with Windows 2000 the control over the system is in the hand of the user - there is no automatic installation of bloatware and no interface to enforce a social credit system
  • Windows 2000 can be modified by the user - there is no need to sign up to buy a digital certificate nor digital signatures to write drivers or other system relevant components

If you are interested in Windows 2000 and this new fan project, then you might want to have a look at these video presentations. The presentations also include links to the self written drivers.

preview.png
Filename
preview.png
File size
211.24 KiB
Views
3755 views
File license
Fair use/fair dealing exception

There is an easy accessible Odysee channel which has low quality copies of these presentations in 2 languages. Odysee allows watching and downloading from a rather fast server:

https://odysee.com/@startmeup

And there is an anonymous FTP-account on a slow server where higher quality versions of the video files and the drivers can be downloaded:

protocol: FTP
host: OnTheServer.de
port: 21
user name: anonymous
password: - nothing or anything -

The project has started recently and it does not fix all and everything that one could wish for. But it might already be helpful for some in here.

If you have any feedback about this project then feel free to comment. Your comments are welcome.

Reply 1 of 57, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

Did you know about the Universal VBE driver? https://bearwindows.zcm.com.au/vbemp.htm This should allow setting high-resolution modes on video cards which have no OEM driver. I haven't actually tried it in Windows 2000 since I have a GTX 660 and use the nVidia driver, but I have gotten it working in NT 3.51.

I run Windows 2000 on a socket FM2+ system (which is the most modern hardware I have) and presently all hardware/drivers are working except the onboard USB 3.

again another retro game on itch: https://90soft90.itch.io/shmup-salad

Reply 2 of 57, by Start me up

User metadata
Rank Newbie
Rank
Newbie

Hi bakemono,
yes, the Universal VBE Video Display Driver is a decent universal graphics driver. However, the VBE is dying because motherboard manufacturers are dropping the BIOS in favour of UEFI. Some UEFI-systems have a BIOS emulator. But BIOSes become more and more broken and are disappearing.

The VBE also suffers from the very limited functionality, bugs that cannot be fixed and a short list of display modes. For example I have a system where the VBE can't set the native resolution of my display even though the graphics circuit would be capable of doing so.

My universal graphics driver does not need a BIOS, EFI nor UEFI since it communicates directly with the graphics circuit.

The presentation 002 covers both approaches in the chapter "Windows 2000 graphics driver - Communication methods".

Bild - 8.05-10.png
Filename
Bild - 8.05-10.png
File size
5.05 KiB
Views
3581 views
File license
Fair use/fair dealing exception

Btw: USB 3.0 is also a problem on my systems. Drivers for Windows 2000 seem to be rare.

Reply 5 of 57, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
Laser wrote on 2023-07-15, 12:39:

I want new drivers for winxp instead windows 2000
specially new video drivers for recent nvidia gfx cards

I wouldn't mind working Pascal drivers, I doubt that it would even be possible to get RTX Turing based cards working under XP in an acceptable fashion, the base OS hardware support simply isn't there but Pascal isn't terribly different from Maxwell.

Id love to have a 1080Ti working under XP, would make a balling daily driver.

Reply 6 of 57, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Laser wrote on 2023-07-15, 12:39:

specially new video drivers for recent nvidia gfx cards

A fool's errand without knowing the internals, honestly.

If anything, nVidia at least released some documentation about their recent GPUs and perhaps someone could attempt to do a noveau-like Windows driver.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 7 of 57, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

That's interesting, but I have to wonder how you even boot Windows 2000 without BIOS.

ASMedia USB3 driver works, but the AMD one fails with a "code 10" for some reason.

again another retro game on itch: https://90soft90.itch.io/shmup-salad

Reply 8 of 57, by Start me up

User metadata
Rank Newbie
Rank
Newbie

Regarding the universal graphics driver: Support for Windows xp is planned. However, it has a lower priority than improving the support for graphics standards other than VGA at least for now.

Windows xp users profit less from the universal graphics driver than Windows 2000 users do. In the default graphics driver of Windows 2000 there is a bug which causes that on quite some modern systems Microsoft's graphics driver can't switch from 640x480 to 800x600. So here the universal graphics driver offers an advantage. I'm not aware that this bug would also exist in Windows xp.

When the universal graphics driver has a better support for an other graphics standard but VGA, then the driver becomes more interesting for Windows xp users.

The version 18 has already a partial support for the next graphics standard.

@bakemono:
Yes, this is another problem to be solved. Booting Windows 2000 without any form of BIOS, not even an emulated one by an UEFI-system, will probably not work in it's current form. It's just that adding more components that depend on a BIOS does not help solving this issue.

Reply 10 of 57, by Duffman

User metadata
Rank Member
Rank
Member

Yes. it is.
2K is not forward compatible with XP drivers though. Depending on the functions it imports from ntoskrnl/hal.

MB: ASRock B550 Steel Legend
CPU: Ryzen 9 5950X
RAM: Corsair 64GB Kit (4x16GB) DDR4 Veng LPX C18 4000MHz
SSDs: 2x Crucial MX500 1TB SATA + 1x Samsung 980 (non-pro) 1TB NVMe SSD
OSs: Win 11 Pro (NVMe) + WinXP Pro SP3 (SATA)
GPU: RTX2070 (11) GT730 (XP)

Reply 13 of 57, by Laser

User metadata
Rank Newbie
Rank
Newbie

ID like a new driver for my XBOX elite series 2 controller which is fantastic and btw, is by far the best gamepad on the market right now
a descent driver of course which can use all the extra buttons of this pad and support vibration in direct input and xinput

Reply 14 of 57, by Duffman

User metadata
Rank Member
Rank
Member

I tried backporting Mov Ax, 0xDEAD's ntoskrnl extender back to windows 2000, but I didn't have much success with it.
Couldn't get the updated XP ACPI driver working with it.

MB: ASRock B550 Steel Legend
CPU: Ryzen 9 5950X
RAM: Corsair 64GB Kit (4x16GB) DDR4 Veng LPX C18 4000MHz
SSDs: 2x Crucial MX500 1TB SATA + 1x Samsung 980 (non-pro) 1TB NVMe SSD
OSs: Win 11 Pro (NVMe) + WinXP Pro SP3 (SATA)
GPU: RTX2070 (11) GT730 (XP)

Reply 15 of 57, by Start me up

User metadata
Rank Newbie
Rank
Newbie

Regarding support for other operating systems but Windows 2000:

Adding support for other operating systems is theoretically possible, but within limits. The drivers (at the moment there is just one driver) are written for the Windows Driver Model (WDM). This framework is supported by

  • Windows 98
  • Windows 98 Second Edition
  • Windows Millennium
  • Windows 2000
  • Windows Experience
  • Windows Server 2003
  • Windows Vista
  • ReactOS

As long as we stay within the WDM the necessary efforts to support an additional operating system besides of Windows 2000 should be manageable. But the efforts are not zero. Neither for "older" versions of Windows like Windows Millennium nor for newer versions like Windows xp. Every version of Windows has it's own set of peculiarities and bugs which need attention. Therefore adding support for another operating system will eat up development time.

The necessary time for a single additional operating system is negligible small compared to the necessary time for the first operating system. But it sums up. We have a similar situation with graphics standards: Once generation 7 low cost from Intel Corporation is implemented (which is currently in progress) then it costs much less time to add support for let's say generation 4 or generation 8 low power.

Project update:

The version 19 of the universal graphics driver was just released. It improves the support for the graphics standard "generation 7 low cost" from Intel Corporation by adding support for 2 more color resolutions.

5.00.2196.0018
VGA:

  • color palette with 16 entries

Gen7LC:

  • color palette with 256 entries

5.00.2196.0019
VGA:

  • color palette with 16 entries

Gen7LC:

  • color palette with 256 entries
  • direct colors with 5 bits for red, 6 bits for green, 5 bits for blue and 0 bits for padding
  • direct colors with 8 bits for red, 8 bits for green, 8 bits for blue and 8 bits for padding
19.png
Filename
19.png
File size
504.2 KiB
Views
3246 views
File license
Fair use/fair dealing exception

The background image was a jpg-file. So the color resolution is below 8,8,8.

@bakemono:
Does the USB 3 driver from ASMedia have special requirements like having extended kernel or extended core installed?

@Duffman:
The ACPI driver is probably among Microsoft's most difficult drivers.

Reply 16 of 57, by Duffman

User metadata
Rank Member
Rank
Member

@Start me up

I think it'll be necessary for us to get ACPI working in windows 2000, especially if you want to use it on modern hardware.
You'll be stuck with using a single CPU core otherwise.

MB: ASRock B550 Steel Legend
CPU: Ryzen 9 5950X
RAM: Corsair 64GB Kit (4x16GB) DDR4 Veng LPX C18 4000MHz
SSDs: 2x Crucial MX500 1TB SATA + 1x Samsung 980 (non-pro) 1TB NVMe SSD
OSs: Win 11 Pro (NVMe) + WinXP Pro SP3 (SATA)
GPU: RTX2070 (11) GT730 (XP)

Reply 17 of 57, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie
Start me up wrote on 2023-07-17, 20:55:

@bakemono:
Does the USB 3 driver from ASMedia have special requirements like having extended kernel or extended core installed?

I believe it needs the extended kernel. I looked briefly at the imports list and I saw that it uses IoAttachDeviceToDeviceStackSafe which was not present in the original NTOSKRNL.EXE

Duffman wrote:

I think it'll be necessary for us to get ACPI working in windows 2000, especially if you want to use it on modern hardware.

I still think it is worth considering a strategy of modifying ACPI tables in memory before booting Windows, rather than trying to hack or rewrite the ACPI driver to increase support. Or replace the ACPI table with a new one. If you only need a table to enumerate CPU cores and essential hardware then it might not be all that big, I'm not sure.

again another retro game on itch: https://90soft90.itch.io/shmup-salad

Reply 18 of 57, by Start me up

User metadata
Rank Newbie
Rank
Newbie
bakemono wrote on 2023-07-18, 17:14:

I still think it is worth considering ... modifying ACPI tables in memory before booting Windows, rather than trying to hack or rewrite the ACPI driver to increase support.

Now that's a very interesting approach. The biggest fear, which I had with ACPI was, that writing a new ACPI driver is such a massive undertaking that noone could do it. But simply hack-fixing the ACPI tables by downgrading them to an earlier version or a form that the Windows 2000 ACPI driver can work with it, is much less work. Well, it's still work, but it's not a total overwhelming burden like a new ACPI driver.

Or maybe, as suggested, instead of implementing 1001 hacks to handle every BIOS just ignore the output of the BIOS/EFI/UEFI and overwrite the tables by enumerating the devices with a procedure of our own. Unfortunately I haven't looked deep enough into this topic to say what would be better.

By writing a procedure that does the enumeration we would basicly needing a driver that can handle multiple buses, or at the very least something equal to a PCI bus driver. Is this worth it compared to just working with what the BIOS outputted?

Reply 19 of 57, by Start me up

User metadata
Rank Newbie
Rank
Newbie

Wow! This is amazing. Finally seeing Windows 2000 running at the native resolution of the screen.

21.png
Filename
21.png
File size
5.13 KiB
Views
2882 views
File license
Fair use/fair dealing exception

A new version of the universal graphics driver has just been released. With the version "5.00.2196.0021" changing the clock generator speed has become possible.

When using Gen7LC, one has access to a digital phase-locked loop. This is a method to convert a fixed input frequency to a settable output frequency to control the pixel output speed. And with that, a wide variety of display resolutions and image refresh frequencies become possible. They all need a different amount of pixels per second to be output.

The ability for the end user to define up to 16 arbitrary display modes offers great flexibility. So not only common display modes like 2560x1600@60 FPS, but also odd settings like 2528x1603@61 FPS are possible if needed. Well, at least if all parameters remain within the limits documented in the help file.

However, with the new version, the driver is in everything else but a mature state. For example, the mysterious bug could not be fixed, yet. It reliably causes a blue screen every time when a switch happens from one Gen7LC-display mode to another Gen7LC-display mode, without switching to a VGA-display mode as an intermediate step. If someone has some debugging skills, then his help to figure out what's going on is really appreciated.

Anyway, the new version can be obtained from the FTP account (see the first post).