Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
X11 doesn't ignore laptop with display -- Semi-SOLVED
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Felig
Apprentice
Apprentice


Joined: 22 Jun 2004
Posts: 180

PostPosted: Wed Apr 16, 2008 11:19 pm    Post subject: X11 doesn't ignore laptop with display -- Semi-SOLVED Reply with quote

I have a laptop which for a couple of years has been doing duty as a desktop computer, with a monitor plugged in. All this time, regular console login has been on the laptop display, ignoring the separate monitor even if plugged in. When I started X, it would blank the laptop display and only play with the monitor.

I just rebooted it for a new kernel (2.6.24-gentoo-r5) and suddenly X's behavior has changed. Now both displays are active, at the (lower) resolution of the laptop display. I use fvwm, and part of it thinks the monitor display is the same size as the laptop display, so the taskbar shows up some ways from the bottom. Other parts of fvwm and/or X know how big the display is and let me resize windows past the area which matches the laptop.

(Edited to add that xrandr solves it in an odd way. See the last post.)

I have remerged other parts, including X drivers and libraries and whatnot. But the configuration hasn't changed, and if it should have, I didn't see any notices in the merge log.

I don't doubt that something in the config *might* have changed, but its date is Sep 2007, and it has been rebooted many times since then. I think it more likely that I missed some needed config change.

Here is the beginning of the old X log which properly ignored the laptop display:
Quote:
xauth: creating new authority file /home/felix/.serverauth.8158


This is a pre-release version of the X server from The X.Org Foundation.
It is not supported in any way.
Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
Select the "xorg" product for bugs you find in this release.
Before reporting bugs in pre-release versions please check the
latest version in the X.Org Foundation git repository.
See http://wiki.x.org/wiki/GitPage for git access instructions.

X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.23-gentoo-r6 i686
Current Operating System: Linux bitroteo 2.6.24-gentoo-r4 #1 SMP PREEMPT Thu Apr 3 08:24:27 PDT 2008 i686
Build Date: 04 February 2008 03:13:48AM

Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Apr 9 22:01:34 2008
(==) Using config file: "/etc/X11/xorg.conf"
(**) RADEON(0): RADEONPreInit
(II) Module "ddc" already built-in
(II) Module "i2c" already built-in
(II) Module "ramdac" already built-in
(**) RADEON(0): RADEONScreenInit b0000000 0
(**) RADEON(0): Map: 0xb0000000, 0x04000000
(**) RADEON(0): RADEONSave
(**) RADEON(0): RADEONSaveMode(0x8217668)
(**) RADEON(0): Read: 0x00000006 0x00040048 0x00000000
(**) RADEON(0): Read: rd=6, fd=72, pd=4
(**) RADEON(0): RADEONSaveMode returns 0x8217668
(**) RADEON(0): DRI New memory map param
(**) RADEON(0): RADEONInitMemoryMap() :
(**) RADEON(0): mem_size : 0x04000000
(**) RADEON(0): MC_FB_LOCATION : 0xb3ffb000
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): RADEONModeInit()
2048x1536 266.95 2048 2200 2424 2800 1536 1537 1540 1589 (24,32) -H +V
2048x1536 266.95 2048 2200 2424 2800 1536 1537 1540 1589 (24,32) -H +V
(**) RADEON(0): Pitch = 16777472 bytes (virtualX = 2048, displayWidth = 2048)
(**) RADEON(0): dc=26694, of=26694, fd=119, pd=1
(**) RADEON(0): RADEONInit returns 0x8218018
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x8218018)
(**) RADEON(0): RADEONRestoreMemMapRegisters() :
(**) RADEON(0): MC_FB_LOCATION : 0xb3ffb000
(**) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
(**) RADEON(0): Map Changed ! Applying ...
(**) RADEON(0): Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x0000000c 0x00000077 0x00000000 (0x0000bc00)
(**) RADEON(0): Wrote: rd=12, fd=119, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20057c7c to 20285c5c
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): Setting up initial surfaces
(**) RADEON(0): Initializing fb layer
(**) RADEON(0): Setting up accel memmap
(**) RADEON(0): Initializing backing store
(**) RADEON(0): DRI Finishing init !
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): GRPH_BUFFER_CNTL from 20057c7c to 20285c5c
(**) RADEON(0): Setting up final surfaces
(**) RADEON(0): Initializing Acceleration
(**) RADEON(0): EngineInit (32/32)
(**) RADEON(0): Pitch for acceleration = 256
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): Initializing DPMS
(**) RADEON(0): Initializing Cursor
(**) RADEON(0): Initializing color map
(**) RADEON(0): Initializing DGA
(**) RADEON(0): Initializing Xv
(**) RADEON(0): RADEONScreenInit finished
expected keysym, got XF86KbdLightOnOff: line 70 of pc
expected keysym, got XF86KbdBrightnessDown: line 71 of pc
expected keysym, got XF86KbdBrightnessUp: line 72 of pc
expected keysym, got XF86KbdLightOnOff: line 70 of pc
expected keysym, got XF86KbdBrightnessDown: line 71 of pc
expected keysym, got XF86KbdBrightnessUp: line 72 of pc
(**) RADEON(0): RADEONSaveScreen(2)

