Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#906903: nvidia-driver: broken(?) dependencies

53 views
Skip to first unread message

Vincent McIntyre

unread,
Aug 21, 2018, 10:50:03 PM8/21/18
to
Package: nvidia-driver
Version: 384.130-1 990
Severity: normal

Dear Maintainer,

* What led up to the situation?

I had a working stretch system using nouveau.
I wanted to try the nvidia drivers, since I had used them in jessie,
on the same hardware.

* What exactly did you do (or not do) that was effective (or
ineffective)?

# apt-cache policy nvidia-driver
nvidia-driver:
Installed: (none)
Candidate: 384.130-1
Version table:
390.77-1~bpo9+1 200
200 http://debian-archive.atnf.csiro.au:9999/debian stretch-backports/non-free amd64 Packages
384.130-1 990
990 http://debian-archive.atnf.csiro.au:9999/debian stretch/non-free amd64 Packages

# apt-get install nvidia-driver

* What was the outcome of this action?

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nvidia-driver : Depends: nvidia-driver-libs (= 384.130-1) but it is not going to be installed or
nvidia-driver-libs-nonglvnd (= 384.130-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

* What outcome did you expect instead?

I expected the driver stack to be installed

* Things I tried

# apt-get install nvidia-driver-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nvidia-driver-libs : Depends: nvidia-egl-icd (= 384.130-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

# apt-mark showhold |wc
0 0 0

# apt-get install nvidia-driver-libs-nonglvnd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
dkms
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
glx-alternative-nvidia glx-diversions libegl-nvidia0 libegl1-nvidia libgl1-nvidia-glx libnvidia-eglcore libnvidia-glcore
nvidia-alternative nvidia-support
Suggested packages:
nvidia-driver nvidia-kernel-dkms | nvidia-kernel-source
Recommended packages:
nvidia-kernel-dkms | nvidia-kernel-384.130 nvidia-driver-libs-nonglvnd-i386 libglx-nvidia0 libgles-nvidia1 libgles-nvidia2
libnvidia-cfg1 nvidia-egl-wayland-icd nvidia-nonglvnd-vulkan-icd
The following NEW packages will be installed:
glx-alternative-nvidia glx-diversions libegl-nvidia0 libegl1-nvidia libgl1-nvidia-glx libnvidia-eglcore libnvidia-glcore
nvidia-alternative nvidia-driver-libs-nonglvnd nvidia-support
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 961 kB/14.8 MB of archives.
After this operation, 63.3 MB of additional disk space will be used.
^C

I have no idea what nvidia-driver-libs-nonglvnd is
(how would I find out if I should be selecting it?),
and bug 887063 has a comment
(nvidia-driver-libs-nonglvnd is still buggy there ...)
So I tried another option

# apt-get install nvidia-driver nvidia-egl-icd
[sudo] password for mci156:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
liba52-0.7.4 libaa1 libass5 libavc1394-0 libbasicusageenvironment1 libcaca0
libdc1394-22 libdca0 libdvbpsi10 libdvdnav4 libdvdread4 libebml4v5
libglapi-mesa libgles2-mesa libgroupsock8 libkate1 liblivemedia57 liblua5.2-0
libmad0 libmatroska6v5 libmicrodns0 libmpcdec6 libmpeg2-4 libnfs8
libopenmpt-modplug1 libpostproc54 libprotobuf-lite10 libqt5x11extras5
libraw1394-11 libresid-builder0c2a libsdl-image1.2 libsdl1.2debian
libsecret-1-0 libsecret-common libshout3 libsidplay2 libspeexdsp1 libswscale4
libupnp6 libusageenvironment3 libva-wayland1 libvlc-bin libvlc5 libvlccore9
libxcb-xv0 vlc-bin vlc-data vlc-l10n vlc-plugin-base vlc-plugin-qt
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
glx-alternative-nvidia glx-diversions libegl-nvidia0 libegl1-glvnd-nvidia
libgl1 libgl1-nvidia-glvnd-glx libglx-nvidia0 libglx0 libnvidia-eglcore
libnvidia-glcore libnvidia-ml1 nvidia-alternative nvidia-driver-bin
nvidia-driver-libs nvidia-egl-common nvidia-kernel-common nvidia-kernel-dkms
nvidia-kernel-support nvidia-modprobe nvidia-support nvidia-vdpau-driver
xserver-xorg-video-nvidia
Recommended packages:
nvidia-settings nvidia-persistenced nvidia-driver-libs-i386 libopengl0
| libopengl0-glvnd-nvidia libgles-nvidia1 libgles-nvidia2 libnvidia-cfg1
nvidia-egl-wayland-icd nvidia-vulkan-icd
The following packages will be REMOVED:
libgl1-mesa-glx vlc vlc-plugin-video-output
The following NEW packages will be installed:
glx-alternative-nvidia glx-diversions libegl-nvidia0 libegl1-glvnd-nvidia
libgl1 libgl1-nvidia-glvnd-glx libglx-nvidia0 libglx0 libnvidia-eglcore
libnvidia-glcore libnvidia-ml1 nvidia-alternative nvidia-driver
nvidia-driver-bin nvidia-driver-libs nvidia-egl-common nvidia-egl-icd
nvidia-kernel-common nvidia-kernel-dkms nvidia-kernel-support nvidia-modprobe
nvidia-support nvidia-vdpau-driver xserver-xorg-video-nvidia
0 upgraded, 24 newly installed, 3 to remove and 0 not upgraded.
Need to get 0 B/28.9 MB of archives.
After this operation, 116 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

So it would appear something vlc is depending on is breaking things.
I dug into that but could not find anything that seemed like it would
conflict.

I went ahead and tried installing all that stuff.
But now I have a new problem, extremely strange:
the console stops displaying anything during (non-quiet) boot, at

[ 2.206678] nvidia-nvlink: Nvlink Core is being initialized, major device numbe
r 246
[ 2.207214] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,
decodes=none:owns=io+mem
[ 2.207472] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 384.130 Wed Mar 21
03:37:26 PDT 2018 (using threaded interrupts)
[ 2.216896] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 384.130 Wed Mar 21 02:59:49 PDT 2018

The system boots ok but there is no login prompt.
I shall report this as a separate bug.


* What would you like the maintainer to do with your report?

Please can you help me understand the dependency issue and document it for others.
I am extremely surprised this is happening in a stable release.

-- System Information:
Debian Release: 9.5
APT prefers stable
APT policy: (990, 'stable'), (500, 'stable-debug')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-8-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages nvidia-driver depends on:
pn nvidia-alternative <none>
pn nvidia-driver-bin <none>
pn nvidia-driver-libs | nvidia-driver-libs-nonglvnd <none>
ii nvidia-installer-cleanup 20151021+4
pn nvidia-kernel-dkms | nvidia-kernel-384.130 <none>
pn nvidia-kernel-dkms | nvidia-kernel-390.77 <none>
ii nvidia-legacy-check 384.130-1
pn nvidia-support <none>
pn nvidia-vdpau-driver <none>
pn xserver-xorg-video-nvidia <none>

Versions of packages nvidia-driver recommends:
pn nvidia-persistenced <none>
pn nvidia-settings <none>

Versions of packages nvidia-driver suggests:
pn nvidia-kernel-dkms | nvidia-kernel-source <none>

Luca Boccassi

unread,
Aug 22, 2018, 6:20:02 AM8/22/18
to
Control: tags -1 moreinfo
Hi,

From your logs, it seems you have a non-standard /etc/apt/preferences*
files. Can you please share them?

--
Kind regards,
Luca Boccassi
signature.asc

Vincent McIntyre

unread,
Aug 22, 2018, 7:30:03 AM8/22/18
to
On Wed, Aug 22, 2018 at 11:09:51AM +0100, Luca Boccassi wrote:
> Control: tags -1 moreinfo
>
>
> Hi,
>
> From your logs, it seems you have a non-standard /etc/apt/preferences*
> files. Can you please share them?

# cat /etc/apt/preferences.d/backports
Explanation: Low priority to avoid installation unless explicitly required
Package: *
Pin: release a=stretch-backports
Pin-Priority: 200

This is the only one I have in place.

Thanks
Vince
--

Luca Boccassi

unread,
Aug 22, 2018, 8:10:03 AM8/22/18
to
Are you sure? Your first email showed the priority of one pkg as "990"
rather than the default 500
signature.asc

Vincent McIntyre

unread,
Aug 22, 2018, 9:00:03 AM8/22/18
to
>
> Are you sure? Your first email showed the priority of one pkg as "990"
> rather than the default 500

I agree it is strange but apt-cache priority scores
never make any sense to me.

$ /bin/ls /etc/apt/preferences.d/
backports

I tried the obvious experiment
$ cat /etc/apt/preferences.d/stable
Package: *
Pin: release a=stretch
Pin-Priority: 500

$ apt-cache policy nvidia-driver
nvidia-driver:
Installed: (none)
Candidate: 384.130-1
Version table:
390.77-1~bpo9+1 200
200 http://debian-archive.atnf.csiro.au:9999/debian stretch-backports/non-free amd64 Packages
384.130-1 990
990 http://debian-archive.atnf.csiro.au:9999/debian stretch/non-free amd64 Packages


So you see why I don't spend much time trying to understand
prority scores.


Perhaps something in apt.conf is causing the score to come out higher?

$ grep -v '^#' /etc/apt/apt.conf
APT::Default-Release "stretch";
APT::Cache-Limit "52500000";
APT::Install-Recommends "false";
APT::Install-Suggests "false";
APT::Clean-Installed "false";
Acquire::Pdiffs "false";
Periodic::Update-Package-Lists "false";
Aptitude::Install-Recommends "false";
Aptitude::Install-Suggests "false";
Aptitude::Keep-Recommends "true";
Aptitude::Keep-Suggests "true";
Aptitude::Delete-Unused "false";
Aptitude::Remove-Unused "false";
Aptitude::Show-Deps "true";
Aptitude::Show-Size-Changes "true";
Aptitude::Verbose 0;
Aptitude::Recommends-Important "false";
Aptitude::Suggests-Important "false";

Vince

Vincent McIntyre

unread,
Aug 22, 2018, 9:10:03 AM8/22/18
to
On Wed, Aug 22, 2018 at 11:09:51AM +0100, Luca Boccassi wrote:
> Control: tags -1 moreinfo
>

I tried to dig deeper into the source of the conflict.
The crude script below tries to pull out any conflicts
that the recursive dependencies of nvidia-egl-icd have
and looks for overlap with the dependencies of vlc.
It suggests that some variant of libegl1 is the issue,
but it's unclear why.
The results it gives are confused by apt-cache displaying
both the backports and stable versions of each package.

The other clue I have to offer is that a simulated install of
nvidia-egl-icd removes vlc and vlc-plugin-video-output, so I
assume some dependency of the latter is the cause.
It wants libegl1-mesa | libegl1-x11. libegl1-mesa is installed,
libegl1-x11 is a virtual package which libegl1-mesa Provides:.

#!/bin/sh

TMPDIR=`mktemp -d /tmp/XXXXXX`
CONF="$TMPDIR/conflicts"
DEPS="$TMPDIR/dependencie"

# nvidia-egl-icd conflicts list
apt-rdepends nvidia-egl-icd | grep -v '^ ' | \
( while read p
do
[ "X" = "X$p" ] && continue;
apt-cache show $p | grep '^Conflicts:' | sed -e 's/Conflicts://' | \
awk -F, '{for (i=1;i<=NF;i++){print $i;};}'
done
) | sort | uniq > "$CONF"

# vlc dependency list
apt-rdepends vlc | grep -v '^ ' | \
( while read p
do
[ "X" = "X$p" ] && continue;
apt-cache show $p | grep '^Depends:' | sed -e 's/Depends://' | \
awk -F, '{for (i=1;i<=NF;i++){print $i;};}'
done
) | sort | uniq > "$DEPS"

while read pkg ver
do
grep -w "$pkg" "$DEPS"
done < "$CONF"

rm -rf "$TMPDIR"

Luca Boccassi

unread,
Aug 22, 2018, 11:10:03 AM8/22/18
to
Because I suspect something on your system is causing some packages to
be picked from backports and some from stable. That's what's breaking.
So try and remove any custom configuration you have for apt and then it
should work.
signature.asc

Andreas Beckmann

unread,
Aug 22, 2018, 5:10:03 PM8/22/18
to
On 2018-08-22 04:31, Vincent McIntyre wrote:
> # apt-cache policy nvidia-driver
> nvidia-driver:
> Installed: (none)
> Candidate: 384.130-1
> Version table:
> 390.77-1~bpo9+1 200
> 200 http://debian-archive.atnf.csiro.au:9999/debian stretch-backports/non-free amd64 Packages
> 384.130-1 990
> 990 http://debian-archive.atnf.csiro.au:9999/debian stretch/non-free amd64 Packages

We have had this before ... having both stretch and stretch-backports
enabled and trying to track stretch does not work currently for the
nvidia driver ... too many changes w.r.t. libglvnd etc.


Andreas

Vincent McIntyre

unread,
Aug 22, 2018, 7:20:05 PM8/22/18
to
Thanks Andreas

I disabled the backports package source and - voila.

# apt-get install nvidia-driver
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libegl-nvidia0
libegl1-glvnd-nvidia libgl1-glvnd-nvidia-glx libgl1-nvidia-glvnd-glx
libglvnd0-nvidia libglx-nvidia0 libglx0-glvnd-nvidia libnvidia-eglcore
libnvidia-glcore libnvidia-ml1 nvidia-alternative nvidia-driver-bin
nvidia-driver-libs nvidia-egl-common nvidia-egl-icd nvidia-installer-cleanup
nvidia-kernel-common nvidia-kernel-dkms nvidia-kernel-support
nvidia-legacy-check nvidia-modprobe nvidia-support nvidia-vdpau-driver
update-glx xserver-xorg-video-nvidia
Recommended packages:
nvidia-settings nvidia-persistenced nvidia-driver-libs-i386 libopengl0
| libopengl0-glvnd-nvidia libgles-nvidia1 libgles-nvidia2 libnvidia-cfg1
nvidia-egl-wayland-icd nvidia-vulkan-icd
The following NEW packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libegl-nvidia0
libegl1-glvnd-nvidia libgl1-glvnd-nvidia-glx libgl1-nvidia-glvnd-glx
libglvnd0-nvidia libglx-nvidia0 libglx0-glvnd-nvidia libnvidia-eglcore
libnvidia-glcore libnvidia-ml1 nvidia-alternative nvidia-driver
nvidia-driver-bin nvidia-driver-libs nvidia-egl-common nvidia-egl-icd
nvidia-installer-cleanup nvidia-kernel-common nvidia-kernel-dkms
nvidia-kernel-support nvidia-legacy-check nvidia-modprobe nvidia-support
nvidia-vdpau-driver update-glx xserver-xorg-video-nvidia
0 upgraded, 29 newly installed, 0 to remove and 7 not upgraded.
Need to get 29.7 MB of archives.
After this operation, 119 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

Turn backports on again and it also works if I specify backports

# apt-get -t stretch-backports install nvidia-driver
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libdrm-common
libdrm2 libegl-nvidia0 libegl1 libegl1-mesa libgl1 libgl1-mesa-glx
libgl1-nvidia-glvnd-glx libglapi-mesa libgles2 libgles2-mesa libglvnd0
libglx-mesa0 libglx-nvidia0 libglx0 libnvidia-eglcore libnvidia-glcore
libnvidia-ml1 libwayland-egl1-mesa nvidia-alternative nvidia-driver-bin
nvidia-driver-libs nvidia-egl-common nvidia-egl-icd nvidia-installer-cleanup
nvidia-kernel-common nvidia-kernel-dkms nvidia-kernel-support
nvidia-legacy-check nvidia-modprobe nvidia-support nvidia-vdpau-driver
update-glx xserver-xorg-video-nvidia
Recommended packages:
nvidia-settings nvidia-persistenced nvidia-driver-libs-i386 libopengl0
| libopengl0-glvnd-nvidia libgles-nvidia2 libnvidia-cfg1
nvidia-egl-wayland-icd nvidia-vulkan-icd
The following NEW packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libdrm-common
libegl-nvidia0 libegl1 libgl1 libgl1-nvidia-glvnd-glx libgles2 libglvnd0
libglx-mesa0 libglx-nvidia0 libglx0 libnvidia-eglcore libnvidia-glcore
libnvidia-ml1 nvidia-alternative nvidia-driver nvidia-driver-bin
nvidia-driver-libs nvidia-egl-common nvidia-egl-icd nvidia-installer-cleanup
nvidia-kernel-common nvidia-kernel-dkms nvidia-kernel-support
nvidia-legacy-check nvidia-modprobe nvidia-support nvidia-vdpau-driver
update-glx xserver-xorg-video-nvidia
The following packages will be upgraded:
libdrm2 libegl1-mesa libgl1-mesa-glx libglapi-mesa libgles2-mesa
libwayland-egl1-mesa
6 upgraded, 32 newly installed, 0 to remove and 113 not upgraded.
Need to get 30.2 MB of archives.
After this operation, 117 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

The diff of the installed packages is like so:
--- stable.sort 2018-08-23 09:02:51.880118125 +1000
+++ backports.sort 2018-08-23 09:02:51.880118125 +1000
@@ -1,16 +1,25 @@
glx-alternative-mesa
glx-alternative-nvidia
glx-diversions
-libegl1-glvnd-nvidia
+libdrm2
+libdrm-common
+libegl1
+libegl1-mesa
libegl-nvidia0
-libgl1-glvnd-nvidia-glx
+libgl1
+libgl1-mesa-glx
libgl1-nvidia-glvnd-glx
-libglvnd0-nvidia
-libglx0-glvnd-nvidia
+libglapi-mesa
+libgles2
+libgles2-mesa
+libglvnd0
+libglx0
+libglx-mesa0
libglx-nvidia0
libnvidia-eglcore
libnvidia-glcore
libnvidia-ml1
+libwayland-egl1-mesa
nvidia-alternative
nvidia-driver
nvidia-driver-bin

So even though I have such a large priority difference in favour of
stable, apt is somehow preferring libegl1, which comes from backports,
over libegl1-glvnd-nvidia.

Well nevermind, I guess we will try to figure out some preferences
magic to prevent mixing nvidia packages from stable & backports.
If you have some suggestions based on your experience, I would
welcome them.

Otherwise, please close this bug.
Kind regards
Vince

Vincent McIntyre

unread,
Aug 22, 2018, 7:40:02 PM8/22/18
to
On Wed, Aug 22, 2018 at 03:57:51PM +0100, Luca Boccassi wrote:
>
> Because I suspect something on your system is causing some packages to
> be picked from backports and some from stable. That's what's breaking.
> So try and remove any custom configuration you have for apt and then it
> should work.
>

I broke down and read apt_preferences(5) again and found this:

If the target release has been specified then APT uses the following
algorithm to set the priorities of the versions of a package. Assign:
...
priority 990
to the versions that belong to the target release.
The highest of those priorities whose description matches the version
is assigned to the version.

So I think my apt configuration is ok.

I did the experiment (comment out default-release setting)
but it still falls over:

# apt-cache policy nvidia-driver
nvidia-driver:
Installed: (none)
Candidate: 384.130-1
Version table:
390.77-1~bpo9+1 200
200 http://debian-archive.atnf.csiro.au:9999/debian stretch-backports/non-free amd64 Packages
384.130-1 500
500 http://debian-archive.atnf.csiro.au:9999/debian stretch/non-free amd64 Packages

# apt-get install nvidia-driver
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nvidia-driver : Depends: nvidia-driver-libs (= 384.130-1) but it is not going to be installed or
nvidia-driver-libs-nonglvnd (= 384.130-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.



This preferences tweak kind of fixes the issue for me

# cat /etc/apt/preferences.d/backports
Explanation: Low priority to avoid installation unless explicitly required
Package: *
Pin: release a=stretch-backports
Pin-Priority: 200
Explanation: Negative priority; mixing stable & backports not supported
Package: nvidia* libnvidia* libegl* libgl* glx-*
Pin: release a=stretch-backports
Pin-Priority: -1

# apt-cache policy nvidia-driver
nvidia-driver:
Installed: (none)
Candidate: 384.130-1
Version table:
390.77-1~bpo9+1 -1
100 http://debian-archive.atnf.csiro.au:9999/debian stretch-backports/non-free amd64 Packages
384.130-1 990
990 http://debian-archive.atnf.csiro.au:9999/debian stretch/non-free amd64 Packages

# apt-get install nvidia-driver
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libegl-nvidia0
libegl1-glvnd-nvidia libgl1-glvnd-nvidia-glx libgl1-nvidia-glvnd-glx
libglvnd0-nvidia libglx-nvidia0 libglx0-glvnd-nvidia libnvidia-eglcore
libnvidia-glcore libnvidia-ml1 nvidia-alternative nvidia-driver-bin
nvidia-driver-libs nvidia-egl-common nvidia-egl-icd nvidia-installer-cleanup
nvidia-kernel-common nvidia-kernel-dkms nvidia-kernel-support
nvidia-legacy-check nvidia-modprobe nvidia-support nvidia-vdpau-driver
update-glx xserver-xorg-video-nvidia
Recommended packages:
nvidia-settings nvidia-persistenced nvidia-driver-libs-i386 libopengl0
| libopengl0-glvnd-nvidia libgles-nvidia1 libgles-nvidia2 libnvidia-cfg1
nvidia-egl-wayland-icd nvidia-vulkan-icd
The following NEW packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libegl-nvidia0
libegl1-glvnd-nvidia libgl1-glvnd-nvidia-glx libgl1-nvidia-glvnd-glx
libglvnd0-nvidia libglx-nvidia0 libglx0-glvnd-nvidia libnvidia-eglcore
libnvidia-glcore libnvidia-ml1 nvidia-alternative nvidia-driver
nvidia-driver-bin nvidia-driver-libs nvidia-egl-common nvidia-egl-icd
nvidia-installer-cleanup nvidia-kernel-common nvidia-kernel-dkms
nvidia-kernel-support nvidia-legacy-check nvidia-modprobe nvidia-support
nvidia-vdpau-driver update-glx xserver-xorg-video-nvidia
0 upgraded, 29 newly installed, 0 to remove and 8 not upgraded.
Need to get 29.7 MB of archives.
After this operation, 119 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

Thanks for your help with this
Vince

Vincent McIntyre

unread,
Aug 28, 2018, 11:00:03 PM8/28/18
to

On a system where I have been successfully mixing stable & backports
I hit the same dependency problem. So I think this is a recent change.
I tried to dig a bit further to see if I could flush out the cause.

TL;DR libegl1-glvnd-nvidia, which I previously installed from backports,
is only in stable and not (any longer) in stretch-backports.

Does this imply the dependencies of the backported nvidia-egl-icd
need to be tweaked (drop libegl1-glvnd-nvidia)?

Gory details:

# apt -t stretch-backports install nvidia-egl-icd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nvidia-egl-icd : Depends: libegl1 (>= 0.2.999) but it is not going to be installed or
libegl1-glvnd-nvidia but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

# apt-cache show nvidia-egl-icd | grep Depend | sed -e 's/, /\n/g'
Depends: nvidia-egl-common
libegl1 (>= 0.2.999) | libegl1-glvnd-nvidia
libegl-nvidia0 (= 390.77-1~bpo9+1)
Depends: nvidia-egl-common
libegl1xxx (>= 0.2.999) | libegl1-glvnd-nvidia
libegl-nvidia0 (= 390.48-2~bpo9+3)
Depends: nvidia-egl-common
libegl1 (>= 0.2.999) | libegl1-glvnd-nvidia
libegl-nvidia0 (= 384.130-1)

# dpkg -l libegl1 libegl-nvidia0
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================-================-================-=================================================
ii libegl-nvidia0:amd64 390.48-2~bpo9+3 amd64 NVIDIA binary EGL library
un libegl1 <none> <none> (no description available)

# dpkg -l libegl1xxx libegl1-glvnd-nvidia
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================-================-================-=================================================
ii libegl1-glvnd-nvidia:a 390.48-2~bpo9+3 amd64 Vendor neutral GL dispatch library -- libEGL
un libegl1xxx <none> <none> (no description available)


So as a starting point I have libegl1-glvnd-nvidia installed,
instead of libegl1xxx or libegl1 (neither of which were ever installed).

It seems that for some reason apt now wants libegl1 in preference
to libegl1-glvnd-nvidia, despite the latter being the latest version.
The preferences scoring comes out like this:

# apt-cache policy libegl1
libegl1:
Installed: (none)
Candidate: 1.0.0+git20180308-2~bpo9+1
Version table:
1.0.0+git20180308-2~bpo9+1 200
200 http://debian-archive.atnf.csiro.au:9999/debian stretch-backports/main amd64 Packages

# apt-cache policy libegl1-glvnd-nvidia
libegl1-glvnd-nvidia:
Installed: 390.48-2~bpo9+3
Candidate: 390.48-2~bpo9+3
Version table:
*** 390.48-2~bpo9+3 100
100 /var/lib/dpkg/status
384.130-1 990
990 http://debian-archive.atnf.csiro.au:9999/debian stretch/non-free amd64 Packages

So it looks like libegl1-glvnd-nvidia has been removed from the
backports suite?

I checked what explicitly installing all the packages that can be
upgraded would do, which may be of interest.

# apt --simulate -t stretch-backports install `cat upgradable`
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libdrm-amdgpu1
libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl1
libegl1-mesa libgl1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2
libgles2-mesa libglvnd0 libglx-mesa0 libglx0 libllvm6.0 libwayland-egl1
libwayland-egl1-mesa update-glx
Recommended packages:
libcuda1-i386 nvidia-settings nvidia-driver-libs-i386 libopengl0
| libopengl0-glvnd-nvidia libgles-nvidia2 nvidia-egl-wayland-icd
nvidia-vulkan-icd
The following packages will be REMOVED:
libegl1-glvnd-nvidia libgl1-glvnd-nvidia-glx libglvnd0-nvidia
libglx0-glvnd-nvidia
The following NEW packages will be installed:
libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1
libegl1 libgl1 libgl1-mesa-dri libgles2 libglvnd0 libglx-mesa0 libglx0
libllvm6.0 libwayland-egl1
The following packages will be upgraded:
glx-alternative-mesa glx-alternative-nvidia glx-diversions libcuda1 libdrm2
libegl-nvidia0 libegl1-mesa libgl1-mesa-glx libgl1-nvidia-glvnd-glx
libglapi-mesa libgles2-mesa libglx-nvidia0 libnvidia-cfg1 libnvidia-eglcore
libnvidia-fatbinaryloader libnvidia-glcore libnvidia-ml1
libnvidia-ptxjitcompiler1 libwayland-egl1-mesa nvidia-alternative
nvidia-driver nvidia-driver-bin nvidia-driver-libs nvidia-egl-icd
nvidia-kernel-dkms nvidia-kernel-support nvidia-smi nvidia-vdpau-driver
update-glx xserver-xorg-video-nvidia
30 upgraded, 14 newly installed, 4 to remove and 72 not upgraded.
...

Vince

Damián Cinich

unread,
Oct 25, 2019, 10:10:03 AM10/25/19
to
Hi Luca,

I'm experiencing the same issue reported in this bug, but on newer
versions, and already verified what's been discussed above. Am I
missing something?

This is the output when trying to install nvidia-driver:

====
$ apt --simulate -t unstable install nvidia-driver
NOTE: This is only a simulation!
apt needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nvidia-driver : Depends: nvidia-driver-libs (= 430.50-1) but it is
not going to be installed or
nvidia-driver-libs-nonglvnd (= 430.50-1) but
it is not going to be installed
====

And this is how the policy looks like:

====
$ apt policy nvidia-driver
nvidia-driver:
Installed: (none)
Candidate: 430.50-1
Version table:
430.50-1 500
500 http://debian.unnoba.edu.ar/debian unstable/non-free amd64 Packages
====

Thanks in advance!
0 new messages