Index: common/xf86Globals.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v retrieving revision 1.8 diff -u -r1.8 xf86Globals.c --- common/xf86Globals.c 4 Jul 2005 18:41:02 -0000 1.8 +++ common/xf86Globals.c 18 Nov 2005 12:01:48 -0000 @@ -216,6 +216,7 @@ Bool xf86bsEnableFlag = FALSE; Bool xf86bsDisableFlag = FALSE; Bool xf86silkenMouseDisableFlag = FALSE; +Bool xf86acpiDisableFlag = FALSE; char *xf86LayoutName = NULL; char *xf86ScreenName = NULL; char *xf86PointerName = NULL; Index: common/xf86Init.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v retrieving revision 1.26 diff -u -r1.26 xf86Init.c --- common/xf86Init.c 5 Oct 2005 16:39:09 -0000 1.26 +++ common/xf86Init.c 18 Nov 2005 12:01:49 -0000 @@ -1660,6 +1660,11 @@ xf86silkenMouseDisableFlag = TRUE; return 1; } + if (!strcmp(argv[i], "-noacpi")) + { + xf86acpiDisableFlag = TRUE; + return 1; + } if (!strcmp(argv[i], "-scanpci")) { DoScanPci(argc, argv, i); Index: common/xf86Priv.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v retrieving revision 1.6 diff -u -r1.6 xf86Priv.h --- common/xf86Priv.h 24 Aug 2005 11:18:32 -0000 1.6 +++ common/xf86Priv.h 18 Nov 2005 12:01:49 -0000 @@ -60,6 +60,7 @@ extern Bool xf86bsEnableFlag; extern Bool xf86bsDisableFlag; extern Bool xf86silkenMouseDisableFlag; +extern Bool xf86acpiDisableFlag; extern char *xf86LayoutName; extern char *xf86ScreenName; extern char *xf86PointerName; Index: os-support/linux/lnx_apm.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c,v retrieving revision 1.10 diff -u -r1.10 lnx_apm.c --- os-support/linux/lnx_apm.c 22 Aug 2005 12:05:18 -0000 1.10 +++ os-support/linux/lnx_apm.c 18 Nov 2005 12:01:50 -0000 @@ -131,9 +131,10 @@ { PMClose ret = NULL; - /* Favour ACPI over APM */ + /* Favour ACPI over APM, but only when enabled */ - ret = lnxACPIOpen(); + if (!xf86acpiDisableFlag) + ret = lnxACPIOpen(); if (!ret) ret = lnxAPMOpen();