nvidia(高 CPU 使用率)和 nouveau(外接显示器空白)的双重问题

nvidia(高 CPU 使用率)和 nouveau(外接显示器空白)的双重问题

我遇到了 nvidia 和 nouveau 驱动程序的两个不同问题。使用 nvidia 驱动程序,一切似乎都运行良好......除了一件事:cpu 使用率非常高,尤其是在任何浏览器上滚动时(例如 facebook、youtube 滚动---->cpu 上升到 90+%,开始于 @~60%)。因此,有时尝试输入文本会变得非常慢。我相信你明白了。是的,我尝试过不同的桌面,除了默认的 Unity,但无济于事。将我的笔记本电脑的显示器克隆到外部电视显示器非常有效,只要我使用 nvidia-settings(但是,只适用于一个会话,并且每次都必须重新进行!--->我相信我在某处读到这是 NVIDIA 选择的默认行为......无论如何!)或手动编辑我生成的 xorg.file(见下文)。现在,克隆在每次重启/登录-注销会话中都有效。顺便说一句,disper -c效果也很好。如果这个驱动程序有时不会让我感觉很慢,我会很高兴。有什么想法吗?

这引出了下一个问题:nouveau 驱动程序。CPU 使用率似乎有所改善,但是,克隆我的外接显示器时,电视屏幕变黑,并且“未检测到信号”(通过 hdmi 电缆连接,没有任何问题)。因此,在这种情况下,无法克隆<--->对我来说毫无乐趣。在 Ubuntu 的“显示”下,可以识别两个显示器,选择“镜像”时,外接屏幕仍然变黑。我disper -c也尝试过。仍然没有结果。如果我能得到一些帮助,可能克隆我的显示器,我会非常乐意继续使用 nouveau。

笔记本电脑不能用于玩游戏。基本用途包括上网、办公文档、“正常”工作和看电影。我提供了一些我能想到的基本信息。如需更多信息,请随时询问我。

眼镜:

  • 宏碁 Aspire 6935G 笔记本电脑
  • 处理器:2x Intel(R) Core(TM)2 Duo CPU P7350 @ 2.00GHz
  • 内存:4GB
  • 液晶分辨率:1366x768
  • 显卡:GeForce 9600M GT 512MB

笔记:

在发布此帖子之前,我恢复了 nvidia 驱动程序;因此,驱动程序标签如下。在尝试了几个 nvidia 驱动程序(均由 Ubuntu 的“附加驱动程序”和 NVIDIA 网站提供的最新驱动程序)后,我目前使用他们网站上的最新驱动程序,原因无他,只是我受够了(目前)。我在使用 Ubuntu 的 LiveCD 时也遇到了同样的问题,它会加载全新的 nouveau 驱动程序,因此我确信问题与 nvidia 驱动程序干扰 nouveau 无关。我提到最后一点是为了避免回复清除 nvidia 驱动程序、将 nouveau 驱动程序列入白名单等。

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

$ uname -a
Linux 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ sudo lshw -c video  
*-display               
       description: VGA compatible controller
       product: G96M [GeForce 9600M GT]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:47 memory:d2000000-d2ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:6000(size=128)

$ modinfo nvidia | grep version
version:        340.46
vermagic:       3.13.0-39-generic SMP mod_unload modversions 

$ sudo lspci -nnk | grep -i 
vga 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96M [GeForce 9600M GT] [10de:0649] (rev a1)

修改“屏幕”部分,以允许克隆两个显示器:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig# nvidia-xconfig:  version 340.46  (buildmeister@swio-display-x86-rhel47-03)  Wed Sep 24 14:38:35 PDT 2014


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection


Section "Files"
EndSection


Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection


Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection


Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection


Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection


Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo"
    Option         "TwinView"
    Option         "TwinViewOrientation" "Clone"
    Option         "MetaModeOrientation" "Clone" 
    Option         "MetaModes" "1360x768+0+0,1360x768+0+0"
    Option         "ModeValidation" "AllowNonEdidModes, NoVirtualSizeCheck, NoMaxPClkCheck, NoWidthAlignmentCheck, NoExtendedGpuCapabilitiesCheck"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

使用 HDMI 线连接到外部电视显示器:

$ xrandr
Screen 0: minimum 8 x 8, current 1360 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 350mm x 200mm
   1366x768       60.0 +
   1360x768       60.0* 
   1024x768       60.0  
   960x540        60.0  
   840x525        59.9  
   800x600        60.3  
   720x450        59.9  
   700x525        60.0  
   680x384        60.0     59.8  
   640x480        59.9  
   512x384        60.0  
   320x240        60.1  
HDMI-0 connected 1360x768+0+0 (normal left inverted right x axis y axis) 580mm x 320mm
   1360x768       60.0*+   60.0     59.8  
   1920x1080      59.9     59.9     50.0     30.0     25.0     24.0     60.1     60.0     50.0  
   1680x1050      60.0     59.9  
   1440x900       59.9  
   1400x1050      60.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1280x720       60.0     59.9     50.0  
   1152x864       75.0     75.0     70.0     60.0  
   1024x768       85.0     75.0     70.1     60.0  
   960x540        60.0  
   840x525        60.0     59.9  
   832x624        74.6  
   800x600        85.1     75.0     72.2     60.3     56.2  
   720x576        50.0     50.1  
   720x480        59.9     60.1  
   720x450        59.9  
   720x400        85.0  
   700x525        60.0  
   680x384        60.0     59.8  
   640x480        85.0     75.0     72.8     59.9     59.9  
   640x400        85.1  
   640x350        85.1  
   512x384        70.1     60.0  
   400x300        72.2  
   320x240        72.8     60.1  
   320x175        85.3  
DP-0 disconnected (normal left inverted right x axis y axis)

更多信息:

Chromium 的情况也类似。Firefox 的情况稍好一些(大概提高了 20%)。使用轻量级浏览器(例如 Midori),情况就好得多。

Firefox 滚动

谷歌滚动

$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: GeForce 9600M GT/PCIe/SSE2
GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
GL_NV_ES1_1_compatibility, GL_NV_blend_square, GL_NV_conditional_render, 
GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite, 
GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
GL_NV_ES1_1_compatibility, GL_NV_blend_square, GL_NV_conditional_render, 
GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite, 

相关内容