20인치 iMac LCD 2006의 Radeon Mobility X1600에 Xorg 문제가 있음

20인치 iMac LCD 2006의 Radeon Mobility X1600에 Xorg 문제가 있음

내 20인치 2006 iMac 4.1에 의미 있는 목적을 부여하려고 하는데 이상한 Xorg 문제로 인해 막혔습니다. 시험을 마친FreeBSD 13.0 배포판/amd64그리고PrimaryOS 6.0 오딘최신 시스템과 각각의도래 송곳가방. 사용레이톤운전사(이 드라이버는 FreeBSD에 존재하지 않으며 별도의 패키지나 포트로 사용할 수 없으므로 Linux에서만 해당)내장 LCD 화면의 기본 해상도로 올바른 그래픽 모드를 제공하는 것 같습니다. 창, 아이콘, 패널 모두 괜찮아 보이지만 배경 이미지가(또는 일반 데스크탑 배경, 단색이라도)깨진 유물을 표시합니다.
라데온01
배경그림만 불량이고 반투명창, 메뉴바, 아이콘
라데온02
등 모든 GUI 객체가 괜찮아 보이는 것이 특징입니다.모드 설정드라이버가 그래픽 화면을 올바르게 렌더링할 수 없는 것 같습니다. 전체 디스플레이가 오프셋 선으로 그려집니다.
모드 설정 01

~처럼모드 설정드라이버가 존재합니다(그리고 정확히 같은 방식으로 동작합니다)FreeBSD와 리눅스에서(2021년말 최신버전 얘기), 이는 또한 앞으로 나아가는 확실한 방법입니다. 의존하는 것보다 작동하도록 하는 편이 낫습니다.레이톤.
그래서 저는 이 2006년형 iMac 내장 LCD의 EDID 데이터에서 기본 해상도 세부 정보를 추출하는 것부터 시작했습니다.

    Identifier "Color LCD"
    ModelName "Color LCD"
    VendorName "APP"
    # Monitor Manufactured week 0 of 2005
    # EDID version 1.3
    # Digital Display
    DisplaySize 430 270
    Gamma 2.20
    Modeline    "Mode 0" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 -hsync -vsync 

제안됨모델 행무엇과 일치하는가정리하다시작되지 않을 때 자동으로 감지xorg.conf문서. 이 컴퓨터에서는 그래픽 화면이 예상대로 잘 작동하기 때문에(더 이상 사용되지 않으며 더 이상 지원되지 않습니다)운영 체제맥 OS X 10.6눈표범, 좋아 보여요윈도우 10나는 또한전원 보드Windows에서 가능한 모든 화면 세부 정보를 수집합니다. 이를 통해 유망한 맞춤형 모델 라인을 만들 수 있었습니다.

Section "Modes"
    Identifier "LTM201M1-MODELINES"
    ###ModeLine   "1680x1050" 147.136 1680 1784 1968 2256 1050 1051 1054 1087 +hsync +vsync
    ModeLine   "1600x1000" 133.142 1600 1704 1872 2144 1000 1001 1004 1035 +hsync +vsync
    ###ModeLine   "1400x1050" 122.614 1400 1488 1640 1880 1050 1051 1054 1087 +hsync +vsync
    ModeLine   "1664x936"  128.373 1664 1760 1936 2208  936  937  940  969 +hsync +vsync
    Modeline   "1664x1040" 143.715 1664 1768 1944 2224 1040 1041 1044 1077 +hsync +vsync
    ModeLine   "1696x1060" 149.543 1696 1800 1984 2272 1060 1061 1064 1097 +hsync +vsync
    ###ModeLine   "1678x1050" 146.745 1678 1784 1964 2250 1050 1051 1054 1087 +hsync +vsync
    ###ModeLine   "1678x1048" 146.475 1678 1784 1964 2250 1048 1049 1052 1085 +hsync +vsync
    ###ModeLine   "1680x1048" 146.866 1680 1784 1968 2256 1048 1049 1052 1085 +hsync +vsync
    ###ModeLine   "k1" 119.000 1680 1728 1760 1840 1050 1053 1059 1080 +hsync +vsync
    ###ModeLine   "k2" 149.543 1680 1800 1984 2272 1050 1061 1064 1097 +hsync +vsync
EndSection

트리플 해시태그 댓글을 달고 있는 분들은 모드 설정 드라이버와 잘 어울리지 않습니다. 위의 세 번째 이미지에 표시된 것처럼 디스플레이를 읽을 수 없는 행 이동 모드로 전환합니다. 마지막 두 행은 PowerStrip 데이터에서 생성되지 않았습니다. 위 행 중 하나를 사용하고 세부 사항을 한두 개 변경하여 제가 수동으로 조립했습니다. 원래 해상도가 작동할 수 있기를 바랍니다.
흥미롭게도 1680x1050의 기본 해상도는 작동하지 않는 것 같습니다.모드 설정운전사. 심지어모델 행Windows 10, Mac OS X 및 EDID에서 읽기레이톤Xorg 드라이버는 Linux에서 성공적으로 사용됩니다.
또한 흥미로운 점은"1664x1040" 및 "1696x1060" 모드가 완벽하게 작동합니다., 아름답고 깜박임이 없으며 안정적인 디스플레이 효과를 제공합니다. 이러한 해상도는 16:10 화면 비율을 유지하면서 원본 1680x1050보다 작거나 큽니다. 놀랍게도 1696x1060도 잘 작동합니다(분명히 마지막 몇 픽셀은 화면 외부에 있으므로 표시되지 않지만 디스플레이는 이동/실행 선 없이 단단합니다).

PCI 세부 정보는 다음과 같습니다.

vgapci0@pci0:1:0:0:     class=0x030000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x71c5 subvendor=0x106b subdevice=0x0080
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'RV530/M56-P [Mobility Radeon X1600]'
    class      = display
    subclass   = VGA

radeon 또는 모드 세트 드라이버를 사용하는 FreeBSD 및 Linux의 Xorg.0.log에는 오류가 표시되지 않습니다. Xorg에 관한 한 모든 것이 잘 작동합니다. 문제는 인간의 눈이 내가 처리할 수 없는 것을 본다는 것입니다(위의 세 번째 그림 참조).
xrandr --verbose(라데온/리눅스)
xrandr --verbose(모드 설정/FreeBSD)
Xorg.0.log(라데온/리눅스)
Xorg.0.log(모드 설정/Linux)

모드 설정을 사용하기 위해 기본 1680x1050을 얻을 수 없기 때문에(FreeBSD 및 Linux에서도 동일한 방식으로 실패함) 독점 ATI 드라이버와 개방형 드라이버를 사용하여 Windows 10 및 Mac OS X에서 동일한 설정이 작동하는 것으로 알려져 있습니다. 소스 radeon 드라이버. Linux에서는 모드 설정 드라이버(또는 radeonkms 모듈)에 문제가 있을 수 있다는 결론이 나왔습니다.

모드 설정 드라이버와 함께 작동하도록 기본 해상도를 얻는 방법에 대한 제안 사항이 있습니까?
또는,모드 설정 드라이버 개발자에게 이 문제를 보고할 수 있는 올바른 채널은 무엇입니까?(또는 radeonkms 모듈)?

답변1

안타깝게도 교체 질문에만 답변해 드릴 수 있습니다. 이 오류를 보고하는 올바른 채널은 Linux 커널 메일링 리스트입니다. 메시지를 보내는 방법, 올바른 예절 및 구독 방법(또는 구독과 함께 제공되는 대량의 메시지를 원하지 않는 경우 메시지 답장을 받는 방법)에 대한 지침은 여기에서 찾을 수 있습니다.

http://vger.kernel.org/lkml/#s3

귀하가 제공한 세부 정보 수준은 훌륭하고 버그 보고서에 매우 유용합니다. 하지만 더 많은 정보가 필요하더라도 놀라지 마십시오.

답변2

다음은 이 주제에 대한 업데이트입니다.

2024년 초 현재, 2006년 이후 Apple의 iMac 제품군에 관한 주요 질문은 모두 해결되었다고 할 수 있습니다.R300Mesa Radeon 드라이버가 해결되었습니다. 5,1을 실행하는 iMac 모델에서 이를 확인할 수 있습니다.루반투 22.04 LTS X11을 사용할 때. 더 좋은 점은 실제로 이러한 Apple 모델의 기본 EFI 모드에서 MX Linux(!)와 같은 32비트 Linux를 실행할 수 있다는 것입니다. 예를 들어, CSM "Bios Emulation"(일명 "Boot Camp")에서 표준 ATA에 의해 제한되는 SSD/HDD의 속도가 향상됩니다.

R300 드라이버 자체에 심각한 결함이 있는 것으로 밝혀졌습니다. R500급 하드웨어의 경우 특히 그렇습니다. 그러나 오픈 소스 커뮤니티, 특히 "레트로 하드웨어"에 관심이 있는 매우 숙련된 두 사람 덕분에 대부분의 R300 버그가 수정되었습니다. 더욱이 몇 가지 유용한 새 기능과 최적화가 도입되었습니다. 예를 들어 가까운 시일 내에 R500 하드웨어에서 Ga9를 통해 기본 D3D9 지원을 볼 수도 있습니다. ;-)

간단히 말해서: 저는 iMac 5,1부터 Kubuntu 20.04 LTS를 사용하고 있습니다. 그러나 몇 가지 결함으로 인해 export KWIN_COMPOSE=O2ES .sudo nano /etc/profile.d/kwin.sh

그러나 오래된 하드웨어에는 권장되지만, 적어도 22.0 이후의 Mesa 릴리스에서는 더 이상 필요하지 않을 것으로 보입니다. 현재 저는 다음을 통해 Mesa 24.1 devel을 설치하고 있습니다.오바프 PPA.

현재 유일한 문제는 높은 GPU 온도입니다. 어떤 이유로든 Lubuntu의 온도는 73°C 이상으로 상승한 반면 Mac OS에서는 약 65°C를 유지했습니다. 일부 추가 조사 결과에 해당하는 것으로 나타났습니다.절전 기능 좋아요를 power_method누르고 power_profile노출되지 마세요. 이것은 (최근) 컴백일 수 있습니다.

지금은 여기까지입니다. 다음으로 흥미로운 새 기능은 완전한 하드웨어 가속 지원입니다.매력R400 및 R500 하드웨어. ;-)

편집하다: 모드 설정 기능이 활성화된 경우 일부 해상도에서 여전히 문제가 발생합니다. "Glamour" 2D 가속을 강제할 때도 마찬가지입니다(Xwayland를 적극 권장합니다). 자세한 내용은 다음에서 확인할 수 있습니다.메사 이슈 2780.

편집하다: 2024년 3월 중순부터 글래머가 운영되고 있습니다.메사 MR 28209R500 하드웨어에서는 정확합니다. 이제 여기에 설명된 오랜 문제를 효과적으로 해결했습니다. 이는 "ati" 및 "radeon" X11 드라이버에도 해당됩니다. 일반 "모드 설정"은 여전히 ​​다른 버그의 영향을 받는 것 같습니다.

관련 정보