Со времени последнего apt-get dist-upgrade
этим утром я начал видеть сбой nvidia-settings
, когда я пытаюсь установить что-то с ошибкой ниже:
$ The program 'nvidia-settings' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 666 error_code 2 request_code 139 minor_code 25)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Потратив несколько часов, я пытался несколько вещей ниже и не повезло:
~/.nvidia-settings-rc
-> В какой-то момент был создан новый файл, я не уверен. /etc/X11/xorg.conf
-> Новый файл не был создан. bumblebee
-> В той же ситуации с этот билет и сдался. Инсталлированных. nvidia
(пробные версии: 304, 319, 331 afai запомнить) Так как похоже, что последний драйвер nvidia 331.20 был просто выпущенный рано утром , я подозреваю, что недавно установленная библиотека содержит злоумышленника. Но есть ли у кого-нибудь идея исправить это?
Системные журналы:
$ cat /etc/issue
Ubuntu 12.04.4 LTS \n \l
$ uname -a
Linux 130s-serval 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ for keyword in baseboard-manufacturer baseboard-product-name baseboard-version system-manufacturer system-product-name system-version bios-vendor bios-version bios-release-date; done
> printf "%-22s: " "$keyword";
> sudo dmidecode -s "$keyword";
> done
System76, Inc.
baseboard-product-name: Serval Professional
baseboard-version : serp7
system-manufacturer : System76, Inc.
system-product-name : Serval Professional
system-version : serp7
bios-vendor : American Megatrends Inc.
bios-version : 4.6.4
bios-release-date : 06/01/2011
$ dpkg -p nvidia-settings |grep Version
Version: 331.20-0ubuntu0.0.1
Спасибо!
Да, как @Eric предложил понизить до 304.88 работ. Поскольку я был на i386
и пропускал несколько зависимостей, пришлось пройти еще несколько шагов. Следующее должно решить это для людей, использующих i386
.
Сначала загрузите пакет i386
wget http://http.us.debian.org/debian/pool/contrib/n/nvidia-settings/nvidia-settings_304.88-1_i386.deb
Пакет имеет несколько зависимостей, нам нужно их установить перед dpkg
вышеупомянутым пакетом. (В моем случае я пропустил nvidia-installer-cleanup
и libxnvctrl0
):
wget http://http.us.debian.org/debian/pool/contrib/n/nvidia-support/nvidia-installer-cleanup_20131102+1_i386.deb
wget http://http.us.debian.org/debian/pool/contrib/n/nvidia-settings/libxnvctrl0_319.72-1_i386.deb
Для того чтобы dpkg
- nvidia-installer-cleanup
нам нужно сделать небольшую очистку.
sudo apt-get remove nvidia-current nvidia-current-updates nvidia-common
После удаления вышеуказанных пакетов вы можете dpkg
загружать пакеты один за другим.
sudo -i
dpkg nvidia-installer-cleanup_20131102+1_i386.deb
dpkg libxnvctrl0
dpkg nvidia-settings_304.88-1_i386.deb
После того, как вы откатились до версии 304.88 и не хотите, чтобы она обновлялась, вы можете заблокировать версию следующим образом:
echo “nvidia-settings-304 hold” | dpkg --set-selections
В будущем, если вы захотите снять удержание, вы можете сделать:
echo “nvidia-settings-304 install” | dpkg --set-selections
ПРИМЕЧАНИЕ: вы также можете использовать менеджер пакетов synaptic
. Просто выберите ваш пакет и в меню пакетов выберите Lock Version
.
Я видел ту же проблему вчера. Понижение с 331.20 до 304.88 сработало для меня:
wget https://launchpad.net/~ubuntu-security/+archive/ppa/+build/4479926/+files/nvidia-settings_304.88-0ubuntu0.2_amd64.deb
sudo dpkg -i nvidia-settings_304.88-0ubuntu0.2_amd64.deb