This PowerShell script is a straightforward tool designed to quickly determine which graphics API (like DirectX or Vulkan) and upscaling technologies (such as NVIDIA DLSS, AMD FSR, or Intel XeSS) a specific running Windows process, typically a game, is utilizing.
It's particularly useful for checking if a game is using DirectX 11, DirectX 12, Vulkan, or if it has integrated support for modern upscaling solutions like DLSS, FSR, or XeSS.
-
**Update powershell to the latest version, you can do this through Microsoft Store or Windows Update.
-
**Update your graphic card drivers and make sure you have DirectX installed in order to get the truth and avoid misleading results
-
Save the script: Save the PowerShell script/code as a
.ps1file (e.g.,cgpuapi-win.v1.0.0.ps1). -
Run as Administrator: The script requires administrative privileges to inspect other running processes. Open PowerShell or Windows Terminal as an administrator.
-
Navigate and Execute:
-
Use the
cdcommand to navigate to the directory where you saved the script. -
Run the script by typing
.\cgpuapi-win.v1.0.0.ps1and pressing Enter.
-
Important:
You will be able to enter a process of your choice (e.g., ezquake, wow, bodycam) by running cgpuapi-win.v1.0.0.ps1.
Easiest way's simply reading the instructions from the prompt explaining and accepting input which allows you to run it, as-is, or by changing the default example variable are located directly within the ps1 script file itself.
To do the latter simply download and open the file in any text-edior. I recommend notepad++, vim or aetherlink, but notepad will do. Now adjust the settings as needed.
Remember that you risk making unwanted changes; I'm not recommending this method for users wholly new to writing or handling code!
Below I've presented a example of my own interaction with the script, including the output (On a Windows 11 Pro with Powershell 7.5.2) while running ezquake in the background.
I didn't enter any input, it will use your userprofile folder Documenets as default and give the filename a date- and time reference in the filename.
Process 'ezquake' (ID: 372) found. Attempting to list modules...
Searching for relevant DLLs...
- Found DirectX DLL: d3d12.dll
--- Summary of Detected Technologies ---
[API] Likely DirectX.
[Upscaling] No AMD FSR found.
[Upscaling] No NVIDIA DLSS found.
[Upscaling] No Intel XeSS found.
Note: A loaded DLL indicates support, not necessarily active use.
Do you want to save a log of the results? (y/n): y
Enter log file path (default: C:\Users\opusprojectus\Documents\GPU_TechCheck_2025-07-06_20-31-46.log.txt)
Log file path:
Save to 'C:\Users\opusprojectus\Documents\GPU_TechCheck_2025-07-06_20-31-46.log.txt'? (y/n): y
The script identifies the presence of key DLLs (Dynamic Link Libraries) associated with:
-
Graphics APIs: DirectX (d3d11.dll, d3d12.dll) and Vulkan (various vulkan-related DLLs).
-
Upscaling Technologies:
-
NVIDIA DLSS (nvngx_dlss.dll)
-
AMD FidelityFX/FSR (e.g.,
amd_fidelityfx_x.dll,amd_fsr_x.dll) -
Intel XeSS (libxess.dll)
-
Note: The detection of a DLL indicates integrated support for the technology within the application. It does not necessarily mean the feature is currently active. Activation is typically managed through the application's in-game or program settings.
This project is licensed under the GNU General Public License v3.0.
Please be aware: While GPLv3 allows for free distribution, the non-commercial sale of this specific tool is not intended by the creator. If you have commercial use in mind, please reach out to the creator.