Difference between revisions of "Problem with video output switching"
(added X31 to affected models, covered a problem with "BiosHotKeys" option and my X31) |
|||
Line 1: | Line 1: | ||
==Affected Models== | ==Affected Models== | ||
*ThinkPad {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}} | *ThinkPad {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}} | ||
− | *ThinkPad {{X22}}, {{X23}}, {{X41}}, {{X60s}} | + | *ThinkPad {{X22}}, {{X23}}, {{X31}}, {{X41}}, {{X60s}} |
==Problem Description== | ==Problem Description== | ||
Line 83: | Line 83: | ||
Option "BiosHotKeys" "on" | Option "BiosHotKeys" "on" | ||
to "Device" selection in /etc/xorg.conf. For some reason, this is not the default, and will cause xorg to ignore the BIOS's request to switch modes! | to "Device" selection in /etc/xorg.conf. For some reason, this is not the default, and will cause xorg to ignore the BIOS's request to switch modes! | ||
− | This fixes the problem for an X22, with xorg 6.9.0. It fixed this problem for a X31 with xorg 7.1.1 too, but as the CRT is the primary display you can not switch back to the LCD (or both) if xorg has started with the CRT only or both mode, because it sets the resolution to high for the LCD. | + | This fixes the problem for an X22, with xorg 6.9.0. |
+ | |||
+ | It fixed this problem for a X31 with xorg 7.1.1 too, but as the CRT is the primary display in some Thinkpads (like in the X31), you can not switch back to the LCD (or both) if xorg has started with the CRT only or both mode, because it sets the resolution and or refresrate to high for the LCD. |
Revision as of 20:07, 28 April 2007
Contents
Affected Models
Problem Description
It is not possible, using the FN-F7 key, to switch between the LCD and the external monitor in the following way
LCD --> external Monitor--> both -->LCD
however cloning is possible for the Intel chipsets, see below.
Problems with Intel chipsets
Disabling the internal LCD (e.g. when using an external Monitor) doesn't seem to work reliably.
- For Xorg 7.022 one can clone the LCD display to an external monitor, adding the following lines to the Device section in the xorg.conf file:
Section "Device" Identifier "Generic Video Card" Driver "i810" Option "Clone" "true" Option "MonitorLayout" "CRT,LFP"
however you can not switch between these screens as described above, once you use FN-F7 the cloned display is lost.
- i810switch doesn't have any effect. After disabling the LCD it is still on (but the status display of i810switch claims that is is switched off).
- The following works with Fedora Core 6 on an X60s: i810switch 0.6.5 with the patch found on http://thpinfo.com/2006/patches/i810switch_macbook_support.patch can switch between LCD and CRT (and initially CRT is off) (NOTE: The first hunk of this patch does not apply to the source, just remove it, it is unnecessary). This patch makes i810switch recognize the i915 chipset. It should thus be doable to use this with an ACPI event/action to do FnF7 switching. After installing i810switch and its i810rotate script and the missing ibm-acpi kernel module I did the following to achieve just that:
In /etc/rc.local:
modprobe ibm_acpi echo enable,0x084c > /proc/acpi/ibm/hotkey
in /etc/acpi/events/videoswitch.conf:
event=ibm/hotkey HKEY 00000080 00001007 action=/etc/acpi/actions/video-rotate.sh
in /etc/acpi/actions/video-rotate.sh
#!/bin/bash exec /usr/sbin/i810rotate
- i855crt works see: http://stefan.desire.ch/howto/x41debian/#graphics for details.
- With ibm-acpi,
# echo lcd_disable >/proc/acpi/ibm/video
works, but# echo lcd_enable >/proc/acpi/ibm/video
doesn't work - so one can't enable it anymore after disabling it. (the strange thing is that when switching to a console with ctrlaltF1 the LCD display is used for it, so there must be some way to enable it but I can't find out how to control this in X). I've tried this with version 0.8 and version 0.11 of ibm-acpi.- FnF7 lets me enable the internal LCD after I disabled it with
# echo lcd_disable >/proc/acpi/ibm/video
on my X41 but it corrupts the crt out
- FnF7 lets me enable the internal LCD after I disabled it with
Problems with ATI chipsets
- It is a known issue of xorgs radeon driver that FnF7 doesn't work.
You can force the radeon driver to enable both CRT and LCD using Option "MonitorLayout" "LVDS,CRT" in the "Device" section of /etc/X11/xorg.conf. The analogous option for fglrx is Option "ForceMonitors" "lvds,crt1"
The # radeontool light off
and # radeontool dac off
commands will disable the LCD and CRT if they're been enabled before in the X server, but the corresponding # radeontool light on
and # radeontool dac on
will not work if the displays have were not enabled when the X server started. Also note that turing off the CRT using this command will not reduce power consumption, nor allow fglrx to enable power saving modes.
You might try the following: Hit Ctrl+Alt+F1 to switch to a console, hit Fn+F7 to switch video, hit Alt+F7 to switch back to X.
- Similar problems exist with XFree86 4.3 and its radeon driver
You can switch the display off after switching to tty1 (STRG+ALT+F1) by
* pressing FN+F7 or * executing echo crt_disable > /proc/acpi/ibm/video as root
You cannot do this under X11. The display is always on under X11. I tried
* echo auto_disable > /proc/acpi/ibm/video * echo crt_disable > /proc/acpi/ibm/video * echo lcd_disable > /proc/acpi/ibm/video * pressing FN+F7
but none of the above had any effect. If you switch the display off, then start X or switch to it, the display will be activated automatically.
fglrx-Driver
Output switching with the Closed-Source ati-driver works: Just use # aticonfig --query-monitor
and e.g. # aticonfig --enable-monitor..."
. You can use those two commands in a script, and bind them to FnF7
Alternative solution: fglrx 8.28.8 will recognize FnF7 directly, if the key is enabled. This obviates the need for scripts which call aticonfig. To enable the hotkey, issue the command # echo enable,0xffff >/proc/acpi/ibm/hotkey
. You'll want to have this run both at boot time, and after resume (on my T43, the hotkey mask is reset on resume). For Ubuntu, I've put a script with the command in both the /etc/acpi/resume.d, and /etc/acpi/start.d directories.
Related Links
Solutions
BIOSHotKeys
Try adding
Option "BiosHotKeys" "on"
to "Device" selection in /etc/xorg.conf. For some reason, this is not the default, and will cause xorg to ignore the BIOS's request to switch modes! This fixes the problem for an X22, with xorg 6.9.0.
It fixed this problem for a X31 with xorg 7.1.1 too, but as the CRT is the primary display in some Thinkpads (like in the X31), you can not switch back to the LCD (or both) if xorg has started with the CRT only or both mode, because it sets the resolution and or refresrate to high for the LCD.