I think The X Resize and Rotate Extension (RandR) is getting confused
between multiple monitors, when the chipset is dual-head capable, and
multiple monitors are not present.  Here is an xorg.conf solution/work-
around that is working very well for me so far.  This also fixes the
font size and resolution problems in both KDM and the user's X Session.


PART A - Collect Information
----------------------------

Step 1:  At the terminal, enter xrandr.

Here is an example of the output...

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1680 x 1680
VGA disconnected (normal left inverted right)
LVDS connected 1024x768+0+0 (normal left inverted right) 0mm x 0mm
   1024x768       60.0*+   85.0     75.0     70.1     60.0
   832x624        74.6
   800x600        85.1     72.2     75.0     60.3     56.2
   640x480        85.0     72.8     75.0     59.9
   720x400        85.0
   640x400        85.1
   640x350        85.1
TMDS-1 connected 1024x768+0+0 (normal left inverted right) 433mm x 270mm
   1680x1050      59.9 +   60.0
   1280x1024      75.0     59.9
   1440x900       59.9
   1280x960       59.9
   1360x765       59.8
   1280x800       59.8
   1152x864       75.0     60.0
   1280x720       59.9
   1024x768       75.1*    70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        75.0     72.8     66.7     60.0
   720x400        70.1
TV disconnected (normal left inverted right)
$

Notice that there are two monitors that are active (LVDS and TMDS-1).
The current resolution of each monitor is indicated by an "*".  LVDS is
typically a laptop screen, and TMDS-1 is typically your 1st DVI monitor.

The current resolution on LVDS has been set to its preferred resolution
of 1024x768, indicated by "+" in the LVDS section of the xrandr output.
It seems that the current resolution of TMDS-1 has *also* been set to
the preferred resolution of LVDS (i.e. 1024x768)!  However  the
preferred resolution for TMDS-1 is actually 1680x1050, as indicated by
the "+" in the TMDS-1 section above.

As a result, the output of the DVI monitor will be at 1024x768 instead
of 1680x1050.

You could use the following command to select the desired resolution after 
logging in each time, but this is a manual fix that does not address the KDM 
resolution issue:
    $xrandr -s 1680x1050

A more elegant solution can be achieved if you do not have one of the
listed monitors.  For example, my system has a DVI monotor (TMDS-1) and
no laptop screen (LVDS).  The problem is that the current resolution on
the DVI monitor (TMDS-1) is being set to the preferred resolution of the
non-existent laptop screen (LVDS).


PART B - Edit xorg.conf
-----------------------

Make the following changes to xorg.conf...

Step 1: Create a "Monitor" section for the existing monitor (listed in the 
xrandr output).
Step 2: Create a "Monitor" section for the non-existent monitor (listed in the 
xrandr output).
Step 3: For the non-existent monitor, add the Option "Ignore" "true".
Step 4: Associate the existing monitor with the "Device" so it can be used.
        Remember to PREFIX the monitor name from the xrandr output with 
"monitor-".
Step 5: Associate the non-existent monitor with the "Device" so it can be 
ignored.
        Remember to PREFIX the monitor name from the xrandr output with 
"monitor-".

Here is an example xorg.conf file with notes...

# MONITOR SECTION
# This is the DVI monitor that has a native resolution of 1680x1050 (Step 1)
Section "Monitor"
    Identifier    "DCLCD"
    Option        "DPMS"
EndSection

# MONITOR SECTION
# This is monitor does not exist, but xrandr thinks it does. (Step 2)
Section "Monitor"
    Identifier    "LVDS"
    # Ignore this monitor because it does not exist. (Step 3)
    Option        "Ignore" "true"
EndSection

# DEVICE SECTION
Section "Device"
    Identifier    "Intel Corporation Mobile GM965/GL960 Integrated Graphics 
Controller"
    Driver        "intel"
    BusID         "PCI:0:2:0"

    # Associate the DVI monitor with the intel driver/chipset so it can be 
used. (Step 4)
    # - The first parameter is the name of the monitor from xrandr output, 
prefixed with "monitor-".
    # - The second parameter is the monitor's Identifier, as specified in the 
"Monitor" section.

    Option        "monitor-TMDS-1" "DCLCD"

    # Associate the non-existent monitor with the intel driver/chipset so it 
can be ignored. (Step 5)
    # - The first parameter is the name of the monitor from xrandr output, 
prefixed with "monitor-".
    # - The second parameter is the monitor's Identifier, as specified in the 
"Monitor" section.

    Option        "monitor-LVDS" "LVDS"

EndSection

# SCREEN SECTION
# Specify the desired resolution(s) in this section.
Section "Screen"
    Identifier    "Default Screen"
    Device        "Intel Corporation Mobile GM965/GL960 Integrated Graphics 
Controller"
    Monitor       "DCLCD"
    DefaultDepth  24
    SubSection "Display"
        Modes     "1680x1050"
    EndSubSection
EndSection

Please let me know if this solution/work-around helps.

-- 
DDC report some ridiculous physical screen size (Mostly on Intel driver, and 
some ATI)
https://bugs.launchpad.net/bugs/151311
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to