Bug 15921 - Error registry key file when run nvidia-settings command on console
Summary: Error registry key file when run nvidia-settings command on console
Status: RESOLVED WONTFIX
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Rémi Verschelde
QA Contact:
URL:
Whiteboard: MGA5TOO
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-13 09:43 CEST by David GEIGER
Modified: 2023-02-22 05:39 CET (History)
4 users (show)

See Also:
Source RPM: bumblebee
CVE:
Status comment:


Attachments

Description David GEIGER 2015-05-13 09:43:18 CEST
When I run the command "nvidia-settings-bumblebee" on console I have an error about a registry key file, see the output:

$ nvidia-settings-bumblebee 

ERROR: nvidia-settings could not find the registry key file. This file should
       have been installed along with this driver at either
       /usr/share/nvidia/nvidia-application-profiles-346.59-key-documentation
       or /usr/share/nvidia/nvidia-application-profiles-key-documentation. The
       application profiles will continue to work, but values cannot be
       preopulated or validated, and will not be listed in the help text.
       Please see the README for possible values and descriptions.
$


I think it is the same error without bumblebee system.



Reproducible: 

Steps to Reproduce:
Samuel Verschelde 2015-05-13 10:23:31 CEST

CC: (none) => anssi.hannula, rverschelde, tmb

Samuel Verschelde 2015-06-06 15:28:20 CEST

Whiteboard: (none) => MGA5TOO
Assignee: bugsquad => anssi.hannula

Comment 1 Rémi Verschelde 2015-08-02 13:22:00 CEST
I have the same issue. With nvidia-current, I have the registry key file in /usr/share/nvidia-alt-nvidia-current:

$ ll /usr/share/nvidia*
/usr/share/nvidia-alt-nvidia-current:
total 20
-rw-r--r-- 2 root root  427 juil.  9 18:35 monitoring.conf
-rw-r--r-- 1 root root 6041 juil.  9 18:35 nvidia-application-profiles-346.82-key-documentation
-rw-r--r-- 1 root root 3886 juil.  9 18:35 nvidia-application-profiles-346.82-rc
-rw-r--r-- 2 root root  695 juil.  9 18:35 pci.ids

/usr/share/nvidia-current:
total 12
-rw-r--r-- 1 root root 212 juil.  9 18:35 mageia-nvidia-settings.desktop
-rw-r--r-- 2 root root 427 juil.  9 18:35 monitoring.conf.mga
-rw-r--r-- 2 root root 695 juil.  9 18:35 pci.ids.mga
Comment 2 Thomas Backlund 2015-08-02 13:44:58 CEST
So, this does not happend on a clean nvidia setup as the alternatives are properly setup (the "nvidia-alt-*" are part of that).

real nvidia-settings works oob on my systems

So it's an optimus hw specific setup issue (or bumblebee one, I haven't checked that part at all since my optimus laptop broke)
Comment 3 Rémi Verschelde 2015-08-02 13:55:23 CEST
Hm, with bumblebee nvidia-settings are launched using:
$ optirun -b none /usr/lib64/nvidia-current/bin/nvidia-settings -c :8

