Skip to content

Conversation

@TantalusDrive
Copy link

Hello there!
First of all, thanks for putting this script together, it’s been genuinely useful for older AMD GPUs.
I’ve made a few improvements to the batch version and added a PowerShell alternative that handles things more safely and cleanly.

Changes include:

  • Batch script improvements: Added SysWOW64 scanning, safer PATH scanning, support for versioned DLLs, and prevention of duplicate registry entries.

  • New PowerShell script (amdocl-fix.ps1): Introduces advanced features such as DLL signature verification, reliable 32/64-bit detection, safe cleanup or relocation of invalid entries, DriverStore awareness, and improved error/status reporting.

  • README updates: Expanded usage instructions, clarified compatibility notes, and updated credits to acknowledge both the original author and the additional improvements.

powershell-version-test

improvedbatch-test

The goal is to extend functionality without changing the original behavior.
If you'd prefer to discuss this in an issue first, just let me know!

This PowerShell script extends the batch version with more advanced detection features:
- Builds upon the batch version by supporting more complex registry queries
- Handles both 32-bit and 64-bit environments with improved accuracy
- Detects and registers multiple versioned DLLs automatically
- Performs full PATH scan to locate hidden or unregistered drivers
- Prevents duplicate entries and ensures clean registry state
- Provides clearer diagnostic output and error reporting
- Added section describing the new PowerShell script (amdocl-fix.ps1) and its extended features
- Included instructions for running the script (right-click method and command line)
- Introduced AllowUnsigned parameter (default true) to optionally allow AMD OpenCL DLLs without valid signatures during cleanup and registration, preventing accidental removal of valid unsigned ICDs.
- Added Is-SignatureAcceptable function to centralize signature validation logic with AllowUnsigned support.
- Updated script header and description to accurately reflect full functionality.
… handling

- Added SysWOW64 scan in Fast Scan phase for complete 32-bit driver detection.
- Improved Full Scan to iterate PATH directories safely using pushd/popd.
- Extended DLL validation to handle versioned AMD OpenCL DLLs (e.g., amdocl64_*, amdocl_*).
- Enhanced bitness detection and root key assignment (prefer explicit 64-bit, fallback to 32-bit).
- Added informative messages for missing keys, already registered DLLs, and errors during registry updates.
- Updated privilege check to use 'net session' for reliability.
- Improved script header and inline comments for clarity and maintainability.
Layout adjustments and polished compatibility section
Fixed layout issues and moved detailed infos from compatiblity to a more proper section.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant