Originally Posted by DeiF
The ideal example of installation would be this:
- User downloads the driver from NVIDIA's site. The user knows where the file is (desktop, download folder, etc)
- User clicks on the file.
- A nice installation dialog appears. The user is prompted with the root password. The installation begins.
- The dialog prompts the user to reboot the graphical interface: "Pess here to reboot GUI"
- The desktop flashes for a bit and then the user logs in again with all working.
This is, unfortunately, not possible for nvidia-installer to do. For the same reasons mentioned here, there is no reliable way of shutting down the X server, performing some installation steps, and then starting it up again from a script (or program like nvidia-installer) that will work on all Linux distributions. This is one of the reasons that nvidia-installer insists on the X server being stopped first.
That said, I'm considering relaxing that restriction and allowing nvidia-installer to run while X is running if
it can successfully unload the nvidia.ko kernel module, for example, if you're using the nv or vesa drivers and there are no OpenGL or CUDA applications running. If you'd like to give that a try, you can pass the --no-x-check option to the installer. Please note that it will fail if it can't unload the kernel module, so if the driver is still in use, that's expected. Distribution-provided packages have an advantage here because they know that their kernel modules will work with the installed kernel. nvidia-installer doesn't have that luxury and must test-load the module to make sure it works.
If installing the nvidia driver while X is running with a different driver proves reliable, then I'll look at what it would take to add a graphical installer front-end.