Public bug reported:
The function nvidia_desktop_pre_installation_hook in
/usr/lib/python3/dist-packages/UbuntuDrivers/detect.py on Ubuntu 22.04.2
LTS assumes that the driver package name ends with the driver version as
the suffix.
However this does not account for the '-open' drivers. The following
code from that function is at fault:
```
# Enable KMS if nvidia >= 470
for package_name in to_install:
if package_name.startswith('nvidia-driver-'):
try:
version = int(package_name.split('-')[-1]) # <--- This here
with_nvidia_kms = version >= 470
except ValueError:
pass
finally:
with_nvidia_kms = version >= 470 # <-- And this here, too,
which will never succeed.
```
The line `version = int(package_name.split('-')[-1])` assumes a package
name like `nvidia-driver-530` rather than `nvidia-driver-530-open`,
however `nvidia-driver-530-open` is the autoselected package for my
install.
This code could be fixed by switching to a regex, or else retrying with
index -2 rather than index -1.
Also, the `finally` clause will always fail-- there should only ever be
one matching `nvidia-driver-` prefixed package, and if that raises a
ValueError, then `version` will not be set, raising an
UnboundLocalError.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: ubuntu-drivers-common 1:0.9.6.1 [modified:
usr/lib/python3/dist-packages/UbuntuDrivers/detect.py]
ProcVersionSignature: Ubuntu 5.19.0-41.42~22.04.1-generic 5.19.17
Uname: Linux 5.19.0-41-generic x86_64
ApportVersion: 2.20.11-0ubuntu82.4
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Tue May 9 10:47:07 2023
InstallationDate: Installed on 2022-08-20 (261 days ago)
InstallationMedia: Ubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64
(20220809.1)
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/zsh
SourcePackage: ubuntu-drivers-common
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: ubuntu-drivers-common (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug jammy
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to ubuntu-drivers-common in Ubuntu.
https://bugs.launchpad.net/bugs/2019016
Title:
nvidia_desktop_pre_installation_hook raises on package names with
suffixes
Status in ubuntu-drivers-common package in Ubuntu:
New
Bug description:
The function nvidia_desktop_pre_installation_hook in
/usr/lib/python3/dist-packages/UbuntuDrivers/detect.py on Ubuntu
22.04.2 LTS assumes that the driver package name ends with the driver
version as the suffix.
However this does not account for the '-open' drivers. The following
code from that function is at fault:
```
# Enable KMS if nvidia >= 470
for package_name in to_install:
if package_name.startswith('nvidia-driver-'):
try:
version = int(package_name.split('-')[-1]) # <--- This here
with_nvidia_kms = version >= 470
except ValueError:
pass
finally:
with_nvidia_kms = version >= 470 # <-- And this here, too,
which will never succeed.
```
The line `version = int(package_name.split('-')[-1])` assumes a
package name like `nvidia-driver-530` rather than `nvidia-
driver-530-open`, however `nvidia-driver-530-open` is the autoselected
package for my install.
This code could be fixed by switching to a regex, or else retrying
with index -2 rather than index -1.
Also, the `finally` clause will always fail-- there should only ever
be one matching `nvidia-driver-` prefixed package, and if that raises
a ValueError, then `version` will not be set, raising an
UnboundLocalError.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: ubuntu-drivers-common 1:0.9.6.1 [modified:
usr/lib/python3/dist-packages/UbuntuDrivers/detect.py]
ProcVersionSignature: Ubuntu 5.19.0-41.42~22.04.1-generic 5.19.17
Uname: Linux 5.19.0-41-generic x86_64
ApportVersion: 2.20.11-0ubuntu82.4
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Tue May 9 10:47:07 2023
InstallationDate: Installed on 2022-08-20 (261 days ago)
InstallationMedia: Ubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64
(20220809.1)
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/zsh
SourcePackage: ubuntu-drivers-common
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/2019016/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp