Change logs for ubuntu-drivers-common source package in Bionic

  • ubuntu-drivers-common (1:0.9.0~0.18.04.3) bionic; urgency=medium
    
      * Revert changes to list-oem, since we never backported the
        feature.
    
    ubuntu-drivers-common (1:0.9.0~0.18.04.1) bionic; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.c:
        - Make sure to also search the signed modules (LP: #1931514).
          Credit goes to Bin Li for the first version of this patch.
      * debian/tests/control:
        - Add dependency on alsa-utils, since the autopkgtest requires it
          for the sl-modem detection plugin.
      * ubuntu-drivers:
        - Don't error out when failing to write to /run without
          root privileges (LP: #1913651), since package
          installation will fail later.
        - Restore "--package-list" for list-oem, which was supported
          but accidentally not exposed in the transition to click.
          (LP: #1914051).
        - Do not install recommended dependencies when calling
          "install --gpgpu" (LP: #1898601). The whole point of
          having --gpgpu was to reduce the amount of the
          installed dependencies.
      * tests/test_ubuntu_drivers.py:
        - Add testcase for list-oem --package-list.
      * UbuntuDrivers/detect.py:
        - Fix the way we validate the nvidia modules metapackages
          (LP: #1914374).
      * tests/test_ubuntu_drivers.py:
        - Add testcase for list-oem --package-list
      * UbuntuDrivers/detect.py:
        - Change metapackage generation.
    
      [ Michael Hudson-Doyle ]
      * debian/control:
        - Drop dependency on alsa-utils as we want to start using ubuntu-drivers in
          the server installer but do not want alsa-utils there. The code using
          aplay to detect certain kinds of modem will fail to detect them if aplay
          is not installed but will not crash. As alsa-utils is in the
          desktop-common seed there should be no loss of functionality anywhere
          ubuntu-drivers is used today.
    
     -- Alberto Milone <email address hidden>  Tue, 13 Jul 2021 10:38:29 +0200
  • ubuntu-drivers-common (1:0.9.0~0.18.04.2) bionic; urgency=medium
    
      * Revert changes to list-oem, since we never backported the
        feature.
    
    ubuntu-drivers-common (1:0.9.0~0.18.04.1) bionic; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.c:
        - Make sure to also search the signed modules (LP: #1931514).
          Credit goes to Bin Li for the first version of this patch.
      * debian/tests/control:
        - Add dependency on alsa-utils, since the autopkgtest requires it
          for the sl-modem detection plugin.
      * ubuntu-drivers:
        - Don't error out when failing to write to /run without
          root privileges (LP: #1913651), since package
          installation will fail later.
        - Restore "--package-list" for list-oem, which was supported
          but accidentally not exposed in the transition to click.
          (LP: #1914051).
        - Do not install recommended dependencies when calling
          "install --gpgpu" (LP: #1898601). The whole point of
          having --gpgpu was to reduce the amount of the
          installed dependencies.
      * tests/test_ubuntu_drivers.py:
        - Add testcase for list-oem --package-list.
      * UbuntuDrivers/detect.py:
        - Fix the way we validate the nvidia modules metapackages
          (LP: #1914374).
      * tests/test_ubuntu_drivers.py:
        - Add testcase for list-oem --package-list
      * UbuntuDrivers/detect.py:
        - Change metapackage generation.
    
      [ Michael Hudson-Doyle ]
      * debian/control:
        - Drop dependency on alsa-utils as we want to start using ubuntu-drivers in
          the server installer but do not want alsa-utils there. The code using
          aplay to detect certain kinds of modem will fail to detect them if aplay
          is not installed but will not crash. As alsa-utils is in the
          desktop-common seed there should be no loss of functionality anywhere
          ubuntu-drivers is used today.
    
    ubuntu-drivers-common (1:0.8.6.3~0.18.04.1) bionic; urgency=medium
    
      * Backport 1:0.8.6.3 (LP: #1904583).
      * gpu-manager.c:
        - Add PCI_CAP_ID_NULL definition that is missing from
          libpci.
    
    ubuntu-drivers-common (1:0.5.2.5) bionic; urgency=medium
    
      * ubuntu-drivers:
        - Make sure that the PATH environment variable is set (LP: #1854472).
    
    ubuntu-drivers-common (1:0.5.2.4) bionic; urgency=medium
    
      [ Alberto Milone ]
      * UbuntuDrivers/detect.py,
        UbuntuDrivers/kerneldetection.py,
        tests/ubuntu_drivers.py,
        ubuntu-drivers:
        - Provide DKMS fallback for the "install --gpgpu" case
          when no linux-modules-nvidia are available for the driver
          and for a specific kernel (LP: #1843796).
          We have new tests to cover this scenario now.
        - Show provider of kernel modules in list --gpgpu
        - Fix linux metapackage detection.
          This was meant to be driven by the latest kernel version
          But it was only partially implemented.
          Complete the implementation and update the relevant tests.
        - Make sure to install the linux-modules-nvidia package for the
          kernel flavour in use, when passing the --gpgpu argument, so
          that we can deliver a working NVIDIA installation, provided
          that the EULA was accepted.
    
      [ Jean-Baptiste Lallement ]
      * ubuntu-drivers,
        UbuntuDrivers/detect.py,
        tests/ubuntu_drivers.py:
        - Add a --free-only parameter, so as to allow installing only the
         available free drivers. This is a backport of only the
         ubuntu-drivers-common specific part of LP: #1819207, since
         it is tied to the rest of the changes to the test suite.
        - Add support for testing against a fake archive with free and
          non-free components.
        - Add static code checker.
      * debian/control:
        - Add pycodestyle and pyflake8 to build depends.
    
    ubuntu-drivers-common (1:0.5.2.3) bionic; urgency=medium
    
      * tests/ubuntu_drivers.py,
        UbuntuDrivers/detect.py,
        ubuntu-drivers:
        - Deprecate the "autoinstall" parameter in favour of
          "install". While "autoinstall" will still work,
          we recommend the latter.
        - Add support to for the --gpgpu parameter (LP: #1819729).
    
    ubuntu-drivers-common (1:0.5.2.2) bionic; urgency=medium
    
      * gpu-manager.c:
        - Improve pid detection, and restore the default pci
          power control profile in performance mode (LP: #1797147).
    
    ubuntu-drivers-common (1:0.5.2.1) bionic; urgency=medium
    
      * debian/rules:
        - Make sure to remove "__pycache__" directory.
      * debian/source/options:
        - Ignore the "__pycache__" directory.
      * gpu-manager.(c|py):
        - Set automatic pci power management when the dGPU is disabled (LP: #1778011).
        - Load the nvidia modules when switching to performance mode.
        - Do not skip unbound devices.
        - Make remove_prime_outputclass() void.
        - Report failures in enable_power_management().
        - Look for blacklisted modules in /lib/modprobe.d too.
        - Report failure when the nvidia modules cannot be unloaded,
          kill the main display session created by gdm3, and try
          unloading the nvidia modules once again.
      * gpu-manager.service:
        - Start before oem-config.service (LP: #1789201).
    
    ubuntu-drivers-common (1:0.5.2) bionic; urgency=medium
    
      * gpu-manager.c:
        - Disable CRT connectors for PRIME, as we used to
          do in 17.10. This solves a problem with phantom
          connectors on hybrid systems (LP: #1762200).
    
    ubuntu-drivers-common (1:0.5.1) bionic; urgency=medium
    
      * debian/control:
        - Build depend on dh-python.
        - Drop dh-systemd, and use debhelper (>= 9.20160709).
      * tests/ubuntu_drivers.py:
        - Raise time to 40.0 for i386 in
          test_system_driver_packages_performance().
      * NvidiaDetector/nvidiadetector.py:
        - Fix crash with new name scheme of the NVIDIA
          packages (LP: #1054458).
      * gpu-manager.(c|py):
        - Create a xorg.conf.d file for systems with PRIME.
          This way we can drop the PrimaryGpu option from
          the main NVIDIA configuration xorg.conf.d snippet,
          and generate an additional custom snippet on demand
          with that option, to avoid causing problems on systems
          with multiple NVIDIA GPUs (LP: #1756226).
    
    ubuntu-drivers-common (1:0.5) bionic; urgency=medium
    
      * gpu-manager.{c|py}:
        - Drop all the code to handle driver configuration, which
          stopped working after we moved away from alternatives.
          Only keep telling the system whether PRIME is supported
          or not (LP: #1757180).
    
    ubuntu-drivers-common (1:0.4.27) bionic; urgency=medium
    
      [ Chris Coulson ]
      * detect-plugins/cpu-microcode.py, UbuntuDrivers/detect.py:
        - Remove the cpu-microcode.py detection plugin (LP: #1738259).
          Kernel metapackages are going to have a hard dependency on the
          {intel,amd64}-microcode packages to ensure that all bare-metal installs
          benefit from microcode updates. This means that microcode packages are
          no longer "additional drivers" and since they won't be able to be removed
          without uninstalling the kernel metapackages, there is no need for them
          to be exposed by ubuntu-drivers.
    
    ubuntu-drivers-common (1:0.4.26) bionic; urgency=medium
    
      * tests/gpu-manager.py:
        - It is ok that quirks are still be detected, even though bbswitch
          won't use them, as it's not being loaded. Fixes FTFS.
        - Skip test_system_modaliases_system on s390x.
    
    ubuntu-drivers-common (1:0.4.25) bionic; urgency=medium
    
      [ Alex Tu ]
      * gpu-manager.c:
        - Skip bbswitch, and make sure to unload the nvidia driver when
          the force-dgpu-on option is enabled (LP: #1728547).
    
      [ Bryan Quigley ]
      * debian/rules,
        debian/ubuntu-drivers-common.install,
        setup.py,
        share/hybrid/gpu-manager.conf:
        - Remove the remaing upstart pieces.
    
    ubuntu-drivers-common (1:0.4.24) bionic; urgency=medium
    
      * gpu-manager.{c|py}:
        - Add support for forcing the dGPU on on hybrid systems.
          Creating an empty file named "force-dgpu-on"
          in the /usr/share/gpu-manager.d directory will force the dGPU
          on in power saving mode (LP: #1728547).
    
    ubuntu-drivers-common (1:0.4.23) artful; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.{c|py}:
        - Disable persistence mode before powering down the dGPU.
          If persistence mode is not disabled, gpu-manager will not be
          able to unload the nvidia module.
        - Add support for using custom xorg.confs with the nvidia
          driver (LP: #1667198).
          Custom xorg files can be named "non-hybrid" (for non hybrid
          systems), "hybrid-performance", and "hybrid-power-saving",
          and will have to placed in the /usr/share/gpu-manager.d
          directory.
          The directory can be overridden by passing another directory
          along with the "--custom-xorg-conf-path" parameter.
        - Add tests for the custom xorg.confs code and for amdgpu-pro
          hybrid support.
      [ Kai-Heng Feng ]
      * debian/control:
        - Add build dependency on libkmod-dev.
      * gpu-manager.c:
        - Detect and handle switchable graphics with the amdgpu-pro driver.
          AMDGPU-Pro has its own script to switch between powersaving and
          performance mode.
          Some machines allow enabling switchable graphics, or disabling
          the iGPU completely, thus leaving only the dGPU on. This new code
          simply detects the different profiles supported by AMD, and
          enables powersaving mode when possible.
    
    ubuntu-drivers-common (1:0.4.22) yakkety; urgency=medium
    
      * gpu-manager.c:
        - Disable persistence mode before powering down the dGPU.
          If persistence mode is not disabled, gpu-manager will not be able to
          unload the nvidia module.
    
    ubuntu-drivers-common (1:0.4.21) yakkety; urgency=medium
    
      * gpu-manager.c:
        - Make sure to load and unload the new nvidia-drm module.
          This fixes a problem that prevents the dGPU from being powered off
          in hybrid systems with recent nvidia drivers.
    
    ubuntu-drivers-common (1:0.4.20) yakkety; urgency=medium
    
      * Remove PackageKit plugin. This stopped working with packagekit 1.0 as its
        apt backend is gone and aptcc does not support plugins.
      * debian/control: Drop obsolete XS-Testsuite:.
      * Bump Standards-Version to 3.9.8.
    
    ubuntu-drivers-common (1:0.4.19) yakkety; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.c:
        - Fix memory leak in get_alternatives(). Make sure to always free
          alternatives->current_core and alternatives->current_egl.
        - Partially drop the drm code, and get information about connectors
          from sysf. This fixes a long standing performance issue (LP: #1586933).
    
      [ Ying-Chun Liu (PaulLiu) ]
      * Quirks/quirkinfo.py:
        - Catch and ignore UnicodeDecodeErrors in dmi info, as some machines
          may report board_name as ffffffffffff0a to mean empty, and this
          causes an error in python 3 (LP: #1320868).
    
    ubuntu-drivers-common (1:0.4.18) yakkety; urgency=medium
    
      * gpu-manager.c:
        - Pass the arguments in the correct order when getting
          the list of alternatives (LP: #1575960).
          Thanks to Rafał Cieślak for the fix.
    
    ubuntu-drivers-common (1:0.4.17) xenial; urgency=medium
    
      * tests/ubuntu_drivers.py: Allow test_system_driver_packages_performance()
        90s on ARM, as 30s is not enough on slow buildds.
    
    ubuntu-drivers-common (1:0.4.16) xenial; urgency=medium
    
      * debian/tests/system: Drop test_fglrx() as the fglrx driver is gone.
        Test bcmwl instead.
    
    ubuntu-drivers-common (1:0.4.15) xenial; urgency=medium
    
      * gpu-manager.{c|py}:
        - Add support for managing EGL alternatives.
        - Make sure to load and to unload the new nvidia-modeset module for
          prime.
      * 71-u-d-c-gpu-detection.rules, u-d-c-print-pci-ids:
        - Fix fglrx detection.
    
    ubuntu-drivers-common (1:0.4.14) xenial; urgency=medium
    
      * gpu-manager.{c|py}:
        - Rely on udev for card detection. This helps detecting if a module
          was unloaded or if a card was disabled on a hybrid system.
          In addition to being more accurate (LP: #1485236), this should also
          be much faster on boot (LP: #1307069).
        - Restrict the search for built modules to the dkms directory. This
          improves performance.
      * debian/rules, setup.py, 71-u-d-c-gpu-detection.rules,
        u-d-c-print-pci-ids:
        - Provide a udev rule to detect cards and modules.
    
    ubuntu-drivers-common (1:0.4.13) xenial; urgency=medium
    
      * Depend on liblocale-gettext-perl for autopkgtest, forcing it not to be
        dropped during Perl transitions (thereby breaking the fglrx test) due to
        pinning only necessary packages from -proposed.
    
    ubuntu-drivers-common (1:0.4.12) xenial; urgency=medium
    
      [ Alberto Milone ]
      * UbuntuDrivers/detect.py:
        - Make modalias matching case insensitive (LP: #1500591).
    
      [ Martin Pitt ]
      * debian/tests/system: Explicitly require version 1.0 of UMockdev, to avoid
        a warning on stderr.
    
    ubuntu-drivers-common (1:0.4.11) wily; urgency=medium
    
      * gpu-manager.c:
        - Rely on /var/log/syslog to get information about unloaded modules.
          This should minimise the current slowdown on boot (LP: #1307069).
        - Switch from intel to modesetting as the default driver on hybrid
          intel/nvidia systems because of a regression in the intel driver
          (LP: #1507676).
    
    ubuntu-drivers-common (1:0.4.10) wily; urgency=medium
    
      * debian/tests/system: Drop the nvidia package tests; they are now tested
        through autodep8 on every kernel and dkms change, so we don't have to rely
        on this hard to maintain autopkgtest any more. Also drop most other driver
        package tests for the same reason; just keep the "fglrx" test to get a
        full end-to-end test with "ubuntu-drivers".
    
    ubuntu-drivers-common (1:0.4.9) wily; urgency=medium
    
      * tests/ubuntu_drivers.py: Reset the apt.Cache() cache between tests, as
        this is unreliable with tests that keep switching apt's root directory.
        (LP: #1487223)
      * Bump Standards-Version to 3.9.6 (no changes necessary).
    
    ubuntu-drivers-common (1:0.4.8) wily; urgency=medium
    
      [ Alberto Milone ]
      * share/hybrid/gpu-manager.c, tests/gpu-manager.py:
        - Use SNA in powersaving mode for pxpress, and keep UXA
          only for performance mode (where it's required). This
          fixes a number of HWE issues (e.g. LP: #1472972).
      * Quirks/quirkreader.py:
        - Set the encoding when opening the file. This fixes a
          crash in Wily.
    
      [ Martin Pitt ]
      * debian/rules: Ensure that $PATH includes /sbin:/usr/sbin, as the tests
        require several programs from that (e. g. modinfo, aptd). Fixes FTBFS due
        to test failures. (LP: #1487223)
    
    ubuntu-drivers-common (1:0.4.7) wily; urgency=medium
    
      * gpu-manager.c:
        - Check that we have write access to the log. If writing to
          the log fails, we show a warning, and use stdout instead.
          (LP: #1298693)
    
    ubuntu-drivers-common (1:0.4.6) wily; urgency=medium
    
      * gpu-manager.c, gpu-manager.py:
        - Use the amdconfig tool to configure multi-amd PXpress. This
          fixes a problem where the AMD control panel won't show an
          option to switch between power saving mode and performance
          mode on AMD+AMD hybrid systems (LP: #1410801).
        - The tests now reflect a more relaxed approach so that we
          do not overwrite configurations that are not supported (such
          as multiple xscreens set in the xorg.conf).
    
    ubuntu-drivers-common (1:0.4.5) vivid; urgency=medium
    
      * Call dh_systemd_enable after installing gpu-manager.service, so that the
        unit actually gets enabled. Also quiesce the confusing error messages
        about nonexisting binary package directories. (LP: #1443364)
    
    ubuntu-drivers-common (1:0.4.4) vivid; urgency=medium
    
      * debian/tests/system: Re-enable fglrx tests and update them for the
        fglrx-core split.
    
    ubuntu-drivers-common (1:0.4.3) vivid; urgency=medium
    
      * debian/tests/system: Don't use --auto-remove on purge, to avoid removing
        our test dependencies.
      * debian/tests/system: Set noninteractive debconf frontend, to avoid debconf
        error messages.
      * debian/tests/system: Mark fglrx tests as expected failures, the current
        fglrx driver is known to be incompatible with current X.org.
    
    ubuntu-drivers-common (1:0.4.2) vivid; urgency=medium
    
      * gpu-manager.c:
        - Do not abort when dealing with sddm. This allows users to get
          partial support for hybrid graphics when using sddm instead of
          lightdm.
    
    ubuntu-drivers-common (1:0.4.1) vivid; urgency=medium
    
      * debian/tests/system:
        - Add test for nvidia-346 and change the ids for nvidia-340.
    
    ubuntu-drivers-common (1:0.4) vivid; urgency=medium
    
      [ Dimitri John Ledkov ]
      * Add cpu-microcode detect-plugin. (LP: #1386257)
    
    ubuntu-drivers-common (1:0.3) vivid; urgency=medium
    
      * debian/tests/system: nvidia-331 is transitional now, so adjust tests to
        use nvidia-340.
    
    ubuntu-drivers-common (1:0.2.98.9) vivid; urgency=medium
    
      * gpu-manager.c:
        - Ignore pci passthroughs (LP: #1397124).
    
    ubuntu-drivers-common (1:0.2.98.8) vivid; urgency=medium
    
      * gpu-manager.service: Log into /var/log/gpu-manager.log so that we can pick
        this up from apport.
    
    ubuntu-drivers-common (1:0.2.98.7) vivid; urgency=medium
    
      * Only install systemd unit on architectures where gpu-manager gets built.
    
    ubuntu-drivers-common (1:0.2.98.6) vivid; urgency=medium
    
      * setup.py: Drop unnecessary glob().
      * tests/ubuntu_drivers.py: Set SYSTEMD_LOG_LEVEL to avoid failing on
        unexpected udevadm debug spew if the kernel gets booted with "debug".
        Fixes FTBFS on our arm64 builders.
      * Add systemd unit for gpu-manager.
    
    ubuntu-drivers-common (1:0.2.98.5) vivid; urgency=medium
    
      * gpu-manager.c:
        - Refine checks for blacklisted modules, so that we don't end up
          catching false positives (LP: 1376966).
          Thanks to Pär Lindfors for the patch.
    
    ubuntu-drivers-common (1:0.2.98.4) utopic; urgency=medium
    
      * debian/tests/system, tests/ubuntu_drivers.py,
        UbuntuDrivers/detect.py:
        - Revert the previous changes that made us switch from bcmwl to
          the open driver, as the latter (in order to be a full replacement)
          seems to require firmware that we cannot include in the Ubuntu
          image because of licensing issues (LP: #1374126).
    
    ubuntu-drivers-common (1:0.2.98.3) utopic; urgency=medium
    
      * gpu-manager.c:
        - Add support for "gpumanager_uxa" and "gpumanager_modesetting"
          boot parameters, so that there is an option to force NVIDIA
          Optimus systems (that don't work well with Intel/SNA) to use
          either Intel/UXA or modesetting (LP: #1365695).
    
    ubuntu-drivers-common (1:0.2.98.2) utopic; urgency=medium
    
      * gpu-manager.c, gpu-manager.py:
        - Be more tolerant with xorg.confs. This fixes the multi AMD
          GPU use case where aticonfig insists on not setting the
          PCI domain in the xorg.conf (LP: #1310489). Also add a test
          with one of the xorg.confs from the bug report so that we
          do not regress in the future.
    
    ubuntu-drivers-common (1:0.2.98.1) utopic; urgency=medium
    
      * gpu-manager.c, gpu-manager.py:
        - Avoid false positives with blacklisted modules (LP: #1363675).
        - Add regression test for the bug.
    
    ubuntu-drivers-common (1:0.2.98) utopic; urgency=medium
    
      * gpu-manager.c, gpu-manager.py:
        - Add support for testing core alternatives. This will be needed
          by fglrx.
        - Add the --backup-log parameter. This is only used for debugging
          and disabled by default.
        - Fix a regression that caused the gpu-manager to switch to mesa
          after enabling fglrx on hybrid systems (LP: #1310489). Also
          add a test case so that we don't regress in the future.
        - Check that either fglrx or nvidia is set in xorg.conf when
          xorg.conf is needed.
        - Check if kernel modules are blacklisted before choosing the
          driver (LP: #1310489).
        - Enable only GPUs with open drivers that have connected outputs.
          Attaching to GPUs that have no connected outputs would result
          in a black screen.
        - Allow RandR offloading even without bbswitch (LP: #1349282).
        - Fall back to mesa when failing to enable prime.
        - Do not try to enable prime if the nvidia driver is older than
          331.
        - Do not abort if the settings for prime cannot be found.
          Try creating the file before failing.
        - Avoid false positives of unloaded modules.
        - Use the cleanup attribute.
        - Always use snprintf instead of sprintf.
    
    ubuntu-drivers-common (1:0.2.97) utopic; urgency=medium
    
      * tests/testarchive.py: Organize debs in pool/ structure, for better
        reusability.
      * tests/ubuntu_drivers.py: Drop expected failures, they've succeeded for a
        long time. This needs to be fixed properly if there's a bug.
      * sl-modem plugin: Keep environment for aplay, just ensure it's using the C
        locale. (LP: #1296425)
      * Disable linux-firmware-nonfree autopkgtest for now. bcma does not declare
        any firmware dependencies and linux-firmware-nonfree does not declare
        modaliases, so it either just works now, or the driver needs fixing first.
    
    ubuntu-drivers-common (1:0.2.96.1) utopic; urgency=medium
    
      * gpu-manager.c:
        - Make sure to unload nvidia-uvm or nvidia won't be
          unloaded.
        - Make sure to walk properly the /dev/dri dir. This
          prevents the program from stopping when, for example
          /dev/dri/card1 is available while /dev/dri/card0 is
          not.
    
    ubuntu-drivers-common (1:0.2.96) utopic; urgency=medium
    
      * gpu-manager.c:
        - Try harder when loading bbswitch (LP: #1310023).
          If loading bbswitch fails try with or without the
          "skip_optimus_dsm=1" option.
        - Switch to intel/SNA for optimus systems (LP: #1326257).
    
    ubuntu-drivers-common (1:0.2.95) utopic; urgency=medium
    
      [ Tim Lunn ]
      * gpu-manager.c, gpu-manager.conf:
        - Use the gpu-manager with GDM too now that support for
          it has landed in Utopic (LP: #1262068).
    
    ubuntu-drivers-common (1:0.2.94) utopic; urgency=medium
    
      * gpu-manager.c, tests/gpu-manager.py:
        - Trim dmi resources or matching will give false positives.
          This should fix LP: #1310516 for good.
        - Re-enable checking alternatives for pxpress.
    
    ubuntu-drivers-common (1:0.2.93) utopic; urgency=medium
    
      * gpu-manager.c, tests/gpu-manager.py:
        - Add support for matching dmi product name (LP: #1310516).
    
    ubuntu-drivers-common (1:0.2.92.2) utopic; urgency=medium
    
      * gpu-manager.c:
        - Revert switch to the intel driver from modesetting until
          some issues are fixed.
    
    ubuntu-drivers-common (1:0.2.92.1) utopic; urgency=medium
    
      * debian/tests/system, tests/ubuntu_drivers.py:
        - Fix the relevant tests now that linux-firmware-nonfree
          has replaced bcmwl.
    
    ubuntu-drivers-common (1:0.2.92) utopic; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.c:
        - Ignore CRT displays when using PRIME. This works around
          systems whose BIOS provides a ghost output (LP: #1296020).
        - Switch from modesetting to intel for PRIME.
      * tests/gpu-manager.py:
        - Check that we don't remove xorg.confs on 1st boot.
      * UbuntuDrivers/detect.py:
        - Do not autoinstall the broadcom driver. The open driver
          should be a better solution now (LP: #1306928).
        - Autoinstall linux-firmware-nonfree. This will help now
          that we no longer autoinstall Broadcom's binary driver.
    
      [ Mario Limonciello ]
      * gpu-manager.c:
        - During first boot, don't remove existing xorg.conf (LP: #1307546).
    
    ubuntu-drivers-common (1:0.2.91.4) trusty; urgency=medium
    
      * Force removal of jockey on upgrades. It has been replaced with
        ubuntu-drivers-common two cycles ago, removed from trusty, and now just
        crashes due to API changes in aptdaemon. (LP: #1216193)
    
    ubuntu-drivers-common (1:0.2.91.3) trusty; urgency=medium
    
      * gpu-manager.c:
        - Move away the xorg.conf if mesa is selected as a
          fallback and binary drivers are still in use in the
          xorg.conf. This will prevent X from failing when
          users on hybrid systems uninstall a binary driver.
    
    ubuntu-drivers-common (1:0.2.91.2) trusty; urgency=medium
    
      * gpu-manager.c:
        - Always check that devices are bound to a driver.
          This works better than blacklisting the 0380 class, and
          should help systems such as the one in LP: #1301839.
    
    ubuntu-drivers-common (1:0.2.91.1) trusty; urgency=medium
    
      * debian/control, debian/rules:
        - Obsolete and replace fglrx-pxpress. The gpu-manager
          already deals with AMD GPUs.
    
    ubuntu-drivers-common (1:0.2.91) trusty; urgency=medium
    
      * debian/control:
        - Add build dependency on libdrm-dev.
      * debian/rules:
        - Remove /etc/init/hybrid-gfx.conf.
        - Also remove the current upstart job from the architectures
          that don't ship gpu-manager.
      * gpu-manager.c, tests/gpu-manager.py:
        - Replace laptop specific hack to detect the need to offload
          rendering to the discrete card with code that opens the
          available drm devices and checks the connected outputs.
          If any outputs are connected to the Intel card, then we
          choose offloading. This also helps when the monitor is
          still connected to Intel on desktop systems with Intel +
          NVIDIA systems.
        - Preliminary work to reduce code duplication in nvidia-prime.
      * tests/ubuntu_drivers.py:
        - Do not abort if test_auto_install_system fails.
    
    ubuntu-drivers-common (1:0.2.90) trusty; urgency=low
    
      * gpu-manager.c, gpu-manager.py:
        - Match only PCI_CLASS_DISPLAY, except for PCI_CLASS_DISPLAY_OTHER.
        - Re-enable outputs connected to NVIDIA discrete cards. This only
          affects Optimus systems (LP: #1290711).
        - Prevent possible buffer overflow when reading the configuration
          from last boot.
        - Clean up and make get_output() more robust (LP: #1290831).
    
    ubuntu-drivers-common (1:0.2.89.6) trusty; urgency=low
    
      * gpu-manager.c:
        - Take action if settings don't match the current bbswitch status
          (LP: #1289420).
    
    ubuntu-drivers-common (1:0.2.89.5) trusty; urgency=low
    
      * tests/run:
        - Skip gpu-manager.py on anything other than the x86 family.
    
    ubuntu-drivers-common (1:0.2.89.4) trusty; urgency=medium
    
      [ Martin Pitt ]
      * Reenable tests.
      * Mark the three failing tests as expected failure instead of skipping them
        entirely, so that we can see what they do on the buildds.
    
      [ Alberto Milone ]
      * tests/gpu-manager.py:
        - Refactor the test suite by reusing more code and reducing the
          overall code.
        - Add test case for zero length dmi product version.
      * share/hybrid/gpu-manager.c:
        - Do not try to match quirks if dmi product version has zero length
          (LP: #1289298).
    
    ubuntu-drivers-common (1:0.2.89.3) trusty; urgency=low
    
      * debian/rules:
        - Temporarily disable all tests. We'll switch them back on as
          soon as we find out the cause of these failures.
      * tests/gpu-manager.py:
        - Do not run on anything but x86 family.
    
    ubuntu-drivers-common (1:0.2.89.2) trusty; urgency=low
    
      * tests/gpu-manager.py:
        - Fix FTBFS.
    
    ubuntu-drivers-common (1:0.2.89.1) trusty; urgency=low
    
      * tests/gpu-manager.py:
        - Remove leftover print that caused tests to fail in -proposed.
    
    ubuntu-drivers-common (1:0.2.89) trusty; urgency=low
    
      * debian/control:
        - Breaks: nvidia-prime (<< 0.6). We don't want the gpu-manager
          to compete with the old nvidia-prime on hybrid systems.
      * share/hybrid/gpu-manager.c:
        - Fix memory leaks and complete the different test cases.
      * tests/gpu-manager.py:
        - Add test suite for gpu-manager to reproduce different
          hardware/software scenarios.
      * UbuntuDrivers/detect.py, tests/ubuntu_drivers.py:
        - Enable installing graphics drivers on laptops with hybrid
          graphics (LP: #1126234), and on desktop systems where the
          BIOS doesn't disable the integrated GPU when a discrete
          card is available (LP: #1126234). This is now possible
          thanks to the gpu-manager (now enabled by default).
      * Replace the deprecated hybrid-detect program with gpu-manager (now
        enabled by default). In case of problems with the gpu-manager, it
        can be disabled by passing "nogpumanager" as a boot parameter.
    
    ubuntu-drivers-common (1:0.2.88) trusty; urgency=medium
    
      * debian/tests/control: Add missing linux-headers test dependency.
      * Drop python3-aptdaemon.pkcompat recommends to a suggests, to avoid pulling
        it into Kubuntu.
      * share/hybrid/gpu-manager.c:
        - Add the new gpu manager. This will replace hybrid-detect as soon as
          test coverage is complete.
      * tests/ubuntu_drivers.py:
        - Skip test_list_system() and test_devices_system() for now. We need
          to find a way to pass syspath without the whole APT_CONFIG env var,
          or the tests will fail if system packages match real system hardware.
    
    ubuntu-drivers-common (1:0.2.87) trusty; urgency=low
    
      * tests/ubuntu_drivers.py: Reduce the expected system modaliases from > 5 to
        > 3, as our arm64 builders seem a bit hardware deprived. Fixes FTBFS on
        arm64.
    
    ubuntu-drivers-common (1:0.2.86) trusty; urgency=low
    
      * debian/tests/system: nvidia-319 is now a transitional package, update
        tests to check nvidia-331 instead.
    
    ubuntu-drivers-common (1:0.2.85) trusty; urgency=low
    
      * Depend on kmod | module-init-tools. Apparently some users manage to
        uninstall it. (LP: #1087222)
      * Bump Standards-Version to 3.9.5. No changes necessary.
    
    ubuntu-drivers-common (1:0.2.84) trusty; urgency=low
    
      * debian/tests/system: Update check of modinfo error message to also work
        with current kmod.
    
    ubuntu-drivers-common (1:0.2.83) saucy; urgency=low
    
      * debian/tests/control: Install libgl1-mesa-glx for the tests, so that
        the fglrx packages don't fail to install.
      * debian/tests/system: nvidia-{310,313} are now transitional, drop tests and
        test nvidia-319{,-updates} instead.
    
    ubuntu-drivers-common (1:0.2.82) saucy; urgency=low
    
      * debian/tests/system: Accept stderr messages from the
        TestUbuntuDrivers.test_bcmwl() test, as this spits out lots of libkmod
        errors due to the rather thin umockdev environment.
    
    ubuntu-drivers-common (1:0.2.81) saucy; urgency=low
    
      * debian/tests/system: Port to umockdev.
      * share/fake-devices-wrapper: Fix fake bcmwl modalias.
    
    ubuntu-drivers-common (1:0.2.80) saucy; urgency=low
    
      * Make test failures non-fatal on powerpc.
    
    ubuntu-drivers-common (1:0.2.79) saucy; urgency=low
    
      * Skip test_system_driver_packages_bad_encoding() on powerpc. It's not
        obvious why it fails there, and without a porter box there is little we
        can do.
    
    ubuntu-drivers-common (1:0.2.78) saucy; urgency=low
    
      * debian/tests/system: Drop usage of fakesys.py, should not actually be
        necessary.
      * Drop tests/fakesysfs.py, not used any more and obsolete.
      * Bump Standards-Version to 3.9.4 (no changes necessary).
      * UbuntuDrivers/detect.py, system_aliases(): Tone down "Cannot read modalias
        file" warning into a debug statement; this isn't particularly interesting
        or an error the user could do something about, and it breaks tests on
        powerpc.
    
    ubuntu-drivers-common (1:0.2.77) saucy; urgency=low
    
      * detect.py, _get_db_name(): Call "udevadm hwdb" instead of the old
        /lib/udev/*-db helpers; the latter don't exist any more. This brings back
        vendor/product names. Bump udev dependency accordingly. (LP: #1186777)
      * share/fake-devices-wrapper: Rewrite using umockdev, our fakesys.py does
        not work any more with current libudev.
      * Port test suite from fakesys.py to umockdev. Add umockdev build-dependency
        for this (see MIR LP #1190926)
    
    ubuntu-drivers-common (1:0.2.76) raring; urgency=low
    
      * debian/tests/system: nvidia-current is now a transitional package, so
        change tests to test -304.
      * debian/tests/system: Add tests for nvidia-310 and -313-updates.
      * debian/tests/system: Drop sl-modem test case. We don't officially support
        it, and it's broken at the moment. The package build test should move into
        sl-modem itself if anyone is interested in keeping it alive.
    
    ubuntu-drivers-common (1:0.2.75) raring; urgency=low
    
      * UbuntuDrivers/detect.py:
        - Add get_linux() which returns the linux metapackage name.
      * UbuntuDrivers/kerneldetection.py:
        - Rely on the source name only for "-lts" packages (a special case).
        - Add KernelDetection.get_linux_metapackage().
      * tests/ubuntu_drivers.py:
        - Add more tests with different kernel names.
        - Extend test coverage to both get_linux() and get_linux_headers()
          from UbuntuDrivers/detect.py.
    
    ubuntu-drivers-common (1:0.2.74) raring; urgency=low
    
      [ Martin Pitt ]
      * hybrid-detect.c: Fix detection of i386 architecture. Thanks Dennis
        Baurichter! (LP: #1096354)
    
      [ Alberto Milone ]
      * NvidiaDetector/nvidiadetector.py: Exclude -current from the
        recommended flavours. The -current flavour is now a transitional
        package therefore we should not recommend it any more.
      * UbuntuDrivers/kerneldetection.py, UbuntuDrivers/detect.py,
        tests/ubuntu_drivers.py: Add support for checking and suggesting
        the required linux headers.
    
    ubuntu-drivers-common (1:0.2.73) raring; urgency=low
    
      * debian/tests/control: Add apport to test dependencies, so that the DKMS
        hook can generate proper crash files which will help with debugging.
      * debian/tests/system: In the Broadcom wifi test, use a proper device class
        and subclass, as the current driver matches on those now.
    
    ubuntu-drivers-common (1:0.2.72) raring; urgency=low
    
      [ Matthias Klose ]
      * Build-depend on python3-all.
    
      [ Dmitrijs Ledkovs ]
      * Use /usr/bin/python3 shebang.
    
      [ Martin Pitt ]
      * debian/tests/system: Fix duplicate output of error message for test
        failures.
      * tests/ubuntu_drivers.py, test_devices_detect_plugins(): Fix failure if
        special.py occurs first in the output. This bug was triggered by Python
        3.3's new hash randomization behaviour. (LP: #1071997)
      * UbuntuDrivers/detect.py: Fix UnicodeDecodeError crash when encountering a
        package with invalid UTF-8 encoding. Just skip those packages instead. Add
        test to tests/ubuntu_drivers.py.
    
    ubuntu-drivers-common (1:0.2.71.1) quantal-proposed; urgency=low
    
      * NvidiaDetector/nvidiadetector.py:
        - Make sure to never recommend experimental drivers (LP: #1070795).
    
    ubuntu-drivers-common (1:0.2.71) quantal; urgency=low
    
      * tests/ubuntu_drivers.py: When calling PackageKit, retry up to 5 seconds on
        o.f.d.Error.ServiceUnknown, so that this also works reliably on our slow
        ARM builders. (LP: #1061748)
    
    ubuntu-drivers-common (1:0.2.70) quantal; urgency=low
    
      * UbuntuDrivers/detect.py: Never recommend a driver which has "experiment"
        in the name, unless no other driver is available.
    
    ubuntu-drivers-common (1:0.2.69) quantal; urgency=low
    
      * Drop share/last_gfx_boot, and stop installing it in setup.py. This file is
        created and updated at runtime and should not be shipped in the package.
        (LP: #1045629)
      * setup.py: Only install the upstart job on platforms where we build
        hybrid-detect. (LP: #1045193)
      * debian/rules: On architectures which do not ship hybrid-detect, generate a
        .maintscript helper to clean up the /etc/init/hybrid-gfx.conf upstart job
        conffile on upgrade.
      * tests/ubuntu_drivers.py: Add test for a video driver which supports
        multiple X.org video ABIs. Reproduces LP #1033222.
      * UbuntuDrivers/detect.py, _check_video_abi_compat(): Do not only consider
        the first xorg-video-abi-* dependency, but all of them. (LP: #1033222)
    
    ubuntu-drivers-common (1:0.2.68) quantal; urgency=low
    
      * setup.py: Fix hybrid_detect installation. (LP: #1026787)
    
    ubuntu-drivers-common (1:0.2.67) quantal; urgency=low
    
      * setup.py: Install hybrid-detect through data_files instead of scripts, as
        the later stopped working with python 3.2.3-3 (see LP #1026016)
    
    ubuntu-drivers-common (1:0.2.66) quantal; urgency=low
    
      * UbuntuDrivers/detect.py, system_device_drivers(): Add driver flag
        "manual_installed" if none of the driver packages are installed, but the
        corresponding kernel module is available. This usually means that the user
        installed the driver manually from upstream. (LP: #1025632)
      * share/fake-devices-wrapper: If $FAKE_INSTALLED_KMOD is set, run the
        wrapped program with a "modinfo" wrapper in $PATH which claims that the
        given kernel module name is available. This can be used to test the
        "manually installed driver" case.
    
    ubuntu-drivers-common (1:0.2.65) quantal; urgency=low
    
      * UbuntuDrivers/detect.py, system_driver_packages(): Add 'recommended' flag
        to the nvidia-* and fglrx-* packages, which usually provide more than one
        package for a particular device. (LP: #1025315)
      * UbuntuDrivers/detect.py, auto_install_filter(): Filter out non-recommended
        packages, to avoid installing multiple versions of the NVidia or FGLRX
        driver.
      * UbuntuDrivers/detect.py: Change return value of detect_plugin_packages()
        to a plugin_name → [package, ...] map, so that we retain the plugin names.
      * UbuntuDrivers/detect.py: Add system_device_drivers() API to get a
        by-device view of drivers, plus OS builtin free alternatives (such as
        Nouveau). Add it to README as well. (LP: #1025323)
      * ubuntu-drivers: Add "device" command to show by-device drivers as reported
        by system_device_drivers().
    
    ubuntu-drivers-common (1:0.2.64) quantal; urgency=low
    
      * debian/control: Add pciutils and usbutilsl build/binary dependencies, so
        that pci-db and usb-db actually have some data files to work with.
    
    ubuntu-drivers-common (1:0.2.63) quantal; urgency=low
    
      * debian/control: Add udev build/binary dependency, to ensure we have pci-db
        and usb-db.
    
    ubuntu-drivers-common (1:0.2.62) quantal; urgency=low
    
      * debian/control: As the PackageKit apt backend is going away, drop the
        Conflicts to packagekit-backend-aptcc. Instead, recommend
        python3-aptdaemon.pkcompat and update the description to point out that
        the PackageKit API does not work with the aptcc backend.
        (LP: #1023953)
      * UbuntuDrivers.detect.py, system_driver_packages(): Add 'vendor' and
        'model' fields for the human readable names from pci/usb databases.
    
    ubuntu-drivers-common (1:0.2.61) quantal; urgency=low
    
      * NvidiaDetector/nvidiadetector.py: Fix crash if there is only one card.
        (LP: #1021305)
      * Add share/fake-devices-wrapper: Wrapper script to run a command under a
        mock sysfs tree which pretends to have an NVidia and ATI graphics card,
        and a Broadcom wifi card. This can be used for testing the new
        software-properties or other driver management software.
    
    ubuntu-drivers-common (1:0.2.60) quantal; urgency=low
    
      * libudev uses $SYSFS_PATH, not $SYSFS. Fix test suite accordingly.
      * debian/tests/system: Raise a more specific exception if headers for
        the running kernel are not installed. Thanks to Jean-Baptiste Lallement
        for the intial patch! (LP: #1021386)
    
    ubuntu-drivers-common (1:0.2.59) quantal; urgency=low
    
      * UbuntuDrivers/detect.py: Fix crash on non-ASCII characters in Xorg log.
        Adjust test case to reproduce this. (LP: #1020329).
    
    ubuntu-drivers-common (1:0.2.58) quantal; urgency=low
    
      * Add detect-plugins/arm-gles.py, thanks Oliver Grawert! (LP: #1016006)
      * debian/tests/system: Add test for virtualbox-dkms.
      * debian/tests/system: Add test for sl-modem-dkms.
    
    ubuntu-drivers-common (1:0.2.57) quantal; urgency=low
    
      * debian/tests/control: Drop undefined "no-build-needed" feature.
      * debian/tests/system: NVidia and FGLRX drivers produce some stderr output
        when installing the packages. Don't fail on them, but do show the output
        in the test suite.
    
    ubuntu-drivers-common (1:0.2.56) quantal; urgency=low
    
      * UbuntuDrivers/detect.py: Add nvidia-* for automatic installation after
        discussion with Chris. The proprietary driver is still the better choice
        (if you click "proprietary 3rd party drivers" in Ubiquity) until Nouveau
        enables power management.
      * tests/ubuntu_drivers.py: Update test_auto_install_chroot() for above
        change, as nvidia now does get installed automatically.
      * Quirks/quirkapplier.py: Update to current xkit API: Call write(), not
        writeFile(). (LP: #1014728)
      * UbuntuDrivers/detect.py: Change system_modaliases() to return an alias →
        sysfs_path map, instead of just a list of aliases.
      * UbuntuDrivers/detect.py: Change system_driver_packages() to return a
        package → info map, instead of just a list of packages. UI can use the
        info to show which device requested a driver, whether it is free or
        proprietary, and whether it is a distro or third-party package.
        (LP: #1013665)
      * Fix fd leaks from subprocess in the test suite.
      * Add debian/tests/system and debian/tests/control: Add autopkg test to
        check that we can detect, install, and remove the nvidia, fglrx, and bcmwl
        drivers. Due to their nature of being compiled on the client side and
        depend on matching kernel headers/API, they are inherently a bit brittle
        and thus we should spot regressions immediately.
    
    ubuntu-drivers-common (1:0.2.55) quantal; urgency=low
    
      [ Martin Pitt ]
      * UbuntuDrivers/detect.py: Auto-install virtualbox-guest-dkms.
      * UbuntuDrivers/PackageKit.py: If packagekit.enums is not available, fall
        back to aptdaemon.pkenums. This will allow us to move to Python3 without
        waiting for PackageKit.
      * Revert Dmitrijs' relative imports and move back to Python3 compatible
        absolute imports.
      * quirks-handler, setup.py: Move to Python 3 as well.
    
      [ Dmitrijs Ledkovs ]
      * NvidiaDetector/nvidiadetector.py: Use python3 compatible syntax.
      * Convert package to python3 only.
    
    ubuntu-drivers-common (1:0.2.54) quantal; urgency=low
    
      * debian/control: depend on python-xkit (>= 0.5.0).
      * Quirks/quirkapplier.py, Quirks/quirkreader.py
        tests/quirkreader-test.py:
        - Add support for the new python-xkit API.
    
    ubuntu-drivers-common (1:0.2.53) quantal; urgency=low
    
      * debian/control: Drop hard packagekit/aptdeamon dependencies, and move them
        to Suggests/Enhances. We do not need them for the core code, just for the
        PackageKit plugin.
      * UbuntuDrivers/PackageKit.py: Drop system_driver_packages(), as it is
        really not that useful: For UIs using the PackageKit API you cannot call
        it, and for Ubuntu specific UIs you can use the faster
        UbuntuDrivers.detect API. Instead, provide the functionality through the
        WhatProvides(HARDWARE_DRIVER, "drivers_for_attached_hardware") call, which
        is defined in PackageKit. Adjust tests accordingly.
      * debian/control: Update description.
      * debian/control: Drop obsolete XB-Python-Version.
      * debian/control: Move packagekit-backend-aptcc from Breaks to Conflicts, as
        it is unversioned.
      * UbuntuDrivers/PackageKit.py: Add pkcon example for HARDWARE_DRIVERS to
        header comment.
      * UbuntuDrivers/detect.py, packages_for_modalias(): Avoid returning the same
        package multiple times.
      * Add README: Document purpose, interfaces, and detection logic.
      * Add debian/ubuntu-drivers-common.apport: Apport hook to include the output
        of "ubutu-drivers debug". Add dh-apport build dependency and enable in
        debian/rules.
      * Add dh-modaliases, moved from the obsolete Jockey package:
        - Add debhelper/dh_modaliases: Debhelper program to produce a
          ${modaliases} substvar from scanning .ko files or
          debian/packagename.modaliases.
        - Add debhelper/modaliases.pm: dh_auto sequencer for dh_modaliases.
        - Add debian/dh-modaliases.install: Install above files.
        - debian/control: Add dh-modaliases package.
        - debian/rules: Create manpage from dh_modaliases POD.
      * Add debhelper/test_dh_modaliases: Old test script for dh_modaliases from
        Jockey. This is not integrated into "make check" and uses the
        snd_hda_intel kernel module from the system; this needs to be run manually
        for now.
      * debian/rules: Respect "nocheck" in $DEB_BUILD_OPTIONS.
    
    ubuntu-drivers-common (1:0.2.52) quantal; urgency=low
    
      * ubuntu-drivers: Add --package-list option to create a file with the list
        of installed packages in "autoinstall" mode.
      * Add ubiquity/target-config/31ubuntu_driver_packages: Ubiquity plugin to
        install all packages that "ubuntu-drivers autoinstall" installed into the
        live system. Install it in setup.py.
      * ubuntu-drivers: Stop meddling with the debconf environment variables. It
        is wrong (and too late anyway for Ubiquity) to do it here. The complete
        environment setting is now done in Ubiquity's simple-plugins.
    
    ubuntu-drivers-common (1:0.2.51) quantal; urgency=low
    
      * detect-plugins/sl-modem.py: Do not log an exception when
        /proc/asound/cards does not exist (such as in the buildds), as it causes
        the test_plugin_errors test to fail.
    
    ubuntu-drivers-common (1:0.2.50) quantal; urgency=low
    
      * debian/control: Add alsa-utils build and binary dependency, so that the
        sl-modem handler can call aplay.
    
    ubuntu-drivers-common (1:0.2.49) quantal; urgency=low
    
      * Fix exception, print, and assert syntax to be Python 3 compatible.
      * Fix octal number and iteration syntax to be Python 3 compatible.
      * Add .gitignore to ignore built stuff.
      * tests/run: Clean up generated settings.py file on exit.
      * Add detect-plugins/sl-modem.py: Custom detect plugin for the
        sl-modem-daemon special case (formerly handled by Jockey's sl_modem.py
        handler).
      * debian/rules: Simplify running the tests.
      * tests/ubuntu_drivers.py: Fix temporary log level changing.
    
    ubuntu-drivers-common (1:0.2.48) quantal; urgency=low
    
      * ubuntu-drivers: Fix duplicate system modalias debug messages.
      * UbuntuDrivers/detect.py: Disable two debug messages which cause excessive
        debug log spew and are not very interesting.
      * ubuntu-drivers autoinstall: Do not reinstall already installed drivers.
      * Add detect-plugins/open-vm-dkms.py: Custom detect plugin for the
        open-vm-dkms special case (formerly handled by Jockeys' vmware-client.py
        handler).
      * setup.py: Install detect-plugins/*.
      * tests/ubuntu_drivers.py: Add PluginsTest to check that shipped plugins
        work without errors or crashes.
      * UbuntuDrivers/detect.py, _check_video_abi_compat(): Disable NVidia driver
        if X.org's log shows that the Intel driver is loaded. This prevents
        breaking hybrid systems as long as the NVidia driver and X.org do not work
        on those.
      * debian/ubuntu-drivers-common.templates: Drop trailing whitespace, to stop
        lintian from complaining.
      * debian/control: Add missing ${misc:Depends} to transitional package.
      * debian/control: Add missing ${shlibs:Depends} for hybrid-detect.
      * debian/control: Set priority of the nividia-common transitional package to
        "extra" to quiesce lintian.
    
    ubuntu-drivers-common (1:0.2.47) quantal; urgency=low
    
      * UbuntuDrivers/detect.py, system_modaliases(): Catch/log IOErrors when
        trying to open "modalias" files in /sys. On powerpc we get a "No such
        device" error on some files, causing test failures.
      * tests/ubuntu_drivers.py, ToolTest: Explicitly set --log in the chroot's
        DPKG::options::. The buildds seem to have a dpkg configuration which needs
        that, otherwise it's trying to write into the system log file.
    
    ubuntu-drivers-common (1:0.2.46) quantal; urgency=low
    
      * Rename to ubuntu-drivers-common, as this package is already necessary for
        fglrx as well, and will soon get support for more drivers (replacing
        Jockey). Update file references and names everywhere, and drop the
        obsolete debian/README.Debian and debian/nvidia-common.preinst.
      * debian/control: Fix for current python packaging policy (XS- → X-), and
        drop obsolete debian/pycompat.
      * debian/control: Add Vcs-* tags.
      * setup.py: Move from distutils to setuptools, to get an egg info (needed to
        provide PackageKit plugins). Add python-setuptools build dependency.
      * Add tests/fakesysfs.py: Provide a fake sysfs directory for testing.
        Adapted from upower's integration test suite.
      * Add tests/testarchive.py: Class for building an apt archive with test
        packages.
      * Add UbuntuDrivers/detect.py, tests/ubuntu_drivers.py: Hardware/driver
        detection functionality.  These are borrowed and streamlined from Jockey.
      * Add aptdaemon/PackageKit (apt backend) plugin for what-provides MODALIAS:
        - Add UbuntuDrivers/PackageKit.py: The actual plugin, which checks the
          query against the patterns packages specify in their "Modaliases:"
          header. Also provides a system_driver_packages() function to get all
          driver packages applicable for the system.
        - setup.py: Install the new UbuntuDrivers Python package and register the
          plugin entry point.
        - tests/ubuntu_drivers.py: Add tests cases for UbuntuDrivers.PackageKit,
          using a test aptdaemon instance on a local session bus.
        - debian/control: Add python-aptdaemon.pkcompat dependency. Also specify
          packagekit as an alternative, but conflict to packagekit-backend-aptcc
          for now, as this does not support the MODALIAS what-provides query, nor
          plugins. This means that you cannot currently install this package
          together with packagekit as long as the latter hard-depends on the aptcc
          backend. Also add aptdaemon/dbus build dependencies to be able to run
          the tests during build time.
      * tests/run: Exit with a nonzero code if there are failures or errors.
      * debian/rules: Ensure that our egg-info is built before running the tests,
        and removed again on clean.
      * debian/copyright: Rewrite using copyright 1.0 format.
      * Add ubuntu-drivers: Command line tool to list available driver packages
        for this system and auto-install them. This replaces the functionality of
        "jockey-text --auto-install". This does not use any D-BUS communication,
        so is safe to run in chroots.
      * debian/control: Switch to Architecture: any, we are already building this
        package anywhere but powerpc.
      * setup.py: Remove commented code for updating .mo files. This package is
        not supposed to show user-visible strings, and if we ever get them it
        should rather use python-distutils-extra.
      * setup.py: Only build hybrid-detect on x86 machines.
      * debian/control: Bump Standards-Version to 3.9.3.
    
    nvidia-common (1:0.2.45) quantal; urgency=low
    
      * Don't write to /usr/share for hybrid graphics
        detection, use /var/lib instead (LP: #976779).
    
    nvidia-common (1:0.2.44) precise; urgency=low
    
      [ Ricardo Salveti de Araujo ]
      * Make it possible to use nvidia-common with arm/gles
        drivers (LP: #977245).
    
    nvidia-common (1:0.2.43) precise; urgency=low
    
      * Do not apply multiple quirks when facing multiple values
        for a tag. This was causing nvidia-common to apply quirks
        that are not specific to the hardware in use.
      * Make sure never to add quirks without an id.
      * Improve test 3 and 4 of the test suite:
        - Add testcase for matching multiple products at the same
          time.
        - Make sure to parse config files in the quirks directory.
        - Change the name of the handlers used in the tests so
          that they don't conflict with the ones in the quirks
          files.
    
    nvidia-common (1:0.2.42) precise; urgency=low
    
      * Fix broken hybrid-gfx upstart job.
    
    nvidia-common (1:0.2.41) precise; urgency=low
    
      * Add a test suite and run it at build time with dh_auto_test.
      * Work correctly when the pipe symbol is used in "Match" tags.
        This symbol only worked when used in the "Handler" tag.
        Both test cases are covered in the test suite.
    
    nvidia-common (1:0.2.40) precise; urgency=low
    
      * Add quirks to get brightness keys to work on Lenovo T420s
        (LP: #773710) and on Dell Latitude E6530 (LP: #914069)
        when using NVIDIA's proprietary driver.
    
    nvidia-common (1:0.2.39) precise; urgency=low
    
      * Re-enable support for Hybrid Graphics now that the driver
        packages are fixed.
    
    nvidia-common (1:0.2.38) precise; urgency=low
    
      * Add support for Hybrid graphics, disabled by default for now.
    
    nvidia-common (1:0.2.37) precise; urgency=low
    
      * Quirks, quirks-handler:
        - Add module and script to create quirks for graphics drivers.
    
    nvidia-common (1:0.2.36) precise; urgency=low
    
      * NvidiaDetector/alternatives.py:
        - Add optional ignore_pattern argument to get_alternative_by_name.
          This argument allows ignoring a substring in the name. This is
          required in the case of fglrx and fglrx-updates which share the
          same master link name (LP: #873058).
    
    nvidia-common (1:0.2.35) oneiric; urgency=low
    
      * NvidiaDetector/alternatives.py:
        - Return the correct alternative when dealing with "updates"
          driver flavours in get_alternative_by_name(). This allows
          Jockey to correctly detect the alternatives provided by
          different drivers (LP: #841462).
    
    nvidia-common (1:0.2.34) oneiric; urgency=low
    
      * debian/nvidia-common.preinst:
        - Use dpkg-maintscript-helper to remove conffiles.
    
    nvidia-common (1:0.2.33) oneiric; urgency=low
    
      * debian/nvidia-common.preinst:
        - Make sure to remove any leftover kernel hooks from nvidia-common.
      * debian/nvidia-common.postinst:
        - Disable the debconf interface.
    
    nvidia-common (1:0.2.32) oneiric; urgency=low
    
      * NvidiaDetector/alternatives.py:
        - Remove trailing whitespace.
      * NvidiaDetector/nvidiadetector.py:
        - Remove trailing whitespace.
        - Ignore "-updates" flavours and recommend only stable flavours.
          This fixes a crash in the nvidia detector.
      * setup.py:
        - Disable kernel hooks.
    
    nvidia-common (1:0.2.31) oneiric; urgency=low
    
      * NvidiaDetector/alternatives.py:
        - Replace __ with _ for private methods.
        - Make Alternatives a new-style class.
        - Add MultiArchUtils class so that Jockey can get the names of
          multi-arch alternatives (LP: #798049).
    
    nvidia-common (1:0.2.30+1) oneiric; urgency=low
    
      * Add epoch to override the sync. The packages in Debian and Ubuntu
        have the same name but different code and scope (LP: #792576).
    
     -- Alberto Milone <email address hidden>  Tue, 13 Jul 2021 10:38:29 +0200
  • ubuntu-drivers-common (1:0.9.0~0.18.04.1) bionic; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.c:
        - Make sure to also search the signed modules (LP: #1931514).
          Credit goes to Bin Li for the first version of this patch.
      * debian/tests/control:
        - Add dependency on alsa-utils, since the autopkgtest requires it
          for the sl-modem detection plugin.
      * ubuntu-drivers:
        - Don't error out when failing to write to /run without
          root privileges (LP: #1913651), since package
          installation will fail later.
        - Restore "--package-list" for list-oem, which was supported
          but accidentally not exposed in the transition to click.
          (LP: #1914051).
        - Do not install recommended dependencies when calling
          "install --gpgpu" (LP: #1898601). The whole point of
          having --gpgpu was to reduce the amount of the
          installed dependencies.
      * tests/test_ubuntu_drivers.py:
        - Add testcase for list-oem --package-list.
      * UbuntuDrivers/detect.py:
        - Fix the way we validate the nvidia modules metapackages
          (LP: #1914374).
      * tests/test_ubuntu_drivers.py:
        - Add testcase for list-oem --package-list
      * UbuntuDrivers/detect.py:
        - Change metapackage generation.
    
      [ Michael Hudson-Doyle ]
      * debian/control:
        - Drop dependency on alsa-utils as we want to start using ubuntu-drivers in
          the server installer but do not want alsa-utils there. The code using
          aplay to detect certain kinds of modem will fail to detect them if aplay
          is not installed but will not crash. As alsa-utils is in the
          desktop-common seed there should be no loss of functionality anywhere
          ubuntu-drivers is used today.
    
     -- Alberto Milone <email address hidden>  Thu, 24 Jun 2021 16:29:54 +0200
  • ubuntu-drivers-common (1:0.8.6.3~0.18.04.2) bionic; urgency=medium
    
      [ Steve Langasek ]
      * Don't crash on invalid locale environment.  LP: #1943614.
    
     -- Łukasz 'sil2100' Zemczak <email address hidden>  Tue, 14 Sep 2021 21:03:06 +0200
  • ubuntu-drivers-common (1:0.8.6.3~0.18.04.1) bionic; urgency=medium
    
      * Backport 1:0.8.6.3 (LP: #1904583).
      * gpu-manager.c:
        - Add PCI_CAP_ID_NULL definition that is missing from
          libpci.
    
     -- Alberto Milone <email address hidden>  Wed, 25 Nov 2020 13:14:35 +0100
  • ubuntu-drivers-common (1:0.5.2.5) bionic; urgency=medium
    
      * ubuntu-drivers:
        - Make sure that the PATH environment variable is set (LP: #1854472).
    
     -- Alberto Milone <email address hidden>  Mon, 02 Dec 2019 10:31:00 +0100
  • ubuntu-drivers-common (1:0.5.2.4) bionic; urgency=medium
    
      [ Alberto Milone ]
      * UbuntuDrivers/detect.py,
        UbuntuDrivers/kerneldetection.py,
        tests/ubuntu_drivers.py,
        ubuntu-drivers:
        - Provide DKMS fallback for the "install --gpgpu" case
          when no linux-modules-nvidia are available for the driver
          and for a specific kernel (LP: #1843796).
          We have new tests to cover this scenario now.
        - Show provider of kernel modules in list --gpgpu
        - Fix linux metapackage detection.
          This was meant to be driven by the latest kernel version
          But it was only partially implemented.
          Complete the implementation and update the relevant tests.
        - Make sure to install the linux-modules-nvidia package for the
          kernel flavour in use, when passing the --gpgpu argument, so
          that we can deliver a working NVIDIA installation, provided
          that the EULA was accepted.
    
      [ Jean-Baptiste Lallement ]
      * ubuntu-drivers,
        UbuntuDrivers/detect.py,
        tests/ubuntu_drivers.py:
        - Add a --free-only parameter, so as to allow installing only the
         available free drivers. This is a backport of only the
         ubuntu-drivers-common specific part of LP: #1819207, since
         it is tied to the rest of the changes to the test suite.
        - Add support for testing against a fake archive with free and
          non-free components.
        - Add static code checker.
      * debian/control:
        - Add pycodestyle and pyflake8 to build depends.
    
     -- Alberto Milone <email address hidden>  Tue, 17 Sep 2019 16:34:56 +0200
  • ubuntu-drivers-common (1:0.5.2.3) bionic; urgency=medium
    
      * tests/ubuntu_drivers.py,
        UbuntuDrivers/detect.py,
        ubuntu-drivers:
        - Deprecate the "autoinstall" parameter in favour of
          "install". While "autoinstall" will still work,
          we recommend the latter.
        - Add support to for the --gpgpu parameter (LP: #1819729).
    
     -- Alberto Milone <email address hidden>  Tue, 12 Mar 2019 16:31:04 +0100
  • ubuntu-drivers-common (1:0.5.2.2) bionic; urgency=medium
    
      * gpu-manager.c:
        - Improve pid detection, and restore the default pci
          power control profile in performance mode (LP: #1797147).
    
     -- Alberto Milone <email address hidden>  Wed, 10 Oct 2018 17:01:27 +0200
  • ubuntu-drivers-common (1:0.5.2.1) bionic; urgency=medium
    
      * debian/rules:
        - Make sure to remove "__pycache__" directory.
      * debian/source/options:
        - Ignore the "__pycache__" directory.
      * gpu-manager.(c|py):
        - Set automatic pci power management when the dGPU is disabled (LP: #1778011).
        - Load the nvidia modules when switching to performance mode.
        - Do not skip unbound devices.
        - Make remove_prime_outputclass() void.
        - Report failures in enable_power_management().
        - Look for blacklisted modules in /lib/modprobe.d too.
        - Report failure when the nvidia modules cannot be unloaded,
          kill the main display session created by gdm3, and try
          unloading the nvidia modules once again.
      * gpu-manager.service:
        - Start before oem-config.service (LP: #1789201).
    
     -- Alberto Milone <email address hidden>  Thu, 02 Aug 2018 15:45:42 +0200
  • ubuntu-drivers-common (1:0.5.2) bionic; urgency=medium
    
      * gpu-manager.c:
        - Disable CRT connectors for PRIME, as we used to
          do in 17.10. This solves a problem with phantom
          connectors on hybrid systems (LP: #1762200).
    
     -- Alberto Milone <email address hidden>  Fri, 20 Apr 2018 17:07:28 +0200
  • ubuntu-drivers-common (1:0.5.1) bionic; urgency=medium
    
      * debian/control:
        - Build depend on dh-python.
        - Drop dh-systemd, and use debhelper (>= 9.20160709).
      * tests/ubuntu_drivers.py:
        - Raise time to 40.0 for i386 in
          test_system_driver_packages_performance().
      * NvidiaDetector/nvidiadetector.py:
        - Fix crash with new name scheme of the NVIDIA
          packages (LP: #1054458).
      * gpu-manager.(c|py):
        - Create a xorg.conf.d file for systems with PRIME.
          This way we can drop the PrimaryGpu option from
          the main NVIDIA configuration xorg.conf.d snippet,
          and generate an additional custom snippet on demand
          with that option, to avoid causing problems on systems
          with multiple NVIDIA GPUs (LP: #1756226).
    
     -- Alberto Milone <email address hidden>  Thu, 12 Apr 2018 16:35:07 +0200
  • ubuntu-drivers-common (1:0.5) bionic; urgency=medium
    
      * gpu-manager.{c|py}:
        - Drop all the code to handle driver configuration, which
          stopped working after we moved away from alternatives.
          Only keep telling the system whether PRIME is supported
          or not (LP: #1757180).
    
     -- Alberto Milone <email address hidden>  Thu, 22 Mar 2018 18:35:19 +0100
  • ubuntu-drivers-common (1:0.4.27) bionic; urgency=medium
    
      [ Chris Coulson ]
      * detect-plugins/cpu-microcode.py, UbuntuDrivers/detect.py:
        - Remove the cpu-microcode.py detection plugin (LP: #1738259).
          Kernel metapackages are going to have a hard dependency on the
          {intel,amd64}-microcode packages to ensure that all bare-metal installs
          benefit from microcode updates. This means that microcode packages are
          no longer "additional drivers" and since they won't be able to be removed
          without uninstalling the kernel metapackages, there is no need for them
          to be exposed by ubuntu-drivers.
    
     -- Alberto Milone <email address hidden>  Fri, 02 Feb 2018 09:38:35 +0100
  • ubuntu-drivers-common (1:0.4.26) bionic; urgency=medium
    
      * tests/gpu-manager.py:
        - It is ok that quirks are still be detected, even though bbswitch
          won't use them, as it's not being loaded. Fixes FTFS.
        - Skip test_system_modaliases_system on s390x.
    
     -- Alberto Milone <email address hidden>  Thu, 01 Feb 2018 16:22:00 +0100
  • ubuntu-drivers-common (1:0.4.25) bionic; urgency=medium
    
      [ Alex Tu ]
      * gpu-manager.c:
        - Skip bbswitch, and make sure to unload the nvidia driver when
          the force-dgpu-on option is enabled (LP: #1728547).
    
      [ Bryan Quigley ]
      * debian/rules,
        debian/ubuntu-drivers-common.install,
        setup.py,
        share/hybrid/gpu-manager.conf:
        - Remove the remaing upstart pieces.
    
     -- Alberto Milone <email address hidden>  Wed, 03 Jan 2018 12:51:48 +0100
  • ubuntu-drivers-common (1:0.4.24) bionic; urgency=medium
    
      * gpu-manager.{c|py}:
        - Add support for forcing the dGPU on on hybrid systems.
          Creating an empty file named "force-dgpu-on"
          in the /usr/share/gpu-manager.d directory will force the dGPU
          on in power saving mode (LP: #1728547).
    
     -- Alberto Milone <email address hidden>  Mon, 30 Oct 2017 10:25:02 +0100
  • ubuntu-drivers-common (1:0.4.23) artful; urgency=medium
    
      [ Alberto Milone ]
      * gpu-manager.{c|py}:
        - Disable persistence mode before powering down the dGPU.
          If persistence mode is not disabled, gpu-manager will not be
          able to unload the nvidia module.
        - Add support for using custom xorg.confs with the nvidia
          driver (LP: #1667198).
          Custom xorg files can be named "non-hybrid" (for non hybrid
          systems), "hybrid-performance", and "hybrid-power-saving",
          and will have to placed in the /usr/share/gpu-manager.d
          directory.
          The directory can be overridden by passing another directory
          along with the "--custom-xorg-conf-path" parameter.
        - Add tests for the custom xorg.confs code and for amdgpu-pro
          hybrid support.
      [ Kai-Heng Feng ]
      * debian/control:
        - Add build dependency on libkmod-dev.
      * gpu-manager.c:
        - Detect and handle switchable graphics with the amdgpu-pro driver.
          AMDGPU-Pro has its own script to switch between powersaving and
          performance mode.
          Some machines allow enabling switchable graphics, or disabling
          the iGPU completely, thus leaving only the dGPU on. This new code
          simply detects the different profiles supported by AMD, and
          enables powersaving mode when possible.
    
     -- Alberto Milone <email address hidden>  Thu, 11 May 2017 11:05:40 +0200