Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
MSI MS-7816 motherboard, Intel HD 4400 graphics controller
Description
Download driver: https://dr-dl-1.xyz/drv/common/Intel_Corporation_Intel_R__HD_Graphics_Family_Haswell_6.14.10.5445.zip (old XP version from 3rd-party website).
After extracting it from zip archive, installing via Device Manager and reboot, ROS does not boot properly anymore.
It fails with the following asserts from MM: https://git.reactos.org/?p=reactos.git;a=blob;f=ntoskrnl/mm/ARM3/contmem.c;h=e8895b0a2fea6e67cd29db52f897e25f69fa2a50;hb=HEAD#l391, https://git.reactos.org/?p=reactos.git;a=blob;f=ntoskrnl/mm/ARM3/contmem.c;h=e8895b0a2fea6e67cd29db52f897e25f69fa2a50;hb=HEAD#l586, as visible on before.jpg screenshot. If to ignore them, then the system fails with BSOD when it tries to initialize win32k, obviously due to missing/not loaded graphics driver.
Noticeable that before appearing the 1st assert, I see a DPRINT from VideoPortSetTrappedEmulatorPorts and VideoPortRegisterBugcheckCallback stubs in our videoprt driver. Since the 1st one is imported by the Intel driver (as Dependency Walker shows), but 2nd one is not, I looked to that code. Indeed, the 1st stub is causing a problem: it returns success (NO_ERROR) when the function actually does nothing (since it's not implemented). According to MSDN: https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/video/nf-video-videoportsettrappedemulatorports#return-value, if it does not change any trapped ports, it should return ERROR_INVALID_PARAMETER instead. So just returning the appropriate status is more suitable in this case than faking success.
After changing the return value, the system does no longer fail at boot with installed driver, and even asserts mentioned above are no longer happening, as visible on after.png screenshot.
I'll submit a PR with fix in the near time.
P.S.: Sorry, I'm not able to obtain a full text log (if you need that), because for some reason it is not created on drive until the system loads into user mode (when booting in LogFile mode). Perhaps it regressed after KD improvements and still was not completely fixed later. Debugging via COM also isn't an option for me, since I have no cable for connecting to COM ports.
P.P.S.: my motherboard is MSI MS-7816, this video controller is integrated into it. But after my fix, ROS also might boot successfully with other Intel graphics cards on the other configurations. Feel free to test it on your hardware.
Attachments
Issue Links
- relates to
-
CORE-18026 ReactOS fails to boot after Intel HD Graphics 4600 driver is installed.
- Untriaged
-
CORE-19026 [DRIVERS] Epic meta graphic cards bugs
- Untriaged