Bug 16724

Summary: Keyboard inputdevice section breaks VT switch on Radeon X300
Product: xorg Reporter: Brice Goglin <brice.goglin>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.conf with keyboard InputDevice disabled
none
log after VT switch success, with keyboard disabled
none
log after VT switch success, with keyboard disabled
none
log after VT switch failure, with keyboard enabled
none
log after VT switch success, with vesa and keyboard enabled
none
log after VT switch success, after vesa, with keyboard enabled none

Description Brice Goglin 2008-07-15 13:55:58 UTC
Created attachment 17684 [details]
xorg.conf with keyboard InputDevice disabled

Since I upgraded from Xserver 1.4.2 to 1.5-rc5, VT switch is broken on my Thinkpad T43 (Radeon Mobility X300, rv370). The VT console is never restored. And I can't switch back to X. But the machine is well alive. gdb doesn't show anything wrong, the server seems to just be sleeping in select().

Now, the funny part: removing my keyboard InputDevice section in xorg.conf fixes the problem.

Also, I am running radeon 6.9.0, but the problem disappears if I switch to the Vesa driver. But it looks like a server with Radeon will work fine if a server with Vesa was loaded first. But in this case, Radeon will fail to open drm, maybe it helps making VT switch work anyhow...

Config and multiple logs are coming
Comment 1 Brice Goglin 2008-07-15 13:56:56 UTC
Created attachment 17685 [details]
log after VT switch success, with keyboard disabled
Comment 2 Brice Goglin 2008-07-15 13:58:10 UTC
Comment on attachment 17685 [details]
log after VT switch success, with keyboard disabled

wrong log, try again
Comment 3 Brice Goglin 2008-07-15 13:58:39 UTC
Created attachment 17686 [details]
log after VT switch success, with keyboard disabled
Comment 4 Brice Goglin 2008-07-15 13:59:07 UTC
Created attachment 17687 [details]
log after VT switch failure, with keyboard enabled
Comment 5 Brice Goglin 2008-07-15 14:00:07 UTC
Created attachment 17688 [details]
log after VT switch success, with vesa and keyboard enabled
Comment 6 Brice Goglin 2008-07-15 14:00:36 UTC
Created attachment 17689 [details]
log after VT switch success, after vesa, with keyboard enabled
Comment 7 Michel Dänzer 2008-07-15 23:56:22 UTC
> gdb doesn't show anything wrong, the server seems to just be sleeping in
> select().

Can you provide a backtrace from that?
Comment 8 Brice Goglin 2008-07-16 09:39:25 UTC
This seems to be fixed in latest server-1.5-branch as of today (a08ea64d).

It may be:

commit 5cb38a3fcabb1b46fc24584f5e42d28a9a2dc703
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Apr 23 11:38:08 2008 +0930

    xfree86: don't free the config-file related information in DIDR. #15645
    
    In DeleteInputDeviceRequest, leave the conf_idev (which is shared with
    xf86ConfigLayout.input) alone for devices that were specified in the
    ServerLayout section of the config file. This way, in the next server
    generation we are left with what was the original config and can thus re-init
    the devices.

    This is an addon to 6d22a9615a0e6ab3d00b0bcb22ff001b6ece02ae, an attempt to
    fix Bug 14418.
    
    X.Org Bug 15645 <https://bugs.freedesktop.org/show_bug.cgi?id=15645>
    X.Org Bug 14418 <https://bugs.freedesktop.org/show_bug.cgi?id=15645>
    (cherry picked from commit 9ab4e2fd8eaa87dbd16835affb1aa54dcb1a619e)

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.