[Thinkpad Tablet General] matshias:
Why Yoga tablet 2 screen looks so blurred and sharpened at the same time

Have you been wondering why your screen on the 10" Yoga tablet 2 with KitKat doesn't look really crisp even with some obvious sharpening applied? Here is why!

Lenovo screwed up twice!

1. Blur filter is applied. (KitKat ONLY) The BIOS/bootloader defines wrong display resolution. The Intel graphics driver (i915) gets confused and switches on panel fitting which includes a blur filter (fuzzy filter). Normally this is used if the display resolution is different from the frame buffer resolution to scale the image. Here the device just scales 1:1 and applies the filter. Luckily the driver is open source and it turns out there is a way to overwrite this feature No longer true for Lollipop. Thanks Lenovo

2. Sharpen filter is applied. (KitKat and Lollipop) The panel is not programmed correctly. When disabling the CABC feature (/sys/lcd_panel/cabc_onoff) the sharpening effect is gone. But CABC should have nothing to do with sharpen. Unfortunately the specs of the display (AUO B101UAN01.E) are not public so I cannot verify if the correct MIPI DSI commands are sent to the panel.

So our display is softened then sharpened again! What a waste!

Both workarounds are only temporary. After each screen off/screen on sequence the old values are restored by the system. So we need an app which sets the values after the screen is switched on. Or a new kernel. Or Lenovo cares to fix it in a future release ;)

Fix (Root partially required)

I wrote an app which can disable CABC / sharpness filter (requires ROOT) and can disable the blur filter (KitKat, no root required) . Of course I am not held responsible if you brick or burn your tablet. I tested this on my 1050F with rooted firmware S000143_150105.

1. Copy app to device and install

2. Start app and select your setting

3. The settings may apply only after switching screen off and on again.

Source on Github:

http://github.com/Matshias/yoga2sharpness

Bugs / issues

- may not work directly after reboot, only after screen on/off

- fullscreen video may switch on CABC/sharpness filter again

Any suggestions? I'd be really happy if you could test and report

Cheers!

Matt

Update Jan 21

make more reliable and add complete source

Update Jan 26

Reliable implementation as app which automates this process.

Update Jan 30

new version 1.1 (please uninstall old version!):

- add option to start at boot and enable/disable applying the settings at screen on for manual operation

- add little delay after screen on for more reliable operation

- app should be harder to kill by the system

Update Feb 2

new version 1.1.1:

- Fix occasional reboot issue when using the setting on display on. Turns out Android sends screen on broadcasts sometimes even if the display is off. This causes a crash if the filter settings are applied.

Update Feb 11

new version 1.1.2 (please uninstall old version):

- hopefully ultimately fix reboot issues by using different method to start on boot

Update Apr 30

tested with new firmware S000198_150422. Same as before. Lenovo has not fixed the issue, but the app works like before

Update June 3

New version 1.1.3:

- fix full screen video playback re-enabling CABC/sharpness filter. As for CABC itself root is required.

Update June 17

Update for Lollipop version 1.2.0:

- blur filter disable no longer needed

- sharpness filter is still present. If root becomes available for Lollipop this should work there too

Update June 19

Fix for rooted Lollipop - version 1.2.1:

- the mechanism for sharpness filter disable from 1.2.0 didn't work, probably due to SE Linux restrictions