无法安装nvidia驱动程序,在函数'block_cpu_fault_locked'中:错误隐式声明函数'task_stack_page

时间:2018-01-12 05:46:20

标签: ubuntu graphics x11 nvidia

我试图在计算机崩溃后在台式计算机上重新安装Ubuntu和NVIDIA驱动程序。但崩溃后NVIDIA驱动程序无法成功安装。第一个问题是Ubuntu usb安装后计算机进入低分辨率模式,要求我“重新启动”计算机。我遇到的第二个问题是按ctrl-alt-F1切换到文本命令模式后屏幕变为黑屏。我学会了通过编辑/etc/default/grub来解决黑屏文本命令模式,并将'nomodeset'添加到GRUB_CMDLINE_LINUX_DEFAULT变量并重新启动计算机。

然后我下载https://us.download.nvidia.com/XFree86/Linux-x86_64/384.130/NVIDIA-Linux-x86_64-384.130.run并安装此NVIDIA驱动程序。但由于以下错误导致安装失败:

  

/tmp/selfgz1982/NVIDIA-Linux-x86_64-384.130/krenel/nvidia-uvm/uvm8_va_block.c:   在函数'block_cpu_fault_locked'中:
  ./arch/x86/inlcude/asm/process.h:820:39:错误隐式声明   function'task_stack_page'[-Werror = implicit-function-declaration]
  unsigned long __ptr =(unsigned long)task_stack_page(task);

显卡是否坏了?
nvidia驱动器在崩溃时是否会改变母偏置或显卡设置? Ubuntu安装可以完成安装并显示出很好的分辨率。

我有什么建议可以解决它吗?

3 个答案:

答案 0 :(得分:7)

正如@Wang所指出的,这里是解决方案:https://github.com/NixOS/nixpkgs/issues/33284#issuecomment-354672627

现在,如果你使用脚本nvidia.run,它可能有点棘手,因为脚本后来提取源代码,运行并删除源代码。以下是您如何克服它:

  1. sudo ./nvidia.run -x将提取源代码。
  2. 找到解压缩的文件夹。在里面,有一个文件[the-extracted-folder]/kernel/nvidia-uvm/uvm8_va_block.c。将#include <linux/sched/task_stack.h>添加到顶部。
  3. sudo [the-extracted-folder]/nvidia-installer安装驱动程序。
  4. 然后,你应该好好去。

答案 1 :(得分:2)

现在是issue

  

添加#include <linux/sched/task_stack.h>   kernel/nvidia-uvm/uvm8_va_block.c应该解决问题。

答案 2 :(得分:1)

提取使用

sudo sh cuda_9.1.85_387.26_linux.run --extract=$home/Downloads/cuda