Would that bypass the alternatives? Or are the nvidia alternatives defined only if nvidia-current is installed via XFdrake? For optimus laptops, the bumblebee-nvidia package simply pulls nvidia-current as a dependency, so if there are alternatives which are not handled by the nvidia-current package itself, they might be missing indeed.
Comment 4 Rémi Verschelde 2015-08-02 13:55:50 CEST
I confirm that I don't see any alternatives group that seem to refer to nvidia on my system.
Comment 5 Rémi Verschelde 2015-08-02 13:56:47 CEST
(In reply to Rémi Verschelde from comment #4)
> I confirm that I don't see any alternatives group that seem to refer to
> nvidia on my system.

Scratch that, I missing gl_conf.

# update-alternatives --display gl_conf 
gl_conf - status is manual.
 link currently points to /etc/ld.so.conf.d/GL/standard.conf
/etc/ld.so.conf.d/GL/standard.conf - priority 500
 slave xorg_extra_modules: /usr/lib64/xorg/xorg-1.6-extra-modules
/etc/nvidia-current/ld.so.conf - priority 9700
 slave xorg_extra_modules: /usr/lib64/nvidia-current/xorg
 slave display-driver.conf: /etc/nvidia-current/modprobe.conf
 slave nvidia_settings: /usr/lib64/nvidia-current/bin/nvidia-settings
 slave nvidia-debugdump: /usr/lib64/nvidia-current/bin/nvidia-debugdump
 slave libvdpau_nvidia.so.1: /usr/lib/nvidia-current/vdpau/libvdpau_nvidia.so.346.82
 slave nvidia_xconfig: /usr/lib64/nvidia-current/bin/nvidia-xconfig
 slave nvidia-modprobe: /usr/lib64/nvidia-current/bin/nvidia-modprobe
 slave man_nvidiaxconfig.xz: /usr/share/man/man1/alt-nvidia-current-xconfig.1.xz
 slave man_nvidiasettings.xz: /usr/share/man/man1/alt-nvidia-current-settings.1.xz
 slave nvidia_desktop: /usr/share/nvidia-current/mageia-nvidia-settings.desktop
 slave nvidia.icd: /etc/nvidia-current/nvidia.icd
 slave nvidia-cuda-mps-control: /usr/lib64/nvidia-current/bin/nvidia-cuda-mps-control
 slave nvidia-settings.xinit: /etc/nvidia-current/nvidia-settings.xinit
 slave nvidia-cuda-mps-control.1.xz: /usr/share/man/man1/alt-nvidia-current-cuda-mps-control.1.xz
 slave nvidia-smi.1.xz: /usr/share/man/man1/alt-nvidia-current-smi.1.xz
 slave nvidia-persistenced: /usr/lib64/nvidia-current/bin/nvidia-persistenced
 slave nvidia_datadir: /usr/share/nvidia-alt-nvidia-current
 slave nvidia-cuda-mps-server: /usr/lib64/nvidia-current/bin/nvidia-cuda-mps-server
 slave lib64vdpau_nvidia.so.1: /usr/lib64/nvidia-current/vdpau/libvdpau_nvidia.so.346.82
 slave nvidia_bug_report: /usr/lib64/nvidia-current/bin/nvidia-bug-report.sh
 slave nvidia_smi: /usr/lib64/nvidia-current/bin/nvidia-smi
Current `best' version is /etc/nvidia-current/ld.so.conf.
Comment 6 Thomas Backlund 2015-08-02 15:32:18 CEST
Yeah, alternatives are only fully triggered when:

/usr/sbin/update-alternatives --set gl_conf /etc/nvidia-current/ld.so.conf

is run (which XFdrake triggers, but you dont want on optimus setup)


When that is triggered, the /usr/share/nvidia symlink points to /etc/alternatives/nvidia_datadir that points to /usr/share/nvidia-alt-nvidia-current and everything works.

Since the nvidia packages cant "fix" this as they need to be parallel installable for live medias... 


a possible "fix" would be to make bumblebee-nvidia %post do a 

pushd %{_datadir} >/dev/null
ln -s nvidia-alt-nvidia-current nvidia
popd >/dev/null

(iirc you were planning on creating a separate bumlebee package for nvidia340)

or just documnt it in wiki about the needed symlink


Note that in case anyone on a bumblebee configured system does do:

/usr/sbin/update-alternatives --set gl_conf /etc/nvidia-current/ld.so.conf

the symlink will be replaced with the above alternatives symlinks

or


/usr/sbin/update-alternatives --set gl_conf /etc/ld.so.conf.d/GL/standard.conf

will nuke the symlink
Comment 7 Rémi Verschelde 2015-08-02 15:46:14 CEST
Thanks for the input Thomas, I'll look into it.

Do you think I could use the update_alternatives command in bumblebee-nvidia's %post instead of creating a symlink manually? Or might that introduce issues?

bumblebee is not on live media so it shouldn't impact there.

Assignee: anssi.hannula => rverschelde
Source RPM: x11-driver-video-nvidia-current-346.59-1.mga5.nonfree => bumblebee

Comment 8 Thomas Backlund 2015-08-02 16:26:12 CEST
you can use alternatives if you want...


So for nvidia-current:
%post
/usr/sbin/update-alternatives --install /usr/share/nvidia optimus_nvidia_datadir /usr/share/nvidia-alt-nvidia-current 9700

%postun
/usr/sbin/update-alternatives --remove optimus_nvidia_datadir /usr/share/nvidia-alt-nvidia-current

and for nvidia340:
%post
/usr/sbin/update-alternatives --install /usr/share/nvidia optimus_nvidia_datadir /usr/share/nvidia-alt-nvidia340 9650

%postun
/usr/sbin/update-alternatives --remove optimus_nvidia_datadir /usr/share/nvidia-alt-nvidia340



That way nvidia-current would be preferred if both are installed.


and manually switching between them:
update-alternatives --set optimus_nvidia_datadir /usr/share/nvidia-alt-nvidia-current

or 

update-alternatives --set optimus_nvidia_datadir /usr/share/nvidia-alt-nvidia340
Angelo Naselli 2015-10-15 10:23:31 CEST

CC: (none) => anaselli

Comment 9 David GEIGER 2023-02-22 05:39:39 CET
Closing this one as WONTFIX!

Resolution: (none) => WONTFIX
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.