Documentation\EDID\HOWTO

Chinese translated version of Documentation\EDID\HOWTO

If you have any comment or update to the content, please contact the
original document maintainer directly.  However, if you have a problem
communicating in English you can also ask the Chinese maintainer for
help.  Contact the Chinese maintainer if this translation is outdated
or if there is a problem with the translation.

Chinese maintainer: 赵晶  anana53@qq.com
---------------------------------------------------------------------
Documentation\EDID\HOWTO 的中文翻译

如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
译存在问题,请联系中文版维护者。

中文版维护者: 赵晶  anana53@qq.com
中文版翻译者: 赵晶  anana53@qq.com
中文版校译者: 赵晶  anana53@qq.com

以下为正文
---------------------------------------------------------------------
In the good old days when graphics parameters were configured explicitly
in a file called xorg.conf, even broken hardware could be managed.

Today, with the advent of Kernel Mode Setting, a graphics board is
either correctly working because all components follow the standards -
or the computer is unusable, because the screen remains dark after
booting or it displays the wrong area. Cases when this happens are:
- The graphics board does not recognize the monitor.
- The graphics board is unable to detect any EDID data.
- The graphics board incorrectly forwards EDID data to the driver.
- The monitor sends no or bogus EDID data.
- A KVM sends its own EDID data instead of querying the connected monitor.
Adding the kernel parameter "nomodeset" helps in most cases, but causes
restrictions later on.

在过去的好时光里,当图形参数进行配置,显示
在一个名为xorg.conf的文件中,甚至坏的硬件也可以管理。
今天,随着内核模式设置的到来,绘图板
要么因为所有组件遵循的标准而正确的工作
要么因为屏幕在启动或显示错误的地方之后仍然黑屏
而使计算机无法使用。当这种情况发生:
-图形板无法识别监控。
-图形板是无法检测到任何的EDID数据。
-图形板错误地转发EDID数据到驱动程序中。
-显示器发送没有或伪造的EDID数据。
- KVM发送自己的EDID数据而不查询连接的监控。
加入核参数”nomodeset”有助于大多数情况,但原因
约束在以后。

As a remedy for such situations, the kernel configuration item
CONFIG_DRM_LOAD_EDID_FIRMWARE was introduced. It allows to provide an
individually prepared or corrected EDID data set in the /lib/firmware
directory from where it is loaded via the firmware interface. The code
(see drivers/gpu/drm/drm_edid_load.c) contains built-in data sets for
commonly used screen resolutions (1024x768, 1280x1024, 1600x1200,
1680x1050, 1920x1080) as binary blobs, but the kernel source tree does
not contain code to create these data. In order to elucidate the origin
of the built-in binary EDID blobs and to facilitate the creation of
individual data for a specific misbehaving monitor, commented sources
and a Makefile environment are given here.

对于这种情况的补救,内核的配置项
介绍了config_drm_load_edid_firmware。它可以提供一个
分别制备或校正的EDID数据集在/lib/firmware
目录从这里通过固件接口加载。代码
(见 drivers/gpu/drm/drm_edid_load.c)包含内置的数据集
常用的屏幕分辨率为(1024x768,1280x1024,1600x1200,
1680x1050,1920x1080)为二进制,但内核源代码树
不包含创建这些数据的代码。为了阐明内置的
二进制的EDID的二进大物件的起源并方便地创建
对于一个特定的不端行为监控的个别数据,这儿给出了注释
和makefile的环境。

To create binary EDID and C source code files from the existing data
material, simply type "make".

If you want to create your own EDID file, copy the file 1024x768.S,
replace the settings with your own data and add a new target to the
Makefile. Please note that the EDID data structure expects the timing
values in a different way as compared to the standard X11 format.

从现有的数据材料创建二进制EDID和C源代码文件,
只需键入“make”。
如果你想创建自己的EDID文件,复制文件的1024x768.S,
用你自己的数据替换设置,添加一个新的目标到
Makefile。请注意,EDID数据结构预计时间
值标准的X11格式相比,以不同的方式计数。

X11:
HTimings:  hdisp hsyncstart hsyncend htotal
VTimings:  vdisp vsyncstart vsyncend vtotal

EDID:
#define XPIX hdisp
#define XBLANK htotal-hdisp
#define XOFFSET hsyncstart-hdisp
#define XPULSE hsyncend-hsyncstart

#define YPIX vdisp
#define YBLANK vtotal-vdisp
#define YOFFSET (63+(vsyncstart-vdisp))
#define YPULSE (63+(vsyncend-vsyncstart))

The CRC value in the last line
  #define CRC 0x55
also is a bit tricky. After a first version of the binary data set is
created, it must be checked with the "edid-decode" utility which will
most probably complain about a wrong CRC. Fortunately, the utility also
displays the correct CRC which must then be inserted into the source
file. After the make procedure is repeated, the EDID data set is ready
to be used.

在最后一行的CRC值
 #define CRC 0x55
也有点棘手。在第一个版本的二进制数据集
创建的,它必须被最有可能抱怨错误的CRC
的“edid-decode”实用程序选中。幸运的是,它还
显示必须插入源文件的正确的CRC。
在制定程序重复中,EDID数据集准备
好被使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值