我已经在启动板上发布了有关此问题的一个错误,但希望也许有人会在这里对我可以尝试的其他事情提出一些建议。
背景: 我有一个运行良好的 Ubuntu 14.10 系统,带有 NVidia GTX 550 Ti 适配器。昨天,我将该适配器替换为 [ASUS Strix] NVidia GTX 960。我使用的是 X-org-edgers PPA 驱动程序,版本 346,因为没有 Ubuntu-Universe 驱动程序明确支持我的显卡。
行为: 正常启动 Ubuntu 时,我应该能看到启动面板和顶部栏,但我没有看到。我能看到桌面图标,并能与系统交互。声音正常。如果我切换到终端 (ctrl+alt+f2),我可以登录、导出 display=:0,然后从那里启动 gnome 终端,然后打开 Firefox 和其他程序。没有窗口装饰,也没有窗口合成。
看起来所有 Unity 服务(包括屏幕截图、音量控制等)也都无法加载。
一些数据 在执行 dconf reset 和“setsid unity”后,我从终端中的 compiz 获得的转储是:
aaron@naegleria:~$ dconf reset -f /org/compiz
aaron@naegleria:~$ setsid unity
[1] 3166
stop: Unknown job: unity-panel-service
compiz (core) - Info: Loading plugin: core
compiz (core) - Info: Starting plugin: core
start: Unknown job: unity-panel-service
compiz (core) - Info: Loading plugin: ccp
compiz (core) - Info: Starting plugin: ccp
compizconfig - Info: Backend : gsettings
compizconfig - Info: Integration : true
compizconfig - Info: Profile : unity
compiz (core) - Info: Loading plugin: composite
compiz (core) - Info: Starting plugin: composite
compiz (core) - Info: Loading plugin: move
compiz (core) - Info: Starting plugin: move
compiz (core) - Info: Loading plugin: place
compiz (core) - Info: Starting plugin: place
compiz (core) - Info: Loading plugin: compiztoolbox
compiz (core) - Info: Starting plugin: compiztoolbox
compiz (core) - Error: Plugin 'opengl' not loaded.
compiz (core) - Info: Loading plugin: resize
compiz (core) - Info: Starting plugin: resize
compiz (core) - Info: Loading plugin: snap
compiz (core) - Info: Starting plugin: snap
compiz (core) - Info: Loading plugin: mousepoll
compiz (core) - Info: Starting plugin: mousepoll
compiz (core) - Info: Loading plugin: imgpng
compiz (core) - Info: Starting plugin: imgpng
compiz (core) - Info: Loading plugin: session
compiz (core) - Info: Starting plugin: session
compiz (core) - Info: Loading plugin: vpswitch
compiz (core) - Info: Starting plugin: vpswitch
compiz (core) - Info: Loading plugin: regex
compiz (core) - Info: Starting plugin: regex
compiz (core) - Info: Loading plugin: workarounds
compiz (core) - Info: Starting plugin: workarounds
compiz (core) - Error: Plugin 'opengl' not loaded.
compiz (core) - Info: Stopping plugin: workarounds
compiz (core) - Info: Unloading plugin: workarounds
compiz (core) - Info: Stopping plugin: regex
compiz (core) - Info: Unloading plugin: regex
compiz (core) - Info: Stopping plugin: vpswitch
compiz (core) - Info: Unloading plugin: vpswitch
compiz (core) - Info: Stopping plugin: session
compiz (core) - Info: Unloading plugin: session
compiz (core) - Info: Stopping plugin: imgpng
compiz (core) - Info: Unloading plugin: imgpng
compiz (core) - Info: Stopping plugin: mousepoll
compiz (core) - Info: Unloading plugin: mousepoll
compiz (core) - Info: Stopping plugin: snap
compiz (core) - Info: Unloading plugin: snap
compiz (core) - Info: Stopping plugin: resize
compiz (core) - Info: Unloading plugin: resize
compiz (core) - Info: Stopping plugin: compiztoolbox
compiz (core) - Info: Unloading plugin: compiztoolbox
compiz (core) - Info: Stopping plugin: place
compiz (core) - Info: Unloading plugin: place
compiz (core) - Info: Stopping plugin: move
compiz (core) - Info: Unloading plugin: move
compiz (core) - Info: Stopping plugin: composite
compiz (core) - Info: Unloading plugin: composite
compiz (core) - Info: Stopping plugin: ccp
compiz (core) - Info: Unloading plugin: ccp
compiz (core) - Info: Stopping plugin: core
compiz (core) - Info: Unloading plugin: core
唯一已知的 nouveau 包(因为我知道这可能会导致冲突)是:
aaron@naegleria:~$ dpkg -l | grep nouveau
ii libdrm-nouveau2:amd64 2.4.56-1 amd64 Userspace interface to nouveau-specific kernel DRM services -- runtime
对于 NVidia 软件包:
aaron@naegleria:~$ dpkg -l | grep nvidia
ii nvidia-346 346.35-0ubuntu1~xedgers14.10.1 amd64 NVIDIA binary driver - version 346.35
ii nvidia-346-uvm 346.35-0ubuntu1~xedgers14.10.1 amd64 NVIDIA Unified Memory kernel module
ii nvidia-opencl-icd-346 346.35-0ubuntu1~xedgers14.10.1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.6.7 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 346.35-0ubuntu1~xedgers14.10.1 amd64 Tool for configuring the NVIDIA graphics driver
aaron@naegleria:~$
但是,lspci 不能像过去一样正确识别该卡:
aaron@naegleria:~$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1401 (rev a1)
aaron@naegleria:~$
尝试修复: 根据 Stack Overflow 和其他地方的搜索,我尝试过:
安装 CCSM,启用“unity”(及其依赖项)(可能相关:“Unredirect Driver Blacklist”有:(nouveau|Intel).*Mesa 8.0
将 nouveau 添加到黑名单文件(目前尚未启用)
dconf reset / setsid hack(见上文)
在安装任何新驱动程序之前,清除所有 nvidia-* 驱动程序。
直接从 NVidia 安装驱动程序(驱动程序 nvidia-346 的“.run”文件)。我通过启动、切换到终端、关闭 lightdm 服务,然后运行 NVidia 驱动程序来完成此操作。它安装正确(尽管它确实抱怨预安装脚本不起作用;其余过程正常)。我可以加载 NVidia-Settings 并查看与显卡相关的详细信息。
重新安装 lightdm、unity、ubuntu-desktop
[当前尝试] 安装 NVidia-346 的 Xorg-edgers 驱动程序。这还会加载相关的 Xorg 软件包、nvidia-settings 等。NVidia-settings 会像上面加载 NVidia-binaries 一样加载驱动程序。详情如下。
从 USB 驱动器重新安装 ubuntu 14.10(保持 /home/ 不变)
我已完成所有系统更新。
以下是 NVidia-Settings 转储:
Operating System: Linux-x86_64
NVidia Driver Versoin: 346.35
X 服务器信息:
Display Name: naegleria:0
Server Version Number: 11.0 Server
Vendor String: The X.Org Foundation Server
Vendor Version: 1.16.0 (11600000)
NV-CONTROL Version: 1.29
Screens: 1 [NOTE: I have two displays, but they are both functional and spanned correctly]
OpenGL设置:
[X] Sync to VBlank
[X] Allow Flipping Quality [roughly 1/3 in]
Miscellaneaous:
[X] Use Conformant Texture Clamping
然后是我的nvidia-Settings.rc
文件:
#
# /home/aaron/.nvidia-settings-rc
#
# Configuration file for nvidia-settings - the NVIDIA X Server Settings utility
# Generated on Thu Feb 5 20:12:08 2015
#
# ConfigProperties:
RcFileLocale = C
ToolTips = Yes
DisplayStatusBar = Yes
SliderTextEntries = Yes
IncludeDisplayNameInConfigFile = No
ShowQuitDialog = Yes
UpdateRulesOnProfileNameChange = Yes
Timer = Memory_Used_(GPU_0),Yes,3000
Timer = PowerMizer_Monitor_(GPU_0),Yes,1000
Timer = Thermal_Monitor_(GPU_0),Yes,1000
Timer = Graphics_Card_(GPU_0),Yes,1000
# Attributes:
0/SyncToVBlank=1
0/LogAniso=0
0/FSAA=0
0/TextureSharpen=0
0/TextureClamping=1
0/FXAA=0
0/AllowFlipping=1
0/FSAAAppControlled=1
0/LogAnisoAppControlled=1
0/OpenGLImageSettings=1
0/FSAAAppEnhanced=0
0/XVideoSyncToDisplayID=DVI-I-0
[DPY:DVI-I-0]/Dithering=0
[DPY:DVI-I-0]/DitheringMode=0
[DPY:DVI-I-0]/DitheringDepth=0
[DPY:DVI-I-0]/SynchronousPaletteUpdates=0
[DPY:DVI-I-1]/RedBrightness=0.000000
[DPY:DVI-I-1]/GreenBrightness=0.000000
[DPY:DVI-I-1]/BlueBrightness=0.000000
[DPY:DVI-I-1]/RedContrast=0.000000
[DPY:DVI-I-1]/GreenContrast=0.000000
[DPY:DVI-I-1]/BlueContrast=0.000000
[DPY:DVI-I-1]/RedGamma=1.000000
[DPY:DVI-I-1]/GreenGamma=1.000000
[DPY:DVI-I-1]/BlueGamma=1.000000
[DPY:DVI-I-1]/Dithering=0
[DPY:DVI-I-1]/DitheringMode=0
[DPY:DVI-I-1]/DitheringDepth=0
[DPY:DVI-I-1]/DigitalVibrance=0
[DPY:DVI-I-1]/ColorSpace=0
[DPY:DVI-I-1]/ColorRange=0
[DPY:DVI-I-1]/SynchronousPaletteUpdates=0
[DPY:DP-0]/Dithering=0
[DPY:DP-0]/DitheringMode=0
[DPY:DP-0]/DitheringDepth=0
[DPY:DP-0]/SynchronousPaletteUpdates=0
[DPY:DP-1]/Dithering=0
[DPY:DP-1]/DitheringMode=0
[DPY:DP-1]/DitheringDepth=0
[DPY:DP-1]/SynchronousPaletteUpdates=0
[DPY:DP-2]/Dithering=0
[DPY:DP-2]/DitheringMode=0
[DPY:DP-2]/DitheringDepth=0
[DPY:DP-2]/SynchronousPaletteUpdates=0
[DPY:DP-3]/Dithering=0
[DPY:DP-3]/DitheringMode=0
[DPY:DP-3]/DitheringDepth=0
[DPY:DP-3]/SynchronousPaletteUpdates=0
[DPY:HDMI-0]/Dithering=0
[DPY:HDMI-0]/DitheringMode=0
[DPY:HDMI-0]/DitheringDepth=0
[DPY:HDMI-0]/SynchronousPaletteUpdates=0
[DPY:DP-4]/Dithering=0
[DPY:DP-4]/DitheringMode=0
[DPY:DP-4]/DitheringDepth=0
[DPY:DP-4]/SynchronousPaletteUpdates=0
[DPY:DP-5]/RedBrightness=0.000000
[DPY:DP-5]/GreenBrightness=0.000000
[DPY:DP-5]/BlueBrightness=0.000000
[DPY:DP-5]/RedContrast=0.000000
[DPY:DP-5]/GreenContrast=0.000000
[DPY:DP-5]/BlueContrast=0.000000
[DPY:DP-5]/RedGamma=1.000000
[DPY:DP-5]/GreenGamma=1.000000
[DPY:DP-5]/BlueGamma=1.000000
[DPY:DP-5]/Dithering=0
[DPY:DP-5]/DitheringMode=0
[DPY:DP-5]/DitheringDepth=0
[DPY:DP-5]/DigitalVibrance=0
[DPY:DP-5]/ColorSpace=0
[DPY:DP-5]/ColorRange=0
[DPY:DP-5]/SynchronousPaletteUpdates=0
[DPY:Unknown-0]/Dithering=0
[DPY:Unknown-0]/DitheringMode=0
[DPY:Unknown-0]/DitheringDepth=0
[DPY:Unknown-0]/SynchronousPaletteUpdates=0
答案1
不用担心 lspci 部分。这只是因为您的 /usr/share/misc/pci.ids* 文件不是最新的。只需以 root 身份运行“update-pciids”即可。
运行 update-pciids 之前:
$ lspci | grep GeForce
$
运行 update-pciids:
$ sudo update-pciids
Downloaded daily snapshot dated 2015-04-14 03:15:01
$ sudo lspci | grep GeForce
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] (rev a1)
我正在使用 NVIDIA 原版 346.59 驱动程序(截至今天为止最后一个稳定版本),在 14.04 中没有出现问题。