ThinkPad S531 上的 Linux 集成英特尔显卡 3D 加速问题:无法按预期工作,并且默认使用 CPU 而不是 GPU 进行渲染

ThinkPad S531 上的 Linux 集成英特尔显卡 3D 加速问题:无法按预期工作,并且默认使用 CPU 而不是 GPU 进行渲染

我有一台运行 64 位 OpenSuse 12.3 的联想 ThinkPad S531。

此款笔记本电脑配备以下显卡:

  • 集成英特尔高清 4000。
  • 独立(无多路复用)AMD Radeon HD 8670M

标准设置后,根据 hwinfo 似乎使用 i915 驱动程序用于集成显卡。

Gnome 系统信息显示“llvmpipe 上的 Gallium 0.4 (LLVM 0x302)”作为图形驱动程序。

问题是,虽然 gnome 3 启动正常,但是所有的 3D 效果都由 CPU 呈现,因此 CPU 负载非常高(浏览时约为 60-70%)。

我尝试安装专有的 fglrx 驱动程序,但是我没有 3D 加速,因此启动了 gnome 3 的后备模式。

我读到过,要使 fglrx 驱动程序正常工作,您不应将“nomodeset”放入内核启动选项中,但这样一来,我只会看到空白/黑屏……

我需要一个解决方案,要么使用具有适当 3D 加速的集成显卡(不是 CPU),要么使用可以正常工作的 ATI 卡,否则我的电池寿命将少于 2 小时,尽管它应该超过 8 小时……

这似乎与操作系统无关,因为我尝试在 Debian 7 上进行同样的操作,但没有成功。

信息

hwinfo --gfxcard
10: PCI 02.0: 0300 VGA compatible controller (VGA)
    [Created at pci.319]
    Unique ID: _Znp.RJVQI2gB7qF
    SysFS ID: /devices/pci0000:00/0000:00:02.0
    SysFS BusID: 0000:00:02.0
    Hardware Class: graphics card
    Model: "Intel VGA compatible controller"
    Vendor: pci 0x8086 "Intel Corporation"
    Device: pci 0x0166 
    SubVendor: pci 0x17aa "Lenovo"
    SubDevice: pci 0x220b 
    Revision: 0x09
    Memory Range: 0xe0000000-0xe03fffff (rw,non-prefetchable)
    Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
    I/O Ports: 0x5000-0x503f (rw)
    IRQ: 16 (166 events)
    I/O Ports: 0x3c0-0x3df (rw)
    Module Alias: "pci:v00008086d00000166sv000017AAsd0000220Bbc03sc00i00"
    Driver Info #0:
      Driver Status: i915 is active
      Driver Activation Cmd: "modprobe i915"
    Config Status: cfg=no, avail=yes, need=no, active=unknown

  22: PCI 100.0: 0380 Display controller
    [Created at pci.319]
    Unique ID: VCu0.bGTkJOAmF28
    Parent ID: vSkL.CIWrhEZxJf6
    SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
    SysFS BusID: 0000:01:00.0
    Hardware Class: graphics card
    Model: "ATI Display controller"
    Vendor: pci 0x1002 "ATI Technologies Inc"
    Device: pci 0x6660 
    SubVendor: pci 0x17aa "Lenovo"
    SubDevice: pci 0x220b 
    Memory Range: 0xc0000000-0xcfffffff (ro,non-prefetchable)
    Memory Range: 0xe2700000-0xe273ffff (rw,non-prefetchable)
    I/O Ports: 0x4000-0x4fff (rw)
    Memory Range: 0xe2740000-0xe275ffff (ro,non-prefetchable,disabled)
    IRQ: 11 (no events)
    Module Alias: "pci:v00001002d00006660sv000017AAsd0000220Bbc03sc80i00"
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    Attached to: #9 (PCI bridge)

  Primary display adapter: #10  

串行通信

lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154] (rev 09)
      Subsystem: Lenovo Device [17aa:220a]
  00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
      Kernel driver in use: pcieport
  00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09)
      Subsystem: Lenovo Device [17aa:220b]
  00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: xhci_hcd
  00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1e3a] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: mei
  00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: ehci_hcd
  00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: snd_hda_intel
  00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4)
      Kernel driver in use: pcieport
  00:1c.1 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 [8086:1e12] (rev c4)
      Kernel driver in use: pcieport
  00:1c.3 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 [8086:1e16] (rev c4)
      Kernel driver in use: pcieport
  00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: ehci_hcd
  00:1f.0 ISA bridge [0601]: Intel Corporation HM76 Express Chipset LPC Controller [8086:1e59] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: lpc_ich
  00:1f.2 SATA controller [0106]: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e03] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: ahci
  00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller [8086:1e22] (rev 04)
      Subsystem: Lenovo Device [17aa:220a]
  01:00.0 Display controller [0380]: Advanced Micro Devices [AMD] nee ATI Sun [Radeon HD 8600M Series] [1002:6660]
      Subsystem: Lenovo Device [17aa:220b]
  02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader [10ec:5229] (rev 01)
      Subsystem: Lenovo Device [17aa:220a]
  03:00.0 Network controller [0280]: Broadcom Corporation BCM43228 802.11a/b/g/n [14e4:4359]
      Subsystem: Broadcom Corporation Device [14e4:0607]
      Kernel driver in use: wl
  04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 07)
      Subsystem: Lenovo Device [17aa:220a]
      Kernel driver in use: r8169

答案1

我通过使用较新的(3.11)内核解决了这个问题

首先,我在 OpenSuse 12.3 上安装了最新的 xf86-video-intel,但这并没有改变任何东西。然而,当我添加 Tumbleweed 存储库并更新所有软件包时,问题就解决了。我可以nomodeset从启动选项中删除,3D 加速完美运行!

我在这台 ThinkPad 上安装了 Arch,它运行得很好,可能比 Tumbleweed 更稳定……

Linux 3.11.2-1-ARCH #1 SMP PREEMPT Fri Sep 27 07:35:36 CEST 2013 x86_64 GNU/Linux

现在我的电池续航时间大约为 6 小时……太棒了!

相关内容