Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17436

ATI Setup does not detect ATI X1270

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • None

    Description

      Using current master ( Build 20210123-0.4.15-dev-1636-gf634010) (Commit f63401060d2de91f68816fe5c8a15ee4e48b6573) ) the setup for the ATI X1270 does not detect the GPU on the Dell D531. The driver can be found on https://mifritscher.de/austausch/reactos/R163694.EXE .

      Log says:

      fixme:(dll/win32/setupapi/devinst.c:4539) Unknown Flags: 0x00000001
      fixme:(dll/win32/setupapi/devinst.c:4539) Unknown Flags: 0x00000001
      err:(win32ss/user/user32/windows/messagebox.c:1048) MessageBox: L"Es wurde kein Treiber gefunden, der mit der aktuellen Hardware oder dem Betriebssystem kompatibel ist.\r\nSetup wird beendet."
      WARNING: MmLockPageableDataSection at ntoskrnl/mm/ARM3/drvmgmt.c:62 is UNIMPLEMENTED!
      WARNING: MmUnlockPageableImageSection at ntoskrnl/mm/ARM3/drvmgmt.c:39 is UNIMPLEMENTED!
      

      This flag seems to be DI_SHOWOEM, which, in turn, is "Set to allow support for OEM disks. " (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/ns-setupapi-sp_devinstall_params_a)

      This function has a FIXME: add support for more flags :-D

      I hackfixed this with

      diff --git a/dll/win32/setupapi/devinst.c b/dll/win32/setupapi/devinst.c
      index fef929d6ef8..7638da09fb6 100644
      --- a/dll/win32/setupapi/devinst.c
      +++ b/dll/win32/setupapi/devinst.c
      @@ -4534,7 +4534,10 @@ CheckDeviceInstallParameters(
            * It should be checked before accessing to other values
            * of the SP_DEVINSTALL_PARAMS structure */
       
      -    if (DeviceInstallParams->Flags & ~SupportedFlags)
      +    if (DeviceInstallParams->Flags & DI_SHOWOEM) {
      +        MessageBox(0, L"DI_SHOWOEM is NOT supported - so you get no \"have disk\"!", L"WARNING", 0); 
      +    }
      +    if (DeviceInstallParams->Flags & ~(SupportedFlags | DI_SHOWOEM))
           {
               FIXME("Unknown Flags: 0x%08lx\n", DeviceInstallParams->Flags & ~SupportedFlags);
               SetLastError(ERROR_INVALID_FLAGS);
      

      After that, it succeeds (displaying this MsgBox about 10 times). But after a restart - there is no display driver alltogether. It loads the vbemp.sys (but no sign of the ATI-drivers), and then I get a

      (win32ss/user/ntuser/display.c:180) err: Could not open HARDWARE\DEVICEMAP\VIDEO registry key:0xc0000034
      

      After a cont, I get the "The video driver failed to initialize" message.

      The driver files were not copied, but after doing this manually the driver got loaded.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mifritscher mifritscher
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: