Bug 134891

Summary: Hotplugging external monitor on IBM ThinkPad not working anymore
Product: [openSUSE] openSUSE 10.2 Reporter: Tob Sch <Tob_Sch>
Component: X.OrgAssignee: Stefan Dirsch <sndirsch>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P2 - High CC: eich, sndirsch
Version: Beta 1   
Target Milestone: ---   
Hardware: x86   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Xorg configuration

Description Tob Sch 2005-11-22 13:06:19 UTC
(Fn+F7) to switch external VGA on and off on my IBM Thinkpad T23 was working with older releases of SUSE 9.3, 9.2, 9.1, 9.0 , ...
With SUSE 10.0 it's the first time it doesn't work out of the box.
Comment 1 Forgotten User ZhJd0F0L3x 2005-11-22 13:23:08 UTC
Timo, another ibm_acpi fallout?
Comment 2 Thorsten Kukuk 2005-11-22 13:28:45 UTC
More a X11 config problem, config can be adjusted with SaX2.
Comment 3 Tob Sch 2005-11-22 14:48:50 UTC
I've compared older configuration files from older installations (9.3, 9.2, ...) which worked without any problems (/etc/X11/xorg.conf, /etc/X11/XF86Config) with my actual configuration file from SUSE 10.0. There are nearly the same, the following line

parameter Option       "XkbModel" "pc105"

is identical in all (10.0, 9.3, ...).

Maybe there is a problem with the driver of xorg-x11-6.8.2?
Comment 4 Thorsten Kukuk 2005-11-24 07:06:48 UTC
No, comment #2 is correct.
Comment 5 Tob Sch 2005-11-28 11:19:16 UTC
No, comment #1 is correct

I verified all services started wihtin /etc/rc.d:

The problem is "/etc/init.d/acpid start"

After doing a "rmmod ibm_acpi", fn+F7 works without any problem!!!

Comment 6 Tobias Schöffel 2005-11-28 11:43:13 UTC
with a different mask, it works also with the ibm_acpi driver loaded:

for example:
echo 0x0010 > /proc/acpi/ibm/hotkey
echo enable > /proc/acpi/ibm/hotkey
Comment 7 Timo Hoenig 2005-11-28 11:46:26 UTC
Tobias,

you can anjust the hotkey mask permanently in /etc/modprobe.d/ibm_acpi.
Comment 8 Tob Sch 2005-11-28 12:38:14 UTC
Timo,

thank you for the hint.

Here you can find some interesting information for example about setting the mask for hotkeys: http://ibm-acpi.sourceforge.net/README
Comment 9 Timo Hoenig 2005-11-28 13:16:06 UTC
Yes, I know about this.  Problem is, that if you generate the ACPI event a possible internal function (switching Bluetooth, WLAN, VGA, ... you name it) does not work any longer.

We had enabled the full mask to generate all posisble ACPI events for SL 10.0; due to a bug report I've already un-masked Fn-F5 since it disabled switching Bluetooth for some systems.  I might do yet another YaST Online Update for this bug.  Having the ability to switch LCD/VGA sounds more important than getting the ACPI event.

Tobias, please pay attention since I might need your help for testing.
Comment 10 Timo Hoenig 2005-11-28 13:17:07 UTC
Andreas, please provide a SWAMP id if you agree with my proposal.
Comment 11 Andreas Jaeger 2005-11-28 14:49:51 UTC
Let test all of this properly and get it in for 10.1.
Comment 12 Timo Hoenig 2005-11-28 15:06:11 UTC
Moving to 10.1, raising severity.
Comment 13 Timo Hoenig 2006-01-25 20:32:39 UTC
I'm propsing to set hotkey=0x???? to something reasonable which

1.) makes sure that _all_ internal functions (wireless, bluetooth) which _may_ exist in IBM^WLenovo ThinkPads are working
2.) enables all other hotkeys to generate ACPI events.

Seife, what do you think?
Comment 14 Forgotten User ZhJd0F0L3x 2006-02-13 17:52:47 UTC
good idea.
Comment 15 Timo Hoenig 2006-02-15 13:28:51 UTC
I've changed the hotkey mask back to 0xffff and submitted acpid to STABLE.

If anyone encounters problems (e.g. some internal function does not work due to the hotkey mask being 0xffff) please file a bug.

Closing.
Comment 16 dsdf sdsd 2006-10-31 08:37:39 UTC
I can't get FN+F7 working on my IBM R51 running Opensuse 10.2b1.
I've played with:
stinky:~ # echo 0x0010 > /proc/acpi/ibm/hotkey 
stinky:~ # cat /proc/acpi/ibm/hotkey
stinky:~ # echo enable > /proc/acpi/ibm/hotkey
status:         enabled
mask:           0x0010
commands:       enable, disable, reset, <mask>
stinky:~ # echo 0xffff > /proc/acpi/ibm/hotkey
stinky:~ # echo enable > /proc/acpi/ibm/hotkey

Nothing seems to work.
If I do:
stinky:~ # rmmod ibm_acpi
It still doesn't work. Maybe X is eating my FN-keys ?
If I'm gonna hook up to a projector I have to start X with it so that it's recognized, but then I have all sorts of problem configuring...which is a mayor hassle when having meetings and we're sharing a projector. It's just plain wrong. With earlier Suse's and even Kubuntu's I haven't had any problems with FN+F7 and have the laptop take care of calibrating with the projector so everything works fine !
Thanks!
Comment 17 Timo Hoenig 2006-10-31 08:52:48 UTC
Just to make sure that the ACPI event is coming through: Please run 'acpi_listen', press a Fn-F7 and let me know whether you see an event.

What graphic ship is being used (hwinfo --gfxcard)?  Are you saying that it worked fine with SUSE Linux 10.1?
Comment 18 Timo Hoenig 2006-10-31 08:54:36 UTC
-> OS10.2 Beta 1
Comment 19 Timo Hoenig 2006-10-31 08:55:49 UTC
Adjusting summary.
Comment 20 dsdf sdsd 2006-10-31 09:07:56 UTC
stinky:~ # acpi_listen
ibm/hotkey HKEY 00000080 00001007

stinky:~ # hwinfo --gfxcard
23: PCI(AGP) 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.281]
  UDI: /org/freedesktop/Hal/devices/pci_1002_4c66
  Unique ID: VCu0.lWVJBWhcFH9
  Parent ID: vSkL.1o+Z33xgwU4
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "IBM RV250 Lf"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x4c66 "RV250 Lf"
  SubVendor: pci 0x1014 "IBM"
  SubDevice: pci 0x0531
  Revision: 0x02
  Memory Range: 0xe0000000-0xe7ffffff (rw,prefetchable)
  I/O Ports: 0x3000-0x3fff (rw)
  Memory Range: 0xc0100000-0xc010ffff (rw,non-prefetchable)
  Memory Range: 0xc0120000-0xc013ffff (ro,prefetchable,disabled)
  IRQ: 11 (524982 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00001002d00004C66sv00001014sd00000531bc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: radeon
  Driver Info #1:
    XFree86 v4 Server Module: radeon
    3D Support: yes
    Extensions: dri
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #12 (PCI bridge)

Primary display adapter: #23


I can't remember when it worked in earlier Suse's, if it was the 9.x series och 10.x.

Thanks in advance.
Comment 21 Timo Hoenig 2006-10-31 09:19:16 UTC
OK, the ACPI events are fine.

I am not sure whether there is any support for switching to an external monitor upon a specific ACPI event in X/the radeon driver.

Stefan?
Comment 22 Timo Hoenig 2006-10-31 09:22:22 UTC
Adjusting summary.
Comment 23 Stefan Dirsch 2006-10-31 09:30:35 UTC
> I am not sure whether there is any support for switching to an external 
> monitor upon a specific ACPI event in X/the radeon driver.
AFAIK there isn't. This is the main reason, why we setup a dualhead configuration on a Notebook by default, so projector support will work out-of-the-box (hopefully).
Comment 24 Timo Hoenig 2006-10-31 09:34:43 UTC
(dsdf, would you mind adjusting your name to something meaningful, I dislike talking to people who are named like three keys in a row of my keyboard)

dsdf, can you please check your X configuration if it is set-up for dual-head?
Comment 25 dsdf sdsd 2006-10-31 09:51:22 UTC
Created attachment 103143 [details]
Xorg configuration
Comment 26 dsdf sdsd 2006-10-31 09:55:54 UTC
Attached you'll find my X config. I have my machine docked at work with a 1600x1200 lcd monitor. When I'm in meetings I use the normal laptop-lcd-screen at 1400x1050. It would be great if I could plug in the projector and it would "just work". If I'm in a meeting doing stuff and then suddenly have to show something on the projector I can't start closing everything, logging out and restart X and fiddle with settings just to get the projector working. I want to be able to just plug it in and go like everyone else :)

(will change my name Timo)
Thanks!
Comment 27 dsdf sdsd 2006-10-31 09:57:37 UTC
Timo, sorry. can't find out how to change the name. There's no field for that in the userprefs.
Comment 28 Timo Hoenig 2006-10-31 10:00:19 UTC
Dsdf, hm, me neither, I'll call you qwerty for now :-)

Stefan, can you please have a look at the information provided with comment #25 and #26?  Thank you.
Comment 29 Stefan Dirsch 2006-10-31 11:08:06 UTC
(In reply to comment #26)
> Attached you'll find my X config. I have my machine docked at work with a
> 1600x1200 lcd monitor. When I'm in meetings I use the normal
> laptop-lcd-screen at 1400x1050. It would be great if I could plug in the
> projector and it would "just work". If I'm in a meeting doing stuff and then
> suddenly have to show something on the projector I can't start closing
> everything, logging out and restart X and fiddle with settings just to get
> the projector working. I want to be able to just plug it in and go like
> everyone else :) 

Unfortunately this is a scenarion, which we currently do not support (different external resolutions). I don't expect we could support this 
before RANDR 1.2 has been integrated into the Xserver. Hopefully we'll
see this in SUSE 10.3. Setting to enhancement with high priority therefore.
Comment 30 Matthias Hopf 2006-10-31 11:26:35 UTC
(In reply to comment #26)
> Attached you'll find my X config. I have my machine docked at work with a
> 1600x1200 lcd monitor. When I'm in meetings I use the normal laptop-lcd-screen
> at 1400x1050. It would be great if I could plug in the projector and it would
> "just work". If I'm in a meeting doing stuff and then suddenly have to show
> something on the projector I can't start closing everything, logging out and
> restart X and fiddle with settings just to get the projector working. I want to
> be able to just plug it in and go like everyone else :)

1) You obviously didn't configure your Screen using sax2 with external output selected.
2) Modulo a 'xrandr -s 1024x768' you have to invoke when attaching the projector (or using your favorite mode selection utility like krandr) I do not understand what your problem is. This works.

Stefan, the configuration is *not* about multihead support.
Comment 31 dsdf sdsd 2006-10-31 12:03:00 UTC
1) You obviously didn't configure your Screen using sax2 with external output
selected.

I don't understand this. Is "external output" a checkbox? If so I can't find it.

2) Modulo a 'xrandr -s 1024x768' you have to invoke when attaching the
projector (or using your favorite mode selection utility like krandr) I do not
understand what your problem is. This works.

If you read the initial request you'd see that the problem was/is that in earlier Suses I could just hit FN+F7 to get output on the projector. If you/Suse has changed this behaviour. fine. I just want to know _how_ to go about getting this to work smoothly.
Comment 32 Matthias Hopf 2006-10-31 12:24:13 UTC
(In reply to comment #31)
> 1) You obviously didn't configure your Screen using sax2 with external output
> selected.
> 
> I don't understand this. Is "external output" a checkbox? If so I can't find
> it.

It's called 'Activate Dual Head Mode'. Configure it to clone mode. Given you want to use the external output in higher resolutions as well, it might be that the resulting xorg.conf might need some tweaking before it shows 1600x1200, as this is largely untested.

> If you read the initial request you'd see that the problem was/is that in
> earlier Suses I could just hit FN+F7 to get output on the projector. If

This only worked by accident and was never ever supported.
Maybe it will be in future driver versions, but regarding the radeon driver I doubt it.

> you/Suse has changed this behaviour. fine. I just want to know _how_ to go
> about getting this to work smoothly.

We didn't change anything. The driver is developed upstream, by a bunch of people who don't have any chipset documentation as well. So a feature like this that is *extremely* laptop/vendor dependent cannot really be supported.

If you install SL10.1 or up on a laptop the default configuration already has dual head support activated and should work out-of-the-box.

As the original bug (FN+xx doesn't work) is basically INVALID (never worked reliably, never was supported), I'm closing this one. This is actually a FAQ.