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. Linux 3.18-rc1 Released One Week Early With Many Changes
  2. The VC4 Gallium3D Driver Is Still Moving Along For The Raspberry Pi
  3. Direct3D 9 Support Might Land Within Mainline Mesa 3D Drivers
  4. OpenGL Preview Benchmarks For NVIDIA's GeForce GTX 970
  5. HOPE: The Ease Of Python With The Speed Of C++
  6. Vitesse: Using LLVM To Speed Up Databases
  7. AMD Is Restructuring Again, Losing 7% Of Employees
  8. Linux Testing Of The NVIDIA GeForce GTX 970
  9. Qt 5.4 Now In Beta With Web, Bluetooth LE, Graphics Improvements
  10. AMD's Radeon R9 285 On Linux Offers Good OpenCL Performance
Latest Forum Discussions
  1. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux
  2. AMD Is Restructuring Again, Losing 7% Of Employees
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. Open-Source AMD Fusion E-350 Support Takes A Dive
  5. Upgrade to Kaveri, very slow VDPAU performance
  6. ChromeOS Drops Support For EXT2/EXT3/EXT4 File-Systems
  7. Lennart Poettering On The Open-Source Community: A Sick Place To Be In
  8. The Slides Announcing The New "AMDGPU" Kernel Driver