LVDS on Android

Hi all,

after reading the topic of “https://devtalk.nvidia.com/default/topic/822612/?comment=4499132”, the lvds on linux can works.
But I do the same thing for android, only HDMI can display. LVDS panel has no signal.
The Linux kernel version is 3.10.40, but Android kernel version is 3.10.33.
May I know why?

This is all my personal opinion…lots and lots of personal opinion…

I would guess that the first thing to think about when asking why LVDS is going away is hardware design issues and software issues. LVDS is parallel connection technology, meaning it just takes a lot of wires and that the layout of the wiring can be critical…designing and manufacturing for this is difficult and can be expensive. Embedded display port (eDP) is taking over, and is a more simplified and standardized serial interface. Add to this that as displays become higher performance in every way that the challenges of a parallel data layout make it nearly impossible to do right without extraordinary difficulty…added features and performance makes parallel LVDS engineering difficulties go up fast. eDP is the future of embedded devices where resolutions, scan speeds, interchangeability, and color depth are increasing.

Jetsons do actually have the hardware to drive LVDS, but the software to go with it is not supported. The features which already exist in the Linux kernel for such support are unlikely to just work without a lot of effort…an effort which may work for one LVDS display but not another.

Android is interesting, as it was built up around dedicated smart phone hardware prior to eDP maturing (the standards for eDP have matured, but the market has not…and i’m sure there are changes for standards as markets mature). The pre-eDP market size and need made it worthwhile to custom design for individual devices. Large companies with lots of resources did the work, whereas much of the Linux kernel is maintained for non-commercial reasons (as in “free beer”, not royalties). Android does have a Linux kernel, but most everything in the operating system which surrounds the kernel differs from “ordinary” Linux distributions. But when is the last time someone built their own smart phone in a garage? It doesn’t hurt to inherit all the work those big companies put into the Android operating system, but using those features on a regular Linux distribution is a major porting effort. Features in the surrounding Android operating system supporting LVDS may not be present in a standard Linux distribution flavor (such as Ubuntu). Ubuntu and others use X11 software, you will find this completely missing from smart phones. Vulkan will likey make some appearances in the future to supersede X11.

On what I believe is the “bad” side of eDP is that it is very very difficult to obtain information to build eDP-based hardware without being a member of VESA (http://www.vesa.org/). Several thousand dollars for membership of an entire large company is not an issue. For everyone that is a small company or just test marking things built in the garage, VESA membership just won’t happen. This in turn severely restricts innovation of newer and otherwise better technologies. In those cases the only chance to build based on such a product is if reference designs are released. I would be a huge fan of any release of eDP touch screen reference designs and examples.

One can think of Linux for Tegra (L4T) as basically support via a reference design. Despite how incredibly popular Jetsons have become, I do not believe the original intent was using a Jetson for a final commercial product. There are limits to what a high-end low-level supplier such as nVidia will support beyond that reference design…normally other companies which are high-level product partners with the low-level part manufacturer would be the ones who support all of those other specialty features which their market wants and which go beyond the reference design. Those partners have the expertise to deal with their specialty niches. The case where nVidia does support Android is the one where nVidia markets their product as an end consumer product…the nVidia Shield.

hi, linuxdev, thank you for your reply.
do you know host1x, can i get the display frame from host1x?

hi,linuxdev.
if i use eDP, how to do that? i hope disable hdmi, and only eDP works.

I do not personally have eDP documentation, and have not looked at implementing LVDS, so I’m the wrong guy to ask for implementation details (unfortunately I’m one of those people who cannot afford VESA membership, and have not see reference designs for such). I have seen reports of success for people disabling HDMI and using only eDP, so I know it can work, I just do not know the details of how to go about this task.