Skip to content

Draft: Add Support for Display Hardware/engine based adaptive sharpening.

Adarsh G M requested to merge adarshgm/mutter:adaptive_sharpness_filter into main

Summary:

  • This draft MR intends to provide basic support to the Display hardware based adaptive sharpening feature which can be found in Introduce drm sharpening property
  • User space is expected to provide filter strength value via the exposed CRTC property, kernel would apply the required scalar and compute filter-coefficients w.r.t to user provided filter strength. The adaptive sharpening would be applied post Pipe blending in the display engine pipeline.

Implementation in Mutter:

CRTC Support:

  • An UAPI as Pipe/CRTC property would be exposed to the user space to get required filter strength value ranging from 0-255, CRTC support is required from mutter.

Options for user to enter the filter Strength value:

  • Provision for user has been provided to update the required value of filter strength with help of the JS based debugging tool lg (looking glass).

To open looking glass tool :

  • Open run prompt (Alt + F2).
  • type 'lg', press enter.

Use the following command to pass the desired value of filter strength from lg console.

to pass the value n :

global.compositor.backend.get_monitor_manager().adaptive_sharpness='n' where n ranges from 0-255, where '0' means feature is disbaled, no sharpnening would be applied.

example:

to pass 100 : global.compositor.backend.get_monitor_manager().adaptive_sharpness='100'

to pass 200: global.compositor.backend.get_monitor_manager().adaptive_sharpness='200'

Edited by Adarsh G M

Merge request reports