View Issue Details

IDProjectCategoryView StatusLast Update
0000882channel: elrepo/el7nvidia-x11-drvpublic2019-03-08 17:28
Reporterpperry Assigned Topperry  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Summary0000882: Updating el7.5 to el7.6 causes nvidia packages to be installed on systems with no nvidia hardware
DescriptionUpdating el7.5 to el7.6 causes nvidia packages to be installed on systems with no nvidia hardware

See original report here:

http://lists.elrepo.org/pipermail/elrepo/2018-November/004573.html
Additional InformationSteps to reproduce:

1. Yum update an el7.5 to el7.6 system

2. Yum tries to install nvidia-x11-drv and kmod-nvidia packages on a system that does not have nvidia hardware

Expected result:

Yum does not try to install nvidia-related packages to satisfy dependencies on a system that does not contain nvidia graphics hardware
TagsNo tags attached.
Reported upstream

Activities

pperry

2018-12-03 12:52

administrator   ~0006054

This may also include legacy nvidia packages including nvidia-x11-drv-390xx, nvidia-x11-drv-340xx, nvidia-x11-drv-304xx.

pperry

2018-12-03 12:54

administrator   ~0006055

Workaround for now to prevent this issue:

When performing the main system update from el7.5 to el7.6, please disable the elrepo repository. This will ensure the correct packages are selected by yum to meet any dependencies.

Once the main system update has completed, run 'yum update' again with elrepo enabled if required.

ananl

2018-12-09 07:07

reporter   ~0006059

I update centos from 7.5 to 7.6 by using yum update(did not disable elrepo), and the driver 410.78 was updated while updating system. But the driver did not install correctly, since when I login gnome3, the settings the Browser the terminal all their interfaces are totally black, I can't see anything i typed. I try to remove and reinstall driver but not help, only when the driver is removed, the application interfaces become normal. Do i need to reinstall centos7.6 from my USB to solve this problem ?

ananl

2018-12-16 03:51

reporter   ~0006063

I have reinstalled centos7.6, and installed kmod-nvidia, the interfaces are still black.
my laptop is thinkpad t470p with nvidia 940mx
here are my steps:
1) install nvidia-detect and install kmod-nvidia
正在安装:
 kmod-nvidia x86_64 410.78-1.el7_6.elrepo elrepo 16 M
为依赖而安装:
 libglvnd-opengl x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 43 k
 libvdpau x86_64 1.1.1-3.el7 base 34 k
 mesa-libGLES x86_64 18.0.5-3.el7 base 15 k
 nvidia-x11-drv x86_64 410.78-2.el7_6.elrepo elrepo 3.1 M
 nvidia-x11-drv-libs x86_64 410.78-2.el7_6.elrepo elrepo 58 M
 vulkan-filesystem noarch 1.1.73.0-1.el7 base 6.2 k
 yum-plugin-nvidia noarch 1.0.2-1.el7.elrepo elrepo 12 k

2)install bumblebee
正在安装:
 bumblebee x86_64 3.2.1-10.el7.elrepo elrepo 61 k
 bumblebee-selinux x86_64 1.0-1.el7.elrepo elrepo 6.5 k
为依赖而安装:
 VirtualGL x86_64 2.5.2-1.el7 epel 562 k
 fltk x86_64 1.3.4-1.el7 base 560 k
 kmod-bbswitch x86_64 0.8-5.el7_5.elrepo elrepo 22 k
 libbsd x86_64 0.8.3-1.el7 epel 85 k
 mesa-libGLU x86_64 9.0.0-4.el7 base 196 k

3)usermod -a -G bumblebee xxxx
4)install primus
5)edit the bumblebee.conf following http://elrepo.org/tiki/primus&highlight=primus
6)edit /usr/share/applications/nvidia-settings.desktop --->Exec=optirun nvidia-settings -c :8.0e

after rebooting the system, the interfaces are still black, and optirun glxspher64 can not find nvidia. So i add BusID "PCI:02:00:0" to /etc/bumblebee/xorg.conf.nvidia. Reboot , and then optirun glxspher64 is OK, but other program interface is still black, even the terminal, I have to install terminator from epel to delete kmod-nvidia. after i delete kmod-nvidia , interfaces become normal again. i do not know how to solve this problem, is it because the kmod-bbswitch x86_64 0.8-5.el7_5.elrepo7_5 is for centos7.5??? not useful for centos7.6?

can somebody help me? In centos 7.4 and 7.5, I can install the driver correctly, follow that 6 steps. but in centos 7.6, kmod-nvidia are not useful as in 7.4 7.5 ><|||

pperry

2018-12-16 05:26

administrator   ~0006064

@ananl,

Your issue is not related to this bug. If you wish to file a bug report, please open a new bug, complete with steps to reproduce and any potential fixes you have identified.

If you are looking for support, you will not get it here - this is a bug tracker, not a support venue. If you need support, you should try posting to the elrepo mailing list where people will see your post and hopefully reply.

Thanks

pperry

2019-01-11 00:34

administrator   ~0006117

Setting compare_providers_priority to a higher value (above 80) in the yum repo config file may help.

See man yum.conf:

compare_providers_priority During depsolving, when choosing the best provider among several, yum will respect the priority of each provider's repository (note that there are other factors which yum considers, which may overweigh the repository priority). The value is an integer from 1 to 99, 1 being the most preferred repository, and 99 being the least preferred one. By default all repositories have the priority of 80.

rg

2019-01-12 16:21

developer   ~0006129

Another option is to filter the list of provides/requires to remove all libraries that are only an alternative to libraries provided by system packages or are private anyway:

$ rpm -q --provides nvidia-x11-drv-340xx
nvidia-x11-drv-340xx = 340.107-1.el7.ml
nvidia-x11-drv-340xx(x86-64) = 340.107-1.el7.ml
application()
application(nvidia-settings.desktop)
libcuda.so.1()(64bit)
libnvcuvid.so.1()(64bit)
libnvidia-encode.so.1()(64bit)
libnvidia-fbc.so.1()(64bit)
libnvidia-ifr.so.1()(64bit)
libnvidia-ml.so.1()(64bit)

For this I added these three lines to the beginning of el7/nvidia-x11-drv-340xx.spec:

%filter_from_provides /lib.*GL.*/d; /.*_nvidia.*/d; /libnvidia-[a-c].*/d; /libnvidia-egl.*/d; /libnvidia-fat.*/d; /libnvidia-g.*/d; /libnvidia-[o-z].*/d; /nvidia_drv.*/d; /libglx.*/d
%filter_from_requires /lib.*GL.*/d; /.*_nvidia.*/d; /libnvidia-[a-c].*/d; /libnvidia-egl.*/d; /libnvidia-fat.*/d; /libnvidia-g.*/d; /libnvidia-[o-z].*/d; /nvidia_drv.*/d; /libglx.*/d
%filter_setup

pperry

2019-03-08 06:12

administrator   ~0006267

I agree, you are correct.

I will reinstate the original package and add filters for the libs that conflict.

Any reason to filter everything from the requires/provides? I don't think we need to filter libnvidia-*, just those files that are provided by the new libglvnd packages?

Issue History

Date Modified Username Field Change
2018-12-03 12:51 pperry New Issue
2018-12-03 12:51 pperry Status new => assigned
2018-12-03 12:51 pperry Assigned To => pperry
2018-12-03 12:52 pperry Note Added: 0006054
2018-12-03 12:54 pperry Note Added: 0006055
2018-12-03 12:57 pperry Additional Information Updated
2018-12-09 07:07 ananl Note Added: 0006059
2018-12-16 03:51 ananl Note Added: 0006063
2018-12-16 05:26 pperry Note Added: 0006064
2019-01-11 00:34 pperry Note Added: 0006117
2019-01-12 16:21 rg Note Added: 0006129
2019-03-08 06:12 pperry Note Added: 0006267
2019-03-08 17:28 pperry Status assigned => resolved
2019-03-08 17:28 pperry Resolution open => fixed