This is a bash/Yad(ex-zenity) script for managing NVIDIA© proprietary and open source drivers.
Actual version pretty name : 2.0
Project not maintained as a project is usually maintain. No waranty support. Just as it is. Update will be made only on my own bugs discovery or from fatal error send by users.
- Driver Install.
- Driver or Modules update.
- Configuration and Tools.
- Help and Documentation.
- from local package.
- from a dowloaded package.
- from NVIDIA server.
- driver updates check and install.
- Modules update.
- New kernel update.
- Open driver switch tool (available when open_drv set to 1)
- Prime display tool (available when detected)
- Edit xorg configuration file.
- Edit Zenvidia configuration file.
- Edit font color config file.
- Start Nvidia-Settings for default user.
- Edit specifics distribution options and environment
- Installed driver mangagement (remove, backups, restore).
- Zenvidia notification config.
No administrator priviledge required.
- Nvidia driver manuel : Installed version driver manual with graphic chaptered index.
- Nvidia driver Changelog : Installed version and general driver changelog with graphic chaptered index.
- Zenvidia Changlog.
- Zenvidia help text : Simple Zenvidia help text file display.
- Zenvidia About text : About Zenvidia text file display.
Most part of Zenvidia is configurable.
Script automaticaly update many of them during execution or in game of Q&A. Options could be manage through Zenvidia > Configuration and Tools menu.
This will install in default behaviour.
Choose a directory to clone repo and :
As normal user :
git clone https://github.com/wildtruc/zenvidia.git
cd zenvidia/
As superuser :
# then :
# to install to default :
make install
# to remove all :
make uninstall
# to remove safely (doesn't remove downloaded driver packages)
make safeuninstall
# to update (this including git update command) :
make update
Then : Through terminal command line for GUI.
zen_start # (with administrator priviledge)
zenvidia # (with no priviledge)
or with desktop file from end user inface menu > settings > others menu.
zenvidia (admin) # (with administrator priviledge)
zenvidia (user) # (with no priviledge)
Or by the desktop menu entry in Setting menu. The GUI will ask you for admin/superuser password.
Zenvidia notify is taskbar notifier checking at user session boot time for driver updates.
It is installed at the same time as Zenvidia when launching make install
command.
It comes with 2 options:
- -z > check zenvidia script and nvidia drivers.
- -n > check nvidia drivers only.
Default desktop entry file is set to -n
, you can manage options through main menu > Configuration and Tools menu.
Most of the main functions are available from the desktop task bar menu entries. There not needs to use commande line or desktop manu entries.
With end user interface menu > system settings > others menu (it could differ by distribution).
Command line tool is only for rescue services, and need to be launch with Desktop manager disable. Desktop manager have to be shutdown with systemcl disable [desktop-manager]
command (it doesn't really care in case of real rescue, DM is crashed anyway).
zenvidia [command] [version]
command are : restore, rebuild, rescue, reinit.
version is the desired driver version (displayed with zenvidia command alone with X server off).
Note : the Grub starting menu option nvidia-drm.modeset=1
activate the plymouth splash screen and some older distribution or Nvidia versions prevent switching to TTY console with Ctrl+Alt+F(x).
If set, it is mandatory to change this option to 0
and have a good access to TTY. In case of a real crash, it doesn't really care, but be aware that you will get acces to one TTY only.
I started Zenvidia several years ago in a background of non existent Nvidia drivers managed by distros. I builded it with a light knowledge of bash code I was learning on the scratch and with the only goal of my own use. I finally brought it to the community, with all my knowledge gaps, and maintained it for a couples of years until my health prevent me to go on. I throw the sponge, hoping someone somewhere one day will continue or make a new one.
Despite my personal condition I went by time back in the code to add, change some little things because I was still using it, and despite the fact that my distro was delivering Nvidia drivers, Zenvidia was still more flexible.
Then, the 515 drivers series went out with the open source drivers. Yeah, it was cool, but as always Nvidia's old school linux drivers developpers put brut terminal only tools (I still love you guys! 😋 ), event not a possibility to test and switch back. And as always, I decided to put that in Zenvidia. Going back to Zenvidia bash code after a so long suspend was not a peace of cake and take me several months to understand the clean way to make a fast switch and even wash the code of all the useless things.
This finally done. Even if tested in almost all weirdest way ( I do very strange things some time) and there is still some [issues](#Known Issues) and I still doing stupid mistakes. The code is not maintain in the classic way, just because of me, I just hope people will enjoy using it, because I don't think there's any equals in the whole linux community.
The script is think as Swiss knife.
Copyleft PirateProd - Licence GPL v.3
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with main.c; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA