The Virtual GEM Provider Is Still Being Hacked

Posted by Michael Larabel on February 09, 2012

VGEM, the Virtual GEM provider for the Linux kernel, is still being developed and a new version has been published.

The Virtual GEM implementation was announced at the beginning of the year by Red Hat's Adam Jackson. Adam began working on this "mock-GEM" implementation so that display drivers without a native DRM driver could use this "fake" kernel driver for memory management. This VGEM driver would then just allocate a shadow frame-buffer while in certain cases like dealing with virtualization the front-buffer could be bound directly to a GEM object, which would eliminate a memory copy and slightly better the performance.

The reasoning for doing this work is to basically improve the CPU-based LLVMpipe driver performance in cases where no GPU driver is available. Running Gallium3D's LLVMpipe software rasterizer is still very slow for OpenGL gaming even with the latest Intel/AMD multi-core CPUs, but it can at least handle desktop compositing. Since late last year the GNOME Shell with Mutter could work with LLVMpipe. Beginning with Fedora 17 and appearing elsewhere is that now when no GPU driver is available rather than falling back to some non-composited desktop mode, LLVMpipe will be called into action with the desktop of choice.

LLVMpipe is alright for this scenario but Adam Jackson has been working on a few performance optimizations, some of which are centered around VGEM for having this fake DRM driver to deal with memory management and to eliminate some memory copy calls.

Since publishing VGEM last month and marking it as being in an alpha state, no new revisions have been published by Adam Jackson. (Among other reasons, he's been working on making the xf86-video-vesa driver work with X.Org Server 1.12.)

This week though Ben Widawsky published a new version of VGEM that builds upon Jackson's work and the comments his first patch revision received. The RFCv2 patch-set can be found on the mailing list.

The reason why Widawsky is playing with VGEM is also interesting. "My intention is to use this to do some dmabuf work/testing with i915 since it seemed too difficult to get some of Dave Airlie's stuff working, and I really don't feel like learning anything about nouveau if I can avoid it. (though I plan to do that later as well)." For those not familiar with DMA-BUF, read this and watch the video.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Phoronix Test Suite 4.6.0 "Utsira" Released
  2. New Intel X.Org Driver Supports All Of Haswell
  3. SQLite Now Faster With Memory Mapped I/O
  4. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  5. Qt For Tizen Launches, Based On Qt 5.1
  6. KTAP Released For Linux Kernel Dynamic Tracing
  7. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  8. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  9. Handbrake 0.9.9 Supports OpenCL Offloading
  10. Freedreno Gallium3D Now Banging The Adreno A3XX
  11. Jolla Announces Their First Phone
Latest Forum Talk
  1. Handbrake 0.9.9 Supports OpenCL Offloading
  2. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  3. New Intel X.Org Driver Supports All Of Haswell
  4. Intel Linux OpenGL Driver Leading Over Apple OS X
  5. Modern Intel Gallium3D Driver Still Being Toyed...
  6. Microsoft Releases Skype For Linux 4.2, Has...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite