On 05-Nov-04 adam@thebowery.co.uk wrote:
As it stands I was happy as the Dell outlet sold me a mobile workstation for about 950 quid (yeah, it included WinXP) instead of the "current" price of 1900 quid, all the hardware works in Linux with the exception of ACPI not working correctly (which is a right pain in the bum as pushing the lid button locks the machine up, although it does suspend ok) and needing the non-free Nvidia drivers to drive the display.
ACPI problems with laptops and Linux tend to occur. I had a similar issue with mine (RH 9.1 on a Compaq Armada 1750), but discovered that what it didn't like was ACPI cutting in when the screen was displaying X.
If I switch (Ctrl-Alt-F1) to the plain console, then all is OK.
But if it's displaying X (as in Alt-F7) either when I press the lid button or when (after 10 minutes) the machine goes into suspend, then somehow it is locked. Pressing Fn+[display switcher function key] gives a brief ghostly flash of the original X display. but further progress is impossible.
So: if closing the lid, I do Ctrl-Alt-F1 first.
Also: I have written a little script (loaded at boot) which monitors /proc/interrupts for keyboard or mouse activity every 5 minutes. If such activity has occured, then the script starts from scratch again. If there is no mouse or keyboard activity in the 5 minutes, then the script switches the machine to the console automatically (using the command 'chvt 1').
When I want X back, I just press Alt-F7.
This bypasses the problem.
The script is below ("swap_vt"). Maybe some may find it useful. (You can uncomment the commented lines for testing how it works).
Best wishes to all, Ted. ===================== swap_vt starts ========================
#! /bin/bash while true ; do C_KBD=`cat /proc/interrupts | awk '/keyboard/{print $2}'` ; # echo "C_KBD = $C_KBD" if [ -n "P_KBD" ] ; then P_KBD=$KBD ; else P_KBD=0 ; fi KBD=$C_KBD ; C_MUS=`cat /proc/interrupts | awk '/Mouse/{print $2}'` ; # echo "C_MUS = $C_MUS" if [ -n "P_MUS" ] ; then P_MUS=$MUS ; else P_MUS=0 ; fi MUS=$C_MUS # echo "KBD=$KBD ; P_KBD=$P_KBD ; MUS=$MUS ; P_MUS=$P_MUS" if [ $KBD -eq $P_KBD ] ; then if [ $MUS -eq $P_MUS ] ; then chvt 1 ; fi fi sleep 5m ; done
===================== swap_vt ends ==========================
-------------------------------------------------------------------- E-Mail: (Ted Harding) Ted.Harding@nessie.mcc.ac.uk Fax-to-email: +44 (0)870 094 0861 [NB: New number!] Date: 05-Nov-04 Time: 12:19:14 ------------------------------ XFMail ------------------------------