Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
X not see CRT monitor EDID info from vga ports [WORK AROUND]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
dufeu
l33t
l33t


Joined: 30 Aug 2002
Posts: 909
Location: US-FL-EST

PostPosted: Thu Mar 22, 2012 3:22 pm    Post subject: X not see CRT monitor EDID info from vga ports [WORK AROUND] Reply with quote

On our house server, I have an old Dell Trinitron CRT monitor capable of 1920x1440 resolution. I only use this monitor occasionally since I usually administer the server using 'ssh'.

I hopped directly on the server recently and discovered that X appears to no longer recognizes the capabilities of the monitor. I previously had no problems with this.

We normally use KDE. For my mother's log in, the retained setting was for 1280x1024. For my login, the retained setting was 1600x1200.

Now, the max res available is 1024x768. i.e. Only the default fallback settings appear to be available.

I went back and re-read Gentoo's The X Server Configuration HOWTO.
Great! Marvelous! Fabuloso! Magnifique! Things sure are different back from when I was still using Xfree86.

I even get that X is normally supposed to figure everything out on it's own right out of the box. This is no longer happening.

The first problem is that I don't have (on any of my systems}:
Code:
/etc/X11/xorg.conf.d/

This directory is apparently not (or no longer) installed by default (if it ever was). Should I create this directory manually? Is there a configuration command I should run instead? Is the Guide outdated and do I need to do something different? Is there something I can run which will create the needed .conf fragment for me?

I don't mind doing all this manually, but ..

I ask because I'd rather set things up as per recommended. I'm reading again (and re-reading again) the man page for xorg.conf. But it's a bit dense and I'd appreciate some guidance.
_________________
People whom think M$ is mediocre, don't know the half of it.


Last edited by dufeu on Fri Mar 23, 2012 4:46 am; edited 1 time in total
Back to top
View user's profile Send private message
gorkypl
Guru
Guru


Joined: 04 Oct 2010
Posts: 444
Location: Kraków, PL

PostPosted: Thu Mar 22, 2012 4:16 pm    Post subject: Reply with quote

You should create the directory manually and then manually create relevant files inside. You can also put all options in /etc/X11/xorg.conf file (the traditional way).
The advantage of the directory is that you can split configs - for example to have separate config file for keyboard settings and separate one for monitor settings.

You have not specified the video card you have, which may be important if you use closed drivers for example.
For informational purposes I paste contents of xorg.conf.d for my mother's computer with a CRT monitor, but see comments below.

/etc/X11/xorg.conf.d/40-monitor.conf
Code:

Section "Monitor"
   Identifier   "NEC FE770"
#   Option      "PrefferedMode"   "1024x768"
#   Option      "VertRefresh"   "85Hz"
EndSection


/etc/X11/xorg.conf.d/50-gfx.conf
Code:

Section "Device"
   Identifier   "Intel i810"
   Driver      "intel"
EndSection


/etc/X11/xorg.conf.d/60-screen.conf
Code:

Section "Screen"
   Identifier  "Default screen"
   Device      "Intel i810"
   DefaultDepth 24
   SubSection "Display"
      Virtual 1024 768
   EndSubSection
EndSection


/etc/X11/xorg.conf.d/90-keyboard.conf
Code:

Section "InputClass"
   Identifier   "Keyboard Defaults"
   MatchIsKeyboard   "yes"
   Option      "XkbModel"   "pc104"
   Option      "XkbLayout"   "pl"
   Option      "XkbOptions"   "terminate:ctrl_alt_bksp"
EndSection

As I have written above, you do not need to separate the config - you can still put it all in /etc/X11/xorg.conf

IMPORTANT NOTE
According to the standards, the monitor resolution should have been set not in screen config with the SubSection "Display" virtual resolution, but with PreferredMode in monitor section. Unfortunately, while it works perfectly with LCD screens, the old CRT was not reacting to this setting.

Also keep in mind that not all settings are needed nowadays - you should be able to start X without any config file, and use it only to tweak the defaults.
Back to top
View user's profile Send private message
dufeu
l33t
l33t


Joined: 30 Aug 2002
Posts: 909
Location: US-FL-EST

PostPosted: Thu Mar 22, 2012 7:58 pm    Post subject: Reply with quote

gorkypl wrote:
You should create the directory manually and then manually create relevant files inside. You can also ..

First of all, thanks for your reply. It was helpful in that I was able to make further sense of things.

Pertinent info:
  • 04:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV370 5B60 [Radeon X300 (PCIE)]
    04:00.1 Display controller: Advanced Micro Devices [AMD] nee ATI RV370 [Radeon X300SE]

  • >>> Emerging (1 of 4) x11-drivers/radeon-ucode-20110531
    >>> Installing (1 of 4) x11-drivers/radeon-ucode-20110531
    >>> Emerging (2 of 4) x11-drivers/xf86-video-ati-6.14.3-r1
    >>> Installing (2 of 4) x11-drivers/xf86-video-ati-6.14.3-r1
    >>> Emerging (3 of 4) x11-drivers/xf86-input-wacom-0.13.0
    >>> Installing (3 of 4) x11-drivers/xf86-input-wacom-0.13.0
    >>> Emerging (4 of 4) x11-drivers/xf86-input-evdev-2.7.0
    >>> Installing (4 of 4) x11-drivers/xf86-input-evdev-2.7.0

  • Linux slizard 3.2.11 #4 SMP PREEMPT Thu Mar 22 07:10:34 EDT 2012 x86_64 AMD Opteron(tm) Processor 242 AuthenticAMD GNU/Linux

This is more of a status update than anything else as I still can't get the results I'm looking for. Also, I'm beginning to think this is a kernel issue rather than an X windows or driver issue. This is how things are at the moment:
  1. I installed package 'read-edid' and ran it with the following results:
    Code:
    # get-edid | parse-edid
    get-edid: get-edid version 2.0.0

            Performing real mode VBE call
            Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
            Function supported
            Call successful

            VBE version 200
            VBE string at 0x11100 "ATI RV370"

    VBE/DDC service about to be called
            Report DDC capabilities

            Performing real mode VBE call
            Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
    parse-edid: parse-edid version 2.0.0
            Function supported
            Call successful

            Monitor and video card combination does not support DDC1 transfers
            Monitor and video card combination does not support DDC2 transfers
            0 seconds per 128 byte EDID block transfer
            Screen is not blanked during DDC transfer

    Reading next EDID block

    VBE/DDC service about to be called
            Read EDID

            Performing real mode VBE call
            Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
            Function supported
            Call failed

    The EDID data should not be trusted as the VBE call failed
    EDID claims 19 more blocks left
    EDID blocks left is wrong.
    Your EDID is probably invalid.
    parse-edid: EDID checksum failed - data is corrupt. Continuing anyway.
    parse-edid: first bytes don't match EDID version 1 header
    parse-edid: do not trust output (if any).

            # EDID version 19 revision 19
    Section "Monitor"
            Identifier "DXS:1313"
            VendorName "DXS"
            ModelName "DXS:1313"
            # DPMS capabilities: Active off:no  Suspend:no  Standby:no

            Mode    "275x275"       # vfreq 43.295Hz, hfreq 45.979kHz
                    DotClock        48.830000
                    HTimings        275 294 313 1062
                    VTimings        275 276 327 1062
            EndMode
            Mode    "275x275"       # vfreq 43.295Hz, hfreq 45.979kHz
                    DotClock        48.830000
                    HTimings        275 294 313 1062
                    VTimings        275 276 327 1062
            EndMode
            Mode    "275x275"       # vfreq 43.295Hz, hfreq 45.979kHz
                    DotClock        48.830000
                    HTimings        275 294 313 1062
                    VTimings        275 276 327 1062
            EndMode
            Mode    "275x275"       # vfreq 43.295Hz, hfreq 45.979kHz
                    DotClock        48.830000
                    HTimings        275 294 313 1062
                    VTimings        275 276 327 1062
            EndMode
    EndSection
    I believe this means that the kernel isn't processing the EDID query correctly. While radeon driver recognizes the RV370 {X300} chip and therefore loads itself, the EDID information comes back as garbage. This appears to result in X-windows dropping down to programed defaults.

  2. These are the xorg.conf fragments I'm testing:
    Code:
    # cat 43-device.conf
    Section "Device"
            Identifier      "Radeon X300"
            Driver          "radeon"
            Option          "VGA-0" "Trinitron"
    EndSection

    Code:
    # cat 45-monitor.conf
    Section "Monitor"
            Identifier "Trinitron"
    #       Option "PreferredMode" "1280x1024"
    EndSection

    Code:
    # cat 47-modes.conf
    Section "Modes"

            Identifier "Modes"

    #       1920x1440 @ 60Hz,  89.16 kHz hsync
            Mode "1920x1440"
                    DotClock  235.38
                    HTimings  1920 1984 2224 2640
                    VTimings  1440 1444 1448 1486
            EndMode
     
     
    #       1920x1200 @ 60Hz,  74.34 kHz hsync
            Mode "1920x1200"
                    DotClock  184.36
                    HTimings  1920 1968 2152 2480
                    VTimings  1200 1204 1208 1239
            EndMode

     
    #       1600x1200 @ 70Hz,  87.15 kHz hsync
            Mode "1600x1200"
                    DotClock  189.64
                    HTimings  1600 1648 1840 2176
                    VTimings  1200 1204 1208 1245
            EndMode

    #       1280x1024 @ 70Hz,  74.41 kHz hsync
            Mode "1280x1024"
                    DotClock  123.22
                    HTimings  1280 1312 1440 1656
                    VTimings  1024 1028 1032 1063
            EndMode
     
    #       1024x768 @ 85Hz,  68.25 kHz hsync
            Mode "1024x768"
                    DotClock  88.46
                    HTimings  1024 1048 1136 1296
                    VTimings  768 771 774 803
            EndMode


    #       Modeline "1920x1440" "235.38 1920 1984 2224 2640 1440 1444 1448 1486"
    #       Modeline "1920x1200" "184.36 1920 1968 2152 2480 1200 1204 1208 1239"
    #       Modeline "1600x1200" "189.64 1600 1648 1840 2176 1200 1204 1208 1245"
    #       Modeline "1280x1024" "123.22 1280 1312 1440 1656 1024 1028 1032 1063"
    #       Modeline "1024x768"   "88.46 1024 1048 1136 1296 768 771 774 803"

    EndSection
    So far, I haven't successfully been able to get use a custom "Mode". The calculations were derived from: The XFree86 Calculator.

  3. In the X windows log, when the radeon chipsets are listed, my chipset is apparently not there. I don't know:

    1. If my GPU was previously covered under a different {less strict} GPU identifier.
    2. If my GPU identifier has simply gone missing.
    3. If my GPU identifier has been pulled out of the kernel's internal "blobs" and moved to the /lib/firmware/ external blobs.

    I'm doing some testing of some possible kernel settings changes.

  4. Reminder to anyone reading this. On this system, the collection of EDID info and proper setting of CRT resolution was previously working perfectly .. with no additions to default settings/configurations.

