You are not logged in.

#1 2009-01-17 13:47:11

snack
Member
From: Italy
Registered: 2009-01-13
Posts: 861

[SOLVED] Dual monitor: can't switch from X to vc

I have  a dual monitor configuration on my laptop (Sony Vaio VGN-SR21M), so that I can work with the laptop screen and an external lcd at the same time. It works amazingly well, every screen has its own resolution and I can drag windows from one screen to another (ATI drivers are wonderful in this aspect!). The only problem is that I can't switch to vc pressing Ctrl+Alt+F2 or any other function key: the laptop screen freezes black, while the other shows "no input" box. Pressing Alt+F7 the X interface is restored correctly to both screens. If I start X without the external lcd  the problem disappears, so I think it is a multimonitor issue. Here's my xorg.conf:

Section "ServerLayout"
    #InputDevice    "Mouse0" "CorePointer"
    Identifier     "X.org Configured"
    Screen      0  "aticonfig-Screen[0]-0" 0 0
    Screen         "aticonfig-Screen[0]-1" RightOf "aticonfig-Screen[0]-0"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled"
    FontPath     "/usr/share/fonts/TTF"
    FontPath     "/usr/share/fonts/Type1"
EndSection

Section "Module"
    Load  "dbe"
    Load  "extmod"
    Load  "xtrap"
    Load  "glx"
    Load  "dri"
    Load  "freetype"
    Load  "synaptics"
EndSection

Section "ServerFlags"
    Option        "AutoAddDevices" "False"
    Option        "Xinerama" "on"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option        "XkbLayout" "it"
    Option        "XkbVariant" ""
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-0"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-1"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Device"
    Identifier  "Card0"
    Driver      "radeon"
    VendorName  "ATI Technologies Inc"
    BoardName   "Mobility Radeon HD 3400 Series"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-0"
    Driver      "fglrx"
    Option        "PairModes" ""
    Option        "DesktopSetup" "clone"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-1"
    Driver      "fglrx"
    BusID       "PCI:1:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device     "aticonfig-Device[0]-0"
    Monitor    "aticonfig-Monitor[0]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-1"
    Device     "aticonfig-Device[0]-1"
    Monitor    "aticonfig-Monitor[0]-1"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Maybe the solution is simple, but I'm quite a newbie so please understand me... roll

Last edited by snack (2009-01-27 15:42:35)

Offline

#2 2009-01-17 17:33:36

kludge
Member
Registered: 2008-08-03
Posts: 294

Re: [SOLVED] Dual monitor: can't switch from X to vc

it probably isn't x's fault, since it runs fine and you can switch back to it.  take a look at (and please post)

* your x logs grep'd for warning and and errors
* the last twenty or thirty lines of dmesg's output immediately after you switch to a vc.


[23:00:16]    dr_kludge | i want to invent an olfactory human-computer interface, integrate it into the web standards, then produce my own forked browser.
[23:00:32]    dr_kludge | can you guess what i'd call it?
[23:01:16]    dr_kludge | nosilla.
[23:01:32]    dr_kludge | i really should be going to bed.  i'm giggling madly about that.

Offline

#3 2009-01-17 20:24:30

snack
Member
From: Italy
Registered: 2009-01-13
Posts: 861

Re: [SOLVED] Dual monitor: can't switch from X to vc

Thank you kludge for the help. I started X, tried to switch to vc with Ctrl+Alt+F1, usual freeze, then back to X with Alt+F7. This  are the errors from less /var/log/Xorg.0.log | grep EE:

$ less /var/log/Xorg.0.log | grep EE
Current Operating System: Linux elric 2.6.28-ARCH #1 SMP PREEMPT Tue Jan 6 10:26:22 UTC 2009 i686
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(II) Loading extension MIT-SCREEN-SAVER
(EE) fglrx(0): Unknown EDID version 0
(EE) fglrx(1): [FB] Can not get FB MC address range.
(EE) config/hal: NewInputDeviceRequest failed
(EE) config/hal: NewInputDeviceRequest failed
(EE) config/hal: NewInputDeviceRequest failed
(EE) config/hal: NewInputDeviceRequest failed
(EE) config/hal: NewInputDeviceRequest failed

Hope it is the correct log file (newbie here... roll). These are the last lines of that file, from less /var/log/Xorg.0.log | tail -n 20, don't know if they will be useful:

