akatrevorjay / edid-generator

Hackerswork to generate an EDID blob from given Xorg Modelines, complete with valid checksum.
GNU General Public License v3.0
214 stars 50 forks source link

No support for interlacing #2

Open Ketorin opened 7 years ago

Ketorin commented 7 years ago

Would it be a lot of work if support for interlaced modes was added?

Some people would need it, I would need it. (CRT projector, 1080 lines interlaced.)

Meanwhile, I'm studying your work and alternative ways to spoof the EDID.

akatrevorjay commented 7 years ago

Ah, yeah, interlaced should be supported as is, what modeline are you handing it? Ty, Trevor

substring commented 5 years ago

Hi,

sorry to necro this issue, but I have a fix ! First apply this patch :

diff --git a/edid.S b/edid.S
index ef082dc..d1adf9e 100644
--- a/edid.S
+++ b/edid.S
@@ -237,7 +237,7 @@ y_border:   .byte   0
    Bit 1       If analog sync: Sync on all 3 RGB lines (else green only)
    Digital: HSync polarity (1=positive)
    Bit 0       2-way line-interleaved stereo, if bits 4-3 are not 00. */
-features:      .byte   0x18+(VSYNC_POL<<2)+(HSYNC_POL<<1)
+features:      .byte   FEATURES+(VSYNC_POL<<2)+(HSYNC_POL<<1)

 descriptor2:   .byte   0,0     /* Not a detailed timing descriptor */
                .byte   0       /* Must be zero */

This allows to use a #define FEATURES inside your .S like:

#define FEATURES 0x18 | 1<<7

See how I've enabled the interlace bit (number 7) for the features byte with 1<<7. I'm not sure how the sync bits (the 0x18) work, they could have stayed in the edid.S rather than in my own edid .S

I can submit a PR if you wish.

STPKITT commented 8 months ago

Please could this patch be integrated? Without interlace support people trying to use this great tool for interlaced monitors/TVs are stuck.

akatrevorjay commented 8 months ago

@STPKITT @substring Want to put up a patch? I'm happy to accept this if you can wire it up as an option to declare this

substring commented 8 months ago

Oh God that was aeons ago ... May have a look at it eventually, but it would be best to add a commandline parameter to ask for an interlaced resolution. Just applying the change like this would make all resolutions interlaced, and we don't want that