# [Feature Request] Set Message-Signaled Interrupts



## DonnerPartyOf1 (Dec 18, 2019)

Requesting ability to enable message-signaled interrupts on GPU and related devices (sound, USB-C) after driver installation is complete.

On each driver install, Nvidia resets a registry key which disables MSI and forces devices to fall back to legacy INTx mode, presumably for compatibility reasons with their old nForce motherboards which are infamous for having a completely broken MSI implementation. INTx mode can result in longer deferred procedure calls and interrupt handling, which manifest as latency-related issues such as audio popping or unexplained dropped frames. These problems are commonly experienced in virtualized environments and on systems with overburdened PCIe lanes.

On modern motherboards and graphics cards, there is rarely ever a reason to turn off MSI.

More reading, and a technical reference.

Intel paper on MSI

Best regards.


----------



## R-T-B (Dec 20, 2019)

I do this every driver install, so would be helpful.


----------



## Ed_1 (Feb 3, 2020)

Added tweak to enable Message Signaled Interrupts version 1.30

Nice!


----------



## duk6046 (Feb 4, 2020)

This tweak is need a clean install?


----------



## W1zzard (Feb 4, 2020)

duk6046 said:


> This tweak is need a clean install?


Grab today's v1.4.0, it fixes a bug in the MSI tweak implementation.

A clean install is not needed, but you have to either reboot or restart the graphics driver

You can verify if MSI is enabled by going to Device Manager -> Properties of your graphics card






This screenshots shows classic interrupts enabled (INT 16). Once MSI is enabled, this will become a negative number


----------



## Ed_1 (Feb 4, 2020)

Didn't try 1.4.0 but test beta you sent is working fine, played many hrs of BFV, all good.

BTW I have never "removed" drivers prior to updating them, I just chose "clean install" always in install option.
As posted above any MSI mode changes need a reboot


----------



## duk6046 (Feb 5, 2020)

it seems that was not been applied, i'll try again with v1.4.0. Thanks

Added) v1.4.0 is work fine  without clean install.


----------



## Bronan (Feb 6, 2020)

Works like charm reinstalled the previous driver because my game started crashing almost every 5 minutes (modded Skyrim SE)
Choose todo the most clean install without all the unneeded crap and spyware and it got done just by selecting express install.
So simple that you can install any version you want, i love it


----------



## shaolin95 (Apr 8, 2020)

Hey guys so I only have one PCI device not using MSI..."hd audio enumerator bus driver". I am guessing is better to leave that one as is?
Thanks


----------



## ochevidnost (Jul 16, 2020)

It seems you still need to switch drivers to MSI mode. NVCleanstall only adds support for it?





Also devices in MSI mode do not use usual IRQ's:


----------



## R-T-B (Jul 16, 2020)

ochevidnost said:


> It seems you still need to switch drivers to MSI mode. NVCleanstall only adds support for it?
> 
> View attachment 162350
> 
> ...



It only applies it to the GPU.  As for not using normal IRQs...  that's what MSI mode does.


----------



## W1zzard (Jul 16, 2020)

ochevidnost said:


> NVCleanstall only adds support for it?


NVCleanstall will only change the GPU MSI setting, not HDA device


----------



## ochevidnost (Jul 16, 2020)

I'm not talking about HDA device.
Although NVCleanstall adds GPU MSI setting, device still works in default mode because nvidia driver reset it.
You still need to switch GPU to MSI mode after this, you can check for yourself.
There is open source utility to check & switch MSI setting.








						CHEF-KOCH/MSI-utility
					

A script/tool which tries to improve Windows latencies  - CHEF-KOCH/MSI-utility




					github.com


----------



## TikiThorsen (Sep 22, 2020)

ochevidnost said:


> I'm not talking about HDA device.
> Although NVCleanstall adds GPU MSI setting, device still works in default mode because nvidia driver reset it.
> You still need to switch GPU to MSI mode after this, you can check for yourself.
> There is open source utility to check & switch MSI setting.
> ...


The GitHub page not working, error 404.


----------



## trparky (Sep 27, 2020)

TikiThorsen said:


> The GitHub page not working, error 404.


I saw this too.


----------



## TikiThorsen (Sep 27, 2020)

I attached the file that I downloaded a month ago or so from the GitHub page, in case someone needs it.


----------



## Solaris17 (Sep 27, 2020)

Thats v2.


Attached is the v3 version of that app.


----------



## TikiThorsen (Sep 27, 2020)

Solaris17 said:


> Thats v2.
> 
> 
> Attached is the v3 version of that app.


Oh, even better, thank you!


----------



## Coldblackice (Oct 24, 2020)

So what's the consensus on which, if any, devices should be set to "High" priority? 

And what might be any noticeable effects for something being set as "High" priority vs. undefined? In a best-case/worst-case scenarios, if necessary.


----------



## Chipscout (Oct 31, 2020)

Hi. Thank you for this utility.



DonnerPartyOf1 said:


> Nvidia resets a registry key which disables MSI and forces devices to fall back to legacy INTx mode, presumably for compatibility reasons with their *old nForce motherboards* which are infamous for having a completely broken MSI implementation.


hmm, what about motherboard on nforce 700, should i to use this fix\switch GPU to MSI mode ?


----------



## trparky (Oct 31, 2020)

What I want to know is how the heck are there still old nForce motherboards out there?


----------



## R-T-B (Nov 10, 2020)

trparky said:


> What I want to know is how the heck are there still old nForce motherboards out there?



They didn't die and someone is using them?  Heck there are still 486 based systems out there man (just not many online)


----------



## THU31 (Dec 7, 2020)

This seems to have fixed my problem with presentation glitches during video playback with madVR. I have had that problem since I switched from a GTX 1080 to an RTX 2070 SUPER. Just random presentation glitches which looked like skipped frames.

After doing this, I watched videos for over two hours and it was perfect. If this really is fixed, then it is an early Christmas for me!


Does it make sense to switch the priority from undefined to high for the GPU/HD Audio Controller?


----------



## W1zzard (Dec 26, 2020)

ochevidnost said:


> Although NVCleanstall adds GPU MSI setting, device still works in default mode because nvidia driver reset it.


Which card? I tried to repro this on 3060 Ti with latest drivers and MSI was already enabled.


----------



## THU31 (Dec 26, 2020)

For me the GPU is always in MSI mode automatically after installing the driver with this tweak.

Only the HD Audio Controller defaults to LineBased.


----------



## chrcoluk (Mar 11, 2021)

I noticed this option when using it earlier, and it did confuse me, because on my system by "default" MSI is enabled on my Nvidia GPU, I left the box unticked and it was still enabled after updating the driver.

So the default is system based.  The option should perhaps be renamed to "forcefully enable MSI", as on compatible system's MSI is enabled anyway.


----------



## W1zzard (Mar 11, 2021)

Good idea, has anyone else noticed that this is on by default now?


----------



## Coldblackice (Mar 30, 2021)

Yes, I've also been seeing it on by default now, and was wondering if I was the only one.


----------



## eidairaman1 (Jun 28, 2021)

Wow haven't had to deal with irql in a decade now


----------



## Mussels (Jun 28, 2021)

Seems on by default with a negative number here, generic install without using Nvcleaninstall


----------



## phaolo (Jun 28, 2021)

For me it wasn't MSI by default on Win7 with the old driver v419.17.
And Nvcleanstall with 466.77 failed to set it too, for some reason, so I had to use the MSI utility.


----------



## W1zzard (Jun 28, 2021)

phaolo said:


> Win7


I think there's an issue with NVCleanstall + MSI on Windows 7, I have to admit I only tested on Windows 10, and assumed W7 would be the same


----------



## phaolo (Jun 28, 2021)

W1zzard said:


> I think there's an issue with NVCleanstall + MSI on Windows 7, I have to admit I only tested on Windows 10, and assumed W7 would be the same


