NB: This would have been posted in answer to this or this but unfortunately these posts are archived, so it's not possible to comment on them... And when I tried to create a topic in reddit's /r/OLED community, the moderators shadowremoved the post without providing any explanation. Way to create a welcoming community, guys...
PREAMBLE
Now, before people jump on "It's there for a reason - You should not disable the LG Pixel Refresh!" bandwagon, let me explain my reasons for doing so:
• I have been the happy owner of an LG OLED65CX for the past four years, but, over the last few months, it has started to develop the dreaded TV not turning on on first try issue (1)(2) (which is absolutely maddening in terms of LG having completely let their customers down on an otherwise great product, through shoddy PSU hardware design - The Samsung LCD TV I had before that and which this LG OLED replaced, is now 17 years old but powering up and working fine for crying out loud!). Coincidentally, the power issue started to happen around the 2000 hours panel usage mark.
• Which means that the TV can no longer properly turn on from standby after it has been off for a while.
• Which means that the long form Pixel Refresher is unable to run altogether.
• Which means that, every time I shut down or (eventually manage to) power up the TV, I get the reminders about the Pixel Refresher, which I cannot do anything about!
• And of course, I have tried running the Pixel Refresher manually, but even a manual run still waits for complete standby before running it, which means it still has the same issue as trying to run through the scheduler, as the TV can simply no longer power itself up on first attempt.
So, yes, when you don't have any other choice, there do exist legitimate reasons why you may want to disable the Pixel Refresher.
And, yes, it is possible to accomplish just that (at least on OLED CX models, I obviously cannot vouch for any other model) provided that you have enabled root access.
DISCLAIMER
THE COMMANDS BELOW ARE FOR ADVANCED USERS ONLY AND ARE PROVIDED WITHOUT ANY WARRANTY OF IMPLIED FITNESS FOR A SPECIFIC PURPOSE. SHOULD YOU DO CHOOSE TO RUN ANY OF THESE COMMANDS, YOU ACCEPT THAT THERE EXISTS A RISK THAT THEY MAY RESULT IN HARDWARE DAMAGE AND/OR LOSS OF WARRANTY, AND AGREE THAT THE ENTIRE RESPONSIBILITY OF RUNNING SAID COMMANDS LIES ENTIRELY WITH YOU.
COMMANDS TO DISABLE/TWEAK THE LG PIXEL REFRESHER
• Log on to your OLED TV as root through ssh/telnet and issue the command:
luna-send -d -n 1 -f "luna://com.webos.service.oledepl/getPixelRefresherInfoList" '{ "subscribe": false }'
This should return something like:
{ "jbInterval": 2000, "returnValue": true, "jbLastTime": 0, "offrsInterval": 4, "offrsCount": 427, "offrsLastTime": 2030, "subscribed": false, "jbCount": 0, "pnwashKeyLock": true }
• If it doesn't return anything, STOP and don't proceed any further, as your model or firmware is using a different way of controlling the Pixel Refresher from what I am describing.
• In the above, jb
is the prefix for the "long form" Pixel refresher, that is scheduled every 2000 hours (jbInterval
) and offrs
is the "short form" Pixel Refresher that runs every 4 panel usage hours
or so. Obviously, the one that is of interest to us, since it's the one
that produces the popups, is the jb
one.
• At this stage, you have 2 ways to approach the issue. You can either increase the interval at which the long form Pixel Refresher is scheduled to run. For instance, you can set it to 4000 hours by issuing:
luna-send -d -n 1 -f "luna://com.webos.service.oledepl/setPixelRefresherInfoList" '{ "jbInterval": 4000,"subscribe": false }'
• Or you can tell the system that the long form Pixel Refresher has run, by issuing:
luna-send -d -n 1 -f "luna://com.webos.service.oledepl/setPixelRefresherInfoList" '{ "jbLastTime": 2000, "subscribe": false }' luna-send -d -n 1 -f "luna://com.webos.service.oledepl/setPixelRefresherInfoList" '{ "jbCount": 1, "subscribe": false }'
For good measure, I ran both on my model, and I was finally free from annoying Pixel Refresher reminder popups. Of course, this doesn't do anything to solve the major issue that appears to affect many CX models, including mine, with powering on the panel, but if, for whatever reason, you are looking at a means to tweak or disable the LG Pixel Refresher (on CX and similar models) now you know how to do it.
Oh and in case you want to explore what other commands the com.webos.service.oledepl
provides, you can also issue:
ls-monitor -i com.webos.service.oledepl
It should also be noted that com.webos.service.oledepl
is actually mapped to the /usr/sbin/eplmanager
executable, which you can also run manually with the -d
(Debug) option if you are feeling adventurous, but I REALLY wouldn't advise to do so, as you can probably break your TV beyond repair if you try things at random there, whereas the luna-send
are assumed to have some form of validation...
Hi!
ReplyDeleteI'm having the same problem with an LG OLED65CX9LA with firmware 04.50.90
The power board is defect since some time and I have used a switchable socket to power the TV off completely.
When powering the TV again there is a small time window were I can turn the TV on and then it is working fine until the TV is switched off again.
Since a few days the next 2000h pixel refresh popped up but cannot complete as you already wrote.
The small pixel refresh works fine (can hear that with the switch clicking after some minutes when turning off the TV and see it on the LED of a connected USB device which switches off later when the small pixel refresh has finished)
It seems that root has been patched for my firmware version.
Do you see any chance to tweak the pixel refresh values in my case?
I assume the service menu access would not help?
And the "WebOS command line access for remote control" would also to help.
Could I maybe downgrade the firmware to get root?
Or do you have any other idea?
Thanks in advance for your help.