You are not logged in.
Pages: 1
Hello,
First of all English is not my native language, I'm sorry for the mistakes. Here is my problem, I have a Asrock minicomputer with Nvidia ION. ArchLinux is installed in it. I can't see anything when I start the X in my LG 37LE5300 TV. It says "No signal". They are connected by a HDMI cable. I did the same connection with other screen and it works perfectly. So I think there is no possible configuration mistake. I'm using Nvidia drivers by the way. Then I did a lot of changes in the xorg.conf file and finally I got something: A resolution of "640x480" if I wrote in Screen Section:
Option "UseEdid" "False"
So I realized that edid is the key. I don't know what is this, but after some readings, I thought it's a kind of communication between computer and screen to make a automagic configuration. In theory, the solution of my problem could be resolved taking to the graphic card a correct EDID, because the graphic card can't read directly from the TV. I have another computer with a Nvidia (other model) and Ubuntu installed. I connected to the TV with a DVI-HDMI cable and it works perfectly. I used the nvidia-settings program to get the edid.bin file. Then I put this file in /etc/X11/edid.bin and I wrote in the xorg.conf in Device Section:
Option "CustomEDID" "DFP-0:/etc/X11/edid.bin"
The result is:
[ 175.756] (WW) NVIDIA(0): The EDID for LG Electronics LG TV (DFP-0) contradicts itself:
[ 175.756] (WW) NVIDIA(0): mode "1920x1080" is specified in the EDID; however, the
[ 175.756] (WW) NVIDIA(0): EDID's valid VertRefresh range (58.000-62.000 Hz) would
[ 175.756] (WW) NVIDIA(0): exclude this mode's VertRefresh (50.0 Hz); ignoring
[ 175.756] (WW) NVIDIA(0): VertRefresh check for mode "1920x1080".
And a wonderful "No signal" message in the TV. I tried somethings like changing to DFP-1, or writing in Screen Section the CustomEDID line, nvidia-beta package, etc. but nothing results. I tried nouveau drivers and I got 1920x1080 resolution but the image wasn't clear and I hadn't acceleration. So I'm very desperate and I haven't more ideas.
If you have, please tell me.
Thanks in advance.
Last edited by unidob (2010-07-23 17:35:25)
Offline
http://sathyasays.com/2008/10/26/how-to … -in-linux/ < editing edid.bin
Have you tried DFP-3 etc.?
Offline
http://sathyasays.com/2008/10/26/how-to … -in-linux/ < editing edid.bin
I think the EDID is correct:
[root@Insomnia alex]# parse-edid /etc/X11/edid.bin
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fd
# Block type: 2:0 3:fc
Identifier "LG TV"
VendorName "GSM"
ModelName "LG TV"
# Block type: 2:0 3:fd
HorizSync 30-83
VertRefresh 58-62
# Max dot clock (video bandwidth) 160 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 "1280x720" # vfreq 60.000Hz, hfreq 45.000kHz
DotClock 74.250000
HTimings 1280 1390 1430 1650
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
# Block type: 2:0 3:fd
# Block type: 2:0 3:fc
EndSection
Have you tried DFP-3 etc.?
Yes, but nothing is happing.
I tried the other computer with Ubuntu and Nvidia and I saw the log. Curiously I found the same log!!
(WW) NVIDIA(0): The EDID for LG TV (DFP-0) contradicts itself: mode
(WW) NVIDIA(0): "1920x1080" is specified in the EDID; however, the EDID's
(WW) NVIDIA(0): valid VertRefresh range (58.000-62.000 Hz) would exclude
(WW) NVIDIA(0): this mode's VertRefresh (50.0 Hz); ignoring VertRefresh
(WW) NVIDIA(0): check for mode "1920x1080".
But in this case it works correctly. I don't know why. Googling I found the same problem with LG TV, some solved and some not, but nothing works to me.
More ideas?
Thank you.
Offline
AFAIK, the EDID contains modelines that say to xorg what specific resolutions at what refresh rates the monitor recommends that xorg uses. The EDID also provides the name of the monitor and what ranges of horizontal and vertical timings it can handle. When you did the parse-edid, it spat out all that information that the monitor provides. Xorg looks at that and takes those modes from the edid (the part between Mode and EndMode in parse-edid's output) and adds those to a pool of available modes. Each of those modes are specific instructions as to the resolution, frequency, etc.
Next, xorg adds in other possible modes to that pool. X comes with a default list of modes that generally might work with screens, and it tosses that list in. If you have custom modelines in your xorg.conf, they also get tossed into the pool. Once the pool of potential modes is made, X trims down the list of possible modes by checking to see if things such as the vertical refresh rate for each mode fits within the range that the monitor allows. This range is either provided by the EDID, or can be provided by the user in xorg.conf if the EDID is missing or broken or something (which you would look up the proper range in the tv's specs and use that). In your case, it looks like the EDID is providing that range, which is good.
In your xorg log, the part where it says there is a contradiction is Xorg saying "the edid told me to add this 1920x1080 mode to the pool, but when I went through the pool to trim down the list, the vertical refresh range that the edid provided me made me take that 1920x1080 mode right out of the pool again".
The reason that you got 640x480 to work is that when you ignored the EDID, X tossed in those default resolutions i mentioned earlier into the pool. And it just happened that the 640x480 resolution had refresh rates that fit what your monitor needed, so it worked.
So that is what the whole edid thing and your error is about... now about fixing it...
I would first suggest checking your TV's user guide to see if they say in the specs what the vertical refresh range is. Just to make sure that the edid is providing the right range there (58 - 62 hz). Basically we want to make sure that what the EDID is providing is in fact the truth. if the edid is lying and the range is actually larger than 58-62 hz, we can tell xorg what the real range is and to ignore just that range in the EDID.
Also, while i was looking at the user guide, i would also see if it has a list of supported modes. for example, my tv manual told me that it supports 1920x1080@60hz, 1280x720@50hz.... and so on. This will be useful because if indeed the vertical refresh range is 58-62 hz, we will need to use that information to make new modes for the pool that will fit within that range.
So I would say check what the tv manual says about those things and we can work from there.
Nai haryuvalyë melwa rë
Offline
AFAIK, the EDID contains modelines that say to xorg what specific resolutions at what refresh rates the monitor recommends that xorg uses. The EDID also provides the name of the monitor and what ranges of horizontal and vertical timings it can handle. When you did the parse-edid, it spat out all that information that the monitor provides. Xorg looks at that and takes those modes from the edid (the part between Mode and EndMode in parse-edid's output) and adds those to a pool of available modes. Each of those modes are specific instructions as to the resolution, frequency, etc.
Next, xorg adds in other possible modes to that pool. X comes with a default list of modes that generally might work with screens, and it tosses that list in. If you have custom modelines in your xorg.conf, they also get tossed into the pool. Once the pool of potential modes is made, X trims down the list of possible modes by checking to see if things such as the vertical refresh rate for each mode fits within the range that the monitor allows. This range is either provided by the EDID, or can be provided by the user in xorg.conf if the EDID is missing or broken or something (which you would look up the proper range in the tv's specs and use that). In your case, it looks like the EDID is providing that range, which is good.
In your xorg log, the part where it says there is a contradiction is Xorg saying "the edid told me to add this 1920x1080 mode to the pool, but when I went through the pool to trim down the list, the vertical refresh range that the edid provided me made me take that 1920x1080 mode right out of the pool again".
The reason that you got 640x480 to work is that when you ignored the EDID, X tossed in those default resolutions i mentioned earlier into the pool. And it just happened that the 640x480 resolution had refresh rates that fit what your monitor needed, so it worked.
So that is what the whole edid thing and your error is about... now about fixing it...
I would first suggest checking your TV's user guide to see if they say in the specs what the vertical refresh range is. Just to make sure that the edid is providing the right range there (58 - 62 hz). Basically we want to make sure that what the EDID is providing is in fact the truth. if the edid is lying and the range is actually larger than 58-62 hz, we can tell xorg what the real range is and to ignore just that range in the EDID.
Also, while i was looking at the user guide, i would also see if it has a list of supported modes. for example, my tv manual told me that it supports 1920x1080@60hz, 1280x720@50hz.... and so on. This will be useful because if indeed the vertical refresh range is 58-62 hz, we will need to use that information to make new modes for the pool that will fit within that range.
So I would say check what the tv manual says about those things and we can work from there.
Now I understand everything. Thank you so much. I wrote 58-62 because I read it in the TV manual. After a lot of forums and guides without any results, I read this:
http://www.cyberwizzard.nl/site/blog-li … tions.html
I wrote my own Modeline and I forced to Xorg to use it. Now I have the 1920x1080 resolution in my TV. My xorg.conf is this:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 256.35 (buildmeister@builder97.nvidia.com) Wed Jun 16 19:15:05 PDT 2010
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 67.5 - 67.5
VertRefresh 60.0
Option "DPMS"
# Option "DPI" "19x23"
# Option "UseEDID" "False"
# ModeLine "1920x1080@60" 148.50 1920 2008 2052 2200 1080 1084 1094 1125 +hsync +vsync Interlace
Option "ModeDebug" "TRUE"
Option "UseEdid" "FALSE"
Option "ExactModeTimingsDVI" "True"
ModeLine "1920x1080" 148.50 1920 2008 2052 2200 1080 1084 1094 1125 +hsync +vsync
Option "ModeValidation" "NoDFPNativeResolutionCheck"
EndSection
Section "Device"
# Option "UseEDIDFreqs" "False"
# Option "ModeValidation" "NoEdidModes"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
# Option "DynamicTwinView" "False"
# Option "FlatPanelProperties" "Scaling = Native"
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
# Option "CustomEDID" "DFP-0:/etc/X11/edid.bin"
# Option "FlatPanelProperties" "Scaling = Native"
# Option "UseEDIDdpi" "False"
# Option "UseEDID" "False"
# SubSection "Display"
# Depth 24
# Modes "nvidia-auto-select"
# EndSubSection
EndSection
Thanks to everyone.
Offline
Glad you got there and learned in the process I picked up what i know after having to do essentially the same thing with a monitor that has missing edid. Don't forget to mark as the thread as [solved] by editing the title of your first post
Nai haryuvalyë melwa rë
Offline
Glad you got there and learned in the process I picked up what i know after having to do essentially the same thing with a monitor that has missing edid. Don't forget to mark as the thread as [solved] by editing the title of your first post
Done. Yes, it took long hours, but finally I got it working!
Offline
Pages: 1