Here is the beginning of the new X log which does not ignore the laptop display:
Quote:
xauth: creating new authority file /home/felix/.serverauth.25323


This is a pre-release version of the X server from The X.Org Foundation.
It is not supported in any way.
Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
Select the "xorg" product for bugs you find in this release.
Before reporting bugs in pre-release versions please check the
latest version in the X.Org Foundation git repository.
See http://wiki.x.org/wiki/GitPage for git access instructions.

X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.23-gentoo-r6 i686
Current Operating System: Linux bitroteo 2.6.24-gentoo-r5 #1 SMP PREEMPT Mon Apr 14 17:58:29 PDT 2008 i686
Build Date: 04 February 2008 03:13:48AM

Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Apr 16 15:09:11 2008
(==) Using config file: "/etc/X11/xorg.conf"
(II) Module "ddc" already built-in
(II) Module "i2c" already built-in
NTSC PAL
finished output detect: 0
finished output detect: 1
finished output detect: 2
finished all detect
before xf86InitialConfiguration
in RADEONProbeOutputModes
in RADEONProbeOutputModes
after xf86InitialConfiguration
(II) Module "ramdac" already built-in
Entering TV Save
Save TV timing tables
saveTimingTables: reading timing tables
TV Save done
disable montype: 2
disable montype: 1
disable montype: 2
init memmap
init common
init crtc1
init pll1
restore memmap
restore common
restore crtc1
restore pll1
restore LVDS
enable montype: 2
disable montype: 1
init memmap
init common
init crtc2
init pll2
freq: 229500000
best_freq: 229500000
best_feedback_div: 102
best_ref_div: 12
best_post_div: 1
restore memmap
restore common
restore crtc2
restore pll2
finished PLL2
restore dac
enable montype: 1
disable montype: 2
disable montype: 1
enable montype: 2
enable montype: 1

Notice the new one doesn't have any mention of RADEON.

Here is the X config:
Quote:
Section "Files"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/75dpi/"
FontPath "/usr/share/fonts/100dpi/"
EndSection

Section "Module"
Load "dbe"
Load "drm"
Load "synaptics"
Load "glx"

SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection

Load "type1"
Load "freetype"
EndSection

Section "ServerFlags"
Option "blank time" "5"
Option "standby time" "10"
Option "suspend time" "11"
Option "off time" "12"
EndSection

Section "InputDevice"
Identifier "Keyboard"
Driver "kbd"
Option "AutoRepeat" "500 20"
# Option "Xleds" "1 2 3"
EndSection

Section "InputDevice"


Identifier "Mouse"
Driver "mouse"
# Driver "synaptics"
# Option "Protocol" "Auto-dev"
# Option "SHMConfig" "on"
# Option "TouchpadOff" "2"
Option "Device" "/dev/input/mice"
Option "Protocol" "Auto" # Trackball config
# Option "Device" "/dev/psaux" # Trackball config
Option "Buttons" "5" # Trackball config
Option "ZAxisMapping" "4 5" # Trackball config
EndSection

Section "Monitor"
Identifier "Monitor"
VendorName "Viewsonic"
ModelName "Viewsonic G220F"
HorizSync 30-110
VertRefresh 50-100
# HorizSync 31.5 # typical for a single frequency fixed-sync monitor
# VertRefresh 60 # typical for a single frequency fixed-sync monitor
Option "dpms"
EndSection

Section "Device"
Identifier "Graphics"
Driver "ati"
Option "VBERestore" "true"
EndSection

