Acer S271HL software-only strobed backlight

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers & Advanced Display Articles on Blur Busters. The masters on Blur Busters.
blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Acer S271HL software-only strobed backlight

Post by blargg » 29 Sep 2014, 19:20

tl; dr: Acer S271HL software-only non-permanent 60Hz v-synchronizeed strobed backlight with brightness control, LCD overdrive reduction, and also more control over normal PWM dimming, using standard i2c bus

I did some probing and figured out how to configure a strobing backlight and reduce overdrive/RTC to be almost perfect on my Acer S271HL LED monitor, all through DDC/CI writes over the i2c bus, without any hardware modifications. The PC has complete control over all the hundreds of registers in the driver chip. My previous hardware modification is unnecessary. Things can be adjusted in real-time and no permanent changes are made to the monitor firmware.

I'm doing this on Linux at the moment with the i2c-dev library, though it should work on any OS that gives low-level i2c control. Or, if you modified a video cable to use an Arduino, FTDI, etc. for the two i2c lines, you wouldn't need OS support (I used this approach first, then made it work on the standard Linux library).

This approach should work (with some adjustments) on many LED LCDs that use the Realtek driver chip. With some work this could allow a lot of people to use common LED LCD monitors to get blur-free 60Hz video. I've considered modifying the firmware, but that is risky and would be very specific to this monitor model and build. It's actually easier to have the PC reconfigure it on the fly, rather than having to go through the tedious OSD and controls on the monitor.

One other minor feature is that the backlight can also be dimmed more than the OSD allows, good for night time use where you don't want an overly-bright screen. The PWM rate can also be increased beyond the standard 1kHz, for whatever it's worth.

With strobing, eye-tracking gives virtually no blur:

Image

Ghosting is very faint with my overdrive adjustment:

Image

The stock overdrive settings cause bad overshoot:

Image

Album with high-res pictures.

flood
Posts: 929
Joined: 21 Dec 2013, 01:25

Re: Acer S271HL software-only strobed backlight

Post by flood » 29 Sep 2014, 21:13

do you know how long the strobes are? that first image looks amazingly clear

blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Re: Acer S271HL software-only strobed backlight

Post by blargg » 29 Sep 2014, 22:01

I think I was using 1ms for the first one. I can go down to about 0.5ms and it's somewhat dim. I'll try to get some (manual) pursuit shots with various delays. If I could get the more reliably I'd take more. Most of the time I don't track it perfectly and it's blurry.

EDIT: I added pursuit photos for 0.5ms, 1.0ms, 4.0ms, and 16.67ms (non-strobed).

blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Re: Acer S271HL software-only strobed backlight

Post by blargg » 08 Oct 2014, 18:31

I couldn't help but dump the firmware and come up with a patch to add this to the monitor. That's done and working great. Brightness 20-100 acts like normal, giving the standard 1kHz PWM dimming, only with an extended range where 20 gives a lower brightness than even 0 did before. Brightness 19 gives the same as 20, only with 60Hz strobing at 1ms. Brightness 0 gives the brightest strobing, at around 5ms. And of course DDC/CI can be used to adjust brightness without having to use the OSD. Also RTC (overdrive) is adjusted to give minimal after-images, unlike the default which gives them even with a non-strobed backlight. They really screwed up calibrating RTC for this model.

I didn't mention before, but this by no means perfect. Near the bottom 1/5 of the screen, there is slight after-image, noticeable when a 2D game is scrolling left/right. About the top 1/10 of the screen has some slight after-image as well. These are both due to the strobe catching the LCD a little before it's fully settled (bottom), and a little into it just changing (top). It's night-and-day compared to without strobing. I can toggle it and it's like the whole game becomes blurry without strobing. No way I'll go back to no-strobed.

