Display Scaling#

NVIDIA DriveOS supports a variety of downscaling configurations; it is possible to issue flip requests that contain surfaces larger than the display region they occupy. For example, in a 1920x1080 60Hz mode, a flip can be issued with a 1920x1080 surface and 2x horizontal and vertical downscaling. This results in a 960x540 rendition of the surface being displayed.

The downscaling is specified implicitly by the sizeIn and sizeOut members of the NvKmsFlipCommonParams struct. The ratio between sizeIn and sizeOut in each direction indicates the downscaling factor in each direction. The downscaling in each direction should not exceed 4x. Additionally, only FULL windows support scaling; LITE windows do not support scaling, so the sizeIn and sizeOut values should match for LITE windows.

Determining Scaling Configuration Possibilities#

To check if a scaling configuration is possible:

  1. Prepare a .json file and use the "input" and "output" fields of each window to implicitly specify the scaling. For details about configuring the .json file, see Static IMP.

  2. Attempt to generate the DT files with the laptsa-imp tool, for example:

    $ laptsa-imp t264 impdt:linux display-config.json
    

    If this fails, the input scaling configuration is not possible. For details about using the laptsa-imp tool, see Static IMP.

  3. Check that the hub-clock-khz and disp-clock-khz values do not exceed the maximum values as specified by the relevant power profile in Hub and Disp Clock Frequencies Table. If either value exceeds the maximum, the input scaling configuration is not possible.

The output of the laptsa-imp tool should be used as the static IMP, but the default static IMP should be able to support any possible scaling configuration.

Display Scaling Reference#

Hub and Disp Clock Frequencies Table (Thor)#

Platform

Power Profile

Maximum Hub Clock Frequency (KHz)

Maximum Disp Clock Frequency (KHz)

Thor

ES

N/A

540000

Thor

1080

N/A

540000

Thor

1090

N/A

540000

Verified Scaling Configurations Table#

Input

Output

Mode

1 1920x1080 window

1 960x540 window

1920x1080 @60Hz

1 1920x1080 window

1 480x270 window

1920x1080 @60Hz

1 3840x2160 window

1 1920x1080 window

1920x1080 @60Hz

1 3848x2168 window

1 1920x1080 window

1920x1080 @30Hz

1 3840x4320 window

1 1920x2160 window

3840x2160 @30Hz

4 1920x1080 windows

4 960x540 windows

1920x1080 @30Hz

4 1920x1080 windows

4 960x540 windows

1920x1080 @60Hz

4 3840x2160 windows

4 1920x1080 windows

3840x2160 @30Hz