그래픽 카드, 처음부터 시작하여 올바른 구성을 얻는 이유는 무엇입니까? 어떻게?

그래픽 카드, 처음부터 시작하여 올바른 구성을 얻는 이유는 무엇입니까? 어떻게?

수년 동안 나는 외부 모니터의 이미지를 늘리는 보기 흉한 비디오 구성을 가진 SIS 771/671 그래픽 카드가 장착된 오래된 노트북을 가지고 있었습니다. 이 질문은 나로 하여금이 문제비디오 카드를 올바르게 구성하는 방법을 제공하는 배포판을 찾으십시오.

그러나 잘못된 비디오 구성이 있은 지 3년이 지난 지금, 내 노트북은 부팅을 시작합니다. 때로는 올바른 비디오 구성으로 부팅되기도 하고 그렇지 않을 때도 있습니다. 왜? 어떻게? 내 그래픽 카드가 올바른 구성이 되도록 "자동" 변경 사항이 무엇인지 확인할 수 있습니까?

저는 데비안 8을 사용하고 있습니다.


산출xrandr --세부사항잘못된 영상 구성으로 시작하는 경우:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 (0x148) normal (normal) 0mm x 0mm
    Identifier: 0x147
    Timestamp:  24735
    Subpixel:   no subpixels
    Clones:    
    CRTC:       0
    CRTCs:      0
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
  1024x768 (0x148)  0.000MHz *current
        h: width  1024 start    0 end    0 total 1024 skew    0 clock   0.00KHz
        v: height  768 start    0 end    0 total  768           clock   0.00Hz
  800x600 (0x149)  0.000MHz
        h: width   800 start    0 end    0 total  800 skew    0 clock   0.00KHz
        v: height  600 start    0 end    0 total  600           clock   0.00Hz
  640x480 (0x14a)  0.000MHz
        h: width   640 start    0 end    0 total  640 skew    0 clock   0.00KHz
        v: height  480 start    0 end    0 total  480           clock   0.00Hz
  1280x768 (0x155) 79.500MHz
        h: width  1280 start 1344 end 1472 total 1664 skew    0 clock  47.78KHz
        v: height  768 start  771 end  781 total  798           clock  59.87Hz
  1280p (0x160) 79.500MHz
        h: width  1280 start 1344 end 1472 total 1664 skew    0 clock  47.78KHz
        v: height  768 start  771 end  781 total  798           clock  59.87Hz

산출xrandr --세부사항부츠를 신을 때옳은비디오 구성:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1280 x 768, maximum 1280 x 768
default connected 1280x768+0+0 (0x14a) normal (normal) 0mm x 0mm
    Identifier: 0x149
    Timestamp:  29118
    Subpixel:   unknown
    Clones:    
    CRTC:       0
    CRTCs:      0
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
  1280x768 (0x14a) 59.965MHz *current
        h: width  1280 start    0 end    0 total 1280 skew    0 clock  46.85KHz
        v: height  768 start    0 end    0 total  768           clock  61.00Hz
  1024x768 (0x14b) 47.972MHz
        h: width  1024 start    0 end    0 total 1024 skew    0 clock  46.85KHz
        v: height  768 start    0 end    0 total  768           clock  61.00Hz
  800x600 (0x14c) 29.280MHz
        h: width   800 start    0 end    0 total  800 skew    0 clock  36.60KHz
        v: height  600 start    0 end    0 total  600           clock  61.00Hz
  640x480 (0x14d) 18.432MHz
        h: width   640 start    0 end    0 total  640 skew    0 clock  28.80KHz
        v: height  480 start    0 end    0 total  480           clock  60.00Hz

어제 노트북에서 시작한 것과 동일한 매개변수를 사용하여 새 모델 행을 추가하려고 하면(외부 모니터에 해당) 다음과 같습니다.

xrandr --newmode "1280x768"   79.50  1280 1344 1472 1664  768 771 781 798 -Hsync +Vsync

출력은 다음과 같습니다

xrandr: Failed to get size of gamma for output default
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  16 (RRCreateMode)
  Serial number of failed request:  19
  Current serial number in output stream:  19

1280x768 해상도의 모드를 선택하면 다음과 같은 오류 메시지가 나타납니다.

xrandr: cannot find mode 1280x768
xrandr: cannot find mode 1280p

다른 기존 모드 xrandr과 잘 작동합니다.


다음을 사용하여 다른 이름으로 기존 스키마를 추가하려고 하면:

