Improve AMD OpenCL ICD script: batch enhancements & new PowerShell implementation#5
Merged
ptrumpis merged 10 commits intoptrumpis:mainfrom Feb 1, 2026
Merged
Improve AMD OpenCL ICD script: batch enhancements & new PowerShell implementation#5ptrumpis merged 10 commits intoptrumpis:mainfrom
ptrumpis merged 10 commits intoptrumpis:mainfrom
Conversation
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.
- Only DLLs with VersionInfo are now registered, improving safety (previously, all matching files were considered) - Added optional scan of directories in system PATH for extended support of custom/unofficial DLLs - Registry cleanup, bitness and signature checks, and duplicate prevention remain unchanged - Improved user messages and scan feedback
Owner
|
Thank you for your good work! |
Contributor
Author
|
Thanks, glad I could contribute! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
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!