Lenovo ThinkPad P52

出自 ArchWiki

此文章或章节不符合笔记本电脑页面指南

原因: 硬件表格需要添加 ID,并且缺少功能键表格(在Talk:Lenovo ThinkPad P52中讨论)
硬件 PCI/USB ID 工作?
GPU (Intel)
GPU (Nvidia)
无线
蓝牙 8087:0aaa
音频 10de:0fb9
触摸板
网络摄像头 5986:2113
读卡器 10ec:525a
指纹识别器 06cb:009a

Lenovo P52 是一款四核或六核 Intel 第八代笔记本电脑。

安装

警告: 存在一些可能的“BIOS 变砖”设置。这些设置与安装 Arch 没有直接关系,但大多数 Arch 用户会在可以修改这些设置的相同区域进行配置更改。

请务必将 BIOS 更新到 V1.17 或更高版本(截至 2019 年 3 月,当前版本为 v1.24)。如果您选择某些设置,则早期版本的 BIOS 可能会变得无法操作

  1. 混合显卡与独立显卡 - https://forums.lenovo.com/t5/ThinkPad-P-and-W-Series-Mobile/P52-won-t-start-after-change-to-only-discrete-graphic-card/m-p/4265065
  2. Thunderbolt 3 支持 - https://forums.lenovo.com/t5/ThinkPad-P-and-W-Series-Mobile/Lenovo-P52-bricked-by-selecting-BIOS-thunderbolt-support-for/td-p/4207538?page=12
注意: 您可以使用 Lenovo 提供的可引导(CD)更新选项更新 BIOS,或者只需使用预装的 Windows 安装和软件更新 BIOS,然后在 BIOS 更新后继续进行 Arch 安装。

图形

此笔记本电脑的外部显示端口直接连接到 NVIDIA 芯片。通俗地说,这意味着必须启用专用 GPU 才能使用外部显示器。幸运的是,可以使用 Intel DDX 驱动程序 xf86-video-intel 而不是 modesetting,从而实现集成显卡和独立显卡之间的动态切换。

该笔记本电脑可以在两种模式下使用:混合图形或仅专用图形。

为了使用集成的 Intel UHD 630 GPU(作为混合图形的一部分),您需要将 i915 模块添加到您的 initramfs 中,方法是在您的 mkinitcpio 中将其添加为模块。这可以通过在 /etc/mkinitcpio.conf 上设置以下内容来完成

/etc/mkinitcpio.conf
...
MODULES=(i915)

未能添加上述内容将使您在尝试加载 initramfs 时卡住,并且您的系统将无法启动。

通过仅使用 专用图形 模式(这可以通过更改 UEFI 中的设置来完成)可能可以不用上面的模块。

使用 Bumblebee 的闭源驱动

在此设置中,默认情况下使用集成 GPU,但某些应用程序可以使用 optirunprimusrun 启动器在独立 GPU 上渲染。有关详细说明,请参阅 Bumblebee。由于缺少适当的 v-sync 支持,因此使用此方法在独立 GPU 上渲染的应用程序会出现撕裂现象。由于在独立 GPU 和集成 GPU 之间低效地移动数据而引入了一些开销,但 Nvidia GPU 的性能比使用 Nouveau 时要好得多。

为了使其正常工作,您将需要 bumblebeebbswitchnvidiaxf86-video-intel

然后设置以下配置文件。

/etc/X11/xorg.conf.d/intel.conf
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "intel"
    Inactive       "nvidia"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "dummy"
    BusID          "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
EndSection
 
Section "Screen"
    Identifier     "intel"
    Device         "intel"
    Monitor        "Monitor0"
EndSection

Section "Device"
    Identifier  "intel"
    Driver      "intel"
    Option      "TearFree" "true"
    Option      "DRI" "3"
    BusId       "PCI:0:2:0"
EndSection

(您可能已经拥有其中一个,因此根据需要调整/添加 - 末尾的虚拟设备是必不可少的!!)

/etc/bumblebee/xorg.conf.nvidia
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"

    # Inventions
    Screen      0 "nvidia"
    Inactive    "intel"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    BusID "PCI:1:0:0"
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"
    Option "UseEDID" "true"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier "intel"
    Driver "dummy"
    BusID "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
EndSection

在此阶段,重新启动您的机器。然后您应该能够像通常使用 optirun 一样在 GPU 上运行应用程序,例如 optirun glxgears。如果您想使用外部显示器,您需要通过在 optirun 上运行任务然后运行 intel-virtual-output -f 来保持 GPU 开启(这将保持运行并将外部显示端口绑定到您可以使用的虚拟输出)。在此阶段,您应该能够看到和使用外部端口。

指纹识别器

请参阅 Lenovo ThinkPad T480s - 它与 python-validityAUR 配合使用,但不与 libfprint 配合使用。

触摸板

有时,Linux 内核升级会导致触摸板和 Trackpoint 停止工作的问题。使用内核参数 psmouse.elantech_smbus=0 启动似乎可以解决此问题。FS#59714#comment174924