public
Last active

notes on getting gdev to build on Ubuntu 11.04

  • Download Gist
gistfile1.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
I describe here a ground-up set of steps to get shinpei0208/gdev to compile and load on
Ubuntu 11.04 with a GeForce GTX 550 Ti (NVC0) card.
 
1.) Install Ubuntu 11.04 Server. Run apt-get upgrade and apt-get dist-upgrade
(ending up running kernel 2.6.38-15-server)
 
2.) Download the mainline kernel source using the procedure described here
(stop after step 3): https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
 
3.) Checkout the v3.3 version of the kernel source tree:
linux$ git checkout -f v3.3
 
4.) Proceed with kernel build procedure. Run 'make localmodconfig' prior to step 6
to cull unused modules.
 
5.) In menuconfig, make sure DRM is enabled under Device Drivers -> Graphics Support.
Also, make sure that Nouveau is set to build as a module
(under Device Drivers -> Staging Drivers).
 
6.) Proceed with the kernel build steps. Install the built packages.
Step 12 is redundant.
 
7.) Boot the newly built 3.3 kernel.
 
7a.) If you want to run pscnv instead of patching nouveau, add blacklist entries for
'nouveau' and 'ttm' in /etc/modprobe.d/blacklist.conf to prevent nouveau from
loading at boot time.
 
8.) Install the CUDA toolkit from Nvidia (this gives you the nvcc compiler
- not the proprietary driver).
 
9.) Pull down gdev:
$ git clone git://github.com/shinpei0208/gdev.git
 
10.) Pull down envytools:
$ git clone git://github.com/pathscale/envytools.git
 
11.) Install envytools deps:
$ sudo apt-get install cmake libxml2 libxml2-dev libpciaccess-dev flex bison pkg-config
 
12.) Install envytools per directions in gdev Readme.md
 
From this point on, the instructions in the gdev Readme will mostly work.
A few remaining issues with the build system that require some tweaking are mentioned below.
I have yet to get the pscnv driver to work. I'm able to compile it, but it fails at
load time:
http://pastebin.com/raw.php?i=yVGPfTgf
 
Until I get past the pscnv issue, the only driver I've been able to get to work is the
nouveau driver from the kernel v3.3 source tree (patched with gdev-nouveau.patch from
gdev/mod/patches).
 
Gdev Module: must copy gdev_interface.h to build directory for build to succeed.
 
Cuda Driver API (kcuda): - need to add '-I /usr/include' to Makefile EXTRA_CLFAGS
(after running cmake to generate the Makefile)
<edit>
actually, the file that wants to include sys/errno.h above can be compiled in either kernel or user context. I've patched the file in question to properly include the right file.

The pscnv driver issue described above was fixed in pscnv with this commit:
https://github.com/pathscale/pscnv/commit/f669f81d5518ed3ec8fb8394e2c16eb0d84168ea.patch

Applying this patch allows my NVCF (GF116) card to work (specifically GeForce GTX 550 Ti).

I am getting a "PGRAPH: unsupported chipset" dmesg error on startup. I have a GTX 570 card. Maybe the DRM module doesn't have the information needed. Shall i continue with my setup or should i switch to a newer distribution?

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.