In mid-October I had written how AMD's Catalyst driver surprisingly beat NVIDIA to modern Linux support
. While NVIDIA is usually first to support new kernel releases, AMD won in shipping "out of the box" Linux 3.11 and 3.12 compatibility. NVIDIA, however, has devised a workaround and will be coming up with a more proper long-term solution.
NVIDIA outlined the issue pertaining to supporting the Linux 3.11 kernels and newer in a NVIDIA DevTalk posting
this week. The blocker for 3.11 support comes down to num_physpages having been removed from the Linux 3.11 kernel and the replacement function not being an effective solution for NVIDIA.
NVIDIA's driver needs to be able to determin that all allocatable memory to the driver can be accessed by the GPU, but with this 3.11 change, that's no longer easily possible for determining the highest allocatable system memory address. NVIDIA is working on a proper solution but for now they've published a patch and are working on integrating this workaround into upcoming driver releases.
The patch provides limited support for 3.11+ by being more aggressive about falling back to a 32-bit DMA zone. This workaround will be used until a more appropriate solution has been developed. With this workaround, only users of systems with extremely large system memory capacities (128GB+ of RAM) could run into problems.