Skip to content

Improved backlight#1

Closed
rexxar-tc wants to merge 1 commit into
wmt-os:wmt-6.12.yfrom
rexxar-tc:backlight-pwm-25khz
Closed

Improved backlight#1
rexxar-tc wants to merge 1 commit into
wmt-os:wmt-6.12.yfrom
rexxar-tc:backlight-pwm-25khz

Conversation

@rexxar-tc

Copy link
Copy Markdown

The previous version drove the backlight PWM at about 6 kHz. On my unit, this caused the coils to resonate at the second harmonic, resulting in a horrific 13 kHz squealing. This version pushes the PWM up to 25 kHz, which should be inaudible to most humans.

Additionally I've adjusted the brightness curve. On my unit, the backlight cuts out completely at level 5. The new values shift level 1 down to the very minimum the backlight will go before cutting out, resulting in 16 even brightness levels instead of 11.

This was tested on a SYNET07526, but I assume it should translate to most other models. Though I expect the brightness curve may be model dependent.

@lrussell887

lrussell887 commented Jul 12, 2026

Copy link
Copy Markdown
Member

This has already been fixed in the dev branch. See 9824000.

A dramatic amount of work is being done behind the scenes preparing for launch, the two branches are very different now. Essentially the wmt-os master branch and linux-wmt 6.12.y branches are paused in place while I work on everything in the wmt-os dev and linux-wmt wmt-dev branches, containing the entirely new build system and kernel work. I'm hoping to have the first official WMT OS release out within the next week or so.

That being said, I have a few of these units, including the SYNET07526 and the SYNET7WID, and the default brightness of 5 (128 out of 255) is tested to work perfectly fine with the same 25 KHz adjustment I made, not even "dark" but as a comfortable higher-than-mid level brightness. 40 was picked as the lower-bound cut off because that is genuinely what tested across multiple of my units as a usable minimum brightness, and the rest calculated on a gamma curve. I can genuinely see all of my displays still at level 1. I did cut down to 7 brightness levels in my version for more variation betwen steps as, on the high end like you have, there's simply very little variation in the backlight. Those values you chose would essentially peg my devices to near-full brightness all the time. So... all that's to say, very odd.

On a related note, the dev kernel also only powers the speaker amplifier when it's being used (DAPM) so the buzzing from the speaker has been fixed too.

@lrussell887

Copy link
Copy Markdown
Member

Closing this out. Your report ended up reshaping the brightness curve in dev, just not with these values.

Since your numbers didn't line up with any of my units, I drove the PWM duty directly across my hardware. The usable floor varies wildly even between externally identical units: one of mine is usable down at 10/255, another needs around 40, and yours reports around 106. I don't believe this is a defect, but rather material variance in the LED boost driver across units, with different ones putting their effective curve in different parts of the duty range. My primary unit has its most dramatic brightness changes from 10 up to about 108 of the new table, and above that the differences get hard to discern. Your unit seems to have its floor at about that same point, so it sits at the other end of the spectrum.

Dev now uses brightness levels ranging from 10 to 255, with the default raised to 166 so every observed unit boots visibly lit. See 85ceb59. On your hardware the bottom levels will be dark, leaving about 5 usable steps. The steps are sized to be clearly visible per press across the whole 10 to 255 span, so a 106 to 255 window only holds a third of them. A ladder tuned to your window alone would give finer control there, like the 16 steps you proposed, but it would cost the low-floor units their entire dim range, or otherwise bloat the number of dead values across units.

This change will be present in the first WMT OS release images. If you'd like to test a pre-release build, let me know, I'd like to hear how the new curve works on your unit since it's the part I can't test here. Otherwise, I'll consider this resolved. Thank you for the report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants