LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   New monitor resolution settings get reset (http://www.linuxquestions.org/questions/linux-hardware-18/new-monitor-resolution-settings-get-reset-552438/)

bluethumb 05-08-2007 08:35 PM

New monitor resolution settings get reset
 
We have a computer which has been happily working for a long time with an LCD monitor whose resolution is 1280x1024. A new Viewsonic monitor with 1680x1050 arrived. I updated the settings by using the GUI utility and by editing xorg.conf. When I log out and log in again, something changes xorg.conf to 1400x1050.

Details: It's a Tyan Thunder S2895 motherboard with two Opterons. Lspci describes the video board thus:
02:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)]
02:00.1 Display controller: ATI Technologies Inc RV370 [Radeon X300SE]
I think it has 128 MB of memory.
The operating system is Red Hat Enterprise 4 (X86_64).
Using the program system-config-display I can set the video card to "ATI Radeon X300" and the monitor to "Generic LCD panel 1680x1050".
Then it tells me that I need to log out and log in to restart X.
I can look at xorg.conf and see that the settings are OK. After the log in/out, something has caused the settings in xorg.conf to change.

Could there be insufficient memory? I would have thought 128 MB is quite adequate for anything. What could cause xorg.conf to change?

jschiwal 05-08-2007 10:07 PM

Examine your Xorg log in /var/log/. Search for lines beginning with (EE). It would be that that resolution was rejected for some reason.

Since it is an LCD monitor, you don't want to go above 60Hz. If you have it at 70Hz, bringing it down may enable the video card to handle the bandwith, if that is the cause of the problem.

As a last resort, you could use the gtf program to generate your own modeline:
gtf 1680 1050 60 -x

bluethumb 05-10-2007 12:45 PM

Thanks for the information. The user has banned me from his office until next week, so I have switched to another one with a similar problem. I hope one fix will be good for both.

Hardware:
Dell Opteron 745. Lspci says this about the graphics adapter:
Code:

00:02.0 VGA compatible controller: Intel Corporation 945G/GZ Express Integrated Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation 945G/GZ Express Integrated Graphics Controller (rev 02)

The new monitor is a Viewsonic VG2030m LCD with a native resolution of 1400x1050. Things worked fine with an older 1280x1024 LCD.

The operating system is Scientific Linux 4, a clone of Red Hat Enterprise 4.

The user is getting only 1280x1024, in spite of setting it to 1400x1050.

Here are some portions of xorg.conf generated by system-config-display. It seems to indicate that the high-resolution mode is available.
Code:

Section "Monitor"
        Identifier  "Monitor0"
        VendorName  "Monitor Vendor"
        ModelName    "LCD Panel 1400x1050"
        DisplaySize  380        300
        HorizSync    31.5 - 90.0
        VertRefresh  59.0 - 75.0
        Option      "dpms"
EndSection
<snip>
Section "Screen"
        Identifier "Screen0"
        Device    "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth    24
        SubSection "Display"
                Viewport  0 0
                Depth    16
                Modes    "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
                Modes    "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Things get interesting when I look at /var/log/Xorg.0.log. It's much too long to post here, so I'll try to grab the relevant parts. (Is there a way to attach a file? If so, I haven't found it.)
Code:

<snip>
(--) I810(0): A non-CRT device is attached to pipe A.
        No refresh rate overrides will be attempted.
(--) I810(0): Maximum space available for video modes: 12288 kByte
(II) I810(0): Using detected DDC timings
(II) I810(0):  HorizSync 30-82
(II) I810(0):  VertRefresh 56-76
(WW) I810(0): config file hsync range 31.5-90kHz not within DDC hsync range 30-82kHz
<snip>
*(WW) (1280x1024,Monitor0) mode clock 157.5MHz exceeds DDC maximum 140MHz
Mode: 58 (1280x1024)
<snip>
(II) I810(0): Monitor0: Using hsync range of 30.00-82.00 kHz
(II) I810(0): Monitor0: Using vrefresh range of 56.00-76.00 Hz
(II) I810(0): Not using mode "1400x1050" (no mode of this name)
(II) I810(0): Not using mode "1280x960" (no mode of this name)
(II) I810(0): Not using mode "1152x864" (no mode of this name)
(1400x1050,Monitor0) mode clock 100000MHz exceeds DDC maximum 140MHz
(1280x960,Monitor0) mode clock 100000MHz exceeds DDC maximum 140MHz
(1152x864,Monitor0) mode clock 100000MHz exceeds DDC maximum 140MHz
(II) I810(0): Increasing the scanline pitch to allow tiling mode (1280 -> 2048).
(--) I810(0): Virtual size is 1280x1024 (pitch 2048)
(**) I810(0): *Built-in mode "1280x1024"
(**) I810(0): *Built-in mode "1024x768"
(**) I810(0): *Built-in mode "800x600"
(**) I810(0): *Built-in mode "640x480"
(**) I810(0): Display dimensions: (380, 300) mm
(WW) I810(0): Probed monitor is 410x310 mm, using Displaysize 380x300 mm
(**) I810(0): DPI set to (85, 86)

I thought perhaps I could fix this by adding a ModeLine to xorg.conf. So I added this in the "Monitor" section:
Code:

# 1400x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 122.61 MHz
Modeline "1400x1050"  122.61  1400 1488 1640 1880  1050 1051 1054 1087  -HSync +Vs

It didn't seem to have any effect at all. When the user logged out and in, the new Xorg.0.log had the same errors and the screen resolution is 1280x1024.

bluethumb 05-10-2007 07:18 PM

It's me again, the original poster. I found a program called 915resolution, which is supposed to fix this sort of problem with the Intel chips. There needs to be an entry in the BIOS for any screen resolution to be used. 1400x1050 isn't one of the standard ones.

I use 915resolution to create an entry for 1400x1050. It has to be done after each reboot before the X server starts. I tried /etc/rc.local, /etc/rc and /etc/X11/predfm. None of those seems to be run early enough. Finally I put it in /etc/rc.sysinit, and it runs before the graphical boot stuff starts.

No luck. It still gives the same result.

bluethumb 05-11-2007 06:35 PM

Another update. I discovered that this is a known problem with the driver for Intel graphics chips. It's mentioned in the X.org FAQ. Only VESA standard resolutions included in the BIOS are allowed. There's a program called 915resolution which allows you to kluge the BIOS to allow any resolution you want. I can make an entry for 1400x1050, but it doesn't seem to have any effect. The results look just like before.

jay73 05-11-2007 07:34 PM

What if you adjust monitor size under section "Monitor" - I see you have 380x300 right now, while the log states it should 410x310. You may also have to adjust the refresh rates.

bluethumb 05-14-2007 06:53 PM

Thanks, Jay73. Unfortunately that doesn't seem to have an effect.

I got to go back to the original machine, the one with the Radeon X300 and the
1680*1050 LCD. I have it so close to working, but it's still resisting me.
By putting in a Modeline generated by gtf, I got it to recognize 1680x1050 as a valid resolution. I even changed the pixel timing numbers in the Modeline to agree with the numbers in the Xorg log file. I tweaked the screen size numbers to 474*296 so it comes out to 90dpi on both axes. There are no errors or warnings in the log, so it really seems to think it is putting out 1680x1050.

The display is still wrong. It's stretched horizontally, so that circles become ellipses. When I check the "information" menu, it tells me that it's getting 1679x1049. There's an annoying window that pops up to tell me that it would be happier at 1680x1050. It's so close that I don't see why the display should be distorted.

bluethumb 05-16-2007 04:15 PM

I have made progress! The problem on the Radeon machine was in gconf. When I set the property /desktop/gnome/screen/default/0/resolution to "1680x1050" the problem went away.

That leaves the Intel machine. It doesn't have a "screen" branch in its
gconf hierarchy. It does have /desktop/gnome/peripherals/monitor/resolution_size. I can set this to 1400x1050, which it converts to "1400 1050". The display still comes out at 1280x1024. I created the "screen" branch by hand, but gconf-editor doesn't recognize its existence.

bluethumb 05-17-2007 12:55 PM

I got the second one running. I made two changes. I removed every resolution except 1400x1050 from xorg.conf. I used brute force to add the gconf attribute /desktop/gnome/screen/default/0/resolution. One of those did the trick.

n-david 12-21-2007 04:44 AM

SL4.5 (Xwin8.6.2) and Widescreen Monitor Problem
 
Hi bluethumb.

When you finally solved your you mentioned that you had "used brute force to add the gconf attribute /desktop/gnome/screen/default/0/resolution".
Can you tell me how you modified your gconf.