I'm open to any suggestions! Working at 1024x768 on the house server really, really .. :(
_________________
People whom think M$ is mediocre, don't know the half of it.
Back to top
View user's profile Send private message
gorkypl
Guru
Guru


Joined: 04 Oct 2010
Posts: 444
Location: Kraków, PL

PostPosted: Thu Mar 22, 2012 9:21 pm    Post subject: Reply with quote

Three random thoughts, that may or may not be relevant:
1) You know that emerging radeon-ucode is not enough? You need to put proper firmware path in the kernel afterwards. Also I am not sure if this model needs firmware to run - you need to check it, but AFAIK it was not necessary.
2) Have you tried this 'unelegant' setting of 'Virtual' in the 'Screen' scection?
3) I remember I recently have seen a thread where somebody reported broken EDID from a CRT monitor - I cannot find it now, but try googling. It was in recent week or two I suppose.
Back to top
View user's profile Send private message
dufeu
l33t
l33t


Joined: 30 Aug 2002
Posts: 909
Location: US-FL-EST

PostPosted: Fri Mar 23, 2012 4:04 am    Post subject: Reply with quote

gorkypl wrote:
Three random thoughts, that may or may not be relevant:
1) You know that emerging radeon-ucode is not enough? You need to put proper firmware path in the kernel afterwards. Also I am not sure if this model needs firmware to run - you need to check it, but AFAIK it was not necessary.
2) Have you tried this 'unelegant' setting of 'Virtual' in the 'Screen' scection?
3) I remember I recently have seen a thread where somebody reported broken EDID from a CRT monitor - I cannot find it now, but try googling. It was in recent week or two I suppose.

  1. Yep. Knew that. I have several systems that require different specific Radeon blobs. This particular system did not require one in the past since the GPU in question is prettyold (pre R400). Up until a certain point, Linus was accepting binary blobs in the main tree and the blob for this chip was part of that internal set. Apparently no longer. Or something.
  2. Nope - I don't understand what you're suggesting. Could you give me an example?
  3. Didn't think of googling for that. Will do some more research.

