a.) solução funcional mas não recomendada
Consegui instalar os drivers manualmente seguindo este guia:
O problema com essa abordagem, que (de acordo com alguns fóruns e minha experiência) o driver nvidia substitui algumas outras libs também, e um dnf update
pode sobrescrever essas libs, o que resultará em um sistema MUITO instável. Para não mencionar que a instalação acidental de drivers da NVIDIA a partir da fusão RPM irá matar totalmente o sistema além do reparo. (Eu não consegui inicializar nesse caso, nem mesmo no modo de texto.)
Portanto, essa abordagem funciona somente se você não planeja atualizar o sistema ou é muito cuidadoso com o que você atualiza.
b.) solução recomendada
Consegui instalar o driver a partir da fusão de RPM.
Primeiro, você precisa registrar os repositórios gratuitos e não gratuitos. link
Na instalação do driver, as primeiras 6 tentativas não funcionaram comigo, recebi uma mensagem de erro "algo deu errado" e um botão com o rótulo "logout" após a reinicialização. Não é necessário se preocupar nesse caso, é fácil desinstalar o pacote com ctrl+alt+f2
e dnf remove akmod-nvidia
. Depois disso, uma reinicialização restaura o sistema para o driver nouveau, que congela, mas funciona de 1 a 30 minutos por sessão.
Esteja ciente de que nem sempre akmod-nvidia
é o bom driver para o seu cartão. No meu caso, eu precisava de akmod-nvidia-340xx
. Você pode encontrar qual driver você precisa aqui: ftp://download.nvidia.com/XFree86 /Linux-x86_64/352.63/README/supportedchips.html
Meu script de instalação foi:
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
Não sei por que isso funcionou. Quer dizer, tentei algo semelhante 6 vezes, mas funcionou apenas para a 7ª tentativa. Eu consultei os caras da fusão RPM, talvez eles tenham consertado o repo enquanto isso, ou eu fiz algo melhor que eu não conheço.
De acordo com alguns fóruns, você precisa dos binários de 32 bits do xorg-x11-drv-nvidia-libs
e de outras libs, porque o Gnome 3 depende deles. Eu não tenho certeza disso, mas funcionou para mim.
notas:
Instalei outros binários de 32 bits depois de verificar se a instalação desse driver funciona:
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
Estes podem ser úteis se você deseja executar aplicativos de 32 bits, por exemplo, jogos antigos. link
Atualização:
Minha primeira instalação foi para a Geforce GT 240. Agora mudei a placa de vídeo para GeForce GTX 750 Ti. Antes de alterar a placa de vídeo, removi o driver do cartão antigo com dnf remove akmod-nvidia-340xx xorg-x11-drv-nvidia-340xx-libs.i686
e instalei o novo driver com dnf install akmod-nvidia xorg-x11-drv-nvidia-libs.i686
. Depois disso, desliguei o computador, troquei o cartão e reiniciei o sistema. Tudo está funcionando bem desde então.