Bash는 모든 디스플레이 출력 포트를 나열합니다.

Bash는 모든 디스플레이 출력 포트를 나열합니다.

내 노트북에 있는 모든 시각적 출력 포트를 인쇄하는 명령을 찾고 있습니다.

한동안 Stack과 Google에서 검색했지만 답변을 찾을 수 없습니다.

내가 얻은 가장 가까운 것은 xandr:

eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768      60.00*+  40.00  
   1360x768      59.80    59.96  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   960x600       60.00  
   960x540       59.99  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   720x450       59.89  
   640x480       60.00    59.94  
   680x384       59.80    59.96  
   576x432       60.06  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

비슷한 것을 찾고 있습니다.

HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

안타깝게도 이 출력에는 필요한 정보가 표시되지 않습니다. 에서 제공하는 정보 xrandr가 정확하지 않습니다.

시도해 보았지만 lspci( dmesg아마도 거기에 있지만 찾을 수 없을 수도 있음), lshw일부 하드웨어 목록 명령이 있을 수도 있습니다.

이상적인 상황은

VGA x1
HDMI x1 or mini
DP x1
DVI x1

그러나 올바른 방향을 가리키는 조언은 크게 감사하겠습니다.

답변1

그래서 내 컴퓨터에서 듀얼 모니터 설정을 변경하려고 하다가 귀하의 게시물을 발견했습니다. 실제 디스플레이에 관심이 있기 때문에 연결된 모니터 리소스에서 EDID를 찾고 있습니다.

find /sys/devices -name "edid"

다음과 같은 출력이 생성됩니다.

/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-HDMI-A-1/edid
/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-DVI-D-1/edid
/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-DP-2/edid
/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-HDMI-A-2/edid
/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-DP-1/edid

이들 모두가 작동하는 것은 아니지만 /sys의 다양한 폴더를 살펴보면 다음과 같은 status라는 파일을 찾을 수 있습니다.

cat /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-DP-1/status
connected

다음을 수행하여 연결된 디스플레이 장치(실제 그래픽 카드 출력 대비)에 대한 자세한 내용을 알아볼 수도 있습니다.

cat /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0/card0-DP-1/edid | edid-decode
Extracted contents:
header:          00 ff ff ff ff ff ff 00
serial number:   41 0c 0b 09 cd 0e 00 00 32 1a
version:         01 04
basic params:    b5 46 28 78 3a
chroma info:     59 05 af 4f 42 af 27 0e 50 54
established:     bd 4b 00
standard:        d1 c0 81 80 81 40 95 0f 95 00 b3 00 81 c0 01 01
descriptor 1:    4d d0 00 a0 f0 70 3e 80 30 20 35 00 ba 8e 21 00 00 1a
descriptor 2:    a3 66 00 a0 f0 70 1f 80 30 20 35 00 ba 8e 21 00 00 1a
descriptor 3:    00 00 00 fc 00 50 48 4c 20 33 32 38 50 36 56 0a 20 20
descriptor 4:    00 00 00 fd 00 17 50 1e a0 3c 01 0a 20 20 20 20 20 20
extensions:      01
checksum:        74

Manufacturer: PHL Model 90b Serial Number 3789
Made week 50 of 2016
EDID version: 1.4
Digital display
10 bits per primary color channel
DisplayPort interface
Maximum image size: 70 cm x 40 cm
Gamma: 2.20
DPMS levels: Off
Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
First detailed timing is preferred timing
Established timings supported:
  720x400@70Hz
  640x480@60Hz
  640x480@67Hz
  640x480@72Hz
  640x480@75Hz
  800x600@60Hz
  800x600@75Hz
  1024x768@60Hz
  1024x768@75Hz
  1280x1024@75Hz
Standard timings supported:
  1920x1080@60Hz
  1280x1024@60Hz
  1280x960@60Hz
  1440x900@75Hz
  1440x900@60Hz
  1680x1050@60Hz
  1280x720@60Hz
Detailed mode: Clock 533.250 MHz, 698 mm x 398 mm
               3840 3888 3920 4000 hborder 0
               2160 2163 2168 2222 vborder 0
               +hsync -vsync 
Detailed mode: Clock 262.750 MHz, 698 mm x 398 mm
               3840 3888 3920 4000 hborder 0
               2160 2163 2168 2191 vborder 0
               +hsync -vsync 
Monitor name: PHL
Monitor ranges (bare limits): 23-80Hz V, 30-160kHz H, max dotclock 600MHz
Has 1 extension blocks
Checksum: 0x74 (valid)