xrandr --newmode "1024t" 63.50  1024 1072 1176 1328  768 771 775 798 -Hsync +Vsync

다음과 같은 오류 메시지가 나타납니다.

xrandr: Failed to get size of gamma for output default

잘못된 비디오 구성으로 시작하면 Xorg.0.log의 내용은 다음과 같습니다.


올바른 비디오 구성으로 시작하면 Xorg.0.log의 내용은 다음과 같습니다.

마지막 업데이트: 해결 방법. 외부 모니터를 끈 상태에서 컴퓨터를 시작한 다음 GUI가 초기화된 후 전원을 켜면 시스템이 올바른 비디오 구성을 얻을 수 있다는 것을 발견했습니다.

답변1

로그에서 볼 수 있듯이 대신 VESA 드라이버를 사용하고 있습니다.SIS 드라이버. 사실, 나는 SIS 드라이버의 현재 상태에 대해 확신하지 못합니다. 일부 드라이버에 대한 지원은 아무도 유지 관리하지 않았기 때문에 중단되었으며 SIS 드라이버도 그 중 하나일 수 있다는 것을 막연하게 기억합니다.

그럼에도 불구하고 VESA 드라이버는 BIOS 호출을 사용하여 사전 정의된 VESA 모드로 제한되는 모드를 설정합니다. 이는 동기화 타이밍 필드에 0이 있는 이유를 설명합니다. 이 값은 드라이버가 사용하지 않기 때문에 중요하지 않습니다. 또한 VESA 모드를 따르지 않는 모델 라인을 사용하도록 할 수 없는 이유도 설명합니다. xrandr모델 라인 추가 등을 위한 인터페이스는 계속 작동하지만 사용되지는 않습니다.

로그에 따르면 모니터의 EDID는 14가지 모드를 제공하며 그 중 3가지 모드만 유효합니다.

[    27.440] (**) VESA(0):  Built-in mode "1024x768"
[    27.440] (**) VESA(0):  Built-in mode "800x600"
[    27.440] (**) VESA(0):  Built-in mode "640x480"

따라서 VESA 드라이버를 사용할 경우 이 세 가지 드라이버 중에서만 선택할 수 있으며 동기화 타이밍을 조정할 수는 없습니다.

모니터가 때때로 이미지를 "확장"하고 때로는 올바르게 동기화하는 이유는 여전히 동일한 추측입니다. BIOS가 필요한 모든 레지스터를 설정하지 않았거나 VESA 1024x768 모드의 동기화 타이밍이 모니터에 대해 충분히 명확하지 않습니다. 제대로 동기화하려면. 어떤 때는 이런 식으로 동기화되고, 어떤 때는 저런 식으로 동기화됩니다.

옵션: SIS 드라이버가 제대로 작동하도록 해보세요. 이렇게 하려면 드라이버가 실제로 더 이상 사용되지 않는 경우 드라이버 코드를 살펴보고 업데이트해야 할 수도 있습니다. 아니면 그 일을 할 다른 사람을 찾으세요.

대안: 아무 것도 생각할 수 없습니다.

편집하다

차이점은 "올바른" 경우에는 모니터에서 EDID 읽기가 실패하는 반면, "잘못된" 경우에는 EDID 읽기가 성공한다는 것입니다. 전자의 경우 드라이버는 내부 "표준" 표를 참조하여 사용자에게 적합한 추가 모드를 제시할 수 있습니다.

다른 드라이버의 EDID 정보를 덮어쓸 수 있지만 AFAIK에서는 VESA 드라이버를 덮어쓸 수 없습니다.

옵션:

  • 이를 올바르게 수행하고 SIS 드라이버가 제대로 작동하도록 하려면 위를 참조하십시오.

  • 다른 드라이버와 마찬가지로 EDID를 무시하도록 VESA 드라이버를 수정하십시오(좋은 C 프로그래밍 기술 필요).

  • 해결 방법: 맞춤형 VGA 플러그를 납땜하고 두 개의 DDC 핀을 연결되지 않은 상태로 둡니다.VGA 커넥터, 모든 EDID 읽기가 실패하도록 강제합니다(납땜 기술 필요).

** 편집하다**

Leandros López가 설명하는 해결 방법: 외부 모니터를 끈 상태에서 컴퓨터를 시작합니다. 이로 인해 EDID 읽기가 실패하고 사용 가능한 모드는 대체 모드가 됩니다. X 서버가 초기화된 후 엽니다.

관련 정보