commit 819060d54b19321f7f9f213e90c1b8d3dc87a45e
Author: zrj <[email protected]>
Date:   Fri Nov 20 13:59:41 2015 +0200

    drm: Implement simple broken EDID override by loading firmware (v16)
    
    Main differences between this variant and its gpl analogue:
      * permissive license;
      * no builtin generic EDID data blocks;
    
    Generic EDID firmware can be used from new dports/sysutils/devedid-data 
port.
    Still it is better to use monitor specific EDID block, either by modifying
    generic variants or repairing dumped one or even better extracting from
    working identical monitor if it is available (look for hex dump in 
Xorg.0.log).
    
    Make sure that used fw.bin at least has correct resolutions and valid 
checksum.
    This can be done with sysutils/edid-decode utility.
    
    Tested with broken lcd panel returning corrupted EDID block on dvi port:
      * radeonkms R7 240, dvi and dvi2hdmi cable adapter
        echo 'drm.edid_firmware="DVI-D-1:edidfw_repaired"' >> /boot/loader.conf
    
      * i915 Haswell i7-4712MQ laptop, dvi2hdmi cable adapter
        echo 'drm.edid_firmware="HDMI-A-1:edidfw_1920x1080"' >> 
/boot/loader.conf
        echo 'drm.video.hdmia1="e"  # force enable on i915' >> /boot/loader.conf
    
    While here, document tunables: drm.video.<connector> and new 
drm.edid_firmware.

Summary of changes:
 share/man/man4/drm.4                   |  52 ++++++++++
 sys/conf/files                         |   1 +
 sys/dev/drm/drm/Makefile               |   1 +
 sys/dev/drm/drm_edid_load.c            | 170 +++++++++++++++++++++++++++++++++
 sys/dev/drm/include/drm/drm_os_linux.h |   3 +
 5 files changed, 227 insertions(+)
 create mode 100644 sys/dev/drm/drm_edid_load.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/819060d54b19321f7f9f213e90c1b8d3dc87a45e


-- 
DragonFly BSD source repository

Reply via email to