I am having the same problem as you. Integrated Intel graphics chip (Q35? perhaps). Using SL4.5 distibution (based on RHEL4). I needed to display in the widescreen monitor native resolution which is 1680x1050.

I somehow solved this problem with newer distribution, FC8, but due to software compatibility, I revert back to an older OS.

Also, can you tell me how you found out if you are finally using the current screen display resolution. Did you use the command, xrandr.

bluethumb 12-21-2007 11:49 AM

A memory exercise
 
My memory is fading, but here's what I think I did. I created directories so that /etc/gconf/gconf.xml.defaults/desktop/gnome/screen/default/0/ exists. That's the brute-force part of the operation. Then I used gconf-editor to create a string attribute called "resolution" with value "1680x1050". There's also an attribute called "rate" equal to 60. I must have put that in there too. Anyway, that directory now contains a file called %gconf.xml which looks like this:

Code:

<?xml version="1.0"?>
<gconf>
        <entry name="rate" mtime="1130534024" type="int" value="60">
        </entry>
        <entry name="resolution" mtime="1179344191" type="string">
                <stringvalue>1680x1050</stringvalue>
        </entry>
</gconf>

I'm puzzled because I used 1680x1400 on a machine with a 1400x1050 monitor. Maybe I was preparing for the possibility of switching screens with another machine.

We have some newer machines with clones of RHEL5, and the gconf file layout is completely different. They are using the old 1280x1024 monitors, so I haven't had to deal with this problem.

n-david 12-25-2007 03:55 AM

Hi,

I followed your instructions but still couldn't solve the problem. I manually created the directories /etc/gconf/gconf.xml.defaults/desktop/gnome/screen/default/0 (<-zero, right?)

Launched gconf-editor and added the string "1680x1050" to the resolution_size attribute. There was no rate attribute so I added that and set it to 60 (integer). When I click on rate, it tells me that this key has no schema.

Then, I restarted X windows but there was no change. Then I looked at your previous posts and edited the xorg.conf file. Remove all the other resolutions except 1680x1050. But still couldn't get that to work.

One thing though, I didn't find a %gconf.xml file in the /etc/gconf/gconf.xml.defaults/desktop/gnome/screen/default/0/ directory

There is however a %gconf.xml file inside /etc/gconf/gconf.xml.defaults/desktop/gnome/peripherals/monitor/ directory. The contents is


Code:

<?xml version="1.0"?>
<gconf>
  <entry name="resolution_size" mtime="1198148603" schema="/schemas/desktop/gnome/peripherals/monitor/resolution_size"/>
</gconf>

So the next logical thing I did was created the %gconf.xml file in /etc/gconf/gconf.xml.defaults/desktop/gnome/screen/default/0/ which goes like this

Code:

<?xml version="1.0"?>

<gconf>
  <entry name="resolution_size" mtime="1198148603" type="string">
      <stringvalue>1680x1050</stringvalue>
  </entry>
</gconf>

This didn't work either. I wonder what else I could do to get the monitor to display its native resolution. Any advise is greatly appreciated.

Here is what I got then I entered xrandr

Code:

SZ:    Pixels        Physical        Refresh
*0  1280 x 1024      (433mm x 271mm)    *76
 1  1024 x 768      (433mm x 271mm)      76
 2    800 x 600      (433mm x 271mm)      73
 3    640 x 480      (433mm x 271mm)      73

I also tried to manually inserted the modeline into the xorg.conf file which I got when I ran the command gtf 1680 1050 60 -x

Here is what my xorg.conf file looks like now

Code:

Section "Monitor"
        Identifier  "Monitor0"
        VendorName  "Monitor Vendor"
        ModelName    "DELL E207WFP"
        HorizSync    30.0 - 83.0
        VertRefresh  56.0 - 75.0
#        ModeLine    "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080
        Modeline    "1680x1050_60.00"  147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync
        Option            "dpms"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "vesa"
        VendorName  "Videocard vendor"
        BoardName  "VESA driver (generic)"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device    "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth    24
        SubSection "Display"
                Viewport  0 0
                Depth    16
                Modes    "1680x1050"
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
                Modes    "1680x1050"
        EndSubSection
EndSection



All times are GMT -5. The time now is 01:01 AM.