1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Samsung Has G2D Driver, Virtual Display For Linux 3.4

Linux Kernel

Published on 13 March 2012 11:55 AM EDT
Written by Michael Larabel in Linux Kernel
11 Comments

Besides the DRM work already piling up for Linux 3.4, there's more. The Samsung developers responsible for the Exynos graphics driver have sent in their "-next" pull request, which brings several new features, including the basis of 2D acceleration for this open-source ARM graphics driver. There's also a virtual display driver that could be used for handling wireless displays.

Inki Dae of Samsung fired off an email with ten patches this morning to David Airlie that includes the exynos-drm-next work. Notable changes to the Exynos DRM driver slated for the Linux 3.4 kernel include HDMI version 1.4 support, a buffer allocation type to allocate physically continuous or non-continuous memory, a new DMA address get/put interface needed for GEM/2D acceleration handling, a virtual display driver, and a direct-rendering 2D graphics acceleration module.

Those are some nice improvements for this ARM-based Exynos driver that was merged into the mainline Linux kernel last year as the first open-source ARM graphics driver to make it into the DRM sub-system tree and then that of Linus Torvalds. Since then Samsung has kept working on the driver as a responsible maintainer. Just this current cycle for the Linux 3.3 kernel there were several Exynos improvements including the initial HDMI output support, multi-buffer support, power management, and bettering the GEM memory management.

HDMI 1.4 is supported by later Exynos hardware (the newer 4x12 series components) and introducing this support to Samsung's DRM driver took over 1,000 lines of new code. The HDMI 1.4 specification ups the maximum resolution to 4K x 2K resolutions (Quad HD), support for an HDMI Ethernet Channel (HEC) to share an Internet/network connection between HDMI devices, Audio Return Channel, 3D over HDMI, a new micro HDMI connector, expanded color spaces support, and support for various stereoscopic 3D formats.

Perhaps the most exciting change for the 3.4 Exynos driver is the introduction of the G2D driver. The Exynos G2D driver has been worked on by Samsung, Linaro developers, and others. As described by the commit message, "G2D is a 2D graphic accelerator that supports Bit Block Transfer. This G2D driver is exynos drm specific and supports only exynos4x12 series. user application fills command set in cmdlist and once dma start request these cmdlists are parsed and performed by dma."

The G2D driver adds in around 1,000 lines of code to the Exynos DRM driver in order to provide this 2D direct rendering acceleration. There's new ioctls introduced for the Exynos G2D support with getting the version, submitting the command list, executing the command list, and event. As far as the user-space side for this 2D acceleration, I haven't seen an Exynos DDX driver or anything else yet. However, these new symbols are being exported under the GPL, so there is (or will be) some sort of open-source Exynos user-space with accelerated support.

The last piece of this DRM pull is the "Samsung DRM Virtual Display", which is also quite interesting. As said by the commit message, "this driver would be used for wireless display. virtual display driver has independent crtc, encoder and connector and to use this driver, user application should send edid data to this driver from wireless display." This is just under 800 lines of new code to implement Samsung VIDI.

For those that may be more motivated to get a device with a Samsung Exynos SoC thanks to these great open-source driver improvements going on and making their way into the mainline kernel, there's a few choices. The Samsung Galaxy S, S II, Galaxy Note, Galaxy Tab, and various other devices are using an Exynos SoC. However, those devices are using the older Exynos 3110/4220, and not the newer hardware (beginning with the Exynos 4212) that can handle HDMI 1.4 and the new G2D driver.

The Exynos 4212 is a 32nm ARMv7 SoC that's available with a 1.2 / 1.5GHz dual-core ARM Cortex-A9 processor and also relies upon ARM Mali 400 graphics. Coming out this year in the Exynos family is the more-interesting Exynos 4412, which has a 1.5-1.8GHz quad-core Cortex-A9 processor; this will be nice competition for the NVIDIA Tegra 3 (benchmarks of the Tegra 3 quad-core development Cardhu tablet are still being worked on at Phoronix). Expected later on is then the Exynos 5250 as a 2.0GHz dual-core ARM Cortex-A15 part and then the Exynos 5450 2.0GHz quad-core Cortex-A15 SoC. Support for those yet-to-be-released Exynos SoCs has yet to arrive in the Exynos DRM driver, but hopefully (and I'd be willing to wager) Samsung will continue on in their open-source ways.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Launches The Core i7 5960X, Mighty Powerful Haswell-E CPUs
  2. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  3. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  4. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
Latest Linux Articles
  1. How Intel Graphics On Linux Compare To Open-Source AMD/NVIDIA Drivers
  2. The Fastest NVIDIA GPUs For Open-Source Nouveau With Steam Linux Gaming
  3. Testing For The Latest Linux Kernel Power Regression
  4. The Most Energy Efficient Radeon GPU For AMD Linux Gaming
Latest Linux News
  1. AMD Steppe Eagle Flys To Coreboot
  2. Intel Beignet Is Working Out Surprisingly Well For OpenCL On Linux
  3. Coreboot Adds Lenovo X220 With Native Sandy Bridge Support
  4. Canonical Has Yet To Land X.Org Server 1.16 For Ubuntu 14.10
  5. Imagination Launches A MIPS Development Board
  6. Getting Involved With The New Raspberry Pi Graphics Driver
  7. A New AMD Catalyst Linux Driver Unofficially Surfaces
  8. LibreOffice Ported To 64-bit ARM (AArch64)
  9. Enlightenment E19 RC3 Shows Off The New Wayland Compositor
  10. Metro Redux Is Going To Require OpenGL 4.x On Linux
Latest Forum Discussions
  1. Btrfs Gets Talked Up, Googler Encourages You To Try Btrfs
  2. Updated graphics drivers for Ubuntu 12.04 Precise LTS
  3. Catalyst 14.201.1008
  4. It's Now Possible To Play Netflix Natively On Linux Without Wine Plug-Ins
  5. Users defect to Linux as OpenBSD removes Lynx from base system
  6. Updated and Optimized Ubuntu Free Graphics Drivers
  7. Canonical Joined The Khronos Group To Help Mir/Wayland Drivers
  8. Radeon HD5670 and Ubuntu 14.04