[Pkg-opencl-devel] Bug#769072: , #769191, #770588: nvidia-opencl-icd breaking non-nvidia systems

Andreas Beckmann anbe at debian.org
Tue Nov 25 12:14:56 UTC 2014


On 2014-11-24 22:47, Rebecca N. Palmer wrote:
First of all, many thanks for analyzing the problem and keeping track of
the many duplicates!

> (Should we merge these bugs?  Also, #767803 looks like another instance
> of this, though it doesn't have the apt log to confirm it yet)

and perhaps move the discussion to one of these bugs and trim the Cc
list a bit ...

If you merge them, please reassign them to src:nvidia-driver and add
Affects for the packages where they have been reported.

>> * nvidia-kernel-dkms: Switch to Recommends: nvidia-driver | libcuda1
>>   to break the chain libcuda1 -> nvidia-kernel-dkms -> nvidia-driver.
> ...or drop this Recommends: entirely

That Recommends has been there since nvidia-kernel-dkms was added in
2010. I thinks its main purpose is for people that try to install the
wrong package (i.e. nvidia-kernel-dkms instead of nvidia-driver (or
nvidia-glx back then)) to get a working NVIDIA driver installation
(well, still needs some manual configuration, but debconf will tell you
that). I don't want to touch (as in remove) that right now.

> (IIRC circular Depends/Recommends
> are discouraged because they confuse apt's autoremover, though I can't
> find where I saw that).

I don't want to workaround bugs in unrelated packages

> Cutting the chain here (tested with "apt-get install nvidia-libopencl1
> nvidia-driver-", the - after a package means "remove/don't install")
> does still allow much of nvidia-* (including nvidia-kernel-dkms and
> glx-alternative-nvidia) to be installed, but that appears to be harmless

and you get the full set of lib*GL* diversions, too ... this and some
more are needed to allow switching between nvidia-opencl-icd and
nvidia$LEGACY-opencl-icd which will become available once I fork off
(and backport) nvidia-graphics-drivers-legacy-340xx after the jessie
release.

> without libgl1-nvidia-glx (at least on my Intel IvyBridge M GT2, both
> graphics and OpenCL continue to work after rebooting).

That would be a bug otherwise :-)

> Given that the error on loading nvidia-opencl-icd in a non-Nvidia system is
> 
> modprobe: ERROR: could not insert 'nvidia_current': No such device
> 
> it is plausible that nvidia-opencl-icd uses the nvidia kernel module
> (i.e. nvidia-kernel-dkms | nvidia-kernel-<version>) and as such _should_
> pull it in (whether or not it also needs libcuda1),

In wheezy all this OpenCL stuff was rather new and only proprietary
implementations were available ... as a result installing
nvidia-opencl-icd was harmless (due to lack of dependencies) but also
useless (due to lack of dependencies) unless you had nvidia-driver
installed, too. This I wanted to fix in jessie :-)

> while #768185
> suggests that nvidia-opencl-icd works without the graphics side (can
> someone check that?),

I'm pretty sure NVIDIA CUDA and OpenCL work in headless setups, i.e.
without X server running. They just need the kernel module to be loaded
(and the corresponding device to be created). (Contrary to AMD which
needs X to communicate with the GPU for doing OpenCL)

> making this the more correct place to cut the chain.

Andreas



More information about the Pkg-opencl-devel mailing list