Linux Display and Video: One Problem, Three Solutions, Many Puzzled Developers

Linux Display and Video: One Problem, Three Solutions, Many Puzzled Developers

Linux display and video: one problem, three solutions, many puzzled developers Linux Plumbers Conference 2012 Laurent Pinchart [email protected] Problem Definition Problem Definition graphics / video Problem - Purpose format memory/deep pipeline device/CPU Problem - Source rotation scaling composing Problem - Processing X11 Wayland DirectFB Raw API Problem - Stack DRM FBDEV V4L2 Problem - API DRM == ?PC (mis)conceptions FBDEV is the only practical solution for embedded? platforms (mis)conceptions DRM requires a complex userspace ?stack (mis)conceptions Drivers should implement multiple interfaces? (mis)conceptions Frame Buffer Device Origins Video 4 Linux 2 Origins Direct Rendering Manager Origins Present DRM FB V4L2 Dynamic Allocation Yes No Yes Multiple Buffers Yes panning Yes Import dmabuf No userptr dmabuf Export mmap mmap mmap Memory Management DRM FB V4L2 KMS Yes Yes Yes RGB Formats 4CC 4CC 4CC Enumeration Yes No Yes Negotiation No No Yes Mode Setting DRM FB V4L2 Overlays Yes No Yes Rotation Yes No Yes Scaling Yes No Yes Cropping/Panning Yes Yes Yes Transformations DRM FB V4L2 2D No Console No 3D Yes No No Cursor Yes Yes No Composing No No No Acceleration drm fb v4l2 api core drivers Documentation The DRM core exports several interfaces to applications, “generally intended to be used through corresponding libdrm wrapper functions. In addition, drivers export device-specific interfaces for use by userspace drivers & device-aware applications through ioctls and sysfs files. External interfaces include: memory mapping, context management, DMA operations, AGP management, vblank control, fence management, memory management, and output management. Cover generic ioctls and sysfs layout here. We only need high- level info, since man pages should cover the rest. „ DRM API Documentation drm fb v4l2 api core drivers Documentation drm fb v4l2 api core drivers Code Size 4000 3500 3000 2500 drm fb 2000 v4l2 1500 1000 500 v4l2 fb 0 drm v2.6.14 v2.6.18 v2.6.22 v2.6.26 v2.6.30 v2.6.34 v2.6.38 v3.2 v3.6-rc3 v2.6.12 v2.6.16 v2.6.20 v2.6.24 v2.6.28 v2.6.32 v2.6.36 v3.0 v3.4 Cumulative Changes - API 45000 40000 35000 30000 drm 25000 fb 20000 v4l2 15000 10000 v4l2 5000 fb 0 drm v2.6.14 v2.6.18 v2.6.22 v2.6.26 v2.6.30 v2.6.34 v2.6.38 v3.2 v3.6-rc3 v2.6.12 v2.6.16 v2.6.20 v2.6.24 v2.6.28 v2.6.32 v2.6.36 v3.0 v3.4 Cumulative Changes - Core 1000000 900000 800000 700000 drm 600000 fb 500000 v4l2 400000 300000 200000 v4l2 100000 fb 0 drm v2.6.14 v2.6.18 v2.6.22 v2.6.26 v2.6.30 v2.6.34 v2.6.38 v3.2 v3.6-rc3 v2.6.12 v2.6.16 v2.6.20 v2.6.24 v2.6.28 v2.6.32 v2.6.36 v3.0 v3.4 Cumulative Changes - Drivers 1600 1400 1200 1000 drm 800 fb v4l2 600 drm+bug 400 200 0 2010-01 2010-05 2010-09 2011-01 2011-05 2011-09 2012-01 2012-05 2009-11 2010-03 2010-07 2010-11 2011-03 2011-07 2011-11 2012-03 2012-07 Mailing List Traffic Source: http://www.flickr.com/photos/buckaroobay/3721809183/ dmabuf Work In Progress dri2video https://wiki.linaro.org/OfficeofCTO/MemoryManagement? action=AttachFile&do=get&target=linux-video.pdf Targets: DRM Work In Progress panel & backlight http://lwn.net/Articles/512363/ Work In Progress Personal opinion Flame war possible Handle with care Disclaimer DRM needs to support dumb devices! better (mis)conceptions V4L2 still has use cases! (mis)conceptions FBDEV should be deprecated! (mis)conceptions • [email protected][email protected][email protected][email protected] Contact ? !.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    38 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us