Bug 14128

Summary: Unable to use xrandr to go dual-head
Product: xorg Reporter: Bryan Stillwell <bryan.stillwell>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.3 (2007.09)   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Log file from running X on the N610c
none
Log file from running X on the N610c w/ today's (2008-01-22) git source tree none

Description Bryan Stillwell 2008-01-18 13:44:39 UTC
Created attachment 13780 [details]
Log file from running X on the N610c

I have a Compaq Evo Notebook N610c hooked up to a docking station that I'd like to use dual-head on, but I'm only able to do dual-head in a clone mode since xrandr commands aren't working.

I've tried using xrandr to disable one of the monitors and then reenable it at the new location with these commands:

xrandr --output DVI-0 --off
xrandr --output DVI-0 --right-of VGA-0 --mode 1280x1024

However, xrandr doesn't seem to do anything except display this error when I run it (even with -q):

xrandr: Output LVDS is not disconnected but has no modes

Here's what my xorg.conf file looks like:

Section "Files"
EndSection

Section "Module"
EndSection

Section "Device"
        Identifier "ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]"
        Driver "ati"
        Busid "PCI:1:0:0"
        Option "monitor-DVI-0" "HP LP2065"
        Option "monitor-VGA-0" "HP 1825"
        Option "monitor-LVDS" "Built-in display"
EndSection

Section "Monitor"
        Identifier "HP 1825"
        Option "DPMS"
        HorizSync 30-82
        VertRefresh 56-76
EndSection

Section "Monitor"
        Identifier "HP LP2065"
        Option "DPMS"
        HorizSync 30-92
        VertRefresh 48-85
EndSection

Section "Monitor"
        Identifier "Built-in display"
        Option "DPMS"
        HorizSync 60-76
        VertRefresh 50-65
EndSection

Section "Screen"
        Identifier "Default Screen"
        Device "ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]"
        Monitor "HP LP2065"
        Defaultdepth 24
        SubSection "Display"
                Depth 24
                Modes "1280x1024"
                Virtual 2560 1024
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier "Default Layout"
        Screen "Default Screen"
EndSection

I've tried adding 'Option "Ignore" "True"' to the Built-in display monitor section, but then X refuses to start at all.

Let me know if there's anything else you want to know about this system.

$ uname -a
Linux jjm610c 2.6.24-4-generic #1 SMP Mon Jan 14 17:30:39 UTC 2008 i686 GNU/Linux
$ dpkg -s xserver-xorg-video-ati |grep Version
Version: 1:6.7.197-1ubuntu1


Note: this is also filed on launchpad as bug #183873
Comment 1 Alex Deucher 2008-01-19 08:38:42 UTC
looks like ubuntu is carrying some strange patches which I suspect are to blame.  Can you try with ati git master?

Also, if you don't want to use LVDS, turn it off:
xrandr --output LVDS --off
Comment 2 Bryan Stillwell 2008-01-22 12:46:25 UTC
Alex,

I tried the latest source code from the git tree and it doesn't help.

$ ls -l /usr/lib/xorg/modules/drivers/ati_drv.so
-rwxr-xr-x 1 root root 51944 2008-01-22 13:38 /usr/lib/xorg/modules/drivers//ati_drv.so
$ xrandr -q
xrandr: Output LVDS is not disconnected but has no modes
$ xrandr --output LVDS --off
xrandr: Output LVDS is not disconnected but has no modes
$ xrandr -q
xrandr: Output LVDS is not disconnected but has no modes


