Nvidia legacy driver 304.137 working with Linux Mint 20 x64 xfce

Screen resolution, 3D Acceleration, nVidia, ATI
Forum rules
Before you post please read this
Post Reply
User avatar
burrezo
Level 1
Level 1
Posts: 1
Joined: Sat Nov 21, 2020 5:48 pm

Nvidia legacy driver 304.137 working with Linux Mint 20 x64 xfce

Post by burrezo »

Hi all,

After getting nvidia-304xx-legacy drivers work in Debian 10 Buster amd64, Antix19.3_x64 and MX Linux 19.3_x64, this is the way to make it in Linux Mint 20 xfce 64.

My PC: Asus P5N73-AM (chipset NForce 610i, integrated nvidia 7050) + Xeon x5450 [775 mod] + 4Gb Ram + SSD

https://www.asus.com/us/Motherboards/P5N73AM/

[1] Fresh install linuxmint-20-xfce-64bit.iso, at first graphical boot, open a terminal (Ctrl + Alt + t):

1a - Choose the highest resolution supported by your monitor in console mode, if unknown to you:

Code: Select all

sudo apt install hwinfo
sudo hwinfo --framebuffer 
Edit /etc/default/grub , edit / un-comment / add:

Code: Select all

[...]
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=3
[...]
GRUB_GFXMODE=1400X1050
GRUB_GFXPAYLOAD_LINUX=keep
Note 1400x1050 is the highest resolution of my GPU, supported by my monitor, yours may be other one.

Save/quit and:

Code: Select all

sudo update-grub
1b - Blacklist nouveau drivers, create the file /etc/modprobe.d/disable-nouveau.conf with this content:

Code: Select all

blacklist nouveau
options nouveau modeset=0
Save/quit and:

Code: Select all

sudo updadate initramfs -u
sudo reboot
[2] When grub boot-menu shows up, press letter ‘e’, move to the end of the line linux /boot/vmlinuz-5.4.0-26-generic root=UUID=………………….. ro quite splash , and add a ‘3’ at the end, like this:

Code: Select all

     linux     /boot/vmlinuz-5.4.0-26-generic root=UUID=………………….. ro quite splash 3
Press ‘F10’ to continue, the system starts in terminal mode, log in normally with your user/password.

[3] Remove Xorg 1.20 (nvidia legacy driver 304xx only works up to Xorg 1.19):

Code: Select all

sudo apt remove xserver-xorg-core
[4] Install git, we will need it later:

Code: Select all

sudo apt install git
[5] Edit /etc/apt/sources.list.d/official-repositories.list , comment everything, and at the end, add:

Code: Select all

deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
Save/quit and:

Code: Select all

sudo apt-get update
[6] Install Xorg 1.19 and some packages needed:

Code: Select all

sudo apt install xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput
[7] Download the Nvidia official proprietary driver for your old nvidia GPU, in my case is a 7050, but I suppose this method will work with A LOT of old chipsets/cards ( https://www.nvidia.es/Download/driverRe ... px/123847/ <- ‘SUPPORTED PRODUCTS‘ tab )

Code: Select all

wget https://us.download.nvidia.com/XFree86/Linux-x86_64/304.137/NVIDIA-Linux-x86_64-304.137.run
Make the file executable:

Code: Select all

chmod +x NVIDIA-Linux-x86_64-304.137.run
Extract, NOT execute, the file (note the ‘-x’ at the end):

Code: Select all

./NVIDIA-Linux-x86_64-304.137.run -x
Directory ‘NVIDIA-Linux-x86_64-304.137‘ is created.

[8] Get some patches from Jorge Maidana ( https://github.com/jorgem-seq ) FOLLOW & LIKE/STAR HIS WORK PLEASE!

Code: Select all

git clone https://github.com/jorgem-seq/NVIDIA-Linux-304.137-patches.git
[9] Navigate into the 'NVIDIA-Linux-x86_64-304.137' directory, and apply the patches, IN ORDER, up to the patch needed, depending on the kernel installed, so, in this case, with a clean install, the kernel is 5.4.0, so, only patches 0001, 0002, 0003, 0004, 0005, 0006, 0007 and 0008 are needed (adjust your path when patching, depending on where the files were downloaded, extracted, cloned, etc...)

Code: Select all

patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0001-disable-mtrr-4.3.patch
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0002-pud-offset-4.12.patch
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0003-nvidia-drm-pci-init-4.14.patch
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0004-timer-4.15.patch
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0005-usercopy-4.16.patch 
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0006-do_gettimeofday-5.0.patch
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0007-subdirs-5.3.patch
patch -p1 <../NVIDIA-Linux-x86_64-304.137-patches/patches/0008-on-each-cpu-5.3.patch
[10] Execute the nvidia installer:

Code: Select all

sudo ./nvidia-installer
The installer shows some kind of trouble with 32bits glx libs compatibility, but you can install anyway.

After finish with no errors:

Code: Select all

sudo update-initramfs -u
[11] Mark xserver-xorg-core package as NOT upgradeable:

Code: Select all

sudo apt-mark hold xserver-xorg-core
[12] Restore Linux Mint default repositories, comment the last line added, un-comment all the others, and:

Code: Select all

sudo apt-get update
[13] Disable xfce4 compositor, edit: /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml , use_compositing need to be set 'false':

Code: Select all

     <property name=”use_compositing” type=”bool” value=”false”/>
And reboot:

Code: Select all

sudo reboot
[14] For transparencies and other effects In xfce, at main menu, go to Settings -> Sessions and Startup -> Application Autostart, and +Add:

Code: Select all

     Name: Compton
     Description: Compton compositor
     Command: compton
     Start: on login 
[15] Final upgrade and reboot, open a terminal:

Code: Select all

sudo apt-get update && sudo apt-get upgrade
sudo reboot
https://i.ibb.co/82zJfgn/Captura-de-pan ... -39-04.png

The performance increase is hugh with proprietary Nvidia drivers with this old GPUs in comparison with nouveua drivers, enjoy your nvidinosaur!!
Post Reply

Return to “Graphics Cards & Monitors”