FxSound began to forcefully run on dGPU

Hello,

I have FxSound version 1.1.34.0 installed on my Acer Nitro 5 AN515-44, and now that the application is running, I have noticed that it’s now using my dedicated GPU (turning it on and lowering my battery life), which didn’t happen before, as it was running perfectly fine on my iGPU prior to the stated version.

I have already set graphics settings on Windows to run on Power Saving, as well as set on Nvidia Control Panel to run on Integrated Graphics, yet no change.

I’m wondering if anyone can help me out, or if this is part of the new update?

Thank you

We have fixed the GPU utilization issue in the latest version 1.1.36.0. Please update and try.

1 Like

Hello,

I am using the 1.1.36.0 version, and still on my laptop FX Sound runs on GPU, I tried way too many fixes, but still it runs on GPU.

I’m on a Lenovo LOQ. Please Let me know how I can fix it.

Thanks.

[Edit] I even tried re-installing the latest version of FxSound, still no luck.

In System > Display > Graphics settings, change the GPU preference for FxSound from “Let Windows decide” to your preferred GPU.

1 Like

Hello, I’m also in the latest version and still have these same exact problems. FxSound runs on the dgpu even though I have it set on windows to run in the IGPU. I’m using a Lenovo LOQ laptop.

I switched the GPU preference for FxSound in system settings, exit FxSound and relaunched it for the settings to take effect.

Please exit and rerun the application and see if the GPU changes.

1 Like

I did, and I even rebooted my machine, same problem still.

Same here. Running latest FX version 1.1.36.0. Changed a while ago System Display Graphic settings to select my power saving graphics. FX is still forcing use of GPU.

Same here, it was fine before the update, I’ve updated it today and it started doing it. I have set it to run on integrated in Nvidia control panel and restarted both my computer and the app, still runs on dGPU.

For reference, I’m on Windows 11, Lenovo Legion 5-15ACH6H (all stock parts, so my GPU is Nvidia RTX 3060).

How much GPU utilization do you observe during audio playback and visualizer being displayed? When you minimize the window during audio playback is the GPU utilization going to 0-1%?

1 Like

Hello. Same here. Legion 7 with nVidia 3060 card. Latest app version, no success on windows graphic setting or nVidia control panel. Make fxsound close, imidietly turn off nVidia card.

If FxSound window is minimized then there shouldn’t be any GPU utilization.

When the visualizer is being displayed during audio playback, it will be consuming GPU cycles. Please let me know how much GPU percentage is used when you keep the visualizer open. We can try to optimize it.

1 Like

I`ve tested little more… I think the problem is more complicated. Fxsound is utylizing integred GPU even if it`s on and I move Fxsound window or listen playback, so it should be ok... However it is still forced dedicated GPU to be active (P0 state), even if minimized. Maby it is connected with OpenGL archtecture and NVIDIA drivers, which keep card active, when OpenGL app is running in background. I make some screenshots to help You.Wish I could post more images, but Im blocked :slight_smile: EDIT: Probably Nvidia profile inspector and proper fxsound profile edit will be key to succes??

EDIT 2: No success in NVInspector, so I make some switch in bat file. Just copy the code to notepad, and save as bat. You can choose, to switch NVIDIA card on/off in few clicks. Temporary solution, but this “manual optimus”:slight_smile: do the job for now.

CODE:

@echo off
title GPU Toggle (NVIDIA)
:menu
cls
echo =============================
echo GPU Toggle Menu
echo =============================
echo.
echo 1. Disable NVIDIA GPU
echo 2. Enable NVIDIA GPU
echo 3. Exit
echo.
set /p choice= Choose an option (1-3):

if “%choice%”==“1” goto disable
if “%choice%”==“2” goto enable
if “%choice%”==“3” exit
goto menu

:disable
echo Disabling NVIDIA GPU…
powershell -Command “Get-PnpDevice -Class Display | Where-Object { $_.FriendlyName -like ‘NVIDIA’ } | Disable-PnpDevice -Confirm:$false”
pause
goto menu

:enable
echo Enabling NVIDIA GPU…
powershell -Command “Get-PnpDevice -Class Display | Where-Object { $_.FriendlyName -like ‘NVIDIA’ } | Enable-PnpDevice -Confirm:$false”
pause
goto menu

Thank you for sharing your detailed analysis.

I am looking at options in JUCE framework to prevent OpenGL from using dGPU. I will keep you posted on the solution.

1 Like

