Skip to content
This repository has been archived by the owner on Mar 28, 2024. It is now read-only.

[BUG-9906] Second Life messing up NVIDIA drivers #17342

Closed
2 tasks
sl-service-account opened this issue Aug 16, 2015 · 5 comments
Closed
2 tasks

[BUG-9906] Second Life messing up NVIDIA drivers #17342

sl-service-account opened this issue Aug 16, 2015 · 5 comments

Comments

@sl-service-account
Copy link

sl-service-account commented Aug 16, 2015

Steps to Reproduce

Playing Second Life

Actual Behavior

Hello,
after running the second life viewer, I notice that my video card is stuck in 3d clocks at all times. After downloading the utility nvidia inspector, I've noticed this happens because rather than using the profile that is built in into the drivers, the viewer somehow takes over the _GLOBAL_DRIVER_PROFILES it attaches its own .exe to it and changes a whole bunch of settings including the "prefered power state" which is changed to max performance and its what causes the card to be at full speed AT ALL TIMES.

It is not acceptable that rather than using its own profile, the game "parasitizes" the default one and forces the card to run at 3d clocks even when the viewer is not open. I am fine with the card running at maximum performance when I am in second life, what I am not fine with is the game forcing it to do so even when the viewer is closed. The viewer has a dedicated profile within the nvidia drivers that has the "prefered perfomance state" set to maximum performance, so, just like any other 3d program in this world does, make the viewer use that.

This "takeover" the viewer does onto the global profile, also locks the card on it. That way when you are running a game or anything else that is not the second life viewer, the card won't switch to the appropriate profile leading to compatibility issues and performance degradation.

The only fix to this is to reinstall nvidia drivers, which becomes a rather annoying thing to do each time you run the viewer.

Expected Behavior

I was expecting the viewer not to take over the _GLOBAL_DRIVER_PROFILE but use its own and then once it's closed, to switch back to it WITHOUT messing with the default driver profile

Other information

Links

Duplicates

Related

Original Jira Fields
Field Value
Issue BUG-9906
Summary Second Life messing up NVIDIA drivers
Type Bug
Priority Unset
Status Closed
Resolution Accepted
Reporter Aer Bayn (aer.bayn)
Created at 2015-08-16T13:08:53Z
Updated at 2023-05-16T22:02:54Z
{
  'Business Unit': ['Platform'],
  'Date of First Response': '2015-08-16T08:24:03.417-0500',
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'System': 'SL Viewer',
  'Target Viewer Version': 'viewer-development',
  'What just happened?': 'Hello,\r\nafter running the second life viewer, I notice that my video card is stuck in 3d clocks at all times. After downloading the utility nvidia inspector, I\'ve noticed this happens because rather than using the profile that is built in into the drivers, the viewer somehow takes over the _GLOBAL_DRIVER_PROFILES it attaches its own .exe to it and changes a whole bunch of settings including the "prefered power state" which is changed to max performance and its what causes the card to be at full speed AT ALL TIMES.\r\n\r\nIt is not acceptable that rather than using its own profile, the game "parasitizes" the default one and forces the card to run at 3d clocks even when the viewer is not open. I am fine with the card running at maximum performance when I am in second life, what I am not fine with is the game forcing it to do so even when the viewer is closed. The viewer has a dedicated profile within the nvidia drivers that has the "prefered perfomance state" set to maximum performance, so, just like any other 3d program in this world does, make the viewer use that.\r\n\r\nThis "takeover" the viewer does onto the global profile, also locks the card on it. That way when you are running a game or anything else that is not the second life viewer, the card won\'t switch to the appropriate profile leading to compatibility issues and performance degradation. \r\n\r\nThe only fix to this is to reinstall nvidia drivers, which becomes a rather annoying thing to do each time you run the viewer.',
  'What were you doing when it happened?': 'Playing Second Life',
  'What were you expecting to happen instead?': "I was expecting the viewer not to take over the _GLOBAL_DRIVER_PROFILE but use its own and then once it's closed, to switch back to it WITHOUT messing with the default driver profile",
}
@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2015-08-16T13:24:03Z, updated at 2015-08-16T14:00:23Z

This behaviour has been complained about a couple of times in the forums - I linked the relevant threads.

This behaviour was added in 2012: https://bitbucket.org/lindenlab/viewer-release/commits/6a2054a7cf5b83220f6f0342af51b3d0d0ae25cd
MAINT-1841 Use NVAPI to force NVIDIA GPU power management mode to prefer max performance

This behaviour change was to fix BUG-627 and other assorted Nvidia driver crashes/TDR.

@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2015-08-16T13:27:47Z

Workaround from BUG-2480

Melanie Jaehun added a comment - 01/May/13 10:17 PM

I seem to have fixed the issue. It turns out New SL Viewer 3.5 for some reason applies a setting to the nvidia control panel (NVCP) to set "power management mode" to prefer maximum performance...this setting locks the core clocks at max. The issue is that changes to the NVCP do not take effect till a system restart is done..this is somehow bugging out the driver or the control panel to think SL is running soon as comp restarts and the settings take effect. To fix this i opened the NVCP after a restart...went to Manage 3d settings > Program Settings > Power management Mode > and selected Adaptive. I have tested the fix numerous times now and it works. Not only does this fix the issue with the official viewer doing it but it also fixes Firestorm causing the issue. Just to be sure i added Firestorm to the program list and set it to adaptive also.

As a side note the new viewer doing this could seriously cook some older graphic cards if goes unnoticed.

@sl-service-account
Copy link
Author

Aer Bayn commented at 2015-08-16T13:53:52Z

The clocks not resetting are half the issue. The problem is that the graphic card gets locked onto that profile, so if I am playing anything else that is not second life, I won't be getting the performance I should be getting out of my hardware because my video card is locked on a non optimized driver profile

@sl-service-account
Copy link
Author

Ansariel Hiller commented at 2015-08-16T18:15:41Z

My proposed fix I added to Firestorm: http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/rev/20cf7303d00f

Instead of working the global settings, create a driver profile for the viewer if it doesn't exist yet, and then add the viewer's executable to the profile if it hasn't been added yet. And then change the driver setting for that particular profile.

@sl-service-account
Copy link
Author

AndreyK ProductEngine commented at 2023-02-01T18:16:11Z, updated at 2023-02-01T18:18:31Z

Hello, [~ansariel.hiller] do you mind making a contribution out of that?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant