Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

IntelPWMControl

Vasya_P_
Beginner
8,765 Views

Hello.

I use a laptop and he had problems with the screen (like most): screen "flickering" with decreasing brightness. Previously the program IntelPWMControl is very good work, but in the latest versions drivers she stopped working. "Microsoft Visual C++ Runtime Library Assertion Failed"

0 Kudos
16 Replies
Vasya_P_
Beginner
8,764 Views

This is NOT a bug of the framework, it appears only on the latest drivers, everything works on older
How can I fix it?

0 Kudos
Bernard
Valued Contributor I
8,764 Views

I do not think that this is a proper forum for your question. You can post your question on commercial forum.

0 Kudos
FIrstNameIsPrivate_L
8,764 Views

I'm glad someone else has posted this problem.

This is not a question for commercial purposes. It is simply that we are users of laptops that use Intel Integrated Graphics that come with Intel Ivy Bridge series and newer CPUs and some manufacturers (such as Lenovo and Dell) use a relatively low frequency PWM to lower LED backlight brightness.

Although it is not noticeable for some users, it is very noticeable to some of us of who do software development and are in front of the LCD for long periods of time.

On some russian forums, there surfaced a utility called IntelPWMControl that used a COM API exposed through the CUI COM (ICUIPower) that allowed us to set the LED backlight PWM frequency. Setting it to 600 Hz really reduced eyestrain for extended use and made the experience much better.

Sometime in 2014, the CUISDK COM server appears to have been replaced/removed with a .NET-based service (not sure) and the old COM API CLSID was no longer registered, so the utility stopped working.

Without resorting to any sort of ugly hackery to try to reverse the new CUI Power API (if it even exists) to do this again, couldn't Intel provide us with a way (even if unsupported) of exposing this functionality ?

 

0 Kudos
Patrick_F_Intel1
Employee
8,764 Views

Is this utility from Intel or does it just have Intel in the name? If it is from Intel, can you point me to some Intel web page from which it can be gotten? Googling 'IntelPWMControl' doesn't seem to show anything trustworthy.

If the problem is a library dependency (like maybe an older msvc runtime dll), you can check dependencies of a binary with:

dumpbin /dependents your_bin.exe

or

dumpbin /dependents your_binary.dll

Good luck,

Pat

0 Kudos
John_S_10
Beginner
8,764 Views

Patrick Fay (Intel) wrote:

Is this utility from Intel or does it just have Intel in the name?

Hello. It just have Intel in the name, AFAIK. Here is archive with two binaries (x86 and x86_64), C++ source file, and a readme. Utility works well with Intel drivers ver. 10.18.10.3496 on my system, but doesn't work with the latest drivers. It really does a good job, please help to modify it to work with latest drivers, if you can.

0 Kudos
Laurence_C_
Beginner
8,764 Views

Can somebody from Intel help with this issue? This is a serious health problem for allot of people, including myself. We really need to have the ability to adjust the backlight PWM in order to prevent migraines, and other issues. Can this be added to the drivers as a setting? Dell has a tendency to set the backlight refresh to 200hz, which is way to low. Setting the screen to full bright is not an option since that is way to bright. 

Forums have been mentioning this problem for a couple years now, backed with data. The utility mentioned above is from one of those forums. Below is a forum that explains the issue in great detail. 

More sites:
http://www.retropcmania.com/2012/11/pulse-width-modulation-in-lcd.html
http://www.eizo.com/library/basics/eyestrain/
http://hardforum.com/showthread.php?t=1776591
http://www.tftcentral.co.uk/articles/pulse_width_modulation.htm

Please help your customers be healthy and able to work. 

0 Kudos
Laurence_C_
Beginner
8,764 Views

Duplicate

0 Kudos
Vasya_P_
Beginner
8,764 Views
I'm still waiting for the result...
0 Kudos
Daniel_G_1
Beginner
8,764 Views

I just think Intel doesn't care about this.

I also have problems with PWM and my monitor and a year ago I started project for eye protection called Iris(http://iristech.co)
We fixed the problem with PWM. I don't want to go into technical details, but we control it with software with the help of video card.
Basically you set your hadrware brightness to the MAX and then you use Iris for controlling your brightness. It's WIN WIN, dimmed monitor without PWM. And it works on every monitor, OS, chipsed, video card, etc :D

Actually some video cards have restrctions for this, but we hacked it and added a button to Expand color range. You click it restart and your eyes will be like new from now on :)

Untitled.png

Untitled2.png