Hello, any update? I am having the same issue. What’s interesting is that if you install FXSound from the MS-Store as a Metro App / System App then it does not use the dGPU. However installing it via the standalone installer causes the issue.

The problem for me however, in using it via MSstore is that it simply does not seem to be as stable.

The Microsoft Store version is much older. The newer version in our website uses the latest JUCE framework which uses OpenGL for UI.

What is the dGPU utilization do you see when FxSound UI is active and when it is minimized?

1 Like

Well i cannot upload attachments as a new user so i will just paste the report here.
(Formatted by ChatGPT)

FxSound.exe — Persistent dGPU Utilization and Power Inefficiency

Summary

FxSound continuously activates the discrete NVIDIA GPU and prevents the CPU from entering low-power states, even when idle. Windows and NVIDIA GPU preference settings have no effect. The issue originates from FxSound initializing a Direct3D context on the dGPU and maintaining a constant 10 ms multimedia timer loop, resulting in continuous GPU activity and elevated power consumption.


System Information

  • Device: ASUS ROG Zephyrus G14 (2024) GA403UI
  • CPU: AMD Ryzen 9 8945HS with Radeon 780M
  • dGPU: NVIDIA GeForce RTX 4070 Laptop GPU
  • OS: Windows 11 Home 24H2 (Build 26200)
  • BIOS: GA403UI.308 (2024-09-27)
  • Power Plan: OEM Balanced ({381b4222-f694-41f0-9685-ff5bb260df2e})
  • Sleep Support: Connected Standby = True S3 = False

Key Findings

  • FxSound.exe maintains a 10 ms timer request, preventing CPU and GPU idle states.
  • Average CPU utilization: ~5.8 % at idle.
  • Timer call stack: ntdll.dll → kernel32.dll → FxSound.exe → kernel32.dll → ntdll.dll
  • Loaded NVIDIA modules: nvapi64.dll, nvcuda.dll, nvcuda64.dll, nvldumdx.dll, nvwgf2umx.dll, NvPresent64.dll, nvppex.dll, nvgpucomp64.dll
  • FxSound’s Direct3D 11 context automatically binds to the primary WDDM adapter (NVIDIA RTX 4070) rather than the AMD iGPU.
  • The DSP engine and UI share the same process; no separate FxSoundService.exe exists.

Steps to Reproduce

  1. Launch FxSound (v1.1.x) on a dual-GPU system (AMD + NVIDIA).
  2. In Windows Settings → Display → Graphics, set FxSound.exe to Power Saving (AMD GPU).
  3. Run PowerShell to confirm module bindings:
    (Get-Process FxSound).Modules | Select-String “nv”
    NVIDIA DLLs appear despite the power-saving setting.

Expected Behavior

  • FxSound should honor Windows GPU preference.
  • It should use the iGPU or software renderer when the UI is idle or minimized.
  • The multimedia timer should revert to the default 15.6 ms resolution when idle.

Actual Behavior

  • FxSound always initializes a Direct3D device on the NVIDIA GPU.
  • Maintains a 1 kHz timer loop, blocking CPU C-states and dGPU sleep.
  • Causes constant GPU power draw (~1–3 W) and elevated idle CPU usage.

Workarounds Tested

Attempted Fix Result
Windows Graphics Preference → iGPU Ignored
NVIDIA Control Panel override Ignored
CUDA_VISIBLE_DEVICES / NVIDIA_VISIBLE_DEVICES Ineffective
Registry DisableHWAcceleration=1 No effect
D3D_FORCE_SWRAST=1 No effect
Disabling FxSound visualizer Slight GPU reduction but still active
Terminating FxSound.exe (keeping APO active) Works but removes control interface

Impact

  • Continuous NVIDIA GPU activation increases idle power usage and temperature.
  • Prevents deep CPU and GPU power states.
  • Reduces battery runtime and efficiency during audio playback.

Recommended Fix

  • Separate the DSP engine from the UI into a lightweight background service.
  • Implement DXGI adapter selection respecting Windows GPU preferences.
  • Use WARP software rasterization for visualization.
  • Release multimedia timer requests when inactive or minimized.

Report compiled using verified system data and diagnostic findings from energy analysis and process inspection.

1 Like

Also just for my own reference, slightly off-topic, is anyone else seeing an increase in RAM usage when the system is in an idle state in the 25H2 update? I used to have about 15-17% usage post-startup and now its literally doubled to 30%+

edit : 32GB RAM

1 Like

Thanks @Pluto for the detailed analysis. We will look into the recommended fixes.

1 Like