Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c =================================================================== --- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_init.c +++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c @@ -49,6 +49,7 @@ static Bool KeepTty = FALSE; static int VTnum = -1; static Bool VTSwitch = TRUE; static Bool ShareVTs = FALSE; +Bool NoHwAccess = FALSE; static int activeVT = -1; static int vtPermSave[4]; @@ -434,6 +439,11 @@ xf86ProcessArgument(int argc, char *argv ShareVTs = TRUE; return(1); } + if (!strcmp(argv[i], "-nohwaccess")) + { + NoHwAccess = TRUE; + return(1); + } if ((argv[i][0] == 'v') && (argv[i][1] == 't')) { if (sscanf(argv[i], "vt%2d", &VTnum) == 0) @@ -455,4 +465,5 @@ xf86UseMsg() ErrorF("don't detach controlling tty (for debugging only)\n"); ErrorF("-novtswitch don't immediately switch to new VT\n"); ErrorF("-sharevts share VTs with another X server\n"); + ErrorF("-nohwaccess don't access hardware ports directly\n"); } Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c =================================================================== --- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_video.c +++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c @@ -51,6 +51,7 @@ #define MAP_FAILED ((void *)-1) #endif +extern Bool NoHwAccess; static Bool ExtendedEnabled = FALSE; #ifdef __ia64__ @@ -509,6 +510,9 @@ xf86EnableIO(void) int fd; unsigned int ioBase_phys; #endif + /* Fake it... */ + if (NoHwAccess) + return TRUE; if (ExtendedEnabled) return TRUE;