PathScale To Port Nouveau To OpenSolaris

Posted by Michael Larabel on January 23, 2010

Over the past few years more of the Linux graphics stack has moved within the Linux kernel so that there is finally a proper kernel memory management solution for the open-source graphics drivers and to also provide kernel mode-setting. Moving more of the GPU driver code into the kernel DRM results in a more secure environment as the X Server can now run without root access, the start-up process is cleaner and faster with KMS, the performance will ultimately be better with a memory manager, there's more reliable and faster VT switching, suspend and resume is better, and the list of benefits just goes on. However, that's for Linux users. Most of the X.Org developers are centered on Linux support and as a result where in the past it was relatively easy to just support the X.Org DDX driver under multiple platforms, it's now not as easy when there's so much code tied into the kernel that isn't trivial to port between Linux and the *BSDs and OpenSolaris. As a result, driver support on the BSD operating systems and OpenSolaris has lagged behind Linux since they aren't up to speed with their kernel DRM code. Intel even has dropped their UMS code, which now makes kernel mode-setting a necessity for their hardware. The Nouveau driver has also dropped its non-KMS code.

For a year now we have known that kernel mode-setting for OpenSolaris is being worked on and that the OpenBSD developers have also wanted to port KMS to their kernel for better security, but so far either effort hasn't amounted to much. The OpenSolaris support though may now change as PathScale is going to work on porting Nouveau, the free software NVIDIA graphics driver, to OpenSolaris.

PathScale, which specializes in cluster and high-performance compilers, wants to bring the Nouveau driver to OpenSolaris. Not only do they want Nouveau running there but they also want to run CUDA-like kernels atop the NVIDIA graphics hardware. In bringing Nouveau to the Sun operating system they also must bring over a kernel memory manager.

Intel's Graphics Execution Manager (GEM) is already available on OpenSolaris to some extent, but the Nouveau driver (and the ATI Radeon stack) largely uses TTM while just exposing the GEM API. PathScale's Christopher Bergström has written a message to the Nouveau list regarding this company's efforts.

A FreeBSD developer has ported some of TTM to their kernel, so Bergström is looking for feedback on how that went and then he raises the question if GEM is actually better than TTM. This GEM claim is based on the belief that GEM will continue to be supported, is more portable than TTM, and probably features better performance than TTM. These claims though can be argued. It wouldn't be too trivial to port the Nouveau driver over to OpenSolaris and at the same time switch the Nouveau driver over from using TTM to GEM, but Christopher mentioned it nevertheless.

PathScale wants this Nouveau support because "our interest is currently only in executing cuda-like kernels. If it doesn't add a substantial amount of effort we would like our efforts to also benefit others." Nouveau doesn't even have complete 3D support let alone any support for CUDA or any other GPGPU computing methods, so hopefully PathScale plans on contributing to this area of the Nouveau driver stack as well.

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. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. DNF Still Advancing As Experimental Yum For Fedora
  2. Logitech Begins Supporting Linux Users
  3. Modern Intel Gallium3D Driver Still Being Toyed With
  4. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  5. GCC 4.8.1 Compiler Due To Be Out Next Week
  6. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  7. Linux's "Ondemand" Governor Is No Longer Fit
  8. Firefox 22 Beta Enables WebRTC Support
  9. OpenSUSE 13.1 Milestone 1 Released
  10. DRM Graphics Driver Comes For Dove/Cubox
  11. JADE: An LLVM-Based Video Decoder For MPEG RVC
Latest Forum Talk
  1. What should be avoided when buying a new...
  2. X3: Albion Prelude Released For Linux Gamers
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. Logitech Begins Supporting Linux Users
  5. Sumo Lounge Emperor
  6. Logitech supports linux!
  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