how to use custom EDID in xorg? Dvi to HDMI converter --> samsung 41" tv : EDID checksum invalid,

I am getting these errors:
0.000000] Linux version 2 - Anonymous - wqAwiRWY - Pastebin.com](http://wildnux.pastebin.com/wqAwiRWY)
when I connect my samsung 41" HDTV. I have a dvi output on my Dell inspiron E1705 laptop with Intel 945GM chipset, (1440x900 resolution).

I have dual boot with windows 7, it works fine in windows. I used to display on this tv, while I used opensuse 11.2, but after I upgraded, It does not even show me any option in kde4 systemsettings > display (only LVDS is editable there).

I do not think its the dvi/hdmi conversion or cable’s issue, it is still working good with windows. but if it really is, then I am willing to get the EDID from the tv, and use it in my xorg.conf file, but the problem is I do not see xorg.conf file anymore. :stuck_out_tongue:

I am not sure, but this may work if i find xorg.conf file. What should I do?

Yes, you can create a basic xorg.conf if necessary (with Xorg --configure) and add the relevant custom EDID option.

Thanks deano_ferrari.

I want to try it now, but just to make sure, if anything goes wrong, can I delete the xorg.conf file that is generated by Xorg --configure and revert the system back to its state now?

And also, on the new xorg.conf file, will it be ok if I just add only the settings I want?
What I mean is under “device” section, will that be ok if I don’t have all those entries we used to have in 11.1, and just add just the entry that I need?

I made a typo in my last post, it should have been

Xorg -configure

(Executed as root). By default, it will create a file in /root/xorg.conf.new. You can then check this, and move to /etc/X11/ when happy with it

mv /root/xorg.conf.new /etc/X11/xorg.conf

Have a read of this section of the the openSUSE Graphics guide:

SDB:Configuring graphics cards - openSUSE

And also, on the new xorg.conf file, will it be ok if I just add only the settings I want?

Yes, you can enter only the options you require.

Ok, What I did is I got the EDID extracted from windows, and parsed it it looks like this:


# EDID version 1 revision 3
Section "Monitor"
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:fc
        Identifier "SAMSUNG"
        VendorName "SAM"
        ModelName "SAMSUNG"
        # Block type: 2:0 3:fd
        HorizSync 26-76
        VertRefresh 23-61
        # Max dot clock (video bandwidth) 230 MHz
        # Block type: 2:0 3:fc
        # DPMS capabilities: Active off:no  Suspend:no  Standby:no

        Mode    "1920x1080"     # vfreq 60.000Hz, hfreq 67.500kHz
                DotClock        148.500000
                HTimings        1920 2008 2052 2200
                VTimings        1080 1084 1089 1125
                Flags   "+HSync" "+VSync"
        EndMode
        Mode    "1360x768"      # vfreq 60.015Hz, hfreq 47.712kHz
                DotClock        85.500000
                HTimings        1360 1424 1536 1792
                VTimings        768 771 777 795
                Flags   "+HSync" "+VSync"
        EndMode
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:fc
EndSection

and used this in /etc/X11/xorg.conf.d/50-monitor.conf

then used


Option "monitor-DVI-1" "SAMSUNG"

in 50-device.conf in the same directory, and restarted the computer. It did not work.

Since it was still giving me the EDID erros in /var/log/Xorg.0.log, (the error comes up while booting on the very top if the monitor is attached). I used


Option "UseEDID" "False"

in the 50-screen.conf file, as the guy did here and then restarted. BUt it is still not working. xrandr shows everything else disconnected except for my LVDS (laptop screen).

Now, I tried


Driver "intellegacy"

in 50-device.conf and used “nomodeset” while reboot, it gave me 1024x768 resolution in my laptop (1440x900) but it did gave the same display to the monitor. I can see whatever is in the screen of my laptop in the tv. in 1024x768 resolution. But I could not log in to kde so i commented the “driver intellegacy” line in the conf file.

What should I do? Is there any way I can use my tv as external display without using intellegacy driver?

I’m not sure what EDID options are avaialble for the intel driver, so can’t really offer advice on this. I wonder if the kernel mode setting (KMS) is causing problems for you? Have a read of the release notes concerning this:

openSUSE 11.3 Release Notes

These may be useful re KMS and resolution info:

Intel Extreme Graphics 2 - ThinkWiki

https://wiki.ubuntu.com/X/Troubleshooting/Resolution

What does ‘xrandr’ report (for your external monitor)?

Can you post your /etc/X11/xorg.conf.d/50-monitor.conf contents here?

Sorry I can’t assist more specifically.

Hi… after a long long break, I am trying this again… (i use my computer for my studies, and had a lot of projects this semester. I had to fall back to windows as my linux was messed up a lot, now I am done with the semester, i got the fresh copy of opensuse11.3 - this time with gnome).

Here is the dmesg : 0.000000] Linux version 2.6.34.7-0.5-desktop - Dmesg with edid errors](http://wildnux.pastebin.com/mkAXqBe6)

I tried again. I have the raw edid from the tv, i copied it to /etc/X11/samsung-edid.raw

and added

Option "CustomEDID" "DVI-D-1:/etc/X11/samsung-edid.raw"

in /etc/X11/xorg.conf.d/50-devices.conf file, now the file looks like this:

Section "Device"
  Identifier "Default Device"

  #########################
  # i added these

  Option "IgnoreEDID" "true"


  #Option "CustomEDID" "DFP-0:/etc/X11/samsung-edid.raw"
  Option "CustomEDID" "DVI-D-1:/etc/X11/samsung-edid.raw"

  #Driver "radeon"

  ## Required magic for radeon/radeonhd drivers; output name
  ## (here: "DVI-0") can be figured out via 'xrandr -q'
  #Option "monitor-DVI-0" "Default Monitor"

EndSection

As you can see I tried once with “DFP-0” once and “DVI-D-1” the next time (as it says DVI-D-1 in dmesg. both did not work.

here is my 50-monitor.conf :

Section "Monitor"
  Identifier "Default Monitor"

  ## If your monitor doesn't support DDC you may override the
  ## defaults here
  #HorizSync 28-85
  #VertRefresh 50-100

  ## Add your mode lines here, use e.g the cvt tool

EndSection

and my 50-screen.conf:

Section "Screen"
  Identifier "Default Screen"

  Device "Default Device"

  ## Doesn't help for radeon/radeonhd drivers; use magic in
  ## 50-device.conf instead
  Monitor "Default Monitor"

EndSection


here is the output of “xrandr -q”:

xrandr -q
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 4096 x 4096
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 370mm x 230mm
   1440x900       59.9*+
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
DVI1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)

my xorg.0.log: 22.090] X.Org X Server 1.8.0 Release Date: - Xorg log for edid errors](http://wildnux.pastebin.com/aZzwmZVA)

Please show me some lights. Oh… and I tried “Xorg -configure” to generate a xorg.conf file, it exited with segmentation fault. I do not have the error right now, since i tried it some reboots ago, but it did made a xorg.conf.new file in /root, which looks like this (I did not use it, I figured the xorg.conf.d/* will do the same thing:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules/updates"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/TTF/"
    FontPath     "/usr/share/fonts/OTF/"
    FontPath     "/usr/share/fonts/Type1/"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled"
    FontPath     "/usr/share/fonts/URW/"
    FontPath     "/usr/share/fonts/cyrillic:unscaled"
    FontPath     "/usr/share/fonts/misc/sgi:unscaled"
    FontPath     "/usr/share/fonts/truetype/"
EndSection

Section "Module"
    Load  "dbe"
    Load  "glx"
    Load  "vnc"
    Load  "extmod"
    Load  "dri"
    Load  "record"
    Load  "dri2"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                # <bool>]
        #Option     "SWcursor"               # <bool>]
        #Option     "ColorKey"               # <i>
        #Option     "CacheLines"             # <i>
        #Option     "Dac6Bit"                # <bool>]
        #Option     "DRI"                    # <bool>]
        #Option     "NoDDC"                  # <bool>]
        #Option     "ShowCache"              # <bool>]
        #Option     "XvMCSurfaces"           # <i>
        #Option     "PageFlip"               # <bool>]
    Identifier  "Card0"
    Driver      "intel"
    VendorName  "Intel Corporation"
    BoardName   "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    BusID       "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

I really want to fix this. I just fixed sound problem and i still have a lot to do with this computer. I do not want to go back to windows just to use this. Any pointers or suggestions will help, I will try. :slight_smile:

The intel driver does not support the ‘CustomEDID’ option, and your edid file is not in the correct format anyway. (It needs to be a 128-byte binary file), so remove any lines added to 50-device.conf as they won’t help.

Was the xrandr output generated with your external monitor connected? I would have expected something like

DVI1 connected (normal left inverted right x axis y axis)

yes. it was generated with the external monitor attached. I actually searched for it a lot and turns out to be a kernel (or driver?? ) bug : https://bugzilla.kernel.org/show_bug.cgi?id=15109
Sadly I do not think I can do anything to make it work again except to use windows. :frowning:

Thats disappointing to know.

It might still be possible (no promises though) to disable EDID via DDC with 'Option “NoDDC” “true” (in device section) and define your 2 monitors (LVDS and DVI1) in separate monitor sections. You woud also have to set preferred modes, and add modlines for the native resolution of each display.

See the example for dual displays in this Gentoo Wiki. Note how the device section references the displays by the port they’re connected to? You’ll need to tweak the port names applicable for your system. It may also be necessary to have two screen sections (one for each display) with the appropriate mode (same name as the modelines you added in the monitor section). For example, if you have a modeline like

# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

then mode name is “1920x1080_60.00” and is referenced in screen section like this

Section "Screen"
  Identifier          "screen0"
  Device              "Device0"
  Monitor             "Monitor0"
  DefaultDepth       24
  SubSection "Display"
    Depth           24
    Modes           "1920x1080_60.00"
  EndSubSection

To make things easier, consider using xorg.conf (rather than separate .conf files) while experimenting.

I have been trying to work on this issue from time to time and made some progress along the way. I had to update X11 drivers from the Xorg repo (the ones from the oss do not work).

Although opensuse still gives me errors about EDID, I have created a xorg.conf file with monitor settings so i get a 1920x1080 output on my TV screen when i use :

xrandr --auto --output DVI1  --mode 1920x1080 --right-of LVDS1

But the problem is it treats the TV as primary monitor, and in my laptop, the same screen is shown but it wont fit so only 1440x900 pixels of the whole screen from the topleft is shown. I am near to the solution. please help me figure out how to achieve my primary screen on my LVDS1 display and secondary screen on TV (on the right side of LVDS1).

Here’s the output from xrandr -q:


wildnux@pari:~> xrandr -q
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 4096 x 4096
LVDS1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 370mm x 230mm
   1440x900       59.9*+
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
DVI1 unknown connection 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1920x1080      60.0*+
   1600x1200      60.0  
   1400x1050      60.0  
   1280x1024      60.0  
   1280x960       60.0  
   1360x768       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
TV1 unknown connection (normal left inverted right x axis y axis)
   848x480        30.0 +
   640x480        30.0 +
   1024x768       30.0  
   800x600        30.0  
wildnux@pari:~> 


Here is my Xorg.conf

Section "ServerFlags"
    Option    "DefaultServerLayout"    "Default Layout"
EndSection

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
    # i added the following lines
    Screen        1  "Screen1" RightOf "Screen0"
    Option        "Xinerama" "true"
    
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules/updates"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc:unscaled"
    FontPath     "/usr/share/fonts/TTF/"
    FontPath     "/usr/share/fonts/OTF/"
    FontPath     "/usr/share/fonts/Type1/"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled"
    FontPath     "/usr/share/fonts/URW/"
    FontPath     "/usr/share/fonts/cyrillic:unscaled"
    FontPath     "/usr/share/fonts/misc/sgi:unscaled"
    FontPath     "/usr/share/fonts/truetype/"
EndSection

Section "Module"
    Load  "extmod"
    Load  "vnc"
    Load  "record"
    Load  "dri"
    Load  "dbe"
    Load  "glx"
    Load  "dri2"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "InputClass"
    Identifier "touchpad catchall"
    Driver    "synaptics"
    MatchIsTouchpad    "on"
    MatchDevicePath "/dev/input/event*"
    Option    "HorizScrollDelta"    "0"
    
    # I added these
    Option  "SHMConfig"    "on"
    Option    "TapButton1"    "1"        # 1-finger tap = left mouse click
    Option    "TapButton2"    "3"        # 2-finger tap = right mouse click
    Option    "VertTwoFingerScroll"    "on"    # enable vertical two-finger scrolling
    #Option    "HorizTwoFingerScroll"    "on"
    Option    "PalmDetect"    "on"
    
    
EndSection


Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
    Option       "Position" "0 0"
    Option         "Primary" "True"
EndSection


# I added these below for samsung.
Section "Monitor"
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:fc
        Identifier "SAMSUNG"
        VendorName "SAM"
        ModelName "SAMSUNG"
        # Block type: 2:0 3:fd
        HorizSync 26-76
        VertRefresh 23-61
        # Max dot clock (video bandwidth) 230 MHz
        # Block type: 2:0 3:fc
        # DPMS capabilities: Active off:no  Suspend:no  Standby:no

        Mode    "1920x1080"     # vfreq 60.000Hz, hfreq 67.500kHz
                DotClock        148.500000
                HTimings        1920 2008 2052 2200
                VTimings        1080 1084 1089 1125
                Flags   "+HSync" "+VSync"
        EndMode
        Mode    "1360x768"      # vfreq 60.015Hz, hfreq 47.712kHz
                DotClock        85.500000
                HTimings        1360 1424 1536 1792
                VTimings        768 771 777 795
                Flags   "+HSync" "+VSync"
        EndMode
    
    # shekhar added
    Option "Primary" "False"
    Option "PreferredMode" "1920x1080"
    #Option "Position" "1440 0"
    #Option "RightOf" "Monitor0"
    # shekhar added finish
    
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:fc
EndSection


Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "AccelMethod"            # <str>]
        #Option     "DRI"                    # <bool>]
        #Option     "ColorKey"               # <i>
        #Option     "VideoKey"               # <i>
        #Option     "FallbackDebug"          # <bool>]
        #Option     "Tiling"                 # <bool>]
        #Option     "Shadow"                 # <bool>]
        #Option     "SwapbuffersWait"        # <bool>]
        #Option     "XvMC"                   # <bool>]
        #Option     "XvPreferOverlay"        # <bool>]
        #Option     "DebugFlushBatches"      # <bool>]
        #Option     "DebugFlushCaches"       # <bool>]
        #Option     "DebugWait"              # <bool>]
        #Option     "HotPlug"                # <bool>]

    ##########################################################
    ########  I added these  #################################
    #Option "CustomEDID" "DVI-D-1:/etc/X11/samsung-edid.raw"
    #Option "UseEDID" "false"

    Option "monitor-DVI1" "SAMSUNG"    


    Identifier  "Card0"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
        #added Virtual here
        Virtual       4096 4096
    EndSubSection
EndSection

Section "Screen"
  Identifier "Screen1"
  Device "Card0"
  Monitor "SAMSUNG"

  SubSection "Display"
    Depth 24
    Modes "1920x1080" "1440x900" "1280x1024" "1024x768" "1024x600" "800x600"
    
    #Virtual 3360 1080
    Virtual 4096 4096
   EndSubSection

   #Option "UseEDID" "false"
EndSection

Here is how it looks now:

](http://picpaste.com/2011-02-23_17.56.10-pXu36HJW.jpg)http://picpaste.com/2011-02-23_17.56.10-RsGqbB9a.jpg

you can see there mozilla firefox is occupies almost all of the Laptop’s screen, where infact it is in the middle of the real desktop (as you can see in the TV).

How can i configure it to use dual screen setup with two distinct screens?

But the problem is it treats the TV as primary monitor, and in my laptop, the same screen is shown but it wont fit so only 1440x900 pixels of the whole screen from the topleft is shown. I am near to the solution. please help me figure out how to achieve my primary screen on my LVDS1 display and secondary screen on TV (on the right side of LVDS1).

Try this ‘real-time’ xrandr command

xrandr --output LVDS1 --primary

Does that help? If so, it may well be worth your while to upgrade to KDE4.6. This version has a System Settings >> Display and Monitor section that can be used to persistently set the primary display device, and dual display resolutions, (without xorg.conf required).