С последнего 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, если не ошибаюсь)
Так как это выглядит какпоследний драйвер 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
Спасибо!
решение1
Вчера я увидел ту же проблему. Понижение с 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
решение2
Да, как и предложил @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
.