首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在联想军团5Pro (Nvidia RTX 3050)上配置多个显示器

如何在联想军团5Pro (Nvidia RTX 3050)上配置多个显示器
EN

Unix & Linux用户
提问于 2021-12-18 10:37:16
回答 2查看 1.9K关注 0票数 0

我已经安装了Debian 11 (斗牛眼)在一个新的联想军团5i Pro与Nvidia RTX 3050。

安装Nvidia司机之后:

代码语言:javascript
复制
sudo apt-get install nvidia-driver firmware-misc-nonfree

我使用HDMI端口连接了一个外部监视器,但是它没有被识别,它没有显示在显示设置中。

我试着搜索这个问题,发现某个地方有人用xrandr解决了类似的问题。

代码语言:javascript
复制
~$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x4a cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 7 associated providers: 0 name:modesetting
Provider 1: id: 0x2af cap: 0x2, Sink Output crtcs: 4 outputs: 6 associated providers: 0 name:NVIDIA-G0

这个命令修复了问题,但老实说,我不知道它做了什么:

代码语言:javascript
复制
xrandr --setprovideroutputsource 1 0

但问题是,在重新启动后,这些更改并没有持续,而且我有很多滞后,Xorg使用了大约30-40%的CPU,如使用top所示。因此,我已经卸载了驱动程序,并重新启动。

接下来,我尝试使用/etc/X11/xorg.conf创建一个nvidia-xconfig文件,该文件创建了一个包含以下内容的文件:

代码语言:javascript
复制
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 460.32.03

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

好的是,外部监视器被识别出来了,我开始使用它,它在显示设置中显示,但是我不能使用内置显示器,如果我尝试使用没有外部显示器的笔记本电脑,我会得到一个空白的屏幕,我必须删除/etc/X11/xorg.conf文件并重新启动才能使用内置的显示器。

如何将我的系统配置为能够同时使用内置和外部显示?

更新

代码语言:javascript
复制
$ nvidia-xconfig --query-gpu-info
Number of GPUs: 1

GPU #0:
  Name      : GeForce RTX 3050 Laptop GPU
  UUID      : GPU-5f21a5b3-2add-7b3d-aa6b-1cfe5dd7085e
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 1

  Display Device 0 (TV-4):
      EDID Name             : LG Electronics 24MP56
      Minimum HorizSync     : 30.000 kHz
      Maximum HorizSync     : 83.000 kHz
      Minimum VertRefresh   : 56 Hz
      Maximum VertRefresh   : 61 Hz
      Maximum PixelClock    : 150.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 510 mm
      Physical Height       : 290 mm

使用xrandr列出监视器:

代码语言:javascript
复制
$ xrandr --listmonitors
Monitors: 1
 0: +*eDP-1 1920/345x1200/215+0+0  eDP-1

在使用这个命令xrandr --setprovideroutputsource 1 0之后,我得到了以下输出:

代码语言:javascript
复制
$ xrandr --listmonitors
Monitors: 2
 0: +*eDP-1 2560/345x1600/215+0+0  eDP-1
 1: +HDMI-1-0 1920/510x1080/290+2560+0  HDMI-1-0

但问题是Xorg进程的CPU使用率很高(30-40%).

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-12-20 18:26:06

带有独立的专用显卡和集成显卡的笔记本电脑将尝试平衡,这是用来提高电池寿命。检查nvidia-settings和bios设置,看看是否有一个选项可以指定您想要使用的。

票数 1
EN

Unix & Linux用户

发布于 2021-12-22 08:24:13

通过将Graphic设备模式设置为Discrete图形,而不是BIOS中的Dynamic图形,我临时解决了问题,然后我能够同时使用这两种显示器(内置和外部),而不需要Xorg的任何高CPU使用率,也不需要任何额外的配置。这种方法只使用专用GPU,而不使用动态模式。

我已经找到了另一个解决方案,在BIOS中使用Xorg图形模式时,<#>Dynamic并没有使用任何高CPU使用率,所以我使用了这两个GPU。

我遵循了Debian的wiki:使用NVIDIA GPU作为主GPU的说明

  1. 我在以下使用说明中安装了Nvidia驱动程序:
代码语言:javascript
复制
# Add "contrib" and "non-free" components to /etc/apt/sources.list, example:
# deb http://deb.debian.org/debian/ bullseye main contrib non-free
$ sudo apt-get update
$ sudo apt-get install nvidia-driver firmware-misc-nonfree
  1. 我已经安装了x11-xserver-utils
代码语言:javascript
复制
$ sudo apt-get install x11-xserver-utils
  1. /etc/X11/xorg.conf上创建一个配置文件,其内容如下:
代码语言:javascript
复制
Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "" # e.g. PCI:1:0:0
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "" # e.g. PCI:0:2:0
    #Option "AccelMethod" "none"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

您可以使用lspci命令获得总线ID:

代码语言:javascript
复制
$ lspci | grep -E "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation Device 9a60 (rev 01)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 25e2 (rev a1)

xorg.conf文件中使用以下in:

  • 00:02.0 -> PCI:0:2:0
  • 00:02.0 -> PCI:0:2:0
  1. 创建一个具有以下内容的~/.xsessionrc文件:
代码语言:javascript
复制
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

如果您在运行第一个命令时遇到任何错误,请使用此命令获得正确的名称,它可能不是NVIDIA-0

代码语言:javascript
复制
$ xrandr --listproviders
  1. 使~/.xsessionrc可执行:
代码语言:javascript
复制
$ chmod +x ~/.xsessionrc
  1. 重新启动,然后您应该能够使用这两个监视器,并使用“显示”设置页配置它们。
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/682966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档