如何在 Fedora 23 上安装 nvidia 专有驱动程序?

如何在 Fedora 23 上安装 nvidia 专有驱动程序?

使用我的 Geforce GT240 时,Fedora 23 往往会因新的显示驱动程序而冻结。我已经通过使用驱动程序管理器安装专有驱动程序在 Ubuntu 上解决了这个问题。 Fedora 23 有类似的东西吗?

我没有找到任何与驱动程序相关的应用程序。 :SI 找到了一些关于如何手动执行此操作的 CLI 教程,但我不确定它们是否可靠。其中一些人正在谈论 xorg-server 版本从 1.17 更改为 1.18,并且 nvidia 在稳定之前不会支持 1.18。它在12月8日变得稳定。现在我找到的教程是8月份的,所以我无法想象他们是如何让Fedora 23 + xorg-server 1.18 rc与旧的nvidia驱动程序一起工作的,它不支持新版本的xorg-server ...知道在哪里可以找到该主题中可靠的内容或如何安装 3.40.x nvidia 专有驱动程序吗?

答案1

a.) 有效但不推荐的解决方案

我设法按照本指南手动安装驱动程序:

这种方法的问题是(根据一些论坛和我的经验)nvidia 驱动程序也会覆盖其他一些库,并且可以dnf update覆盖这些库,这将导致系统非常不稳定。更不用说不小心从 RPM fusion 安装 nvidia 驱动程序将彻底杀死系统,无法修复。 (在这种情况下我无法启动,即使在文本模式下也是如此。)

因此,只有当您不打算更新系统,或者您对更新内容非常小心时,此方法才有效。

b.) 推荐的解决方案

我设法从 RPM fusion 安装驱动程序。

首先,您需要注册免费和非免费存储库。http://rpmfusion.org/Configuration

通过驱动程序安装,前 6 次尝试对我来说不起作用,我收到一条错误消息“出了问题”,并且在重新启动后出现了带有“注销”标签的按钮。在这种情况下无需担心,使用ctrl+alt+f2和可以轻松卸载软件包dnf remove akmod-nvidia。之后,重新启动会将系统恢复到 nouveau 驱动程序,该驱动程序会冻结,但每个会话可以工作 1-30 分钟。

请注意,并不总是akmod-nvidia适合您的卡的驱动程序。就我而言,我需要akmod-nvidia-340xx.您可以在这里找到您需要的驱动程序:ftp://download.nvidia.com/XFree86/Linux-x86_64/352.63/README/supportedchips.html

我的安装脚本是:

dnf update
dnf install akmod-nvidia-340xx.x86_64 kernel-devel gcc gcc-c++ vdpauinfo
libva-vdpau-driver libva-utils xorg-x11-drv-nvidia-340xx-libs.i686
dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
reboot

我不知道为什么这有效。我的意思是我尝试了类似的方法 6 次,但只在第七次尝试时才有效。我咨询了 RPM fusion 的人,也许他们同时修复了 repo,或者我做了一些我不知道的更好的事情。

根据一些论坛,您需要xorg-x11-drv-nvidia-libs和其他库的 32 位二进制文​​件,因为 Gnome 3 依赖于它们。我对此不确定,但它对我有用。

笔记:

在验证此驱动程序安装有效后,我安装了其他 32 位二进制文​​件:

