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

ATI Setup does not detect ATI X1270

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Untriaged
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      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

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mifritscher mifritscher
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: