You are not logged in.
Hi,
Ever since updating to Kernel 2.6.23.1-x Fn F8 which switches between the external VGA output and the laptop screen has stopped working. The laptop is a Dell Inspiron 1150.
I've tried 2.6.23.1-4, 2.6.23.1-5 and 2.6.23.1-6 and the problem is there with all of them. The key combination works using 2.6.22.9-1. Fn F8 isn't supposed to have anything to do with the OS, BIOS is supposed to catch it and switch the outputs. Using 2.6.23.1-x, Fn F8 does work correctly until arch has finished Loading Udev uevents in the boot process, after that Fn F8 stops working.
I've used hwdetect --show-modules to see what udev does differently between the two kernels. With 2.6.23.1 in the ACPI section there are ac, battery, button, processor, thermal, video. None of which appear with 2.6.22.9. Also in the VIDEO section there is output which doesn't appear with 2.6.22.9. I removed them all with the exception processor and thermal (seem to remember some issues with melting laptops when ACPI was first modularised ) but Fn F8 didn't start working.
Any ideas?
Offline
Oh wow! I just tried this and it is indeed broke. dmesg says something about video and the key being unrecognised.
I'll need this for a presentation next week, glad you pointed that out.
Cthulhu For President!
Offline
I found something, you might give this a shot:
ACPI: video: _DOS=0 by default to prevent hotkey hang
In the past, the Linux/ACPI video driver invoked _DOS
(Display Output Switch) with the parameter 1
to tell the BIOS to switch the video output display for us.
But this conflicts with Linux native graphics drivers,
and can cause all sorts of issues, including hanging the system.
http://bugzilla.kernel.org/show_bug.cgi?id=6001
Here we change the Linux default to evaluate _DOS=0,
which tells the BIOS to simply send us a hotkey event
and not touch the graphics hardware.
The acpi video driver sends the display switch hotkey
event up through the intput layer, and X can interpret
that and use its native graphics driver to switch the display.
For the case where Linux has no native graphics driver running,
or the graphics driver doesn't know how to switch video and
the BIOS (safely) does, the previous behaviour can be restored with:
# echo 1 > /proc/acpi/video/*/DOS
Sounds like the culprit. I'd test it myself but I've gotta run.
Found on the 2.6.23 changelog
Cthulhu For President!
Offline
I have the same problem, and the fix over doesnt seem to work. After file is changed it just changes back into 0. Wtf?
Offline
Try adding video to MOD_BLACKLIST in rc.conf. I had to do this to fix brightness adjustment issues. The description of the problem indicate to me this will work but I can't test at the moment.
Online
i'd confirm the fix works
Offline
additional: with xf86-video-i810, it works too. it should be a bug in xf86-input-intel driver
Offline
I've found the bug is definitely with the kernel, FnF8 doesn't work with xf86-video-intel, or xf86-video-i810. I've not had chance to try either fix yet though.
Using xf86-video-intel allows me to get round the problem because it 'sees' both video outputs and allows xrandr to enable the VGA output.
Offline
Cheers buttons,
# for f in /proc/acpi/video/*/DOS; do echo 1 > $f; done
This solves the problem. From the release notes it seems it gives the control back to BIOS.
Neither the i810 driver nor the intel driver seem to want to switch output for me.
Last edited by phildg (2007-11-13 17:16:34)
Offline
Ahh! It works for me as well, excellent.
Anyone find an elegant way of setting this on boot? I tried rc.local, but it wouldn't stick.
Cthulhu For President!
Offline
weirdly, the i810 driver does work for me
Offline
Ahh! It works for me as well, excellent.
Anyone find an elegant way of setting this on boot? I tried rc.local, but it wouldn't stick.
for f in /proc/acpi/video/*/DOS; do echo 1 > $f; done
I just chucked that line into rc.local. Its worked ever since.
Offline
Aha! This has been made a selectable module in 2.6.24, though I couldn't tell you which module it's called because I compiled my kernel without it.
The option is "Lowlevel video output switch controls," and the symbol is VIDEO_OUTPUT_CONTROL. It can be found in Device Drivers->Graphics Support.
Cthulhu For President!
Offline
I don`t know why, but the video in blacklist worked.
Offline
Dear all
I am having this problem with the latest kernel 2.6.24
I tried the fix "for f in /proc/acpi/video/*/DOS; do echo 1 > $f; done" and it seems that it is doing something because once I press it the screen turns black for a second or two but the signal does not appear in the projector.
Any clue???
Offline
use xrandr instead
Offline
it is not very clear how to switch with xrandr to the external monitor. Can I use the NVidia control panel for that?
Offline
No idea about Nvidia cp, but maybe you will find some useful info here. Could be possible that its a bit different for you, though, cause in the link they use an intel card.
###
Short Praise of the Arch Communnity:
Searched Google for how to get fn+f8 video output switching working.
On the first page, there was a link to this thread, where someone just throws up a magical one-liner - problems solved!
Thanks to all of you, guys!
Offline