Section "Screen"
Identifier "Screen"
Device "Graphics"
Monitor "Monitor"
DefaultDepth 24
EndSection

Section "ServerLayout"
Identifier "Main Layout"
Screen "Screen"
InputDevice "Mouse" "CorePointer"
# InputDevice "Mouse2" "SendCoreEvents"
InputDevice "Keyboard" "CoreKeyboard"
EndSection


Last edited by Felig on Thu Apr 24, 2008 2:34 am; edited 1 time in total
Back to top
View user's profile Send private message
sera
Retired Dev
Retired Dev


Joined: 29 Feb 2008
Posts: 1017
Location: CET

PostPosted: Thu Apr 17, 2008 8:36 am    Post subject: Reply with quote

Maybe your BIOS let you choose to just use the external Monitor. As this is a laptop it might be not a clever solution.

In your xorg.conf you could specify the bus id of your graphic adapter in the device section so X knows which display to set up. This will also block the panel display unless you create a separate device section for it and add it to the serverlayout. EG:

Code:
Section "Device"
Identifier "Graphics"
BusID   "PCI:1:0:0"
Driver   "ati"
Option  "VBERestore" "true"
EndSection


I have a device section for every head of my graphic adapters.
Back to top
View user's profile Send private message
Felig
Apprentice
Apprentice


Joined: 22 Jun 2004
Posts: 180

PostPosted: Thu Apr 17, 2008 2:36 pm    Post subject: Reply with quote

I don't think specifying the bus id will help, since I am pretty sure it uses the same graphics card for both the lid display and the external display.

And even if the BIOS would let me choose, I sure don't want that, since I'd have to mess with the BIOS every time I plugged in a monitor or unplugged one.

This used to work; something changed in the last week or two. It's not my config, since it is dated Sep 2007.
Back to top
View user's profile Send private message
sera
Retired Dev
Retired Dev


Joined: 29 Feb 2008
Posts: 1017
Location: CET

PostPosted: Fri Apr 18, 2008 9:18 am    Post subject: Reply with quote

Felig wrote:
I don't think specifying the bus id will help, since I am pretty sure it uses the same graphics card for both the lid display and the external display.


Each head of a graphic card normally has its own pciid. Eg. a single dual head pcie graphic adapter:
Code:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon X1650 XT (Primary) (PCIE)
01:00.1 Display controller: ATI Technologies Inc Radeon X1650 XT (Secondary) (PCIE)

Using two device sections let me control each attached monitor separately. Give it a try.
Back to top
View user's profile Send private message
Felig
Apprentice
Apprentice


Joined: 22 Jun 2004
Posts: 180

PostPosted: Fri Apr 18, 2008 3:33 pm    Post subject: Reply with quote

I didn't know that -- I won't be back on that machine for a couple of days, but I can ssh in and get the info.

Thanks in advance even if that doesn't fix it :-) But if it does, then maybe I can make it dual head with two separate displays. Not sure I would want to, but it might be interesting to try....
Back to top
View user's profile Send private message
Felig
Apprentice
Apprentice


Joined: 22 Jun 2004
Posts: 180

PostPosted: Wed Apr 23, 2008 6:22 am    Post subject: No luck with BusID Reply with quote

I tried several variations on the BusID -- PCI:0000:01:00.0. PCI:1:0:0, PCI:01:00, PCI:01:00.0 -- none of them did anything useful. Some refused to bring up any X session, others brought up this same session with dup displays.
Back to top
View user's profile Send private message
Felig
Apprentice
Apprentice


Joined: 22 Jun 2004
Posts: 180

PostPosted: Thu Apr 24, 2008 2:32 am    Post subject: Semi-solved with xrandr and xorg.conf mod Reply with quote

I have a workaround, and will stick with it for the time being, ie, as long as it works and until something better comes along. It involves adding xrandr commands to .xinitrc and a kluge in xorg.conf.

First, the xrandr commands in .xinitrc, added before the window manager kicks in:
Code:
xrandr --output LVDS --off
xrandr --output VGA-0 --mode 2048x1536

That's the resolution of the monitor. Funny thing that; the default it chooses is 1600x1200, and I have to add this to /etc/X11/xorg.conf to fix that:
Code:

Section "Screen"
...
    SubSection    "Display"
        Virtual 2048 1536
    EndSubSection

At least it is back to where it was, once it gets going. Startup is decidedly peculiar now, as the two screens flicker on and off while it gets itself sorted out.
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