Iris also has automatic brightness feature. Which detects sun positioning and gradually decreases brightness throughout the day until night the gradually increases it :)

Now the plan is to write drivers for different chipsets to control also the PWM so we can set it to really hight values and this combined with the software brightness controlling will be just killer! :D

Actually this is the reason why I get to this article. This IntelPWMControl thing is interesting. Maybe we will write our own drivers :)

Hope this post helps someone :)

0 Kudos
Alexander_S_3
Beginner
8,764 Views

I was looking for a solution to the same problem and found a very simple tool which does exactly what's required - allows to change PWM frequency.

Check out the repo on github or its forks. (Remember though that the software is open sourced and delivered as is, and nobody is responsible for the consequences except you!)

What I don't know is the frequency that is supposed to be safe for the hardware... People talk about 600Hz, 750Hz, 1200Hz and even 20000Hz... It would be great to have a word from a technician.

0 Kudos
Lorenzo_E_
Beginner
8,764 Views

Alexander S. wrote:

I was looking for a solution to the same problem and found a very simple tool which does exactly what's required - allows to change PWM frequency.

Check out the repo on github or its forks. (Remember though that the software is open sourced and delivered as is, and nobody is responsible for the consequences except you!)

What I don't know is the frequency that is supposed to be safe for the hardware... People talk about 600Hz, 750Hz, 1200Hz and even 20000Hz... It would be great to have a word from a technician.

Sadly this program don't work on windows 7 (on a ivy bridge laptop). It starts but when changing the pwm frequency nothing happen.

Any other solution?

Thanks

0 Kudos
Lorenzo_E_
Beginner
8,764 Views

I've created a simple command line app that works on windows 7 (if recompiled with the igfxDHLibv2_0.dll from win10 intel drivers it should works also on windows 10):

https://github.com/Kappa71/PWM

See the read me on github.

The only problem is that the PWM frequency seems to be limited at 10kHz, if set >10KHz the pwm frequency is accepted but the actual frequency remain 10kHz (checked by the "whistle" tone of the screen). It's a little sad because the whistle is quite annoing from 2000 to 10khz and my LCD screen accept pwm frequencies up to 20kHz. An higher frequency (>14kHz) remove the whistle noise (checked with the old driver and the old IntelPWMControl).

0 Kudos
Alexander_S_4
Beginner
8,764 Views

well... I made another fork of that tool which can restore last frequency set. to make it run Windows startup is easy. so once I set PWM freq to 2000 Hz and forgot about the problem. tested on my ASUS laptop with Windows 10 64bit

0 Kudos
Tigran_Z_
Beginner
8,764 Views

Hi everyone,

Is there a version of that program which will run on a windows 7 32 bit? I really need this program to test if my eyes get relaxed when I tune the PWM.

0 Kudos
Despres__Michael
Beginner
8,764 Views

Alexander and Lorenzo,

I was wondering if either of you might have any advice for getting any of the pwc control programs to work on my system. I have a Dell 5285 (Windows 10 pro), with intel 620 integrated (set at 200 Hz). After downloading the various programs, I extract them in my downloads folder and run them using command prompt, but when I change the frequency there is no noticeable change (observing the screen flicker through a digital camera). Wanted to check if I was perhaps doing something incorrectly or if there is a step I'm missing. Many thanks in advance.

Best,
Michael

0 Kudos
V__Ivan
Beginner
8,764 Views

Thank you very much!

I've just successfully used it on Dell e6430 with Intel HD4000 card and the latest graphic driver: 10.18.10.5059

Everything was downloaded from the link: https://github.com/Kappa71/PWM

As a result there is no PWM. I've set the frequency to 10000 and checked the results in both ways:
- using the pen, shaking it in front of the screen
- using slo-mo video recording (240 FPS) in iphone
Both methods show no observable PWM

Thanks!

Lorenzo E. wrote:

I've created a simple command line app that works on windows 7 (if recompiled with the igfxDHLibv2_0.dll from win10 intel drivers it should works also on windows 10):

https://github.com/Kappa71/PWM

See the read me on github.

The only problem is that the PWM frequency seems to be limited at 10kHz, if set >10KHz the pwm frequency is accepted but the actual frequency remain 10kHz (checked by the "whistle" tone of the screen). It's a little sad because the whistle is quite annoing from 2000 to 10khz and my LCD screen accept pwm frequencies up to 20kHz. An higher frequency (>14kHz) remove the whistle noise (checked with the old driver and the old IntelPWMControl).

0 Kudos
Reply