Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WPF applications will prevent Nvidia Control Panel to change display modes #9286

Open
ShiinaRinne opened this issue Jun 22, 2024 · 4 comments
Labels
External Non-WPF Issue External issue, not caused by WPF Investigate Requires further investigation by the WPF team.

Comments

@ShiinaRinne
Copy link

ShiinaRinne commented Jun 22, 2024

Description

We have identified a recurring issue with applications developed using the WPF, which prevents the NVIDIA Control Panel from changing display modes on laptops.
Specifically, when the WPF-based application (v2rayN) is running, the NVIDIA Control Panel fails to automatically switch between integrated and dedicated GPUs.
This issue has been observed across multiple versions of the v2rayN application and various laptop models and configurations

Attempts to resolve this issue by modifying hardware acceleration settings in the WPF application have been failed.
https://github.com/2dust/v2rayN/pull/3493/files#diff-96773009aed874ddc50e8da8fb0d2a82ba83e862fb01c323de31a8e573bbadfdR203

Reproduction Steps

  1. Set the display mode of the NVIDIA control panel to automatic on the laptop;
  2. Start v2rayN or other WPF software;
  3. Attempt to start a game or software that can normally switch display modes on the NVIDIA control panel;
  4. You will see a pop-up message in the bottom left corner saying "Unable to change display mode".
    Click this message to enter the NVIDIA control panel, and a pop-up window will appear saying "Applications blocking display mode change". v2rayN will be listed in the window.
    image
    image
    image

This is a minimal example of creating a WPF program without any modifications using Visual Studio
2dust/v2rayN#5255 (comment)

Expected behavior

It should not have any impact on the automatic switching feature of this display mode

Actual behavior

See a pop-up message in the bottom left corner saying "Unable to change display mode"

Regression?

No response

Known Workarounds

No response

Impact

Probably a laptop with an Nvidia graphics card and an integrated graphics card.
Although my previous laptop also had this configuration (R7 5800H, RTX 3060), but there were no relevant settings in the Nvidia Control Panel and I couldn't test them

Configuration

Other information

Related issue:
2dust/v2rayN#5255
2dust/v2rayN#3695
2dust/v2rayN#2981
QL-Win/QuickLook#1126
QL-Win/QuickLook#1450 (comment)
microsoft/PowerToys#31825
microsoft/PowerToys#27684
microsoft/PowerToys#14677

Closing Blocking Programs
NVIDIA Advanced Optimus Overview
Steamwebhelper.exe blocking Advanced Optimus notebook display mode switch

@dipeshmsft dipeshmsft added the Investigate Requires further investigation by the WPF team. label Jun 24, 2024
@lindexi
Copy link
Member

lindexi commented Jun 24, 2024

I think a better way to solve this problem is to connect NVIDIA for help. We can keep gathering some more information and collect more reports while we wait to connect NVIDIA for help.

@Prakyy
Copy link

Prakyy commented Jun 28, 2024

image
Does this change anything?

@miloush
Copy link
Contributor

miloush commented Jun 28, 2024

I think the second to last link states it pretty clearly:

  • The display will not switch to discrete GPU in the following scenarios -
    • The display will not switch to discrete GPU if the application in allow list is a DirectX9 application.
    • The display will not switch to discrete GPU if there is a DirectX9 application already running.
      ...
  • If any DX9 application is running and a display switch is triggered using the NV Control Panel 'display mode' settings page, the DX9 app could crash or freeze.

@lindexi
Copy link
Member

lindexi commented Jun 29, 2024

@miloush Yeah, but maybe Nvidia can fix it. And I test the empty wpf application with software render also can repro this issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
External Non-WPF Issue External issue, not caused by WPF Investigate Requires further investigation by the WPF team.
Projects
None yet
Development

No branches or pull requests

5 participants