如何在不破坏 X 的情况下从英特尔集成显卡切换到 nvidia GeForce 940mx?

如何在不破坏 X 的情况下从英特尔集成显卡切换到 nvidia GeForce 940mx?

昨天我买了一台笔记本电脑,它既有 Nvidia 940mx 显卡,也有 Intel 集成显卡。我发现它默认使用 Intel 集成显卡,但我希望它改用 Nvidia 卡。

我已经尝试过在使用 Arch Linux 时进行切换,并已切换到 Ubuntu,希望它在这里能正常工作,因为当我在 Arch Linux 上尝试时,结果导致 X 服务器完全无法启动,报告无法找到显示器,或类似情况。因为我已经在切换时遇到过这个问题,所以我犹豫着是否要再次尝试,除非首先确保一切正常。

似乎有几份关于切换到 nvidia 卡的相互矛盾(且过时)的指南。使用vga_switcheroo不起作用,因为根本/sys/kernel/debug/vgaswitcheroo/switch不存在。Stack Exchange 上任何现有的描述如何使用 nvidia 卡的问题要么已经过时,要么与其他所有问题不一致,要么与我的情况不一致。

一些硬件信息:

$ lspci -nnk | grep -i vga -A3 | grep 'in use'
Kernel driver in use: i915

$ lshw -short | grep display
/0/100/2                     display        Intel Corporation
/0/100/1c/0                  display        NVIDIA Corporation

$ lshw | grep -A10 "VGA\|3D"
         description: VGA compatible controller
         product: Intel Corporation
         vendor: Intel Corporation
         physical id: 2
         bus info: pci@0000:00:02.0
         version: 02
         width: 64 bits
         clock: 33MHz
         capabilities: vga_controller bus_master cap_list rom
         configuration: driver=i915 latency=0
         resources: irq:131 memory:b2000000-b2ffffff memory:c0000000-cfffffff ioport:5000(size=64) memory:c0000-dffff
--
            description: 3D controller
            product: NVIDIA Corporation
            vendor: NVIDIA Corporation
            physical id: 0
            bus info: pci@0000:01:00.0
            version: a2
            width: 64 bits
            clock: 33MHz
            capabilities: cap_list
            configuration: latency=0
            resources: memory:b3000000-b3ffffff memory:a0000000-afffffff memory:b0000000-b1ffffff ioport:4000(size=128) memory:b4000000-b407ffff

$ lspci -nnk | grep -i "VGA\|3D" -A3
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:5916] (rev 02)
    Subsystem: Acer Incorporated [ALI] Device [1025:111a]
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:179c] (rev a2)
    Subsystem: Acer Incorporated [ALI] Device [1025:111a]
    Kernel modules: nvidiafb, nouveau
03:00.0 Network controller [0280]: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter [168c:0042] (rev 31)

$ sudo ubuntu-drivers devices                             
== cpu-microcode.py ==
driver   : intel-microcode - distro non-free

== /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0 ==
vendor   : NVIDIA Corporation
modalias : pci:v000010DEd0000179Csv00001025sd0000111Abc03sc02i00
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-367 - distro non-free recommended

$ arch
x86_64

鉴于此信息,最安全的方法我是否可以从英特尔设备切换到 nvidia 显卡而不会破坏 X 服务器?该系统运行的是 Ubuntu 16.10 Yakkety。

答案1

首先你需要安装驱动程序

sudo apt install nvidia-367

然后重新启动。

Nvidia X Server Settings您可以在应用程序 (PRIME Profiles)中检查状态并切换适配器。

您也可以通过以下方式在终端中检查状态

prime-select query

切换到 Nvidia

sudo prime-select nvidia

切换到英特尔

sudo prime-select intel

您需要注销并应用该设置。

相关内容