Another way is to check for the kernel kmp package. You can only install the open driver or the closed one.
The output of zypper se -si kmp-default and zypper se -si kmp-longterm
will tell.
nvidia-driver-G06-kmp-default → closed nvidia-open-driver-G06-signed-kmp-default → open nvidia-open-driver-G06-signed-kmp-longterm → open
I don’t have anything nvidia equipped sitting in front of me, or what the name of the “open” kernel module is, but lsmod | grep nvidia will tell you if the proprietary module is loaded or not, IIRC
Offhand, the packaging looks to me, like if a user has nvidia-open-driver-G06-signed-kmp-longterm installed, that the Conflicts: would prevent having the proprietary rpm installed at the same time, without doing some manual overrides:
[sfalken@mustang ~]$ zypper info --conflicts nvidia-open-driver-G06-signed-kmp-longterm
Information for package nvidia-open-driver-G06-signed-kmp-longterm:
...
Conflicts : [5]
nvidia-driver-G06-kmp
nvidia-gfxG05-kmp
nvidia-gfxG06-kmp
nvidia-open-signed-kmp(cuda)
nvidia-open-driver-G06-signed-kmp-longterm-k6.12.35_1
so checking what RPM is installed should be reasonable enough.
Now what happens with the “open” driver, if you install the proprietary driver through the .run I’m not sure, but I suspect you’d run into issues with it overwriting the modules as they’re named the same. But that’s completely a semi-educated guess on my part.
@sfalken the run file by default installs the “open” driver on supported hardware. You have the set the option --kernel-module-type=proprietary with the run file to install the “closed” driver on open driver supported hardware. If it’s older than Turing, then it will install the closed driver without user intervention.