I had this problem too, and lots of people seem to have had it as well.
I did
modprobe -r rivafb and
modprobe nvidia then
startx and X started up fine, so I presume the problem is that rivafb is loaded and conflicts with nvidia
there seem to be lots of thread here and elsewhere talking about this conflict, eg
http://www.linuxquestions.org/questions/history/249145
but nobody reveals the arcane secret of stopping rivafb from loading in the first place.
how do i stop it, is there a config file somewhere that specifies that rivafb load?
Or is the solution just to delete or remove rivafb.ko?