$ less /var/log/Xorg.0.log | tail -n 20
(II) config/hal: Adding input device AT Translated Set 2 keyboard
(EE) config/hal: NewInputDeviceRequest failed
(II) config/hal: Adding input device Macintosh mouse button emulation
(EE) config/hal: NewInputDeviceRequest failed
(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources
(II) AIGLX: Suspending AIGLX clients for VT switch
(II) AIGLX: Suspending AIGLX clients for VT switch
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
(II) No APM support in BIOS or kernel
(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources
(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources
(II) AIGLX: Resuming AIGLX clients after VT switch
(II) AIGLX: Resuming AIGLX clients after VT switch
(II) Entity 0 shares no resources
(II) Entity 1 shares no resources
(II) <default pointer>: ps2EnableDataReporting: succeeded
(II) 3rd Button detected: disabling emulate3Button

There is a warning about ACPI after "(II) AIGLX: Suspending AIGLX clients for VT switch": maybe the problem is there?
Finally:

$ dmesg | tail -n 30
Adding 2000084k swap on /dev/sda3.  Priority:-1 extents:1 across:2000084k
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0800460302ca3be4]
sky2 eth0: enabling interface
sky2 eth0: Link is up at 100 Mbps, full duplex, flow control both
PPP generic driver version 2.4.2
PPP BSD Compression module registered
[fglrx] Gart cacheable size:252 M.
[fglrx] Reserved FB block: Shared offset:0, size:1000000
[fglrx] Reserved FB block: Unshared offset:ff71000, size:8a000
[fglrx] Reserved FB block: Unshared offset:fffb000, size:5000
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
eth0: no IPv6 routers present
[fglrx] Gart cacheable size:252 M.
[fglrx] Reserved FB block: Shared offset:0, size:1000000
[fglrx] Reserved FB block: Unshared offset:ff71000, size:8a000
[fglrx] Reserved FB block: Unshared offset:fffb000, size:5000
usb 6-2: new low speed USB device using uhci_hcd and address 2
usb 6-2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver hiddev
input: Microsoft Microsoft 5-Button Mouse with IntelliEye(TM) as /class/input/input9
generic-usb 0003:045E:0047.0001: input,hidraw0: USB HID v1.10 Mouse [Microsoft Microsoft 5-Button Mouse with IntelliEye(TM)] on usb-0000:00:1d.0-2/input0
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
[fglrx:firegl_lock_free] *ERROR* lock was not held by 2! (*lock=0x00000001)
[fglrx:firegl_unlock] *ERROR* firegl_lock_free failed!
[fglrx] Gart cacheable size:252 M.
[fglrx] Reserved FB block: Shared offset:0, size:1000000
[fglrx] Reserved FB block: Unshared offset:ff71000, size:8a000
[fglrx] Reserved FB block: Unshared offset:fffb000, size:5000

I don't know if this is what you meant with "the last twenty or thirty lines of dmesg's output immediately after you switch to a vc": this is what I get immediately after switching back to X, since it is impossible for me to see the output of dmesg immediately after switching to vc (which doesn't work...).
Thanks again

Last edited by snack (2009-01-17 20:27:05)

Offline

#4 2009-01-27 15:41:15

snack
Member
From: Italy
Registered: 2009-01-13
Posts: 861

Re: [SOLVED] Dual monitor: can't switch from X to vc

I modified xorg.conf heavily to solve another problem, with this new version I can switch to vc even with dual monitor setup (obviously the external lcd doesn't work) and then go back to X without any issue:

Section "InputDevice"
   Identifier  "SynapticsTouchpad"
   Driver      "synaptics"
   Option      "AlwaysCore"        "true"  # send events to CorePointer
  #Option      "Device"            "/dev/input/mice"
   Option      "Device"            "/dev/psaux"
   Option      "Protocol"          "auto-dev"
   Option      "SHMConfig"         "false" # configurable at runtime? security risk
   Option      "LeftEdge"          "1700"  # x coord left
   Option      "RightEdge"         "5300"  # x coord right
   Option      "TopEdge"           "1700"  # y coord top
   Option      "BottomEdge"        "4200"  # y coord bottom
   Option      "FingerLow"         "25"    # pressure below this level triggers release
   Option      "FingerHigh"        "30"    # pressure above this level triggers touch
   Option      "MaxTapTime"        "180"   # max time in ms for detecting tap
   Option      "VertEdgeScroll"    "true"  # enable vertical scroll zone
   Option      "HorizEdgeScroll"   "true"  # enable horizontal scroll zone
   Option      "CornerCoasting"    "true"  # enable continuous scroll with finger in corner
   Option      "CoastingSpeed"     "0.30"  # corner coasting speed
   Option      "VertScrollDelta"   "15"   # edge-to-edge scroll distance of the vertical scroll
   Option      "HorizScrollDelta"  "15"   # edge-to-edge scroll distance of the horizontal scroll
   Option      "MinSpeed"          "0.15"  # speed factor for low pointer movement
   Option      "MaxSpeed"          "0.75"  # maximum speed factor for fast pointer movement
   Option      "AccelFactor"       "0.0030"    # acceleration factor for normal pointer movements
   Option      "VertTwoFingerScroll"   "true"    # vertical scroll anywhere with two fingers
   Option      "HorizTwoFingerScroll"  "true"    # horizontal scroll anywhere with two fingers
   Option      "TapButton1" "1"
   Option      "TapButton2" "2"
   Option      "TapButton3" "3"
EndSection

#Section "InputDevice"
#    Identifier  "Keyboard0"
#    Driver      "kbd"
#    Option        "XkbLayout" "it"
#    Option        "XkbVariant" ""
#EndSection

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "aticonfig-Screen[0]-0" 0 0
    Screen         "aticonfig-Screen[0]-1" RightOf "aticonfig-Screen[0]-0"
    InputDevice    "SynapticsTouchpad"  "SendCoreEvents"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled"
    FontPath     "/usr/share/fonts/TTF"
    FontPath     "/usr/share/fonts/Type1"
EndSection

Section "Module"
    Load  "dbe"
    Load  "extmod"
    Load  "xtrap"
    Load  "glx"
    Load  "dri"
    Load  "freetype"
    #Load  "synaptics"
EndSection

Section "ServerFlags"
    Option        "AutoAddDevices" "False"
    Option        "Xinerama" "on"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-0"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-1"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-0"
    Driver      "fglrx"
    Option        "PairModes" ""
    Option        "SwapScreens" "off"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-1"
    Driver      "fglrx"
    BusID       "PCI:1:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device     "aticonfig-Device[0]-0"
    Monitor    "aticonfig-Monitor[0]-1"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-1"
    Device     "aticonfig-Device[0]-1"
    Monitor    "aticonfig-Monitor[0]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

I think it has something to do with the Screen sections, but I don't know exactly where the problem was (I changed many settings at once). Hope my new xorg.conf could be useful to someone with the same problem. Thanks everybody for the help.

Offline

Board footer

Powered by FluxBB