← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1615248] Re: ubuntu-core-launcher nvidia driver detection is bogus

 

** Also affects: snap-confine (Ubuntu Xenial)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1615248

Title:
  ubuntu-core-launcher nvidia driver detection is bogus

Status in Snappy Launcher:
  Fix Released
Status in snap-confine package in Ubuntu:
  Fix Released
Status in snap-confine source package in Xenial:
  New

Bug description:
  [Impact]

  Snap-confine contains special support code for Nvidia proprietary
  driver. This code used a rather naive approach to detect the driver,
  it was looking for directories matching /usr/lib/nvidia-*.

  This worked fine as long as the number of found directories was either
  zero (nothing to do) or one (we know which driver to use). The problem
  arises when driver updates cause leftover (even empty) directories to
  match that glob pattern. Snap-confine would just bail out and abort.

  Now snap-confine looks at /sys/modules/nvidia/version to know which version of the driver to use (if any). This change was recommended by 
  Alberto Milone who maintains the nvidia proprietary driver packages in Ubuntu. 

  For more information about the execution environment, please see this
  article http://www.zygoon.pl/2016/08/snap-execution-environment.html

  [Test Case]

  As a test case, install an nvidia proprietary driver package (any
  version will do) by using software-properties-gtk and using the
  additional software tab or by installing one of the nvidia-* packages
  (e.g. nvidia-346). Then create an unrelated directory, not
  corresponding to any actual driver version, e.g. /usr/lib/nvidia-123.

  If snap applications continue to work then everything is good. In the
  past snap-confine would print an error message and bail out.

  This test has to be started on a machine that is using actual nvidia
  hardware and has the nvidia proprietary kernel module loaded.

  [Regression Potential]

   * Regression potential is minimal. The same behaviour is applied as
  before, just the driver detection code is less dumb and actually knows
  which driver is running by asking the kernel.

  [Other Info]

  * This bug is a part of a major SRU that brings snap-confine in Ubuntu
  16.04 in line with the current upstream release 1.0.41.

  * snap-confine is technically an integral part of snapd which has an
  SRU exception and is allowed to introduce new features and take
  advantage of accelerated procedure. For more information see
  https://wiki.ubuntu.com/SnapdUpdates

  == # Pre-SRU bug description follows # ==

  older nvidia drivers used to leave dangling symlinks behind in their
  dirs in /usr/lib/nvidia-$version which makes dpkg not remove the
  directory on package removal:

  /usr/lib/nvidia-319-updates:
  libnvidia-opencl.so.1  libnvidia-wfb.so.1

  /usr/lib/nvidia-346:
  libnvidia-fbc.so.1  libnvidia-wfb.so.1

  /usr/lib/nvidia-352:
  libnvidia-fbc.so.1  libnvidia-wfb.so.1

  ubuntu-core-launcher seemingly only checks for the existence of multiple nvidia-* dirs to throw the:
  “multiple nvidia drivers detected, this is not supported”
  error...

  there is only the nvidia-361 driver installed on this machine but it
  was upgraded LTS->LTS and originally installed with 12.04.

  instead of checking if there are multiple directories the check should
  instead look for something like /usr/lib/nvidia-361/libGL.so or
  libGLX.so so it does not fall over on left over cruft but checks for
  actual existence of multiple driver libs.

  i seem to not be alone http://askubuntu.com/questions/811479

To manage notifications about this bug go to:
https://bugs.launchpad.net/snap-confine/+bug/1615248/+subscriptions