‘nvidia-settings’ 收到 X Window 系统错误(错误为‘BadValue(整数参数超出操作范围)’。)

‘nvidia-settings’ 收到 X Window 系统错误(错误为‘BadValue(整数参数超出操作范围)’。)

从今天早上开始,当我尝试设置以下错误时,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-cleanuplibxnvctrl0):

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

相关内容