Questions build.prop & BoardConfig.Mk


#1

Hi,
I’m facing some problems with resolutions and orientation.
I have here three different displays each connected to a single HiKey Board.
All of them are having a LVDS to HDMI Converter with the problem that they do not send the correct Edid or even send the Edid informtion, so I added
BOARD_KERNEL_CMDLINE += video=HDMI-A-1:1920x1080p@60
to the BoardConfig.Mk, build the bootimage and flashed it successfully. With that I’m getting a picture but 1920x1080 is too big for my screens so the borders of Android are outside the display. Something else than full hd is more or less not working.
The original screen resolutions are: 1920x720, 1440x540 and 960x480.

With a Windows 7 machine the screens are working more or less fine. So i got here the edid(?) information from Windows and maybe someone of you has an idea how to configure the hikey boards properly.

Edid

Monitor #2 [Real-time 0x0081]
Model name… Bildgenerator
Manufacturer… RTK
Plug and Play ID… RTK0002
Serial number… 1
Manufacture date… 2010, ISO week 27
Filter driver… None

EDID revision… 1.3
Input signal type… Digital
Color bit depth… Undefined
Display type… Monochrome/grayscale
Screen size… Undefined or variable
Power management… Active off/sleep
Extension blocs… None

DDC/CI… Not supported

Color characteristics
Default color space… Non-sRGB
Display gamma… 1,00
Red chromaticity… Rx 0,000 - Ry 0,000
Green chromaticity… Gx 0,000 - Gy 0,000
Blue chromaticity… Bx 0,000 - By 0,000
White point (default)… Wx 0,000 - Wy 0,000
Additional descriptors… None

Timing characteristics
Range limits… Not available
GTF standard… Not supported
Additional descriptors… CVT timings
Preferred timing… Yes
Native/preferred timing… 1280x480p at 60Hz
Modeline… “1280x480” 109,000 1280 1326 1438 1680 480 535 538 1077 +hsync -vsync
Detailed timing #1… 1440x540p at 60Hz
Modeline… “1440x540” 109,000 1440 1486 1598 1688 540 595 598 1077 +hsync -vsync
Detailed timing #2… 800x480p at 60Hz
Modeline… “800x480” 109,000 800 846 958 1688 480 535 538 1077 +hsync -vsync

Standard timings supported
1024 x 768p at 60Hz - VESA
1440 x 810p at 60Hz - VESA STD
1600 x 900p at 60Hz - VESA STD
1440 x 1080p at 60Hz - VESA STD

Report information
Date generated… 26.03.2018
Software revision… 2.90.0.1020
Data source… Real-time 0x0081
Operating system… 6.1.7601.2.Service Pack 1

Raw data
00,FF,FF,FF,FF,FF,FF,00,4A,8B,02,00,01,00,00,00,1B,14,01,03,80,00,00,00,22,00,00,00,00,00,00,00,
00,00,00,00,08,00,95,C0,A9,C0,95,40,01,00,01,00,01,00,01,00,01,00,94,2A,00,90,51,E0,55,12,2E,70,
73,0C,00,00,00,00,00,1A,94,2A,A0,F8,50,1C,19,22,2E,70,73,0C,00,00,00,00,00,1A,00,00,00,FC,00,42,
69,6C,64,67,65,6E,65,72,61,74,6F,72,94,2A,20,78,33,E0,55,12,2E,70,73,0C,00,00,00,00,00,1A,00,23


Monitor #3 [Real-time 0x0091]
Manufacturer… LG Display
Plug and Play ID… LGDB752
Serial number… n/a
Manufacture date… 2006, ISO week 0
Filter driver… None

EDID revision… 1.1
Input signal type… Digital
Color bit depth… Undefined
Display type… RGB color
Screen size… 220 x 130 mm (10,1 in)
Power management… Not supported
Extension blocs… None

DDC/CI… Not supported

Color characteristics
Default color space… Non-sRGB
Display gamma… 2,20
Red chromaticity… Rx 0,564 - Ry 0,314
Green chromaticity… Gx 0,313 - Gy 0,545
Blue chromaticity… Bx 0,148 - By 0,116
White point (default)… Wx 0,305 - Wy 0,319
Additional descriptors… None

Timing characteristics
Range limits… Not available
GTF standard… Not supported
Additional descriptors… None
Preferred timing… Yes
Native/preferred timing… 1920x720p at 60Hz (15:9)
Modeline… “1920x720” 97,340 1920 1980 2000 2080 720 722 723 780 +hsync +vsync

Standard timings supported
800 x 450p at 60Hz - VESA STD

Report information
Date generated… 26.03.2018
Software revision… 2.90.0.1020
Data source… Real-time 0x0091
Operating system… 6.1.7601.2.Service Pack 1

The other question is that one of the displays is due to space problems upside down…
To focus this problem I added to the build.prop:

# other possible values: 
# 0 = Landscape, 90 = Portrait, 180 = Reverse Landscape, 270 = Reverse Portrait
ro.sf.hwrotation=180

and tried value:i:1-4 with the command
adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1

but in fact, nothing happens. So is it not possible to get the reverse landscape modus with the hikeys?

Thanks for helping me to solve these problems!


#2

I think you probably have to supply your own EDID by adding drm_kms_helper.edid_firmware=edid/your_edid_file.bin to the kernel command line. Then you need to place your_edid_file.bin into the initramfs where the Android firmware loader will find it (I think this is /etc/firmware/edid/ on Android).

I think you’ll have to create an EDID that pretends to be a DVI-D monitor though. I’m not sure if any of the sizes you quotes can be expressed as CEA861 modes (to be a HDMI display you have to express the supported video modes with numeric codes defined by the CEA861 standard).


#3

Thanks for the answer, that sounds pretty complicated. Luckily I could solve the problem with flashing everything set to full hd and then cutted the screen with the shell wm overscan function. That works for now.

But I still cannot flip/reverse the landscape mode, is there any solution for that?
That would be great.