If NVCleanstall created a log somewhere, I could check it.
Maybe that's because of the error I was getting about the registry access.


----------



## trparky (Jul 1, 2021)

I keep getting this error message when trying to build a custom installation package.




Doesn't matter where I try to save it, it gives me that error message.

*Edit*
OK, it works fine if you save the resulting custom installation package into the same folder as NVCleanstall is installed in but anywhere else produces that error message. My suggestion is to remove the option to choose a location to save the file if it results in that kind of error message. Better to just save it a default location and be done with it and then allow the user to move it elsewhere after the Explorer window is opened to the location of the file.


----------



## W1zzard (Jul 1, 2021)

trparky said:


> My suggestion is to remove the option to choose a location to save the file if it results in that kind of error message


Seems to be a bug, should be easy to fix


----------



## Tyr808 (Jul 17, 2021)

Coldblackice said:


> So what's the consensus on which, if any, devices should be set to "High" priority?
> 
> And what might be any noticeable effects for something being set as "High" priority vs. undefined? In a best-case/worst-case scenarios, if necessary.



Were you ever able to figure this out? I did a ton of research and found an unsubstantiated claim that it was better, but that's about it.

I see that my samsung NVME drive is on high by default and everything else is undefined. I used to be the type to tweak damn near everything and I do love finding improvements but I'm also more careful about changing things I don't understand these days, haha.


----------



## Chaython (Jul 19, 2021)

Tyr808 said:


> Were you ever able to figure this out? I did a ton of research and found an unsubstantiated claim that it was better, but that's about it.
> 
> I see that my samsung NVME drive is on high by default and everything else is undefined. I used to be the type to tweak damn near everything and I do love finding improvements but I'm also more careful about changing things I don't understand these days, haha.


It's far more important when using virtualization. 
Setting high priority, simply means it's high priority, it takes priority over other interrupts. :s
When running windows in a kvm with vfio, msi interrupt tasking is important. Though enabling msi interrupts in default is more important than priority levels.
If you experience, more frequent audio popping/crackling, it's likely due to higher latency. If your random reads/writes in nvme storage is lower than expected it may be because of latency. 
Setting MSI, allows the device to write an interrupt, without waiting for response, greatly reducing the hiccup/stutter. 
Using VFIO/KVM without a dedicated io thread pin, had hitching in games. Setting MSI made it more stuttery than hitching. :x


----------



## Edwired (Apr 29, 2022)

Quiet interesting to know why my gtx 1050ti oc is hitching and stuttering on Asus P6X58D-E. Just hoping if the MSI util fixes the problem. What happened to the github link and no sign of the v4 file can't seem to find it anywhere


----------



## Aleqaiser (Oct 10, 2022)

Edwired said:


> Quiet interesting to know why my gtx 1050ti oc is hitching and stuttering on Asus P6X58D-E. Just hoping if the MSI util fixes the problem. What happened to the github link and no sign of the v4 file can't seem to find it anywhere


I looked around and apparently, the author's GitHub account was terminated.
He explained the situation on his GitLab account.









						CHEF-KOCH / About my GitHub Account Termination · GitLab
					

Background why GitHub decided to hide my private Account from public. I post it to avoid people smearing my name with misinformation.




					gitlab.com


----------



## Oshim (Oct 18, 2022)

Hi everyone,

Hope I can wake up this thread again...

So I installed the NVIDIA latest driver (522.25) with MSI enabled through NVCleanstall.

I was wondering what those really high IRQ numbers meant - now I know, it's the MSI - below screenshot:





But my question is the following - is it better to keep the GPU with that crazy IRQ number or uncheck MSI in the MSI Utility . exe?

For example I had my HD Audio Driver at IRQ 16 and 17 and I disabled MSI for the GPU and enabled it for HD Audio Driver. The audio driver went to those crazy IRQ numbers and the GPU (RTX 3080) came at IRQ 16 which I feel should be the right place for it without any conflicts.

Please let me know if I am correct or wrong in my assumptions and if wrong please explain why.

Thanks!