For what it's worth on loading the radeon driver, the X windows log reports the following supported chips:
Code:
 [   103.103] (II) RADEON: Driver for ATI Radeon chipsets:
        ATI Radeon Mobility X600 (M24) 3150 (PCIE), ATI FireMV 2400 (PCI),
        ATI Radeon Mobility X300 (M24) 3152 (PCIE),
        ATI FireGL M24 GL 3154 (PCIE), ATI FireMV 2400 3155 (PCI),
        ATI Radeon X600 (RV380) 3E50 (PCIE),
        ATI FireGL V3200 (RV380) 3E54 (PCIE), ATI Radeon IGP320 (A3) 4136,
        ATI Radeon IGP330/340/350 (A4) 4137, ATI Radeon 9500 AD (AGP),
        ATI Radeon 9500 AE (AGP), ATI Radeon 9600TX AF (AGP),
        ATI FireGL Z1 AG (AGP), ATI Radeon 9800SE AH (AGP),
        ATI Radeon 9800 AI (AGP), ATI Radeon 9800 AJ (AGP),
        ATI FireGL X2 AK (AGP), ATI Radeon 9600 AP (AGP),
        ATI Radeon 9600SE AQ (AGP), ATI Radeon 9600XT AR (AGP),
        ATI Radeon 9600 AS (AGP), ATI FireGL T2 AT (AGP), ATI Radeon 9650,
        ATI FireGL RV360 AV (AGP), ATI Radeon 7000 IGP (A4+) 4237,
        ATI Radeon 8500 AIW BB (AGP), ATI Radeon IGP320M (U1) 4336,
        ATI Radeon IGP330M/340M/350M (U2) 4337,
        ATI Radeon Mobility 7000 IGP 4437, ATI Radeon 9000/PRO If (AGP/PCI),
        ATI Radeon 9000 Ig (AGP/PCI), ATI Radeon X800 (R420) JH (AGP),
        ATI Radeon X800PRO (R420) JI (AGP),
        ATI Radeon X800SE (R420) JJ (AGP), ATI Radeon X800 (R420) JK (AGP),
        ATI Radeon X800 (R420) JL (AGP), ATI FireGL X3 (R420) JM (AGP),
        ATI Radeon Mobility 9800 (M18) JN (AGP),
        ATI Radeon X800 SE (R420) (AGP), ATI Radeon X800XT (R420) JP (AGP),
        ATI Radeon X800 VE (R420) JT (AGP), ATI Radeon X850 (R480) (AGP),
        ATI Radeon X850 XT (R480) (AGP), ATI Radeon X850 SE (R480) (AGP),
        ATI Radeon X850 PRO (R480) (AGP), ATI Radeon X850 XT PE (R480) (AGP),
        ATI Radeon Mobility M7 LW (AGP),
        ATI Mobility FireGL 7800 M7 LX (AGP),
..
While the Mobility X300 is listed, the X300SE card version is not.

I plan on booting with a rescue CD where I can get higher resolution and see what the X window log there reports.

If anyone has further suggestions, I'm still interested.
_________________
People whom think M$ is mediocre, don't know the half of it.
Back to top
View user's profile Send private message
dufeu
l33t
l33t


Joined: 30 Aug 2002
Posts: 909
Location: US-FL-EST

PostPosted: Fri Mar 23, 2012 4:43 am    Post subject: Reply with quote

OK! Problem identified and work arounds are possible.

If you google on:
Code:
broken EDID from crt
there will be a number of posts where people have problems. The gist of these problems would seem to be centered around getting EDID info from vga based connectors.

While CRTs seem to be more effected, I'd suggest that this is because nearly all CRTs have vga ports. My sense from reading various of these posts is that it's more a matter of the motherboard's built in vga connectors or the vga connectors on the installed graphics cards. Moreover, the problem appears not to be restricted to nVidia or AMD/ATI.

My graphics card has one each a DVI and vga connector and is capable of driving two display devices. I grabbed a DVI to vga adaptor, pulled the vga cable from the vga display port on the card and plugged it into the adaptor which I then plugged into the DVI port.

Problem worked around. This is the results from 'read-edid' where the only difference is which port I'm plugged into on my graphics card:
Code:
# get-edid | parse-edid
parse-edid: parse-edid version 2.0.0
get-edid: get-edid version 2.0.0

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
        Function supported
        Call successful

        VBE version 200
        VBE string at 0x11100 "ATI RV370"

VBE/DDC service about to be called
        Report DDC capabilities

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
        Function supported
        Call successful

        Monitor and video card combination does not support DDC1 transfers
        Monitor and video card combination supports DDC2 transfers
        0 seconds per 128 byte EDID block transfer
        Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
        Read EDID

        Performing real mode VBE call
        Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
        Function supported
        Call successful

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 "DELL P992"
        VendorName "DEL"
        ModelName "DELL P992"
        # Block type: 2:0 3:fd
        HorizSync 30-107
        VertRefresh 48-170
        # Max dot clock (video bandwidth) 240 MHz
        # Block type: 2:0 3:fc
        # Block type: 2:0 3:ff
        # DPMS capabilities: Active off:yes  Suspend:no  Standby:no

        Mode    "1024x768"      # vfreq 84.997Hz, hfreq 68.677kHz
                DotClock        94.500000
                HTimings        1024 1072 1168 1376
                VTimings        768 769 772 808
                Flags   "+HSync" "+VSync"
        EndMode
        # Block type: 2:0 3:fd
        # Block type: 2:0 3:fc
        # Block type: 2:0 3:ff
EndSection

Same computer. Same graphics card. Same cable. Just added adapter and chnaged connectors.

In my opinion, this is probably a kernel issue.
_________________
People whom think M$ is mediocre, don't know the half of it.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum