首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写.S文件的EDID和查找值

编写.S文件的EDID和查找值
EN

Unix & Linux用户
提问于 2014-01-16 23:12:57
回答 1查看 865关注 0票数 2

它变得非常烦人,分辨率很差,所以我决定做我的EDID,并把它传递给内核。(我正在为S20A300B创建EDID,三星在其页面中说,这款产品的最佳版本是1600*900)

我创建了一个1600*900.S文件,并试图用我从cvt 1600*900DPI calculator=91.79获得的信息填充它。

但有些价值观我找不到答案。

时钟XY_RATIO XY_RATIO_16_9 ESTABLISHED_TIMINGS_BITS 0x00 HSYNC_POL VSYNC_POL CRC

1600x900.S文件是:

代码语言:javascript
复制
        /*
       1920x1080.S: EDID data set for standard 1920x1080 60 Hz monitor

       Copyright (C) 2012 Carsten Emde <C.Emde@osadl.org>

    */

    /* EDID */
    define VERSION 1
    define REVISION 3

    /* Display */
    /* EDID */
#define VERSION 1
#define REVISION 3

/* Display */
#define CLOCK 60000 /* kHz */
#define XPIX 1600
#define YPIX 900
#define XY_RATIO XY_RATIO_16_9
#define XBLANK 160
#define YBLANK 26
#define XOFFSET 48
#define XPULSE 32
#define YOFFSET (63+3)
#define YPULSE (63+5)
#define DPI 91.79
#define VFREQ 60 /* Hz */
#define TIMING_NAME "Linux FHD"
#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */
#define HSYNC_POL 1
#define VSYNC_POL 1
#define CRC 0x05

#include "edid.S"
EN

回答 1

Unix & Linux用户

发布于 2014-01-17 03:16:01

一次吃这个:

CLOCK是像素时钟。它是在cvt输出的第一行作为pclk给出的。将该值乘以1000,从MHz到kHz。

XY_RATIO是高宽比。1600x900对应于16:9,因此默认值XY_RATIO_16_9是正确的。您可以在edid.S文件的开头找到可能的值。

我认为ESTABLISHED_TIMING_BITS用于指定几种预定义模式之一。我认为在所有情况下都可以作为0x00离开。

HSYNC_POLVSYNC_POL是水平和垂直同步极性。它们也是cvt modeline输出的一部分。第二行的末尾包含类似于+hsync -vsync的内容,它对应于HSYNC_POL 1VSYNC_POL 0。有些监视器可能只支持某些极性,因此您可能需要检查监视器的文档并使用这些值,而不是使用cvt的S。

CRC是EDID数据的校验和。最好的方法是首先输入一个虚拟值并编译源代码,创建一个edid二进制文件。然后将该二进制文件传递给edid-decode,该二进制文件将在接近末尾的时候打印虚拟CRC值,后面跟着应该是什么。然后将源代码中的虚拟值替换为edid-decode建议的值,然后再次编译。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/109693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档