Good morning! Here is some additional info. I've tried to step the Xorg in gdb.
The error is first reported by intel driver with message: (EE) intel(0): No valid modes. It is written at src/i830_driver.c:1377 if (!xf86InitialConfiguration (pScrn, FALSE)) <== fails here { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes.\n"); RestoreHWState(pScrn); PreInitCleanup(pScrn); return FALSE; } Tracing shows, that xf86InitialConfiguration function fails and returns NULL. hw/xfree86/modes/xf86Crtc.c:1513 Bool xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) { ...... // a lot of code skipped /* * Assign CRTCs to fit output configuration */ if (!xf86PickCrtcs (scrn, crtcs, modes, 0, width, height)) <== fails here { xfree (crtcs); xfree (modes); return FALSE; } Function xf86InitialConfiguration fails to assign CRTS. It call function xf86PickCrtcs and last return FALSE. hw/xfree86/modes/xf86Crtc.c:787 static int xf86PickCrtcs (ScrnInfoPtr scrn, xf86CrtcPtr *best_crtcs, DisplayModePtr *modes, int n, int width, int height) { xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); int c, o; xf86OutputPtr output; xf86CrtcPtr crtc; xf86CrtcPtr *crtcs; xf86CrtcPtr best_crtc; int best_score; int score; int my_score; if (n == config->num_output) return 0; output = config->output[n]; /* * Compute score with this output disabled */ best_crtcs[n] = NULL; best_crtc = NULL; best_score = xf86PickCrtcs (scrn, best_crtcs, modes, n+1, width, height); ^== this functions returns NULL if (modes[n] == NULL) ===> return best_score; <== and we also return NULL here At this point we have: n = 0, best_score = 0, modes[0] = 0, so we return NULL. Here is some excerpt from GDB session. (gdb) next xf86PickCrtcs (scrn=0x820ff08, best_crtcs=0x8213710, modes=0x8213bb0, n=0, width=2048, height=2048) at ../../../../hw/xfree86/modes/xf86Crtc.c:807 807 in ../../../../hw/xfree86/modes/xf86Crtc.c (gdb) print modes $15 = (DisplayModePtr *) 0x8213bb0 (gdb) print modes[0] $16 = (DisplayModePtr) 0x0 (gdb) print n $17 = 0 (gdb) print output $18 = (xf86OutputPtr) 0x8212520 (gdb) print *output $19 = {scrn = 0x820ff08, crtc = 0x0, possible_crtcs = 1, possible_clones = 1, interlaceAllowed = 0, doubleScanAllowed = 0, probed_modes = 0x0, options = 0x8212f40, conf_monitor = 0x8203f00, initial_x = 0, initial_y = 0, initial_rotation = 0, status = XF86OutputStatusDisconnected, MonInfo = 0x0, subpixel_order = 0, mm_width = 0, mm_height = 0, name = 0x8212578 "VGA", funcs = 0xb7bc9b60, driver_private = 0x8212a68, use_screen_monitor = 1, randr_output = 0x0} <=== NOTE "status = XF86OutputStatusDisconnected" here, is it ok? (gdb) print best_score $20 = 0 (gdb) next 806 in ../../../../hw/xfree86/modes/xf86Crtc.c (gdb) next 807 in ../../../../hw/xfree86/modes/xf86Crtc.c (gdb) next 868 in ../../../../hw/xfree86/modes/xf86Crtc.c (gdb) next xf86InitialConfiguration (scrn=0x820ff08, canGrow=0) at ../../../../hw/xfree86/modes/xf86Crtc.c:1620 1620 in ../../../../hw/xfree86/modes/xf86Crtc.c (gdb) bt #0 xf86InitialConfiguration (scrn=0x820ff08, canGrow=0) at ../../../../hw/xfree86/modes/xf86Crtc.c:1620 #1 0xb7b9df50 in I830PreInit (pScrn=0x820ff08, flags=<value optimized out>) at ../../src/i830_driver.c:1377 #2 0x080a8394 in InitOutput (pScreenInfo=0x81fe360, argc=1, argv=0xbfec3fd4) at ../../../../hw/xfree86/common/xf86Init.c:601 #3 0x08076c6b in main (argc=1, argv=0xbfec3fd4, envp=0xbfec3fdc) at ../../dix/main.c:370 (gdb) This function just returned FALSE, so all subsequent functions just returns with error. Any ideas? What else can I trace to find useful information? You can send me a patch and I will recompile server or intel driver with it. With best regards, Alexander. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]