linux系统双显卡切换显卡驱动,Linux 下双显卡切换

本文介绍如何在Linux环境下实现Intel集成显卡与NVIDIA独立显卡之间的切换,以达到节省电能的目的。通过加载特定模块并使用命令行工具,可以实现在不重启计算机的情况下动态切换显卡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的笔记本是i5 集显和NVS4200M双显卡,在LINUX下,要么一个都不能识别,要么两个同时工作,现在要做双显卡切换了。

具体过程,全部网络摘抄!

#lspci | grep VGA 命令插卡系统下显卡

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [Quadro NVS 4200M] (rev a1)

linux在默认情况下是两个显卡都开启,且电源管理极差,导致电脑温度超高,如果在BIOS里面强行切换为一个显卡,当然也可以解决这个问题,但是在双系统的情况下,就极为不便。如果需要切换显卡还要重启电脑,那实在是太落后了。

linux kernel 2.6.38以上的内核开始支持双显卡的切换。

在linux3.10下切换显卡的模块仍然处于debug状态,首先就要加载这些模块

Step1:

#mount -t debugfs debugfs /sys/kernel/debug

注:需要在root权限下执行

Step2:

#cat /sys/kernel/debug/vgaswitcheroo/switch

查看是否可以进行显卡切换,正常的输出类似于:

0:DIS: : Pwr:0000:01:00.0

1:IGD:+:Pwr:0000:00:02.0

如果没有任何输出,那就很抱歉,这种方法不管用了,可能是linux内核过旧

Step3:

echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch

用来切换到独立显卡

echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch

用来切换到集成显卡

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

这个命令是用来关闭不用的显卡电源

echo ON > /sys/kernel/debug/vgaswitcheroo/switch

这个是用来重新开启关闭的显卡电源

一般情况下,我们就执行第三条命令

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

可以再看一下/sys/kernel/debug/vgaswitcheroo/switch这个文件的状态

cat /sys/kernel/debug/vgaswitcheroo/switch

如果输出结果是

0:DIS: :Off:0000:01:00.0

1:IGD:+:Pwr:0000:00:02.0

那就表明成功了。

这里Off表示电源已经关闭,Pwr表示正在运转。

至此大功告成,可以在rc.local(/etc/rc.d/rc.local)里面加上

mount -t debugfs debugfs /sys/kernel/debug

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

这两句话,这样每次开机就自动将不用的显卡关闭电源了,不用再忍受烧烤温度的电脑。

### 关于在 Kali Linux 上配置双显卡 (NVIDIA 和 Intel) 在 Kali Linux 系统中配置双显卡(尤其是 NVIDIA 和 Intel 显卡组合),通常涉及以下几个方面:驱动程序安装、PRIME Sync 设置以及 Xorg 配置文件调整。以下是详细的说明: #### 安装必要的驱动程序 为了支持 NVIDIA GPU,需要先安装官方的 NVIDIA 驱动程序。可以通过以下命令来完成这一过程[^3]。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install nvidia-driver nvidia-settings -y ``` Intel 的集成显卡一般不需要额外安装驱动程序,因为其开源驱动已经包含在默认内核模块中。然而,如果遇到兼容性问题,则可以尝试更新系统的图形堆栈[^4]。 #### 启用 PRIME Synchronization 当使用 Optimus 技术时(即同时存在独立显卡和集显的情况),启用 `PRIME Synchronization` 是非常重要的一步。这有助于改善性能并减少屏幕撕裂现象。编辑 GRUB 文件以添加启动参数: ```bash sudo nano /etc/default/grub ``` 找到如下行并将 `nouveau.modeset=0` 替换为 `nvidia-drm.modeset=1` 并追加 `intel_iommu=on i915.enable_rc6=7` 参数: ```plaintext GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1 intel_iommu=on i915.enable_rc6=7" ``` 保存更改后运行以下命令使修改生效: ```bash sudo update-grub reboot now ``` #### 创建自定义 Xorg 配置文件 有时,默认设置无法满足需求,因此创建一个专门针对双显卡环境优化过的 Xorg 配置可能是必需的。新建 `/etc/X11/xorg.conf.d/20-intel-nvidia-prime.conf` 文件,并填入相关内容[^5]: ```plaintext Section "ServerLayout" Identifier "layout" Screen 0 "nvidia" Inactive "intel" EndSection Section "Device" Identifier "intel" Driver "modesetting" BusID "PCI:x:y.z" # Replace with actual values from lspci output. Option "AccelMethod" "sna" EndSection Section "Screen" Identifier "intel" Device "intel" EndSection Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:a:b.c" # Again, replace these placeholders accordingly via 'lspci'. EndSection Section "Screen" Identifier "nvidia" Device "nvidia" Option "AllowEmptyInitialConfiguration" "true" Option "PrimeSynchronization" "1" EndSection ``` 注意:需通过 `lspci | grep VGA` 查看具体的 PCI 地址替换模板中的占位符部分。 #### 测试与验证 重启计算机之后,打开终端输入下面这条指令查看当前活动的是哪张显卡: ```bash glxinfo | grep "OpenGL vendor" ``` 如果是 NVIDIA 提供的服务端口信息则表明切换成功;反之亦然。另外也可以利用 GUI 工具如 `nvidia-settings` 来手动选择偏好使用的显示适配器[^6]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值