Unfortunately I just couldn't find a way to do the firmware patch without opening the monitor and temporarily bridging two pins while I wrote the changes to flash. It *should* be possible to do so entirely via a program on Linux over DDC/CI, but I wasn't able to figure out how to drive the /WP pin of the controller high via software (it only ever acted like an open-drain output, which suggests that my lack of a datasheet for the particular chip meant that I didn't have the proper pin configuration flag documentation).

Now, I'm wondering whether 60Hz non-scanning strobing is going to hurt my eyes. I'm testing for an hour or so each day at 60Hz strobed playing games on a GBA emulator and seeing how it affects me.

flood
Posts: 929
Joined: 21 Dec 2013, 01:25

Re: Acer S271HL software-only strobed backlight

Post by flood » 09 Oct 2014, 04:18

Near the bottom 1/5 of the screen, there is slight after-image, noticeable when a 2D game is scrolling left/right. About the top 1/10 of the screen has some slight after-image as well.
have you tried messing around with the "vt trick"?

blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Re: Acer S271HL software-only strobed backlight

Post by blargg » 09 Oct 2014, 05:14

I've extended the vertical lines by 7% (from 1125 to 1200):

Modeline "1920x1080" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync -vsync # old
Modeline "1920x1080" 167.03 1920 2048 2248 2320 1080 1143 1148 1200 -hsync +vsync # new

I forgot to try finding and disabling the Hx1200 resolutions in firmware to see if I could up this more (monitor is 1080p so the 1200 resolutions are pointless).

blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Re: Acer S271HL software-only strobed backlight

Post by blargg » 14 Oct 2014, 00:39

Thanks for reminding about the vt (v-time) tweak. I located the supported resolutions in the firmware and erased the Hx1200 entries (just copied another entry over each) so that I could use unlimited total vertical size. I used a 173MHz pixel clock as the limit for now, as this is the standard CRT 1920x1080 pixel clock that it probably supports. I was able to get V total up to 1387, giving a 3.7ms blanking period (using a 1ms strobe). This makes a noticeable reduction in after-images near the bottom of the screen, since the LCD has more time to respond.

blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Re: Acer S271HL software-only strobed backlight

Post by blargg » 18 Oct 2014, 20:21

I finally came up with a way to adjust the strobe to begin slightly before vsync, without any extra hardware. The Realtek LCD interface chips have several channels of PWM. These output a pulse of adjustable length (duty) repeatedly at a settable period. These also can optionally be reset on each vsync. Before this improvement I was setting the period to be very long so that they acted like one-shot pulse generators, and setting the pulse to 1ms. This gave a strobe just after vsync:

Image

Since having the pulse begin before vsync means an extra degree of freedom, I wondered how I could even do this with only the pulse length (duty) control. Then I realized that the period is that extra degree of freedom that I wasn't taking advantage of. By setting the period to less than a frame length, a second PWM pulse will come before the next vsync pulse. Then before that early pulse is done, vsync will occur and reset the PWM, adding 1ms to the pulse:

Image

This is exactly what we want. We get a pulse that starts an adjustable amount before vsync, and runs a (separately) adjustable amount after vsync. Note that there is a limitation that no more than 50% of the pulse can occur before vsync (i.e. 50/50 before/after is possible, 25/75, 10/90). In tests having it divided 50% is sufficient. The pre- and post- vsync lengths can be made to 0.5ms so that the total pulse is only 1ms, as it was before.

I've found that the vsync reset most likely occurs at the end of vblank, just as the top scanline of the LCD panel is about to be updated. This seems to be regardless of where the vsync pulse occurs in the incoming (PC-side) video signal.

This technique should be useful on any monitor with a similar PWM arrangement and user-added strobing as I've done. I've researched a little and at least one run-of-the-mill HP (2711x PCB) and ViewSonic (VX2453MH PCB) LED LCDs use a Realtek chip like this Acer.
Last edited by blargg on 21 Oct 2014, 14:12, edited 1 time in total.

Q83Ia7ta
Posts: 761
Joined: 18 Dec 2013, 09:29

Re: Acer S271HL software-only strobed backlight

Post by Q83Ia7ta » 19 Oct 2014, 10:26

Great work. What you think about making 144Hz models to 240hz? Will be overdrive missed if it's possible?

blargg
Posts: 66
Joined: 20 Sep 2014, 03:59

Re: Acer S271HL software-only strobed backlight

Post by blargg » 21 Oct 2014, 14:06

I don't know much about overclocking. This Acer monitor is just a normal 60Hz non-gamer monitor, not anything special.

Post Reply