我试图为 20 英寸 2006 iMac 4.1 赋予一个有意义的用途,但由于一个奇怪的 Xorg 问题而陷入困境。尝试过FreeBSD 13.0 发行版/amd64和PrimaryOS 6.0 奥丁作为最新的系统及其各自的奥格包。使用拉顿司机(仅在 Linux 下,因为该驱动程序在 FreeBSD 下不存在,也不能作为单独的包或在 ports 中提供)似乎提供了正确的图形模式与内置液晶屏的原始分辨率。窗口、图标、面板看起来都很好,但背景图片(或者一般的桌面背景,即使是纯色)显示破碎的文物。
它的特点是只有背景绘制有缺陷,任何 GUI 对象看起来都很好,包括半透明窗口、菜单栏、图标等
。模式设置驱动程序似乎无法正确渲染图形屏幕,整个显示屏都用偏移的线条绘制。
作为模式设置驱动程序存在(并且行为方式完全相同)在 FreeBSD 和 Linux 上(谈论 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文件。由于图形屏幕在这台计算机的预期下运行良好(并且已过时,不再支持)操作系统Mac OS X 10.6雪豹,看起来很好Windows 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 的原始分辨率似乎永远无法使用模式设置司机。甚至没有模型行从 EDID 读取,这是 Windows 10、Mac OS X 和拉顿Xorg驱动在Linux下使用成功。
还有趣的是“1664x1040”和“1696x1060”模式完美运行,提供漂亮、无闪烁、稳定的显示效果。这些分辨率比原始 1680x1050 更小、更大,同时保持 16:10 的宽高比。令我惊讶的是,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
来自 FreeBSD 和 Linux 的 Xorg.0.log,使用 radeon 或模式设置驱动程序,都没有显示任何错误。就 Xorg 而言,一切运行良好。问题是我的人眼看到了我无法处理的东西(如上面的第三张图所示)。
xrandr --verbose (radeon/Linux)
xrandr --verbose(模式设置/FreeBSD)
Xorg.0.log (radeon/Linux)
Xorg.0.log(模式设置/Linux)
因为我无法让本机 1680x1050 使用模式设置(在 FreeBSD 和 Linux 下以同样的方式失败),而已知相同的设置可以在 Windows 10 和 Mac OS X 下使用专有的 ATI 驱动程序以及开源 radeon 驱动程序在Linux下,我的结论是模式设置驱动程序(或radeonkms模块)可能有问题。
您对如何尝试以使本机分辨率与模式设置驱动程序一起工作有什么建议吗?
或者,向模式设置驱动程序的开发人员报告此问题的正确渠道是什么(或 radeonkms 模块)?
答案1
不幸的是,我只能回答你的替代问题。报告此错误的正确渠道是 Linux 内核邮件列表。有关如何发送消息、正确礼仪以及如何订阅(如果您不希望订阅带来的大量信息,则可以获取消息回复)的说明可以在此处找到:
http://vger.kernel.org/lkml/#s3
您提供的详细程度非常好,对于错误报告非常有帮助,但如果他们需要更多信息,请不要感到惊讶。
答案2
以下是该主题的更新。
截至 2024 年初,可以说,自 2006 年以来有关 Apple iMac 系列的所有主要问题都已解决。R300Mesa Radeon 驱动程序已解决。我可以在运行的 iMac 5,1 型号上确认这一点鲁班图 22.04 LTS 当使用X11时。更好的是,实际上可以在这些 Apple 型号上以本机 EFI 模式运行 32 位 Linux,例如 MX Linux(!)。例如,这将提高 SSD/硬盘的速度,该速度在 CSM“Bios 仿真”又名“Boot Camp”下受到标准 ATA 的限制。
事实证明,R300 驱动程序本身就存在很大缺陷。对于 R500 级硬件尤其如此。但是,感谢开源社区,特别是两个非常熟练且对“复古硬件”感兴趣的人,大多数 R300 错误都得到了修复。更好的是,引入了一些有用的新功能和优化。例如,在不久的将来我们可能会在 R500 硬件上看到甚至通过九号镓支持原生 D3D9。 ;-)
长话短说:我从 iMac 5,1 开始使用 Kubuntu 20.04 LTS。但是,由于存在一些缺陷,我必须在 KWin 中通过export KWIN_COMPOSE=O2ES
添加sudo nano /etc/profile.d/kwin.sh
.这使得 KDE 完全可用。
然而,虽然推荐用于旧硬件,但看起来,至少在 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 月中旬以来,Glamour 的运作得益于梅萨 MR 28209在 R500 硬件上正确。所以现在这已经有效地解决了这里描述的长期存在的问题。请注意,对于“ati”和“radeon”X11 驱动程序来说也是如此。通用的“模式设置”似乎仍然受到其他一些缺陷的影响。