VMM-Independent Graphics Acceleration ∗

Total Page:16

File Type:pdf, Size:1020Kb

VMM-Independent Graphics Acceleration ∗ VMM-Independent Graphics Acceleration ∗ H. Andres´ Lagar-Cavilla Niraj Tolia University of Toronto Carnegie Mellon University [email protected] [email protected] M. Satyanarayanan Eyal de Lara Carnegie Mellon University University of Toronto [email protected] [email protected] Abstract 1. Introduction We have designed and implemented VMGL, an OpenGL virtualiza- Virtual machine monitor (VMM) technology has been put to many tion solution that allows graphics applications executing within vir- innovative uses, including mobile computing [16, 28, 40], system tual machines to leverage hardware rendering acceleration. VMGL management [17, 39], intrusion detection [18], and grid comput- is virtual machine monitor (VMM) independent, graphics process- ing [20]. However, the difficulty of virtualizing graphical process- ing unit (GPU) independent, and guest OS independent. VMGL ing units (GPUs) has so far limited the use of virtual machines provides suspend and resume capabilities across GPUs from differ- (VMs) for running interactive applications. The performance ac- ent vendors. Our experimental results from a number of graphics- celeration provided by GPUs is critical to high-quality visualization intensive applications show that VMGL provides excellent ren- in many applications, such as computer games, movie production dering performance, within 14% or better of that obtained with software, computer-aided design tools for engineering and architec- native graphics hardware acceleration. Further, VMGL’s perfor- ture, computer-aided medical diagnosis, and scientific applications mance is two orders of magnitude better than software rendering, such as protein modeling for drug synthesis. For this class of appli- the commonly available alternative today for graphics-intensive ap- cations, software rendering is the prevalent option for virtualized plications running in virtualized environments. Our results confirm execution, and it is unacceptably slow. VMGL’s portability across VMware Workstation and Xen (on VT Virtualizing GPUs is difficult for a number of reasons. First, the and non-VT hardware), and across Linux (with and without para- hardware interface to a GPU is proprietary, and many technical de- virtualization), FreeBSD, and Solaris. Our results also show that the tails are closely held as trade secrets. Hence, it is often difficult to resource demands of VMGL align well with the emerging trend of obtain the technical specifications necessary to virtualize a GPU. multi-core processors. Second, because the hardware interface is not public, GPU ven- dors make significant changes in the interface as their product lines Categories and Subject Descriptors I.3.4 [Computer Graphics]: evolve. Trying to virtualize across such a wide range of interfaces Graphics Utilities,Virtual Device Interfaces; C.5.m [Computer can result in a weak lowest common denominator. Third, the soft- Systems Implementation]: Miscellaneous ware needed to integrate a GPU into an operating system is typi- cally included with the hardware as a closed-source device driver. General Terms Design, Performance, Experimentation In a virtualized environment, the driver is unusable for other guest operating systems. For reasons mentioned earlier, the technical de- tails necessary to create a new driver for other guests are typically Keywords Virtualization, Graphics, Hardware Acceleration, Porta- not available. In summary, virtualization of a hardware component bility, VMM-independence presumes the existence of a standard interface such as the x86 in- struction set, or the IDE and SCSI interfaces to disks; GPUs lack ∗ This research was supported by the National Science and Engineering such a standard. Research Council (NSERC) of Canada under grant number 261545-3 and a This paper proposes a solution that is strongly influenced by Canada Graduate Scholarship, by the Canadian Foundation for Innovation how applications actually use GPUs. Many of the virtualization (CFI) and the Ontario Innovation Trust (OIT) under grant number 7739, by challenges discussed in the previous paragraph would also com- the National Science Foundation (NSF) under grant number CNS-0509004, plicate the authoring of applications. For example, the absence of and by Google under the Summer of Code 2006 program. a stable GPU interface would require frequent application changes to track hardware. The large diversity of technical specifications across GPUs and the difficulty of obtaining them publicly would severely restrict the market size of a specific application implemen- tation. The graphics community avoids these problems through the Permission to make digital or hard copies of all or part of this work for personal or use of higher-level APIs that abstract away the specifics of GPUs. classroom use is granted without fee provided that copies are not made or distributed Practically all applications that use GPUs today are written to one for profit or commercial advantage and that copies bear this notice and the full citation or both of two major APIs: OpenGL [5] and Direct3D [33]. Of these on the first page. To copy otherwise, to republish, to post on servers or to redistribute two, OpenGL is the only cross-platform API supported on all ma- to lists, requires prior specific permission and/or a fee. jor operating systems. For each supported operating system, a GPU VEE’07, June 13–15, 2007, San Diego, California, USA. Copyright © 2007 ACM 978-1-59593-630-1/07/0006. $5.00 vendor distributes a closed-source driver and OpenGL library. The job of tracking frequent interface changes to GPUs is thus delegated OpenGL, an open and cross-platform specification, and Direct3D, to the GPU vendors, who are best positioned to perform this task. a closed specification from Microsoft specific to their Windows Although OpenGL is a software interface, it has become a de facto platform. We describe OpenGL below in more detail. GPU interface. We therefore make it the virtualization interface. We describe VMGL, a virtualized OpenGL implementation that 2.2 OpenGL Primer offers hardware accelerated rendering capabilities to applications OpenGL is a standard specification that defines a platform-indepen- running inside a VM. VMGL runs the vendor-supplied GPU driver dent API for 3D graphics. The OpenGL API supports application and OpenGL library in the VMM host: the administrative VM for portability by isolating developers from having to program for a hypervisor like Xen, or the hosting OS for a VMM like VMware different hardware implementations. Workstation. The host runs a vendor-supported operating system Vendors implement the OpenGL API in the form of a dynam- and has direct access to the GPU. Using a GL network transport, ically loadable library that can exploit the acceleration features of VMGL exports the OpenGL library in the host to applications run- their graphics hardware. All OpenGL implementations must pro- ning in other VMs. When those applications issue OpenGL com- vide the full functionality specified by the standard. If hardware mands, the commands are transported to the GPU-enabled host and support is unavailable for certain functions, it must be implemented executed there. VMGL thus preserves complete application trans- in software. This isolates the programmer from having to determine parency; no source code modification or binary rewriting is nec- available features at runtime. However, the OpenGL specification essary. VMGL also supports suspend and resume of VMs running does allow for vendor-specific extensions; applications can only de- graphics accelerated applications, thus supporting several novel ap- termine the availability of these extensions at runtime. plications of VM technology [16, 28, 39]. Further, VMGL allows The OpenGL calls issued by an application modify the OpenGL suspended VMs to be migrated to hosts with different underlying state machine, a graphics pipeline that converts drawing primitives GPU hardware. VMGL is not critically dependent on a specific such as points, lines, and polygons into pixels. An OpenGL con- VMM or guest operating system, and is easily ported across them. text encapsulates the current state of the OpenGL state machine. We evaluate VMGL for diverse VMMs and guests. The VMMs While an application may have multiple OpenGL contexts, only include Xen on VT and non-VT hardware, and VMware Work- one context may be rendered on a window at a given time. OpenGL station. The guests include Linux with and without paravirtuali- is strictly a rendering API and does not contain support for user zation, FreeBSD and Solaris. In experiments with four graphics- input or windowing commands. To allow OpenGL contexts to in- intensive applications, including one that is closed source, the ob- teract with the window manager, applications use glue layers such served graphics performance of VMGL comes within 14% or bet- as GLX for X11-based systems, WGL for Microsoft Windows, and ter of native performance, and outperforms software rendering by AGL for the Macintosh. two orders of magnitude. Although this approach incurs the per- Today, OpenGL is the only pervasive cross-platform API for formance overhead of cross-VM communication, our experimental 3D applications. The competing proprietary API, Microsoft’s Di- evaluation demonstrates that this overhead is modest. Moreover, rect3D, only supports the Windows operating systems. OpenGL our results also show that multi-core hardware, which is increas- implementations are available for Linux, Windows, Unix-based ingly common, can help in reducing the performance
Recommended publications
  • THINC: a Virtual and Remote Display Architecture for Desktop Computing and Mobile Devices
    THINC: A Virtual and Remote Display Architecture for Desktop Computing and Mobile Devices Ricardo A. Baratto Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Graduate School of Arts and Sciences COLUMBIA UNIVERSITY 2011 c 2011 Ricardo A. Baratto This work may be used in accordance with Creative Commons, Attribution-NonCommercial-NoDerivs License. For more information about that license, see http://creativecommons.org/licenses/by-nc-nd/3.0/. For other uses, please contact the author. ABSTRACT THINC: A Virtual and Remote Display Architecture for Desktop Computing and Mobile Devices Ricardo A. Baratto THINC is a new virtual and remote display architecture for desktop computing. It has been designed to address the limitations and performance shortcomings of existing remote display technology, and to provide a building block around which novel desktop architectures can be built. THINC is architected around the notion of a virtual display device driver, a software-only component that behaves like a traditional device driver, but instead of managing specific hardware, enables desktop input and output to be intercepted, manipulated, and redirected at will. On top of this architecture, THINC introduces a simple, low-level, device-independent representation of display changes, and a number of novel optimizations and techniques to perform efficient interception and redirection of display output. This dissertation presents the design and implementation of THINC. It also intro- duces a number of novel systems which build upon THINC's architecture to provide new and improved desktop computing services. The contributions of this dissertation are as follows: • A high performance remote display system for LAN and WAN environments.
    [Show full text]
  • High Speed Visualization in the Jetos Aviation Operating System Using Hardware Acceleration*
    High Speed Visualization in the JetOS Aviation Operating System Using Hardware Acceleration* Boris Barladian[0000-0002-2391-2067], Nikolay Deryabin[0000-0003-1248-6047], Alexey Voloboy[0000-0003-1252-8294], Vladimir Galaktionov[0000-0001-6460-7539], and Lev Shapiro[0000-0002-6350-851X] The Keldysh Institute of the Applied Mathematics of RAS, Moscow, Russia [email protected],{voloboy, vlgal, pls}@gin.keldysh.ru Abstract. The paper discusses details of the pilot display visualization that uses the hardware acceleration capabilities of the Vivante graphics processor in the JetOS aviation operating system. Previously the OpenGL Safety Critical library was implemented without hardware acceleration. This was done in such a way because software library is easier to certify in accordance with the avionics re- quirements. But usage of the software OpenGL does not provide acceptable visualization speed for modern Flight Display and 3D relief applications. So more complex visualization approach utilized the GPU acceleration capabilities was elaborated. Although the OpenGL library was implemented for a specific GPU and took into account its specificity, the described approach to adapt the MESA open source library can be used for other GPUs. An effective algorithm for multi-window visualization using the implemented library with hardware acceleration is present. The described approach allows you to achieve the visu- alization speed acceptable for the pilot display of the aircraft. Keywords: Pilot Display, Embedded Systems, Real-time Operating System, OpenGL Safety Critical, Multi-windowing. 1 Introduction In [1] requirements were formulated for a real-time operating system (RTOS) de- signed to work with integrated modular avionics. In particular, the RTOS should comply with the ARINC 653 standard [2].
    [Show full text]
  • Porting Tizen-IVI 3.0 to an ARM Based Soc Platform
    Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia Automotive Linux Summit July 1-2, 2014 Tokyo, Japan Tizen IVI support Until recently… Intel architecture (x86) system – Tizen IVI 2.0alpha, Tizen IVI 3.0 ARM architecture based system – Tizen IVI 2.0alpha (ivi-panda) Need to port Tizen IVI 3.0 to ARM ourselves Current State of Affairs Intel architecture (x86) system – Tizen IVI 2.0alpha, Tizen IVI 3.0 – Tizen Common NEW ARM architecture based system – Tizen IVI 2.0alpha (ivi-panda) – Tizen Common NEW Tizen IVI now based on Tizen Common – Lots of reuse Target Platform Renesas R-Car Gen2 series platform R-Car M2 – ARM Cortex A15 x2 R-Car H2 – ARM Cortex A15 x4, + ARM Cortex A7 x4 (option) 3D Graphics System – Imagination Technologies PowerVR series On board IP blocks – H/W video decode/encode – image processing Agenda Objective Methodology Porting Tasks – Weston/Wayland Integration – WebKit Integration – GStreamer Integration Objective Tizen IVI 3.0 on R-Car M2/H2 1. Standard Native Applications – Terminal program – Open GL/ES applications 2. Web – Browser and web applications 3. Multimedia – Video playback (1080p @ 30fps) Local Build Methodology Tizen IVI 3.0 milestone releases we used: – M2-Sep (released Oct 11, 2013) – M2-EOY (released Jan 15, 2014) – M2-March2014 (released April 11, 2014) Non-hardware dependant packages – Rebuild for ARM instruction set Hardware dependant packages – Replace/update with R-Car M2/H2 support Tizen Common/IVI Rebase Methodology Reuse Tizen Common ARM support for Tizen
    [Show full text]
  • Ati Driver Freebsd
    Ati driver freebsd Hey, I`m new to teh the bsd *BSD world and just installed Freebsd FreeBSD. Only thing missing is my video driver. ATI Radeon X How to Solved - Switch between ATI and VESA drivers? If you want to automatically load a video driver at boot time, we recommend to do it from /etc/:Radeon​: ​ It allows the use of newer xfvideo-ati drivers and AMD GPUs. This project started in January Initial radeon code comes from Linux. EndSection DESCRIPTION radeon is an Xorg driver for ATI/AMD RADEON-based video cards with the following features: o Full support for 8-, , and. This package contains the xfvideo-ati driver. xdrivers/drm-kmod: Port for the DRM kernel drivers for FreeBSD This port. If I boot X11 with no or with ati driver, the system stops responding, although cursor continues to follow mouse movements. (I suppose. To all those concerned, I have read that FreeBSD would be supported by the latest graphic card drivers, which was also confirmed by. I bought an expensive ATI card when they announced they'll go Note that AMD doesn't provide a driver for FreeBSD, so you'll be using the. We now know for sure that FreeBSD will ship with a kernel mode-setting driver for supporting open-source AMD Radeon graphics with its. AMD tech support has allegedly confirmed that Catalyst is being ported to FreeBSD. A Phoronix reader pointed out this thread. I am not sure that FreeBSD will fully support this card. The Xorg version for FreeBSD is and the ATI driver used is version The reason is, AMD/ATI doesn't support FreeBSD, and you have to resort to the sucky open source drivers.
    [Show full text]
  • SUSE® Linux Enterprise Desktop 12 and the Workstation Extension: What's New ?
    SUSE® Linux Enterprise Desktop 12 and the Workstation Extension: What's New ? Frédéric Crozat <[email protected]> Enterprise Desktop Release Manager Scott Reeves <[email protected]> Enterprise Desktop Development Manager Agenda • Design Criteria • Desktop Environment in SUSE Linux Enterprise 12 • GNOME Shell • Desktop Features and Applications 2 Design Criteria SUSE Linux Enterprise Desktop Interoperability Ease of Use Security Ease of Management Lower Costs 4 SUSE Linux Enterprise Desktop 12 • Focus on technical workstation ‒ Developers and System administrators • One tool for the job • Main desktop applications will be shipped: ‒ Mail client, Office Suite, Graphical Editors, ... • SUSE Linux Enterprise Workstation Extension ‒ Extend SUSE Linux Enterprise Server with packages only available on SUSE Linux Enterprise Desktop. (x86-64 only) 5 Desktop in SUSE Linux Enterprise 12 As Part of the Common Code Base SUSE Linux Enterprise 12 Desktop Environment • SUSE Linux Enterprise 12 contains one primary desktop environment • Additional light-weight environment for special use-cases: ‒ Integrated Systems • Desktop environment is shared between the server and desktop products 7 SUSE Linux Enterprise 12 Desktop Environment • GNOME 3 is the main desktop environment ‒ SLE Classic mode by default ‒ GNOME 3 Classic Mode and GNOME 3 Shell Mode also available • SUSE Linux Enterprise 12 ships also lightweight IceWM ‒ Targeted at Integrated Systems • QT fully supported: ‒ QT5 supported for entire SLE12 lifecycle ‒ QT4 supported, will be removed in future
    [Show full text]
  • Augmented Reality Navigation
    VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF RADIO ELECTRONICS AUGMENTED REALITY APPLICATIONS IN EMBEDDED NAVIGATION DEVICES BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE MARTIN JAROŠ AUTHOR BRNO 2014 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF RADIO ELECTRONICS AUGMENTED REALITY APPLICATIONS IN EMBEDDED NAVIGATION DEVICES AUGMENTED REALITY APPLICATIONS IN EMBEDDED NAVIGATION DEVICES BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE MARTIN JAROŠ AUTHOR VEDOUCÍ PRÁCE doc. Ing. TOMÁŠ FRÝZA, Ph.D. SUPERVISOR BRNO 2014 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky Bakalářská práce bakalářský studijní obor Elektronika a sdělovací technika Student: Martin Jaroš ID: 146847 Ročník: 3 Akademický rok: 2013/2014 NÁZEV TÉMATU: Augmented reality applications in embedded navigation devices POKYNY PRO VYPRACOVÁNÍ: Analyze the hardware possibilities of the OMAP platform and design an application to effectively combine captured video data and rendered virtual scene based on navigational data from GPS and INS sensors. Design and create a functional prototype. Examine practical use cases of the proposed navigation device, design applicable user interface. DOPORUČENÁ LITERATURA: [1] BIMBER, O.; RASKAR, R. Spatial augmented reality: merging real and virtual worlds. Wellesley: A K Peters, 2005, 369 p. ISBN 15-688-1230-2. [2] Texas Instruments. OMAP 4460 Multimedia Device [online]. 2012 - [cit. 8. listopadu 2012]. Available: http://www.ti.com/product/omap4460. Termín zadání: 10.2.2014 Termín odevzdání: 30.5.2014 Vedoucí práce: doc.
    [Show full text]
  • The Linux Graphics Stack Attributions
    I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions Introduction to GPUs and to the Linux Graphics Stack Martin Peres CC By-SA 3.0 Nouveau developer Ph.D. student at LaBRI November 26, 2012 1 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview Outline 1 I - Hardware : Anatomy of a GPU General overview Driving screens Host < − > GPU communication 2 II - Host : The Linux graphics stack General overview DRM and libdrm Mesa X11 Wayland X11 vs Wayland 3 Attributions Attributions 2 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview General overview of a modern GPU's functions Display content on a screen Accelerate 2D operations Accelerate 3D operations Decode videos Accelerate scientific calculations 3 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview CPU Clock Front-side Graphics Generator bus card slot Chipset Memory Slots High-speed graphics bus (AGP or PCI Northbridge Memory Express) bus (memory controller hub) Internal Bus PCI Bus Onboard Southbridge graphics PCI (I/O controller controller Bus hub) IDE SATA USB Cables and Ethernet ports leading Audio Codec CMOS Memory off-board PCI Slots LPC Bus Super I/O Serial Port Parallel Port Flash ROM Floppy Disk Keyboard (BIOS) Mouse 4 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview Hardware architecture GPU: Where all the calculations are made VRAM: Stores
    [Show full text]
  • Release Notes for Xfree86® 4.8.0 the Xfree86 Project, Inc December 2008
    Release Notes for XFree86® 4.8.0 The XFree86 Project, Inc December 2008 Abstract This document contains information about the various features and their current sta- tus in the XFree86 4.8.0 release. 1. Introduction to the 4.x Release Series XFree86 4.0 was the first official release of the XFree86 4 series. The current release (4.8.0) is the latest in that series. The XFree86 4.x series represents a significant redesign of the XFree86 X server,with a strong focus on modularity and configurability. 2. Configuration: aQuickSynopsis Automatic configuration was introduced with XFree86 4.4.0 which makes it possible to start XFree86 without first creating a configuration file. This has been further improved in subsequent releases. If you experienced any problems with automatic configuration in a previous release, it is worth trying it again with this release. While the initial automatic configuration support was originally targeted just for Linux and the FreeBSD variants, as of 4.5.0 it also includes Solaris, NetBSD and OpenBSD support. Full support for automatic configuration is planned for other platforms in futurereleases. If you arerunning Linux, FreeBSD, NetBSD, OpenBSD, or Solaris, try Auto Configuration by run- ning: XFree86 -autoconfig If you want to customise some things afterwards, you can cut and paste the automatically gener- ated configuration from the /var/log/XFree86.0.log file into an XF86Config file and make your customisations there. If you need to customise some parts of the configuration while leav- ing others to be automatically detected, you can combine a partial static configuration with the automatically detected one by running: XFree86 -appendauto If you areusing a platform that is not currently supported, then you must try one of the older methods for getting started like "xf86cfg", which is our graphical configuration tool.
    [Show full text]
  • Integration of the Chromium Browser in the GENIVI Platform
    static void _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; Integration of the Chromium /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, Browser in the GENIVI Platform "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); Jacobo Aragunde Pérez g_object_class_install_property (gobject_class, blogs.igalia.com/jaragunde F_DO_BARNACLE_PROP_CODE, ● Open Source experts and consultants ● 15 years of experience ● Important contributions to: ● Client-side web technologies: WebKit, Blink/Chromium, Servo ● Graphics & Multimedia: Mesa, GStreamer ● Compilers: V8, JavaScriptCore, SpiderMonkey, Guile ● Software-defined networking: Snabb ● ... Introduction Goals of the project ● Integrate full-featured Chromium browser in GDP ● Use Intel’s Ozone-Wayland project, most complete implementation of Wayland so far ● Get latest possible version of the browser working ● Analyze and fix multi-seat implementation, if required ● Funding: GENIVI challenge grant and Igalia contributions Elements and versions ● Chromium: latest stable release was 54 at that point ● Ozone-Wayland: latest branch supports Chromium 53 ● Meta-browser: supporting Chromium 48 ● GENIVI BSPs Rebase & integrate Chromium browser Work on meta-browser ● Simplify configuration ● Obsolete CHROMIUM_ENABLE_WAYLAND detection ● Build chromium+wayland version 53 ● Recipe was pointing to version 48 ● Required patch backport ● Fix specific build scenarios
    [Show full text]
  • Gstreamer and Dmabuf
    GStreamer and dmabuf OMAP4+ graphics/multimedia update Rob Clark Outline • A quick hardware overview • Kernel infrastructure: drm/gem, rpmsg+dce, dmabuf • Blinky s***.. putting pixels on the screen • Bringing it all together in GStreamer A quick hardware overview DMM/Tiler • Like a system-wide GART – Provides a contiguous view of memory to various hw accelerators: IVAHD, ISS, DSS • Provides tiling modes for enhanced memory bandwidth efficiency – For initiators like IVAHD which access memory in 2D block patterns • Provides support for rotation – Zero cost rotation for DSS/ISS access in 0º/90º/180º/270º orientations (with horizontal or vertical reflection) IVA-HD • Multi-codec hw video encode/decode – H.264 BP/MP/HP encode/decode – MPEG-4 SP/ASP encode/decode – MPEG-2 SP/MP encode/decode – MJPEG encode/decode – VC1/WMV9 decode – etc DSS – Display Subsystem • Display Subsystem – 4 video pipes, 3 support scaling and YUV – Any number of video pipes can be attached to one of 3 “overlay manager” to route to a display Kernel infrastructure: drm/gem, rpmsg+dce, dmabuf DRM Overview • DRM → Direct Rendering Manager – Started life heavily based on x86/desktop graphics card architecture – But more recently has evolved to better support ARM and other SoC platforms • KMS → Kernel Mode Setting – Replaces fbdev for more advanced display management – Hotplug, multiple display support (spanning/cloning) – And more recently support for overlays (planes) • GEM → Graphics Execution Manager – But the important/useful part here is the graphics/multimedia buffer management DRM - KMS • Models the display hardware as: – Connector → the thing that the display connects to • Handles DDC/EDID, hotplug detection – Encoder → takes pixel data from CRTC and encodes it to a format suitable for connectors • ie.
    [Show full text]
  • Instability Thresholds and Dynamics of Mesa Patterns in Reaction-Diffusion Systems
    Instability thresholds and dynamics of mesa patterns in reaction-diffusion systems Rebecca McKay and Theodore Kolokolnikov Department of Mathematics and Statistics, Dalhousie University, Canada Abstract We consider a class of one-dimensional reaction-diffusion systems, u = ε2u + f(u, w) t xx . 0= Dw + g(u, w) xx Under some generic conditions on the nonlinearities f,g, in the singular limit ε 0, and for a fixed D independent of ε, such a system exhibits a steady state consisting→ of sharp back-to-back interfaces which is stable in time. On the other hand, it is also known that in the so-called shadow limit D = , the periodic pattern having more than one interface is unstable. In this paper, we analyse∞ in detail the transition between the stable patterns when D = O(1) and the shadow system when D = . We show that this transition occurs when D is exponentially large in ε and we derive instability∞ thresholds D D D . such 1 2 3 that a periodic pattern with 2K interfaces is stable if D<DK and is unstable when D>DK . We also study the dynamics of the interfaces when D is exponentially large; this allows us to describe in detail the mechanism leading to the instability. Direct numerical computations of stability and dynamics are performed; excellent agreement with the asymptotic results is observed. 1 Introduction One of the most prevalent phenomena observed in reaction-diffusion systems is the formation of mesa patterns. Such patterns consist of a sequence of highly localized interfaces (or kinks) that are separated in space by regions where the solution is nearly constant.
    [Show full text]
  • Intel Embedded Graphics Drivers, EFI Video Driver, and Video BIOS V10.4
    Intel® Embedded Graphics Drivers, EFI Video Driver, and Video BIOS v10.4 User’s Guide April 2011 Document Number: 274041-032US INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
    [Show full text]