如何让 Nvidia 驱动程序在 Fedora 26 上运行

如何让 Nvidia 驱动程序在 Fedora 26 上运行

我知道有类似的问题,但没有一个能解决我的问题,我当前的操作系统是 Fedora 26 最小网络安装版,带有 i3 窗口管理器,因此可以安全地假设它是定制的 Linux

➜  ~ lspci| grep VGA       
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
➜  ~ lspci| grep 3D 
0a:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)
➜  ~ uname -a
Linux localhost.localdomain 4.13.5-200.fc26.x86_64 #1 SMP Thu Oct 5 16:53:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

问题是我想让 Nvidia 卡驱动程序工作,至少能够在启动时选择使用哪一个,最好能够启用 nvidia-prime 在两个显卡之间进行动态切换

我尝试了 bumblebee、rpmfusion nvidia 驱动程序、nvidia 提供的官方驱动程序,最后尝试了 rpm nvidia 驱动程序的 negativo repos(当前版本),它们都给出了类似的结果。我已经将 nouveau 驱动程序列入黑名单(它不会出现在 中lspci),并尝试将 i915 驱动程序列入黑名单,以便查看 nvidia 驱动程序是否能工作,但没有成功

这是当前的 Xorg 配置

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    Option "SLI" "Auto"
    Option "BaseMosaic" "on"
    ModulePath "/usr/lib64/nvidia/xorg"
EndSection

Section "OutputClass"
    Identifier "intel"
    MatchDriver "i915"
    Driver "modesetting"
EndSection
Section "Monitor"
    Identifier "Monitor0"
EndSection

Section "Device"
    Identifier "Device0"
    Driver "intel"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor"
EndSection

当我将此行更改Driver "intel"Driver "nvidia"then do时startx,我有点挂起了,它不接受任何输入,ctrl+c不会让我回到 tty shell,但是“ctrl+alt+f2,f3”可以将我移动到另一个 tty,当我移回 tty1 时,它不会在那里显示文本,而是屏幕冻结在前一个 tty 中已有的内容上。

编辑:

  • 请注意,“OutputClass”部分是驱动程序安装的一部分,如果没有其余部分,屏幕通常会完全变黑(就像关闭一样)

答案1

我认为你调试的层次不对。检查X服务器是否工作只能回答你的X服务器是否工作。你无法检查NVIDIA驱动程序是否成功加载。

因此,您应该首先检查 nvidia 是否已正确安装和加载。启动到文本控制台并运行以下命令。

nvidia-smi

如果没有出现以下情况,则说明您的驱动程序不工作

Thu Nov  9 13:12:09 2017       
 +-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    
|
|-------------------------------+----------------------+----------------------+

如果你的驱动程序确实有效,请使用以下命令生成新的 x-config

nvidia-xconfig

然后用新生成的 Xconf 替换旧的 Xconf。如果不起作用,那么是时候将驱动程序列入黑名单、禁用 BIOS 了……

答案2

我看不到您的报告,因此我会给出一个通用答案:

对于普通卡和 BIOS,指南应该可以解决您的问题,我想您已经考虑过所有这些问题,但也许您错过了依赖项或配置文件中的某行。它使用 nVidia 驱动程序安装程序,而不是手动安装。过去我总是手动完成,但这可能会解决您的奇怪问题。

如果您的系统使用 nVidia Optimus 技术(我相信是这样的),那么在 Linux 上运行它会更棘手一些,通常可以使用 bumblebee(您已经尝试过)。您有两次机会:

  • 查看Fedora 项目 Wiki Bumblebee 页面看看你是否能成功。你说你试过了,但也许你错过了什么。
  • 最安全、最快的方式是在笔记本电脑的 BIOS 中禁用 nVidia Optimus 技术或英特尔显卡(禁用驱动程序是不够的)然后尝试我之前提到的标准 nVidia 驱动程序安装程序(或您过去尝试过的程序,大黄蜂除外)。您将失去双显卡功能。

请不要因为我的回答太简单而对我投反对票,我还没有足够的声誉来在评论中发表这篇文章,虽然当我在 fedora 20-22 中遇到类似问题时,这救了我的命,所以它应该有效。

相关内容