Brussels / 3 & 4 February 2018

schedule

A Journey through Upstream Atomic KMS to achieve DP compliance

Black Screens and how to prevent them from upsetting Linux Users


Ever hooked up a Linux Computer to a monitor only to experience...nothing? DP is far from being a dumb cable and requires that the entire graphics stack works together to gracefully handle mode failures and recover them. Achieving DP compliance requires that the kernel drivers, hotplug events and the userspace compositors all work together to render every frame at requested rate e.g by handling link failure. The Linux Kernel's atomic modesetting infrastructure on the other hand is a daunting beast of its own and understanding how all the pieces interact is a challenge itself. In this talk Manasi will present the ultimate technical solution for DP compliance ensuring a successful modeset that is recently upstreamed in Linux kernel (4.12) as well as Xserver (1.19.3)

If you’ve ever hooked up a Linux computer to a DisplayPort monitor or daisy chained multiple DP MST monitors and encountered only a flickering or blank screen, then the recent Linux Kernel update will fix it for you. DP is far from being a dumb cable and requires that the entire graphics stack works together to gracefully handle mode failures and recover them. Achieving DP compliance requires that the kernel drivers, hotplug events and the userspace compositors all work together to render every frame at requested rate e.g by handling link failure. The atomic kernel modesetting infrastructure is based on an underlying assumption that "Atomic check guarantees the requested mode and that commit should never fail". Although this holds good in case of all GPU parameters checks and commits, it does not validate the DP physical cable and DP link training failure can result in an atomic commit failure resulting into black screens. This talk will educate folks on the fix that was required to handle these atomic modeset failures in case of display port and how that was implemented across the entire graphics stack making it display port compliant. This solution was upstreamed to Linux kernel 4.12 and Xserver 1.9.3. through this talk Manasi will also share her journey through iterating designs and working together with upstream maintainers, collaborating with X-server community and finally designing and upstreaming a solution that is used by i915 and can be incorporated by all other open source DRM drivers.

Speakers

Photo of Manasi Navare Manasi Navare

Links