업데이트: 아래 댓글을 참조하세요.컴포넌트와 svideo 간 Radeon 3450 TV 출력 모드 전환
저는 Windows에서 작동하는 이 카드를 가지고 있습니다. Grub에서는 색상이 있고 보기에도 좋지만 xorg에서는 구성 요소(RGB) 케이블에서 흑백만 나옵니다. xrandr을 사용하여 TV 형식을 변경해 보았지만 아무 것도 변경되지 않았습니다. 하지만 해상도를 변경할 수는 있습니다.
구성요소 모드가 아닌 복합 모드일 수도 있습니다. 카드에는 svideo 또는 컴포넌트(rgb)에 적합한 DVI 및 DIN 플러그가 있습니다.
다음은 일부 명령의 출력입니다.
lspci
:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV620 LE [Radeon HD 3450] (prog-if 00 [VGA controller])
Subsystem: Dell OptiPlex 980
Flags: bus master, fast devsel, latency 0, IRQ 31
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f7d20000 (64-bit, non-prefetchable) [size=64K]
I/O ports at e000 [size=256]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Kernel driver in use: radeon
Kernel modules: radeon
xrandr --verbose
:
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
DIN connected primary 1024x768+0+0 (0x55) normal (normal left inverted right x axis y axis) 0mm x 0mm
Identifier: 0x51
Timestamp: 29475
Subpixel: no subpixels
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 0
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
_MUTTER_PRESENTATION_OUTPUT: 0
tv standard: ntsc
supported: ntsc, pal, pal-m, pal-60, ntsc-j, scart-pal, pal-cn, secam
load detection: 1
range: (0, 1)
1024x768 (0x55) 63.500MHz -HSync +VSync *current
h: width 1024 start 1072 end 1176 total 1328 skew 0 clock 47.82KHz
v: height 768 start 771 end 775 total 798 clock 59.92Hz
800x600 (0x56) 38.250MHz -HSync +VSync
h: width 800 start 832 end 912 total 1024 skew 0 clock 37.35KHz
v: height 600 start 603 end 607 total 624 clock 59.86Hz
848x480 (0x57) 31.500MHz -HSync +VSync
h: width 848 start 872 end 952 total 1056 skew 0 clock 29.83KHz
v: height 480 start 483 end 493 total 500 clock 59.66Hz
720x480 (0x58) 26.750MHz -HSync +VSync
h: width 720 start 744 end 808 total 896 skew 0 clock 29.85KHz
v: height 480 start 483 end 493 total 500 clock 59.71Hz
640x480 (0x59) 23.750MHz -HSync +VSync
h: width 640 start 664 end 720 total 800 skew 0 clock 29.69KHz
v: height 480 start 483 end 487 total 500 clock 59.38Hz
답변1
부분 답변:
Radeons에는 내부(GPU의 일부) 또는 외부(추가 칩) 코덱이 있을 수 있습니다. 일반적으로 어떤 신호가 어떤 DAC(디지털/아날로그 변환기)에 출력되는지 설정할 수 있는 레지스터가 있습니다. 인코더는 아날로그 TV용이므로 한 채널에는 합성(루마 및 크로마)을 설정하고 다른 두 채널에는 휘도(Y) 및 채도(C)를 설정하는 것이 일반적입니다. 이 방법으로 SVideo(Y/C) 및 컴포지트 케이블을 연결할 수 있습니다. 대부분의 외부 인코더에는 RGB 출력 옵션도 있습니다(유럽에서는 SCART 커넥터가 필요함).
보고 있다소스 코드, 내부("레거시") 인코더는 빨간색의 경우 Y, 녹색의 경우 C, 파란색의 경우 복합으로 설정됩니다.
WREG32(RADEON_TV_PRE_DAC_MUX_CNTL, (RADEON_Y_RED_EN |
RADEON_C_GRN_EN |
RADEON_CMP_BLU_EN |
RADEON_DAC_DITHER_EN));
어떤 종류의 것도 있습니다자동 감지이로 인해 신호가 다르게 분배될 수 있습니다.
이것은 DIN 플러그에서 얻는 것입니다. 그러나 특정 카드의 경우 순서가 잘못되었을 수 있습니다. 외부 인코딩 칩에 따라 다를 수 있습니다.
SCART/RGB가 아닌 SVideo를 통해 연결한다고 가정할 때 grub에 "색상이 있는" 경우 BIOS가 C와 Y를 올바른 DAC에 올바르게 할당했음을 의미합니다. 드라이버는 다양한 이유로 이러한 값을 다르게 할당할 수 있으므로 드라이버가 활성화되면 채도가 전혀 표시되지 않을 수 있습니다(따라서 색상이 표시되지 않음).
코드에서 이 할당을 재정의할 방법을 찾을 수 없습니다. load detection
부울 값이 아닌 비트 필드인 경우 SVideo 케이블 크로마 터미네이션 저항기가 올바르게 감지되지 않았음을 의미할 수 있습니다(그러나 이는 추측입니다).
따라서 옵션은 (1) DAC 할당/활성화를 수동으로 무시할 수 있도록 드라이버 코드를 변경하거나 (2) 잘못된 DAC에 있는 경우 크로마 신호를 얻을 수 있도록 케이블을 패치하거나 감지 작업이 정상적으로 진행되도록 하는 것입니다. .
둘 다 쉽지 않습니다.