P.S. My conflicts look like this, please let me understand if these are real conflicts or nothing to worry about:


----------



## W1zzard (Oct 18, 2022)

It’s a negative number


----------



## Oshim (Oct 18, 2022)

Thanks W1zzard, but does the GPU have to be on a negative number or not?

Thanks!


----------



## W1zzard (Oct 18, 2022)

No idea if it "has" to be on a negative IRQ, I don't think so. Negative IRQ numbers indicate MSI is in use, not an error


----------



## THU31 (Oct 18, 2022)

@Oshim 

Enabling MSI for my GPU has solved several issues for me, like stutters in certain games and frame skips during video playback (these showed up when I switched from Pascal to Turing).

Currently I enable it for all devices and see no reason not to. I also set high interrupt priority for the GPU and HD Audio Controller.


----------



## Oshim (Oct 19, 2022)

THU31 said:


> @Oshim
> 
> Enabling MSI for my GPU has solved several issues for me, like stutters in certain games and frame skips during video playback (these showed up when I switched from Pascal to Turing).
> 
> Currently I enable it for all devices and see no reason not to. I also set high interrupt priority for the GPU and HD Audio Controller.


Does this look right...? 




Also, shouldn't there be any device on the regular (positive number) IRQs?


----------



## THU31 (Oct 19, 2022)

Looks pretty much the same as mine.

This app only shows devices that support MSI, so if you enable MSI for all of them, they will all have negative IRQs. All devices that do not support MSI will have positive IRQs. I have not seen any recommendations to disable MSI for any of the supported devices.


----------



## Sora (Dec 1, 2022)

THU31 said:


> For me the GPU is always in MSI mode automatically after installing the driver with this tweak.
> 
> Only the HD Audio Controller defaults to LineBased.



Nvidia doesn't install a HD Audio controller, it installs an Endpoint driver.





MSI will persist on this device across all nvidia driver updates.



W1zzard said:


> Good idea, has anyone else noticed that this is on by default now?



only Geforce 30 series on desktop, Quadros and notebooks


----------



## THU31 (Dec 1, 2022)

Sora said:


> Nvidia doesn't install a HD Audio controller, it installs an Endpoint driver.
> 
> MSI will persist on this device across all nvidia driver updates.



I always use DDU when updating drivers, so High Definition Audio Controller always resets for me (msi is unchecked and priority changes to undefined).


----------



## Sora (Dec 2, 2022)

THU31 said:


> I always use DDU when updating drivers, so High Definition Audio Controller always resets for me (msi is unchecked and priority changes to undefined).



futile exercise.


----------



## Assimilator (Dec 2, 2022)

My RTX 2070S on Win10 has MSI enabled but a positive IRQ, so the "negative IRQ == MSI enabled" correlation no longer seems correct.


----------



## chrcoluk (Dec 2, 2022)

They dont do this unversally, for years now my Nvidia GPU has defaulted to MSIX.


----------



## THU31 (Dec 2, 2022)

Sora said:


> futile exercise.



Yeah, definitely. That is why the NVIDIA forums are filled with people having problems I never experience, every time a new driver comes out.




Assimilator said:


> My RTX 2070S on Win10 has MSI enabled but a positive IRQ, so the "negative IRQ == MSI enabled" correlation no longer seems correct.
> 
> View attachment 272620



What do you see in Device Manager, when you open the properties of your GPU, go to the Resources tab and scroll down?


----------



## Mussels (Dec 3, 2022)

Assimilator said:


> My RTX 2070S on Win10 has MSI enabled but a positive IRQ, so the "negative IRQ == MSI enabled" correlation no longer seems correct.
> 
> View attachment 272620


Is your GPU sharing any PCI-E lanes with anything? (Running 8x mode)


----------



## Assimilator (Dec 3, 2022)

THU31 said:


> What do you see in Device Manager, when you open the properties of your GPU, go to the Resources tab and scroll down?









Mussels said:


> Is your GPU sharing any PCI-E lanes with anything? (Running 8x mode)


Nope:


----------

