解決Ubuntu 13.10安裝Nvidia驅動出錯問題
阿新 • • 發佈:2019-02-11
2014.1.10更新:
11月6日更新的NVIDIA顯示驅動331.20終於支援3.12核心了,下載最新版本驅動即可。
宣告,只針對NVIDIA-Linux-x86_64-319.60.run版本,其他版本請修改對應檔名(未測試)。
安裝的前期工作照常。直到要關閉service lightdm這一項。
設NVIDIA-Linux-x86_64-319.60.run的目錄位置為<dir>,在<dir>下執行
sh ./NVIDIA-Linux-x86_64-319.60.run -x
出現一個同名資料夾。
複製文字:
--- NVIDIA-Linux-x86_64-319.60/kernel/nv-drm.c 2013-09-26 01:02:38.000000000 +0400 +++ NVIDIA-Linux-x86_64-319.60/kernel/nv-drm.c 2013-10-02 14:00:03.617000000 +0400 @@ -201,12 +201,7 @@ memset(&nv_obj->base, 0, sizeof(nv_obj->base)); nv_obj->pages = pages; - ret = drm_gem_private_object_init(nvl->drm, &nv_obj->base, size); - if (ret) - { - status = RM_ERR_OPERATING_SYSTEM; - goto done; - } + drm_gem_private_object_init(nvl->drm, &nv_obj->base, size); ret = drm_gem_handle_create(file_priv, &nv_obj->base, handle); if (ret) diff -ur NVIDIA-Linux-x86_64-319.60/kernel/nv-linux.h NVIDIA-Linux-x86_64-319.60/kernel/nv-linux.h --- NVIDIA-Linux-x86_64-319.60/kernel/nv-linux.h 2013-09-26 01:02:38.000000000 +0400 +++ NVIDIA-Linux-x86_64-319.60/kernel/nv-linux.h 2013-10-02 14:01:31.461000000 +0400 @@ -1037,7 +1037,11 @@ #endif #if !defined(NV_VMWARE) +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) #define NV_NUM_PHYSPAGES num_physpages +#else +#define NV_NUM_PHYSPAGES get_num_physpages() +#endif #define NV_GET_CURRENT_PROCESS() current->tgid #define NV_IN_ATOMIC() in_atomic() #define NV_LOCAL_BH_DISABLE() local_bh_disable()
儲存在<dir>下,名字為patchfile.diff檔案,執行命令
patch -p0 < patchfile.diff
然後關閉lightdm:
sudo service lightdm stop
然後進入<dir>/NVIDIA-Linux-x86_64-319.60資料夾,執行:
sudo ./nvidia-install
就可以安裝了