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 Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  2. More File-System Tests Of The Linux 3.18 Kernel
  3. Using NVIDIA's NVENC On Linux With FFmpeg
  4. There's Talk Again About An "Open To The Core" Ubuntu Laptop
  5. PowerVR SGX Driver Code Gets Leaked
  6. V2 Of KDBUS Published For Linux Kernel Review
  7. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
  8. Scientific Linux 6.6 vs. Scientific Linux 7.0 Benchmarks
  9. Qualcomm Looks To Get Into The ARM Server Business
  10. HHVM 3.4 Adds New Features, Support
Latest Forum Discussions
  1. Roadmap to Catalyst 14.10 ?
  2. Cant get working Kaveri APU - A10-7850k
  3. Debian Developer Resigns From The Systemd Maintainership Team
  4. Script for Fan Speed Control
  5. Debian Init System Coupling Vote Results
  6. The Slides Announcing The New "AMDGPU" Kernel Driver
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support