Driving multiple displays with Superbuffer composition

Abstract

Modern consumer electronics segments demand several display outputs coming out of a single Graphics card. Take an example of the Automotive infotainment segment, which demands 12-15 HDMI display outputs being driven from a single GPU, so that they can be used to display navigation panel, control panel, mirrors, multiple media players and several independent status readers to show speedometer, maps, odometers, temperature, music etc. But due to limited number (3-4) of display pipelines available in its Display engine, the GPU can only drive 3 or 4 independent output displays per card, which leaves a gap for a solution in this market. The method proposeed here presents a unique method combining the synergy of SW and HW to solve this problem. The software creates graphics superbuffers to encode multiple display outputs in a single large framebuffer, and drives it in a single display pipeline by using GPU’s capacity to drive high resolutions and then uses a smart splitter HW at the end of the display pipeline to splits and push these splitted buffers into multiple display outputs. If implemented precisely, this method will allow a single GPU to drive 12-16 output displays.

Speaker Bio

Shashank Sharma (@https://www.linkedin.com/in/contactshashanksharma/)
Shashank is an Open Source Linux graphics developer based in Berlin (Germany). His expertise is scattered around GPU drivers, Display drivers, Display Compositors and Kernel development. With 20+ years of experience in the industry, Shashank has worked with Organizations like Samsung, Intel and AMD for their respective Linux platform development teams and contributed to their open source driver and middleware stacks. Shashank is currently working as a Principal Graphics Engineer for Nvidia.