Bryan
Comment 3 Alex Deucher 2008-01-22 12:59:33 UTC
(In reply to comment #2)
> Alex,
> 
> I tried the latest source code from the git tree and it doesn't help.

Can you attach the xorg log?

> 
> $ ls -l /usr/lib/xorg/modules/drivers/ati_drv.so
> -rwxr-xr-x 1 root root 51944 2008-01-22 13:38
> /usr/lib/xorg/modules/drivers//ati_drv.so

you need radeon_drv.so as well.


Comment 4 Bryan Stillwell 2008-01-22 13:08:24 UTC
Created attachment 13865 [details]
Log file from running X on the N610c w/ today's (2008-01-22) git source tree

(In reply to comment #3)
> Can you attach the xorg log?

Done.


> > $ ls -l /usr/lib/xorg/modules/drivers/ati_drv.so
> > -rwxr-xr-x 1 root root 51944 2008-01-22 13:38
> > /usr/lib/xorg/modules/drivers/ati_drv.so
> 
> you need radeon_drv.so as well.

$ ls -l /usr/lib/xorg/modules/drivers/radeon_drv.so
-rwxr-xr-x 1 root root 2091225 2008-01-22 13:38 /usr/lib/xorg/modules/drivers/radeon_drv.so
Comment 5 Bryan Stillwell 2008-01-22 16:10:19 UTC
Alex,

I found that if I modified xrandr.c and replaced the following line with a return statement, I could use xrandr to configure a dual-head display:

fatal ("Output %s is not disconnected but has no modes\n",
       output_info->name);


However, if I run xrandr outright it segfaults:

$ xrandr -q
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024
VGA-0 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 360mm x 290mm
   1280x1024      75.0*+   59.9
   1152x864       75.0
   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
DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 408mm x 306mm
   1280x1024      84.8*    75.0     59.9
   1280x960       59.9
   1152x864       75.0
   1024x768       84.9     75.1     60.0
   832x624        74.6
   800x600        84.9     60.3
   640x480        84.6     75.0     60.0
   720x400        70.1
Segmentation fault (core dumped)


Bryan
Comment 6 Alex Deucher 2008-01-22 16:56:08 UTC
(In reply to comment #5)
> However, if I run xrandr outright it segfaults:

Can you get a decent backtrace?
Comment 7 Bryan Stillwell 2008-01-22 17:20:03 UTC
$ gdb xrandr
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) r
Starting program: /usr/bin/xrandr
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024
VGA-0 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 360mm x 290mm
   1280x1024      75.0*+   59.9
   1152x864       75.0
   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
DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 408mm x 306mm
   1280x1024      84.8*    75.0     59.9
   1280x960       59.9
   1152x864       75.0
   1024x768       84.9     75.1     60.0
   832x624        74.6
   800x600        84.9     60.3
   640x480        84.6     75.0     60.0
   720x400        70.1

Program received signal SIGSEGV, Segmentation fault.
main (argc=1, argv=0xbfc6be04) at ../xrandr/xrandr.c:700
700         for (c = 0; c < output_info->ncrtc; c++)
(gdb) bt
#0  main (argc=1, argv=0xbfc6be04) at ../xrandr/xrandr.c:700
Comment 8 Bryan Stillwell 2008-02-15 13:57:34 UTC
This seems to be fixed in the latest version of Ubuntu:

$ dpkg -s xserver-xorg-video-ati | grep Version
Version: 1:6.7.197-1ubuntu1
$ dpkg -s x11-xserver-utils | grep Version
Version: 7.3+2
$ xrandr
Screen 0: minimum 320 x 200, current 2880 x 1200, maximum 2880 x 1200
VGA-0 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 408mm x 306mm
   1600x1200      60.0*+   59.9
   1280x1024      84.8     75.0     59.9
   1280x960       59.9
   1152x864       75.0
   1024x768       84.9     75.1     60.0
   832x624        74.6
   800x600        84.9     60.3
   640x480        84.6     75.0     60.0
   720x400        70.1
DVI-0 connected 1280x1024+1600+0 (normal left inverted right x axis y axis) 360mm x 290mm
   1280x1024      75.0*+   59.9
   1152x864       75.0
   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
LVDS connected (normal left inverted right x axis y axis)
   1400x1050      59.9
S-video disconnected (normal left inverted right x axis y axis)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.