V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
nozer
V2EX  ›  Linux

如果一台显示器接入多个信号源,在 Linux 中如何彻底屏蔽掉其中一个信号源?

  •  
  •   nozer · 6 天前 · 824 次点击

    情况是这样: 我台式机电脑,intel cpu + nvidia 独显。

    上面安装了 hackintosh 和 Linux 双系统。

    因为 hackintosh 无法使用 nvidia 显卡,所以我选择用 intel 核显驱动。 但是 Linux 还是正常使用 Nvidia 显卡。

    为了不在每次启动的时候都跑到主板里面去切换显卡,我选择核显作为第一显卡,独显同时启用。

    很不错,hackintosh 和 Linux 都能正常引导和显示。

    现在的情况是这样: 我的显示器接了两条输入线,一条接核显、一条接独显。 在 Hackintosh 上面,独显不工作,所以 ok 。

    但是在 Linux 上面,独显和核显都可以工作,这样的在我的显示器设置里面就可以看到两个屏幕。 本来这也没有啥关系,我可以将连接核显的监视器禁用掉。 但是,就算我禁用之后也总会有这里那里小问题,有点烦。

    所以来问问,有没有大佬知道: 如何在 Linux 上面彻底屏蔽掉那个连接核显的监视器(不止禁用,我想的是让 xrandr 和系统设置都无法感知他的存在)?

    4 条回复    2024-06-24 09:18:14 +08:00
    chenxytw
        1
    chenxytw  
       6 天前
    彻底无感知,不从 BIOS 屏蔽的话,最多就是做到卸载驱动,intel 核显驱动是 i915 这个内核模块。
    povsister
        2
    povsister  
       5 天前
    核显本质也是 pcie 设备,理论上你可以从内核屏蔽掉。搜一下如何屏蔽指定 pcie 设备吧
    liyafe1997
        3
    liyafe1997  
       5 天前 via Android
    NVIDIA 驱动的那个 prime 不是可以设置 nvidia only 吗?
    liyafe1997
        4
    liyafe1997  
       5 天前 via Android
    噢不对,那个应该屏蔽不了 INTEL 核显输出。可以尝试把 intel 核显驱动彻底干掉,加到 blacklist 里面,或者甚至彻底屏蔽掉核显的 PCIE 设备,问了下 ChatGPT:

    是的,Linux 可以通过加内核参数来屏蔽某个 PCIe 设备,使其在启动时不加载相应的驱动程序。具体操作步骤如下:

    1. **获取 PCI 设备的 ID**:
    使用`lspci`命令来查看系统中的 PCI 设备列表,并找到你想屏蔽的设备的 ID (一般包括厂商 ID 和设备 ID )。

    ```sh
    lspci -nn
    ```

    输出示例:
    ```
    00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (7) I219-V [8086:15be] (rev 10)
    ```

    在这个示例中,设备 ID 为`8086:15be`。

    2. **编辑 Grub 配置文件**:
    编辑 Grub 配置文件,添加内核参数来屏蔽设备。具体操作步骤如下:

    - 打开 Grub 配置文件:
    ```sh
    sudo nano /etc/default/grub
    ```

    - 在`GRUB_CMDLINE_LINUX`行中添加`pci-stub.ids=厂商 ID:设备 ID`参数。例如:
    ```sh
    GRUB_CMDLINE_LINUX="... pci-stub.ids=8086:15be ..."
    ```

    3. **更新 Grub 配置**:
    保存并关闭文件后,更新 Grub 配置以应用更改。

    ```sh
    sudo update-grub
    ```

    4. **重启系统**:
    重启系统使更改生效。

    ```sh
    sudo reboot
    ```

    通过上述步骤,系统在启动时会将指定的 PCI 设备分配给`pci-stub`驱动程序,而不是加载其特定的驱动程序。这 effectively 使该设备在系统中不可用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2459 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 02:00 · PVG 10:00 · LAX 19:00 · JFK 22:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.