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. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  2. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  3. AMD Radeon R9 285 Tonga Performance On Linux
  4. Apotop Wi-Copy
Latest Linux Articles
  1. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  2. MSI: Update Your BIOS From The Linux Desktop
  3. NVIDIA vs. AMD 2D Linux Drivers: Catalyst Is Getting Quite Good At 2D
  4. 15-Way GPU Comparison With Mesa 10.3 + Linux 3.17
Latest Linux News
  1. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  2. Imagination Releases Full ISA Documentation For PowerVR Rogue GPUs
  3. Features GNOME Developers Want In The Linux Kernel
  4. GTK+ Gains Experimental Overlay Scrollbars
  5. Phoronix Test Suite 5.4 M3 Is Another Hearty Update
  6. GParted 0.20 Improves Btrfs Support
  7. EXT4 In Linux 3.18 Has Clean-ups, Bug Fixes
  8. Emacs 24.4 Has Built-In Web Browser, Improved Multi-Monitor Support
  9. NVIDIA's NVPTX Support For GCC Is Close To Being Merged
  10. KDE's KWin On Wayland Begins Using Libinput
Latest Forum Discussions
  1. HOPE: The Ease Of Python With The Speed Of C++
  2. Users/Developers Threatening Fork Of Debian GNU/Linux
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux
  6. AMD Is Restructuring Again, Losing 7% Of Employees
  7. Open-Source AMD Fusion E-350 Support Takes A Dive
  8. Upgrade to Kaveri, very slow VDPAU performance