PathScale To Port Nouveau To OpenSolaris

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.
9 Comments