I have been completely unable to get the nvidia driver working with the B500 on Linux. No matter what I try to do, the X server doesn't start, and my /var/log/Xorg.0.log file ends with "fatal server error: no screens found." I have tried feeding a custom modeline to xorg.conf, explicitly calling an EDID file which I extracted from the Windows installation, using the upstream nvidia driver installer, using the official repository driver, and probably a bunch of other stuff that I'm not recalling right now.
Versions I've tried this on:
Kubuntu 10.04, 32- and 64-bit
Ubuntu 10.04, 32-bit
Kubuntu 9.10, 32-and 64-bit
B500 systems running Ubuntu
Solved with the kind assistance of paulricardomc on the Ubuntu Forums: http://ubuntuforums.org/showthread.php?t=1477507
Short version of the fix:
1. Extract the edid from the Windows partition using softMCCS, saving as edid.bin
2. Save the edid.bin file in /etc/X11 (or wherever you like)
3. Include the following in the device section of your xorg.conf:
"Option" "ConnectedMonitor" "DFP-0"
"Option" "CustomEDID" "DFP-0:/etc/X11/edid.bin"
Fire up X and you're good to go.
Note : The above link will take you out of the Lenovo community page.