CEA extension block
Extension version: 3
34 bytes of CEA data
  Video data block
    VIC  16 1920x1080@60Hz 
    VIC  31 1920x1080@50Hz 
    VIC   4 1280x720@60Hz 
    VIC  19 1280x720@50Hz 
    VIC   3 720x480@60Hz 
    VIC  18 720x576@50Hz 
    VIC   2 720x480@60Hz 
    VIC  17 720x576@50Hz 
    VIC   1 640x480@60Hz 
    VIC   5 1920x1080i@60Hz 
    VIC  20 1920x1080i@50Hz 
  Audio data block
    Linear PCM, max channels 2
    Supported sample rates (kHz): 48 44.1 32
    Supported sample sizes (bits): 24 20 16
  Speaker allocation data block
    Speaker map: FL/FR
  Vendor-specific data block, OUI 000c03 (HDMI)
    Source physical address 1.0.0.0
    DC_30bit
    DC_Y444
    DVI_Dual
    Maximum TMDS clock: 600MHz
    Extended HDMI video details:
      HDMI VIC 0 3840x2160@30Hz
      HDMI VIC 1 3840x2160@25Hz
      HDMI VIC 2 3840x2160@24Hz
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
1 native detailed modes
Detailed mode: Clock 27.000 MHz, 698 mm x 398 mm
                720  736  798  858 hborder 0
                480  489  495  525 vborder 0
               -hsync -vsync 
Detailed mode: Clock 74.250 MHz, 698 mm x 398 mm
               1280 1390 1430 1650 hborder 0
                720  725  730  750 vborder 0
               +hsync +vsync 
Detailed mode: Clock 148.500 MHz, 698 mm x 398 mm
               1920 2448 2492 2640 hborder 0
               1080 1084 1089 1125 vborder 0
               +hsync +vsync 
Detailed mode: Clock 147.170 MHz, 698 mm x 398 mm
               2048 2096 2128 2208 hborder 0
               1080 1083 1093 1111 vborder 0
               +hsync -vsync 
Checksum: 0x18 (valid)

EDID block does NOT conform to EDID 1.3!
        Detailed block string not properly terminated

답변2

이것은 복잡한 문제입니다.

xrandr모든 출력은 X11 서버의 제어 하에 있는 모든 GPU에 대한 지식을 기반으로 표시됩니다. 그러나 하드웨어 제조업체는 GPU 칩의 DisplayPort 출력을 DVI로 변환하는 등 내장 변환기를 추가하거나 단순히 GPU 출력 중 일부를 연결하지 않은 상태로 둘 수 있습니다. GPU는 물론 더 나아가 xrandr이러한 변경 사항을 알 수 있는 방법이 없습니다. 또한 나열된 DisplayPort 출력은 물리적으로 Mini-DP 또는 Thunderbolt 연결일 수 있습니다.

2개의 GPU가 있는 노트북이 있고 그 중 하나를 비활성화하는 경우(BIOS 또는 NVidia Optimus 기술용 Bumblebee와 같은 소프트웨어를 통해) 비활성화된 GPU의 출력은 분명히 사용할 수 없습니다 xrandr.

문제를 해결하는 또 다른 방법은 다음을 사용하는 것입니다 dmidecode. dmidecode -t 8BIOS DMI 데이터에서 하드웨어 제조업체가 설명한 모든 커넥터/포트 목록을 가져와야 합니다. 그러나 이 정보가 항상 정확하거나 완전하지 않을 수도 있습니다. 내 노트북에는 DMI 커넥터 정보가 전혀 나열되지 않았습니다.

답변3

sysfs의 커널 DRI 디버그는 비디오 커널 모듈에서 인식되는 커넥터를 보여줍니다.

예를 들어 내 비디오 커널 모듈은 i915다음과 같습니다.

 sudo grep "^connector" /sys/kernel/debug/dri/0/i915_display_info

그리고 얻다

connector 71: type eDP-1, status: connected
connector 80: type DP-1, status: disconnected
connector 86: type HDMI-A-1, status: disconnected
connector 90: type DP-2, status: disconnected
connector 95: type HDMI-A-2, status: disconnected
connector 97: type DP-3, status: disconnected
connector 105: type DP-4, status: connected
connector 101: type DP-5, status: connected

여기에 나열된 포트는 의 출력과 다를 수 있습니다 xrandr. 예를 들어, 내 xrandr 출력은 다음과 같습니다.eDP-1, DP-2-2, DP-2-3

답변4

xrandr | awk 'BEGIN { hdmi=dp=0; }; 
    /^HDMI-/ { hdmi++;}; /^DP-/ { dp++; };
    END { printf "%8s%s\n","HDMI x",hdmi; printf "%8s%s\n","DP x",dp; }' 

  HDMI x1
    DP x0

관련 정보