5 Replies Latest reply on Nov 19, 2012 2:28 AM by Meteorhead

    Windows 8 driver rollback

    Meteorhead

      Hi!

       

      I have an issue that would require me getting my notebook able to compile programs asap, but roughly a week of trying has brought no results. A link to the issue:

       

      http://devgurus.amd.com/message/1285122#1285122

       

      Since then I have done everything I could to remove ALL AMD/ATi entries from the registries (intelligently, some are meaningful logs), yet the kernel compiling crash remains. On windows this is what my program output:

       

      ALL  : Querying platforms...

      ALL  : Found 2 platforms.

      INFO : Platform found: Intel(R) Corporation

      ALL  : Querying INTEL CPUs...

      INFO : Found 1 device.

      ALL  : Device #0 Intel(R) Core(TM) i5 CPU       M 430  @ 2.27GHz

      ALL  : Querying INTEL GPUs...

      ERR  : cl::Platform::getDevices(CL_DEVICE_TYPE_GPU) (-1)

      INFO : Found 0 device.

      INFO : Platform found: Advanced Micro Devices, Inc.

      ALL  : Querying AMD CPUs...

      INFO : Found 1 device.

      ALL  : Device #0 Intel(R) Core(TM) i5 CPU       M 430  @ 2.27GHz

      ALL  : Querying AMD GPUs...

      INFO : Found 1 device.

      ALL  : Device #0 Juniper

      DEBUG: Entering loadKernels()

      Stack dump:

      0.      <eof> parser at end of file

      0x000007FDF9FA4AA5 (0x0000005E27FF6480 0x0000005E278714C0 0x000077CA31684F1A 0x0

      000000000000000), CreateFrontEndInstance() + 0xB4C5 bytes(s)

      0x000007FDFA0F599C (0x0000005E27882138 0x0000000000000001 0x0000005E278A5010 0x0

      00007FD00000000), CreateFrontEndInstance() + 0x15C3BC bytes(s)

      0x000007FDFA0E2074 (0x0000000000000001 0x0000005E2767D6E0 0x0000005E2767F010 0x0

      000005E2ECF8BA0), CreateFrontEndInstance() + 0x148A94 bytes(s)

      0x000007FDFA10AB52 (0x0000005E27FF6480 0x0000005E27FF6480 0x0000005E262147F0 0x0

      000000000000000), CreateFrontEndInstance() + 0x171572 bytes(s)

      0x000007FDF9FAC9F2 (0x0000000000000001 0x0000005E2767F010 0x0000005E27FF6480 0x0

      00000000000000F), CreateFrontEndInstance() + 0x13412 bytes(s)

      0x000007FDFA0BCCBE (0x0000005E2ECF8E18 0x000007FE243AC91A 0x0000005E2767F010 0x0

      00007FDFAED2FB8), CreateFrontEndInstance() + 0x1236DE bytes(s)

      0x000007FDFA0A7AE1 (0x0000005E27FF7180 0x0000000000000000 0x0000005E2ECF8DF9 0x0

      000005E2ECF8F30), CreateFrontEndInstance() + 0x10E501 bytes(s)

      0x000007FDF9F9C899 (0x0000005E27FF7180 0x0000005E280F2940 0x0000005E280F1980 0x0

      000005E27FF8000), CreateFrontEndInstance() + 0x32B9 bytes(s)

      0x000007FDF9F98289 (0x0000000000000000 0x0000005E27FF7180 0x0000005E2ECFB860 0x0

      000000000000000)

      0x000007FDF9F9A9BF (0x0000000000000015 0x000007FE089DC068 0x0000005E22CF02C0 0x0

      000000000000000), CreateFrontEndInstance() + 0x13DF bytes(s)

      0x000007FE089B3D57 (0x0000005E24C72010 0x0000005E24C72010 0x0000000000000000 0x0

      000005E22CF02C0), clGetExtensionFunctionAddressForPlatform() + 0x38887 bytes(s)

      0x000007FE08997644 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0

      000005E23CE0028), clGetExtensionFunctionAddressForPlatform() + 0x1C174 bytes(s)

      0x000007FE10933852 (0x0000005E22CFB3C0 0x0000000000000001 0x0000000000000000 0x0

      000000000000000), ?CreateThreadPartitioner@TaskExecutor@OpenCL@Intel@@YAPEAVIThr

      eadPoolPartitioner@123@PEAVIAffinityChangeObserver@123@IPEAI@Z() + 0x27B2 bytes(

      s)

      0x000007FE10934808 (0x0000005E23ED3A40 0x0000000000000000 0x0000005E24C72010 0x0

      000005E22CFE078), ?CreateThreadPartitioner@TaskExecutor@OpenCL@Intel@@YAPEAVIThr

      eadPoolPartitioner@123@PEAVIAffinityChangeObserver@123@IPEAI@Z() + 0x3768 bytes(

      s)

      0x000007FE119686B5 (0x0000005E23EB3D80 0x0000005E23EABF40 0x0000005E23ED3A40 0x0

      000000000000001), ?initialize@task_scheduler_init@tbb@@QEAAXH@Z() + 0x6685 bytes

      (s)

      0x000007FE11963C1F (0x0000005E23EB3D80 0x0000005E23EB3D80 0x0000005E23ED3F00 0x0

      00007FE11962F43), ?initialize@task_scheduler_init@tbb@@QEAAXH@Z() + 0x1BEF bytes

      (s)

      0x000007FE11962ECC (0x0000005E23ECBF00 0x0000000000000001 0x0000005E23EB3D88 0x0

      000000000000000), ?initialize@task_scheduler_init@tbb@@QEAAXH@Z() + 0xE9C bytes(

      s)

      0x000007FE1195FAB8 (0x0000000000000000 0x0000000000000000 0x0000005E2ECFF8F0 0x0

      000000000000000), ?thread_sleep_v3@internal@tbb@@YAXAEBVinterval_t@tick_count@2@

      @Z() + 0x1368 bytes(s)

      0x000007FE1195FBFD (0x0000005E2ECFBC80 0x0000000000000000 0x0000000000000000 0x0

      000000000000000), ?thread_sleep_v3@internal@tbb@@YAXAEBVinterval_t@tick_count@2@

      @Z() + 0x14AD bytes(s)

      0x0000000050291D9F (0x0000000050322AC0 0x0000005E23EE58A0 0x0000000000000000 0x0

      000000000000000), _endthreadex() + 0x43 bytes(s)

      0x0000000050291E3B (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0

      000000000000000), _endthreadex() + 0xDF bytes(s)

      0x000007FE241F167E (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0

      000000000000000), BaseThreadInitThunk() + 0x1A bytes(s)

      0x000007FE243B3501 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0

      000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

      0x000007FE243B3501 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0

      000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

      Press any key to continue . . .

       

      Naturally this is after I try to compile the kernels. I have downloaded the catalyst mobility utility to install the latest, non-beta stable driver, and it did download

       

      12-10_mobility_vista_win7_win8_64_dd_ccc_whql_net4.exe

       

      but the problem remains. Same goes for

       

      12-8_vista_win7_win8_64_dd_ccc_whql.exe

      12-10_vista_win7_win8_64_dd_ccc_whql.exe

       

      which I obtained from game.amd.com either when they were new, or recently from the "previous catalyst releases" or similarly named link on game.amd.com . These things used to work, and now they don't, all since I installed Catalyst 12.11 beta4 and tried fixing the issue with 12.11 beta7.

       

      Someone please tell me how to go about solving the issue, as it is becoming PRESSING now. Is it really a full reinstall of Windows 8 that can solve the issue?!

        • Re: Windows 8 driver rollback
          JTK84

          It is hard to advise you since I do not know what you already tried.

           

          Best way to deinstall AMD drivers is to use CIM (catalyst install manager) via control panel. After a reboot you have to remove the following files (start the explorer as an admin!):

          (Geschützte Systemdateien sollten angezeigt werden und auch ausgeblendete Dateien)

           

          C:\Users\YourUsername\AppData\Local

          C:\Users\YourUsername\AppData\Roaming

          C:\Program Files (x86)

          C:\Program Files

           

          all AMD, ATI and ATI Technologies stuff

           

          open the registry editor with regedit and go to the following entries:

           

          HKEY_LOCAL_MACHINE\SOFTWARE

          HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

          HKEY_CURRENT_USER\Software

          HKEY_CURRENT_USER\Software\Wow6432Node

           

          delete all AMD, ATI and ATI Technologies stuff

           

          fingers crossed and good luck!

           

           

          someone has created a script called "AMD C rap cleaner - Improved.bat" which deletes more entries.

           

          @echo off

          echo -------------------------------------------------------

          echo Please make sure that you have UNINSTALLED all ATI

          echo drivers and software through windows at programs and

          echo features before continuing further.

          echo -------------------------------------------------------

          pause

          @cls

          taskkill /F /IM atiesrxx.exe

          timeout /t 5

          echo -------------------------------------------------------

          echo Cleaning registry

          echo -------------------------------------------------------

          REG DELETE "HKCU\Software\ATI" /f

          REG DELETE "HKLM\SOFTWARE\ATI" /f

          REG DELETE "HKLM\SOFTWARE\ATI Technologies" /f

          REG DELETE "HKLM\SOFTWARE\Wow6432Node\ATI" /f

          REG DELETE "HKLM\SOFTWARE\Wow6432Node\ATI Technologies" /f

          REG DELETE "HKLM\SOFTWARE\AMD" /f

          REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\AMD External Events Utility" /f

          REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\amdkmdag" /f

          REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\amdkmdap" /f

          REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\Atierecord" /f

          REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\AtiHdmiService" /f

          echo -------------------------------------------------------

          echo Cleaning Files

          echo -------------------------------------------------------

          del "%windir%\system32\ati*.*"

          del "%windir%\system32\drivers\ati*.*"

          del "%windir%\system32\amdpcom*.*"

          del "%windir%\ati*.*"

          del "%windir%\sysWOW64\ati*.*"

          del "%windir%\sysWOW64\amdpcom*.*"

          echo -------------------------------------------------------

          echo Cleaning OpenCL

          echo -------------------------------------------------------

          del "%windir%\system32\amdocl64.dll"

          del "%windir%\system32\OpenCL.dll"

          del "%windir%\system32\OpenVideo64.dll"

          del "%windir%\system32\OVDecode.dll"

          del "%windir%\system32\SlotMaximizerAg.dll"

          del "%windir%\system32\SlotMaximizerBe.dll"

          del "%windir%\sysWOW64\amdocl.dll"

          del "%windir%\sysWOW64\OpenCL.dll"

          del "%windir%\sysWOW64\OpenVideo.dll"

          del "%windir%\sysWOW64\OVDecode.dll"

          del "%windir%\sysWOW64\SlotMaximizerAg.dll"

          del "%windir%\sysWOW64\SlotMaximizerBe.dll"

          rmdir /S /Q "%APPDATA%\ATI"

          rmdir /S /Q "%LOCALAPPDATA%\ATI"

          echo -------------------------------------------------------

          echo Please remove this/these folders manually. You need to

          echo take ownership of the folders before removal is possible

          echo command is takeown /f <directory> /R

          echo folders are printed if found below line after this

          echo message

          echo -------------------------------------------------------

          dir /b "%windir%\system32\DriverStore\FileRepository\C7_*.*"

          dir /b "%windir%\system32\DriverStore\FileRepository\CH_*.*"

          echo -------------------------------------------------------

          echo Also clean these registry paths between lines after this

          echo message on second run of this tool note that the { } are

          echo the ones to remove not only the last 'video' path.

          echo -------------------------------------------------------

          REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video /f "amdkmdap" /s

          echo -------------------------------------------------------

          echo cleaner complete please reboot your system and run this

          echo file again unless doing so atm and then reinstall ATI drivers.

          echo -------------------------------------------------------

          pause

            • Re: Windows 8 driver rollback
              Meteorhead

              Thank you for your answer JTK, however this did not solve the issue. The DLLs the batch wants to remove in system32 are constantly locked and are open in dwm.exe.Windows replaces the missing driver with some generic ATi thing too fast for me to be able to delete it after a fresh boot.

               

              This is becoming a joke really, that there is no way to fix this problem.

               

              Let me ask another thing also: I'm starting to question this issue being caused by the driver, more like than the issue of the OpenCL compiler solely (which should be somewhere inside the driver). A long way back I managed to crash APP Kernel Analyzer sooo bad, that not even a reinstall of the tool solved the problem, no kernels could be compiler. This was caused by me having a define in one of my kernels named:

               

              //define for offline analysis

               

              It did an override of the keyword "for" even though this was inside a comment, so naturally everything broke, and Kernel Analyzer holds defines as macros IN REGISTRY! So I had to manually delete these entries left behind the uninstaller. I'm asking: Is it possible that something similar is left behind for OpenCL alone that causes kernel compilations to fail?

               

              The reason I ask because Clatayst 12.11 beta drivers have an issue:

               

              http://devgurus.amd.com/message/1285077#1285077

               

              (which btw I got no reply to) that is solved by removing the driver and reinstalling a new one. Computer no longer crashes when I close the lid. This means the driver must have been replaced, but kernel builds still crash the compiler. How can this be?

                • Re: Windows 8 driver rollback
                  drallan

                  Meteorhead,

                   

                  For sure, something is broken with 12.11 and as I mentioned here http://devgurus.amd.com/message/1285016#1285016 it gets "stuck" and the compiler seems un-removable. Even if you think you successfully rolled back to and earlier version, part of the 12.11 drivers remain. Note. I wrote this before reading your last comment, but the following may still be helpful wrt what's going on with the drivers, they are changing.

                   

                  The usual way I remove troublesome drivers is (this is not sufficient for 12.11):

                   

                  1. Use the AMD un-install tools to remove the video driver and/or other items, if you are having trouble then do an automated un-install to remove everything.
                  2. Use driver-sweeper, which must be run the safe mode, and let it clear everything it sees. Note, the safe mode is not for safety, it lets DS clear out drivers that may otherwise be locked by windows.
                  3. Edit both c:\windows\system32 and c:\windows\systemWOW to remove anything related to AMD drivers (this is where I don't have a recipe but look for ati*.* and amd*.*, as well as other files that might have the same date and time as the AMD drivers.

                   

                  Note, when you remove the AMD video drivers, there is still an AMD video driver in the system and usually you can still run ocl, etc. I think it's this feature that is locking in the bad compiler that's causing the problems.

                   

                  What I think I did was locate this backup driver and switched it to a much older version by renaming files (requires older files), i.e., I changed the backup not the running drivers. After this, older versions like 12.8 or earlier, installed successfully. The problem is I don't remember the details of exactly what I did, it was in the heat of battle.

                   

                  Other information. AMD seems to be making a lot of changes in the drivers starting about 12.8. In earlier drivers, ocl and the compiler were located in different dll files. The compiler is in aticaldd.dll or aticaldd64.dll depending on the bitness of your system or program, and ocl drivers are in amdocl.dll or amdocl64.dll.

                   

                  By 12.11 both the ocl drivers and the compiler have been combined in one very large amdocl(64).dll file. This might be the root of the problems with the driver/compiler getting stuck.

                   

                  Also with 12.11, I found that the kernel analyzer and other tools were no longer displaying any ISA code, preventing debugging. I saw somewhere that AMD acknowledged this and it "will be fixed in upcoming .... "  I have also confirmed that indeed, the runtime compiler and the one used by the kernel analyzer can be different. This question was recently asked in another thread.

                   

                  I must add though in the past most driver installations were quite smooth, assuming you don't watch the screen blank 15++ times as if the computer is going to crash but never does .

                   

                  Hope it helps although it's not a solution.

                   

                  BTW. For testing I have found ways to use most any combination of drivers and compilers with out installing or booting.

                  If you recover you computer I can paste them here. Good luck.

                   

                  drallan

                    • Re: Windows 8 driver rollback
                      Meteorhead

                      After finding that all backup storages at hand at my workplace are just too slow to backup those 200 Gigs I need to save, and after doing a quick math that I will not finish reinstalling my system by the afternoon meeting that I would've need my laptop running OCL Apps, I thought I'd do this the hard way. Now... I have tried virtually everything there is.

                       

                      I have uninstalled every AMD software from the machine with the uninstaller, then rebooted and went into Safe Mode. In safe mode I cleaned everything with the batch file, checked everything manually, that nothing is left behind. After doing this, I uninstalled the driver from Device Manager. After pressing a refresh the display driver came back. I was like: WTF?

                       

                      Then I learned about the magic of Winsxs. For those unfamiliar with it, it is a directory in C:\Windows that stores backup copies of your .dll-s and hardlinks to it. In case one binary gets damaged or corrupted, it gets restored from this place. I took ownership of the directory (because not even users inside the Administrators group can modify it's contents, only the user TrustedInstaller), and wiped the directories amd64_atiil* that held backup copies of older drivers.

                       

                      After doing this, rebooting in Normal Mode, Windows was unable to restore any of the AMD binaries to my biggest joy. I thought to myself: HAHA, GOTCHA'! Resintalled everything and guess what? It still crashes. Fresh 12.10 installed, and OCL still crashes.

                       

                      So I' gonna say it one last time: I have wasted 3 days of my life trying to revert the OpenCL compiler to a proper version. Would someone from the Catalyst dev team be an angel and tell me how on earth can I properly remove this God forsaken compiler?

                       

                      p.s.: I know AMD lives off gamers, and all 12.11 betas aimed gaming performance, but releasing drivers that crash on the simplest of OCL kernels... not to mention that when multiple topics exist about it, with this one dedicated to undoing the mess of the broken driver, and absolutely no corporate response... that seems 1) highly unprofessional 2) extremely disappointing.

                    • Re: Windows 8 driver rollback
                      JTK84

                      @

                       

                      Did you try it after booting into safe mode?

                      Are you running the cmd as an admin?