awkduck Posted February 8, 2023 Posted February 8, 2023 (edited) On 2/7/2023 at 11:11 PM, sonyu said: Wow, this is really interesting ! Thanks for sharing it can be useful to get some devices working I've been meaning to play around with this. I am doubtful of the results. Thanks for bumping it. I hadn't read that post yet. ---- EDIT: I have messed with this before. I'm sure it should take more then copying registry entries. They won't really matter, between 9x and 2K/XP. You'll more likely just be combing them for settings. But again, there isn't likely much usable in there. I'm also doubtful that the driver memory/IO/Interrupt will matter much, unless you are on 95. When I first looked at this, I was on a 915GM/910L device. The latest Intel drivers for 9x seemed like less of a match. The even older 815M driver gave me more luck. SInce I last looked at all this, I've forgotten the chip lineage. Its probably helpful to know all of the design branching details. This isn't really helpful, but VIA display chips, from that time, use a similar driver design. Both the Intel and VIA chips have a late S3 heritage. Its my opinion, that you'd likely need to do some hex work. !And! there is a chance you could ruin your hardware. Some "light" reverse engineering observations, of both driver installed and working as intended, would help. But even that promises no victory. It just depends on how the chips and code changed. If it did work, its because someone sold something new, with hardly anything new about it. Stop blushing NVIDIA! ---- @sonyu Where you looking for something, in particular, when you found this? Edited February 9, 2023 by awkduck 1
sonyu Posted March 7, 2023 Posted March 7, 2023 (edited) On 2/8/2023 at 3:30 AM, awkduck said: I've been meaning to play around with this. I am doubtful of the results. Thanks for bumping it. I hadn't read that post yet. ---- EDIT: I have messed with this before. I'm sure it should take more then copying registry entries. They won't really matter, between 9x and 2K/XP. You'll more likely just be combing them for settings. But again, there isn't likely much usable in there. I'm also doubtful that the driver memory/IO/Interrupt will matter much, unless you are on 95. When I first looked at this, I was on a 915GM/910L device. The latest Intel drivers for 9x seemed like less of a match. The even older 815M driver gave me more luck. SInce I last looked at all this, I've forgotten the chip lineage. Its probably helpful to know all of the design branching details. This isn't really helpful, but VIA display chips, from that time, use a similar driver design. Both the Intel and VIA chips have a late S3 heritage. Its my opinion, that you'd likely need to do some hex work. !And! there is a chance you could ruin your hardware. Some "light" reverse engineering observations, of both driver installed and working as intended, would help. But even that promises no victory. It just depends on how the chips and code changed. If it did work, its because someone sold something new, with hardly anything new about it. Stop blushing NVIDIA! ---- @sonyu Where you looking for something, in particular, when you found this? Yes, I was looking for the first version or an earlier version (Windows 98 compatible version) of the Intel Embedded Graphics Drivers. iegd.inf | ssigd.inf This is just an example on Intel pdf... "915G/915GV/910GL Embedded Graphics Controller Function 1 ssigd.inf": ; Filename: ssigd.inf ; $Revision: 1.481.2.37 $ ; $Id: ssigd.inf,v 1.481.2.37 2006/06/05 02:55:26 anthill Exp $ ; $Source: /nfs/fm/proj/eia/cvsroot/ssigd/ial/dx/install/ssigd.inf,v $ ; ; Copyright (c) 2003 Intel Corporation. All rights reserved. DriverVer = 06/04/2006,5.1.0.838 Edited March 11, 2023 by sonyu
FantasyAcquiesce Posted September 15, 2024 Posted September 15, 2024 By chance, does anyone hold device hardware IDs for the 915G/915GV/910GL Embedded Graphics Controllers? Hardware IDs are always handy to have and helped me somewhat find a 945GM video driver that unofficially worked on Windows ME. Found an old link that apparently provided a driver that even worked on Windows 95? If we can just find a 915PM video driver, a ton of 2006 hardware will be perfect for Windows 98. https://www.experts-exchange.com/questions/21902135/Windows-98-drivers-for-recent-Intel-embedded-graphics-chip.html
deomsh Posted September 15, 2024 Posted September 15, 2024 (edited) Do you mean this driver? https://vintage2000.org/windows/windows_98#intel_945gm_display_driver_for_windows_98 Edited September 15, 2024 by deomsh Changes
FantasyAcquiesce Posted September 15, 2024 Posted September 15, 2024 (edited) 2 hours ago, deomsh said: Do you mean this driver? https://vintage2000.org/windows/windows_98#intel_945gm_display_driver_for_windows_98 Not exactly. I am trying to see if the 915PM embedded drivers have something with 3D acceleration other than the above driver, sci-tech, or vemp. Trying to see if we can get 9x working on 915 chipsets- there's just lots out there. One reason why 915PM laptops are a huge upgrade from 8xx chipsets is their ability to use SATA hard drives. 8xx laptops can only use IDEs and lack 48-bit LBA. Edited September 15, 2024 by FantasyAcquiesce
pangoomis Posted September 15, 2024 Posted September 15, 2024 You can find all Intel Device IDs here: https://admin.pci-ids.ucw.cz/read/PC/8086 1
deomsh Posted September 15, 2024 Posted September 15, 2024 I found this, maybe helpfull? ; Filename: ssigd.inf [...] [......] [Manufacturer] %Intel%=Intel.Mfg ;=============================================================================== [Intel.Mfg] %Intel% %i810% = ssigd_wht, PCI\VEN_8086&DEV_7121 %Intel% %i810DC% = ssigd_wht, PCI\VEN_8086&DEV_7123 %Intel% %i810E% = ssigd_wht, PCI\VEN_8086&DEV_7125 %Intel% %i815% = ssigd_wht, PCI\VEN_8086&DEV_1132 %Intel% %i830m% = ssigd_alm, PCI\VEN_8086&DEV_3577 %Intel% %i835% = ssigd_alm, PCI\VEN_8086&DEV_357B %Intel% %i845% = ssigd_alm, PCI\VEN_8086&DEV_2562 %Intel% %i855% = ssigd_alm, PCI\VEN_8086&DEV_3582 %Intel% %i865% = ssigd_alm, PCI\VEN_8086&DEV_2572 %Intel% %i915GD0% = ssigd_nap, PCI\VEN_8086&DEV_2582 %Intel% %i915GD1% = ssigd_nap, PCI\VEN_8086&DEV_2782 %Intel% %i915AL0% = ssigd_nap, PCI\VEN_8086&DEV_2592 %Intel% %i915AL1% = ssigd_nap, PCI\VEN_8086&DEV_2792 %Intel% %i945LP0% = ssigd_nap, PCI\VEN_8086&DEV_2772 %Intel% %i945LP1% = ssigd_nap, PCI\VEN_8086&DEV_2776 %Intel% %i945CT0% = ssigd_nap, PCI\VEN_8086&DEV_27A2 %Intel% %i945CT1% = ssigd_nap, PCI\VEN_8086&DEV_27A6 [....] [Strings] ;---------------------------------------------------------------------- ; Localizable Strings ;---------------------------------------------------------------------- Intel="Intel Corporation" DiskDesc="Embedded Installation" i810="810 Embedded Graphics Controller" i810DC="810DC Embedded Graphics Controller" i810E="810E Embedded Graphics Controller" i815="815 Embedded Graphics Controller" i830m="830M Embedded Graphics Controller" i835="835 Embedded Graphics Controller" i845="845 Embedded Graphics Controller" i855="855 Embedded Graphics Controller" i865="865 Embedded Graphics Controller" i915GD0="915G/915GV/910GL Embedded Graphics Controller Function 0" i915GD1="915G/915GV/910GL Embedded Graphics Controller Function 1" i915AL0="915GM/915GMS/910GML Embedded Graphics Controller Function 0" i915AL1="915GM/915GMS/910GML Embedded Graphics Controller Function 1" i945LP0="945G Embedded Graphics Controller Function 0" i945LP1="945G Embedded Graphics Controller Function 1" i945CT0="945GM Embedded Graphics Controller Function 0" i945CT1="945GM Embedded Graphics Controller Function 1" [....] 1
FantasyAcquiesce Posted April 16 Posted April 16 (edited) Trying to figure out a breakthrough. When looking at the INF of the file for the 945GM graphics (GMA 950), chipsets down to the 855 series are supported? Consulting with ChatGPT, it suggested modifying the INF to force the video driver to Windows ME-specific components. This maybe worth a shot considering Windows ME and 2000 did have interchangeable WDM drivers very early on: [i915GM0] DelFiles=CUI.DelFiles, CUISDK.DelFiles CopyFiles=ialm.Miniport, ialm.Display, Copp.Copy, CUI.Copy, Resource.Copy, CUISDK.Copy, Uninstall_Copy, OpenGL.Copy, UDlg.Copy AddReg = Driver.AddReg, CUI.AddReg, Uninstall915GM0_AddReg, OpenGL.AddReg, Rotation.AddReg, CUISDK.AddReg DelReg = PC.DelReg, Driver.DelReg, CUI.DelReg, Rotation.DelReg, CUISDK.DelReg DriverVer=02/07/2006,6.14.10.4497 %Intel915GM0% = i915GM0, PCI\VEN_8086&DEV_2592&SUBSYS_00131179 [i945GM0] DelFiles=CUI.DelFiles, CUISDK.DelFiles CopyFiles=ialm.Miniport, ialm.Display, Copp.Copy, CUI.Copy, Resource.Copy, CUISDK.Copy, Uninstall_Copy, OpenGL.Copy, UDlg.Copy AddReg = Driver.AddReg, CUI.AddReg, Uninstall945GM0_AddReg, OpenGL.AddReg, Rotation.AddReg, Decode.AddReg, CUISDK.AddReg DelReg = PC.DelReg, Driver.DelReg, CUI.DelReg, Rotation.DelReg, Decode.DelReg, CUISDK.DelReg DriverVer=02/07/2006,6.14.10.4497 %Intel945GM0% = i945GM0, PCI\VEN_8086&DEV_3582&SUBSYS_00131179 "Add your device ID line at the end of the [i945GM0] section:" %Intel945GM0% = i945GM0, PCI\VEN_8086&DEV_3582&SUBSYS_00131179 Quote Important: If your specific device ID or configuration is different (e.g., another variation of the 915 chipset), be sure to modify the DEV_xxxx and SUBSYS_xxxx values to match your hardware. You can find the correct ID in Device Manager or with tools like PCI-Z. I need to get a 915 or 945 chipset laptop to test this modified INF on. The modded NVidia Drivers 82.69 held many NT series drivers not intended for 9X...though used VXDs. Need to see if I can use dependency walker or something with the driver. This driver holds a ialmnt5.sys rather than a bcmwl5.sys (few true Windows 9x and W2k cross-compatibility). This driver might work if it's hacked further- Windows ME meets the DirectX 9 requirement, the driver works enough to fall go into VESA/VGA fallback, and hasn't given any error messages regarding dependencies. There might be hope. ati2mtag.sys - Older Radeon series graphics cards nv4_disp.sys - GeForce FX (5xxx) Drivers for 9x held no .vxd file Broadcom Wireless - Problemchild's mod got this file to work Things seem grim now if this applies to drivers. Edited April 17 by FantasyAcquiesce
jumper Posted April 17 Posted April 17 Dependency Walker is not for drivers, so things might not be all that grim.
FantasyAcquiesce Posted April 17 Posted April 17 (edited) 19 hours ago, jumper said: Dependency Walker is not for drivers, so things might not be all that grim. But, doesn't this sys driver file require these APIs? If not, someone needs to experiment and see if adding the Windows ME code to the INF file will change anything. If we're lucky, it could work. The oldest driver dates from 2004. The broadcom driver is known to hold fewer if no dependencies exclusive to the NT kernel. I have asked the AI, and a video driver is more coupled to the kernel opposed to a simpler wireless card. There is still a chance of the driver itself written with a driverbase of early WDM, but 9x still lacks a ton of these fundamental functions without equivalents. In theory, it could work if we tweak the INF then install on a physical machine but the odds of this working are like using a bunch of candles to make deep fried chicken. Even worse, if throwing Windows 2000/XP and ReactOS DLLs on 9x somehow stubbed all the needed functions, I'd be doing the equivalent of using an easy bake oven for a wedding cake. Edited April 17 by FantasyAcquiesce
pangoomis Posted April 17 Posted April 17 No. Do not compare WDM Network/Audio drivers to GPU drivers. Windows 9x never did and never will support Windows 2000 GPU drivers, especially when thinking about their 3D acceleration, end of story. WDM drivers are sometimes intercompatible between Win2000 and 98...but this never included video drivers, mostly just network and audio drivers, and even then it's not guaranteed. You're not the first person to think about this and all conclusions have been done long time ago. There is no breakthrough to be made unless someone is crazy enough to write a new Win9x GPU driver including proper 3D Acceleration for whatever NVIDIA/AMD/Intel GPU they want. Closest thing we have now is SoftGPU and its components here: https://github.com/JHRobotics?tab=repositories But so far he is implementing just DDraw acceleration, no Direct3D...and this is only designed for virtual machines. I don't know if it's possible to rewrite his VMDisp9x driver to be a universal one like VBEMP. Then, we could in theory use his Mesa/Wine ports to have some kind of universal 3D Acceleration, even if fully dependant on software (CPU) rendering. Dependency Walker righly so says to you that the GPU driver relies on HAL.DLL, which is a fundamental difference between NT and DOS-based Win9x systems. If there was somehow a way to port NT HAL to Win9x....would it still be 9x at this point? Sometimes we need to say stop. 1
CamTron Posted April 18 Posted April 18 (edited) I've also looked into writing a display driver for Windows 9x, and I could be wrong, but I doubt there's any WDM support for it at all, even in 98SE and ME (please correct me if I'm mistaken). For the curious, here's an overview on how display drivers work on 9x. Graphics drivers for 9x are basically the same model as they were in Windows 3.1. That is, a 16-bit (yes, still 16-bit even in Windows ME) DLL (commonly with a .drv filename) which initializes hardware and implements every single GDI drawing function. A few things changed in Windows 95. The first is that drivers no longer have to implement all of GDI themselves (a huge pain in the arse for anyone writing Windows 3.1 graphics drivers) and can just call a Windows provided library called DIBENG to do so. The second is the introduction of Plug and Play, which requires writing a VxD to interact with it. Since VxDs are ring-0 32-bit code, it was common practice to put a lot of the hardware functionality into the VxD and have the 16-bit driver call the VxD to perform tasks, since 32-bit code performs better. I'm not entirely sure how Direct3D and OpenGL fit into this picture, as I've never gotten to that point. I know OpenGL uses Installable Client Drivers (ICDs) which are DLLs that replace the functionality of the Windows-provided opengl32.dll. Those ICDs likely call into the VxD to interact with the hardware and provide acceleration. Short of Intel releasing the source code to their old Windows drivers (We all know that ain't happening. Only their Linux drivers are open-source), there's not much we can do. The only viable option I see is to leverage something like Gallium3D and Mesa to provide hardware acceleration. Gallium3D is supposed to be an OS-independent framework for graphics drivers, but it's quite complex and really geared towards systems like Linux and the BSDs, and it would be a massive amount of effort to port that to Windows 9x. However, if OpenGL is supported, Direct3D shouldn't be too difficult as WineD3D can implement Direct3D on top of OpenGL. Edited April 18 by CamTron
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now