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.
Falkentyne
Posts: 2788
Joined: 26 Mar 2014, 07:23

Re: Acer S271HL software-only strobed backlight

Post by Falkentyne » 23 Oct 2015, 04:08

An ancient bump, but are you still here, blargg?

The Benq XL2730Z uses a realtek 2796B scaler, so your protocol should also work on this monitor.
Since this is a FREESYNC monitor and blur reduction is
1) horribly buggy; VT tweaks don't work to lower strobe crosstalk at all (even though the monitor's debug menu shows the VT is active, from 1449 up to 1849)
2) can not strobe in sync under 120hz, strobes at 120hz pulse phases even at 100 hz, 110hz, etc
3) at the very least, this could restore the 100hz and 60hz single strobe vsync+strobing that is currently non functional on the XL2730Z.

It should be possible to combine your method with freesync. But would this work with variable refresh rate that can change every millisecond?

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: Acer S271HL software-only strobed backlight

Post by Sparky » 23 Oct 2015, 14:09

The Benq XL2730Z uses a realtek 2796B scaler, so your protocol should also work on this monitor.
I can't even find a datasheet on that chip, so it's hard to say if it can be programmed to do what's needed.
But would this work with variable refresh rate that can change every millisecond?
That's a hard problem, unless you don't care about flicker or brightness changing with framerate.

First, consider that you have to go from a high frequency(1 khz +) PWM signal at say 85hz, to a synchronized low frequency PWM at 120hz. Ideally you can get away just lowering the duty cycle on the HF PWM, and increasing the duty cycle on the synchronized pulse.

Second, consider the fact that variable refresh monitors were having trouble with flicker even without the backlight pulsing, so your HF duty cycle need to account for how long it's been since the last two refreshes, the panel characteristics, and the desired brightness, and your LF pulse needs to be in a carefully chosen phase offset, perhaps a fixed time after a new frame comes in.

I think the easiest thing to do would be to get two monitors, put one at x% brightness with a fixed refresh rate, then put your test monitor next to it with the same image/test pattern, and slowly step though the monitor's refresh range while tweaking the proportion of LF to HF PWM and adjusting duty cycle to match the other display's apparent brightness. Maybe you can figure out some formula or algorithm that provides the best results, maybe you just use a big ass table to set the timings for each combination of brightness, refresh interval, change in refresh interval, and overdrive.

RLBURNSIDE
Posts: 104
Joined: 06 Apr 2015, 16:09

Re: Acer S271HL software-only strobed backlight

Post by RLBURNSIDE » 15 Jun 2016, 07:56

First off, great work.

I could care less about 60hz LCDs since I'll never buy / own one again, but perhaps this kind of thing will open the door towards more open standards that can be used in future 60hz or even 120hz / 144hz monitors and especially TVs which even UHD models can't even achieve FHD motion resolution due to image persistence.

For VRR / Freesync / Gsyng + PWM modulation for low-persistence:

If the PC is the thing that's driving the PWM pulses, and can do it accurately, then you could intercept Present calls in DirectX using a wrapper / injection DLL and adjust the PWM then to be varied with each new new frame. You could adjust for any minor latency by inserting a tiny bit of latency in the wrapper on purpose (like <1ms or whatever the PWM circuitry needs) in order to sync them up.

Of course for VRR you can easily have large swings in framerate / frame time from one frame to the next, so for low persistence you need the persistence to be at a fixed % of each frame's duration, not a fixed duty cycle in miliseconds which is what static refresh rate ULMB monitors use.

But if you incorrectly estimate the current frame time, you could compensate for errors in duty cycle value for this frame at the next frame, and carry the remained forward that way, to achieve that fixed percentage which would keep the brightness uniform over time.

The problem of tuning a PWM algorithm for VRR compatibility has immediate applications in VR for low persistence and can be adapted to OLED or any other sample n hold / progressive scan displays.

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: Acer S271HL software-only strobed backlight

Post by Sparky » 15 Jun 2016, 09:24

RLBURNSIDE wrote: Of course for VRR you can easily have large swings in framerate / frame time from one frame to the next, so for low persistence you need the persistence to be at a fixed % of each frame's duration, not a fixed duty cycle in miliseconds which is what static refresh rate ULMB monitors use.

But if you incorrectly estimate the current frame time, you could compensate for errors in duty cycle value for this frame at the next frame, and carry the remained forward that way, to achieve that fixed percentage which would keep the brightness uniform over time.
You still need to seamlessly transition to a high persistence mode at low framerates, otherwise the monitor will be unusable due to flicker. for example, at 60fps 20% brightness you might turn the backlight off when you start scanning a frame out to the panel(from t= 0 to 8ms), pulsing the backlight to full intensity after the pixels transition(from 8 to 10ms), then leave the backlight at 20% intensity until the start of the next frame(10 to 16.6ms) As refresh rate/framerate drops, the 20% intensity duration gets longer, and maybe takes over entirely.

User avatar
Espionage724
Posts: 6
Joined: 13 Jul 2022, 15:45

Re: Acer S271HL software-only strobed backlight

Post by Espionage724 » 29 Jul 2023, 11:07

I have this screen and use Linux, I'm interested in trying this! Any commands? I'm on mobile so sorry if I missed any. I also have a SOIC8 clip if that's needed to mess with a hardware chip.

I have it OC'd to 74hz from the video kernel parameter and did 75hz via modeline and CRU on windows.

Post Reply