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

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

  •  
  •   nozer · 146 天前 · 1263 次点击
    这是一个创建于 146 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    5 条回复    2024-08-28 20:13:55 +08:00
    chenxytw
        1
    chenxytw  
       146 天前
    彻底无感知,不从 BIOS 屏蔽的话,最多就是做到卸载驱动,intel 核显驱动是 i915 这个内核模块。
    povsister
        2
    povsister  
       145 天前
    核显本质也是 pcie 设备,理论上你可以从内核屏蔽掉。搜一下如何屏蔽指定 pcie 设备吧
    liyafe1997
        3
    liyafe1997  
       145 天前 via Android
    NVIDIA 驱动的那个 prime 不是可以设置 nvidia only 吗?
    liyafe1997
        4
    liyafe1997  
       145 天前 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 使该设备在系统中不可用。
    nozer
        5
    nozer  
    OP
       79 天前
    感谢楼上。 屏蔽 pci 设备是可以的。 但是屏蔽了核显的 PCI 后,独显也不工作了。 只在 TTY 时有画面输出。到启动 SDDM 的时候,画面一直是卡在 TTY 上面。

    感觉这跟系统没关系了可能。

    因该是双显卡工作模式需要核显去做某些特殊工作导致的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2868 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:38 · PVG 10:38 · LAX 18:38 · JFK 21:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.