sudo dnf -y install \
  alsa-lib.i686 \
  alsa-plugins-oss.i686 \
  alsa-plugins-pulseaudio.i686 \
  alsa-plugins-pulseaudio.i686 \
  arts.i686 \
  audiofile.i686 \
  bzip2-libs.i686 \
  cairo.i686 \
  cdk.i686 \
  compat-expat1.i686 \
  compat-libstdc++-33.i686 \
  cyrus-sasl-lib.i686 \
  dbus-libs.i686 \
  esound-libs.i686 \
  fltk.i686 \
  freeglut.i686 \
  glibc.i686 \
  gtk2.i686 \
  imlib.i686 \
  lcms-libs.i686 \
  lesstif.i686 \
  libacl.i686 \
  libao.i686 \
  libattr.i686 \
  libcap.i686 \
  libdrm.i686 \
  libexif.i686 \
  libgnomecanvas.i686 \
  libICE.i686 \
  libieee1284.i686 \
  libsigc++20.i686 \
  libSM.i686 \
  libtool-ltdl.i686 \
  libusb.i686 \
  libwmf-lite.i686 \
  libwmf.i686 \
  libX11.i686 \
  libXau.i686 \
  libXaw.i686 \
  libXcomposite.i686 \
  libXdamage.i686 \
  libXdmcp.i686 \
  libXext.i686 \
  libXfixes.i686 \
  libxkbfile.i686 \
  libxml2.i686 \
  libXmu.i686 \
  libXp.i686 \
  libXpm.i686 \
  libXScrnSaver.i686 \
  libXScrnSaver.i686 \
  libxslt.i686 \
  libXt.i686 \
  libXtst.i686 \
  libXv.i686 \
  libXv.i686 \
  libXxf86vm.i686 \
  lzo.i686 \
  mesa-libGL.i686 \
  mesa-libGLU.i686 \
  nas-libs.i686 \
  nspluginwrapper.i686 \
  openal-soft.i686 \
  openldap.i686 \
  pam.i686 \
  popt.i686 \
  pulseaudio-libs-glib2.i686 \
  pulseaudio-libs.i686 \
  pulseaudio-libs.i686 \
  qt-x11.i686 \
  qt.i686 \
  redhat-lsb.i686 \
  sane-backends-libs.i686 \
  SDL.i686 \
  svgalib.i686 \
  unixODBC.i686 \
  zlib.i686

如果您想运行 32 位应用程序(例如旧游戏),这些可以派上用场。https://gist.github.com/tomekwi/0e0eff870cf9b689379d

更新:

我的第一次安装是 Geforce GT 240。现在我将显卡更改为 Geforce GTX 750 Ti。在更换显卡之前,我使用 删除了旧卡的驱动程序,dnf remove akmod-nvidia-340xx xorg-x11-drv-nvidia-340xx-libs.i686并使用 安装了新驱动程序dnf install akmod-nvidia xorg-x11-drv-nvidia-libs.i686。之后我关闭计算机,更换卡并重新启动系统。从那时起一切都运转良好。

答案2

使用 rpmfusion 的驱动程序

http://rpmfusion.org

http://rpmfusion.org/Howto/nVidia#Latest.2BAC8-Beta_driver

或者,如果您想从最新的 Fedora 稳定版本中获取它:

yum --releasever=23 安装 akmod-nvidia

yum install“kernel-devel-uname-r == $(uname -r)”

百胜更新-y

如果您运行的是 Fedora 23,您可以使用 dnf 而不是 yum

或者,如果您想从最新的 Fedora 稳定版本中获取它:

dnf install akmod-nvidia
dnf install "kernel-devel-uname-r == $(uname -r)"
dnf update -y

然后重新启动。

注意:尚未支持所有卡,请参阅 nvidia 兼容性列表

ftp://download.nvidia.com/XFree86/Linux-x86_64/352.63/README/supportedchips.html

答案3

这就是您要做的,而且没有比这更复杂的了。

su -c 'dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'

这是添加 rpmfusion 存储库的官方方法, 进而:

dnf install akmod-nvidia "kernel-devel-uname-r == $(uname -r)"
dnf update -y

完毕!这是安装这些驱动程序的官方方法

然后因为我很友善,所以这是我完整的卸载/重新安装命令,以防驱动程序失效(它会,它会!,害怕内核更新!)

sudo dnf remove xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs akmod-nvidia kmod-nvidia* && dnf install akmod-nvidia kmod-nvidia

(请注意,这会更新您的/etc/X11/xorg.conf.d/99-nvidia.conf文件,但由于 DNF 也很好,它会创建原始文件的备份,所以如果您有自定义配置文件,请记住这一点)

相关内容