X not starting, intel graphics driver problem?

I am running Opensuse 11.4 on a file server, based on an Intel Atom motherboard with 945G graphics chipset. I recently shut down and then rebooted the server (because I needed to switch off the power for a few minutes) after it had had been running quite happily for several weeks since the last boot. Now I cannot start X - it gives up after the line

(EE) intel(0): failed to set mode: Invalid argument

I’ve tried googling but am none the wiser what could have caused this, or how to fix it. Excerpts from the X log file:


   229.187] 
X.Org X Server 1.9.3
Release Date: 2010-12-13
   229.188] X Protocol Version 11, Revision 0
   229.188] Build Operating System: openSUSE SUSE LINUX
   229.188] Current Operating System: Linux atom-linux 2.6.37.6-0.5-desktop #1 SMP PREEMPT 2011-04-25 21:48:33 +0200 i686
   229.188] Kernel command line: root=/dev/disk/by-id/ata-ST31000333AS_9TE1K231-part8 resume=/dev/disk/by-id/ata-ST31000333AS_9TE1K231-part5 splash=silent quiet vga=0x31a
   229.188] Build Date: 07 June 2011  04:32:16AM
   229.188]  
   229.188] Current version of pixman: 0.20.0
   229.188] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
   229.188] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
   229.189] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jul 16 18:58:49 2011
   229.189] (==) Using config file: "/etc/X11/xorg.conf"
   229.189] (==) Using config directory: "/etc/X11/xorg.conf.d"
   229.190] Parse error on line 44 of section Files in file /etc/X11/xorg.conf
	Ignoring obsolete keyword "InputDevices".
   229.191] Parse error on line 45 of section Files in file /etc/X11/xorg.conf
	Ignoring obsolete keyword "InputDevices".
   229.191] (==) ServerLayout "Layout[all]"
   229.191] (**) |-->Screen "Screen[0]" (0)
   229.191] (**) |   |-->Monitor "Monitor[0]"
   229.192] (**) |   |-->Device "Device[0]"
   229.192] (**) |-->Input Device "Keyboard[0]"
   229.192] (**) |-->Input Device "Mouse[1]"
...
   229.219] (II) LoadModule: "intel"
   229.221] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
   229.221] (II) Module intel: vendor="X.Org Foundation"
   229.221] 	compiled for 1.9.3, module version = 2.14.0
   229.221] 	Module class: X.Org Video Driver
   229.221] 	ABI class: X.Org Video Driver, version 8.0
   229.221] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
	i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
	E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
	965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
	4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
	Sandybridge, Sandybridge, Sandybridge, Sandybridge, Sandybridge,
	Sandybridge, Sandybridge
   229.225] (--) using VT number 8
...
   229.524] (II) intel(0): EDID for output VGA1
   229.525] (II) intel(0): Manufacturer: GSM  Model: 567d  Serial#: 208290
   229.525] (II) intel(0): Year: 2008  Week: 12
   229.525] (II) intel(0): EDID Version: 1.3
   229.525] (II) intel(0): Analog Display Input,  Input Voltage Level: 0.700/0.700 V
   229.525] (II) intel(0): Sync:  Separate  SyncOnGreen
   229.525] (II) intel(0): Max Image Size [cm]: horiz.: 49  vert.: 32
   229.525] (II) intel(0): Gamma: 2.20
   229.525] (II) intel(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
   229.525] (II) intel(0): First detailed timing is preferred mode
   229.525] (II) intel(0): redX: 0.635 redY: 0.342   greenX: 0.292 greenY: 0.611
   229.525] (II) intel(0): blueX: 0.147 blueY: 0.070   whiteX: 0.313 whiteY: 0.329
   229.525] (II) intel(0): Supported established timings:
   229.525] (II) intel(0): 720x400@70Hz
   229.526] (II) intel(0): 640x480@60Hz
   229.526] (II) intel(0): 640x480@75Hz
   229.526] (II) intel(0): 800x600@56Hz
   229.526] (II) intel(0): 800x600@60Hz
   229.526] (II) intel(0): 800x600@75Hz
   229.526] (II) intel(0): 832x624@75Hz
   229.526] (II) intel(0): 1024x768@60Hz
   229.526] (II) intel(0): 1024x768@75Hz
   229.526] (II) intel(0): 1280x1024@75Hz
   229.526] (II) intel(0): 1152x864@75Hz
   229.526] (II) intel(0): Manufacturer's mask: 0
   229.526] (II) intel(0): Supported standard timings:
   229.526] (II) intel(0): #0: hsize: 1440  vsize 900  refresh: 75  vid: 3989
   229.526] (II) intel(0): #1: hsize: 1440  vsize 900  refresh: 60  vid: 149
   229.526] (II) intel(0): #2: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
   229.526] (II) intel(0): #3: hsize: 1280  vsize 960  refresh: 60  vid: 16513
   229.526] (II) intel(0): #4: hsize: 1152  vsize 864  refresh: 75  vid: 20337
   229.526] (II) intel(0): Supported detailed timing:
   229.526] (II) intel(0): clock: 119.0 MHz   Image Size:  474 x 296 mm
   229.526] (II) intel(0): h_active: 1680  h_sync: 1728  h_sync_end 1760 h_blank_end 1840 h_border: 0
   229.527] (II) intel(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1080 v_border: 0
   229.527] (II) intel(0): Supported detailed timing:
   229.527] (II) intel(0): clock: 146.2 MHz   Image Size:  474 x 296 mm
   229.527] (II) intel(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
   229.527] (II) intel(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
   229.527] (II) intel(0): Ranges: V min: 56 V max: 75 Hz, H min: 28 H max: 83 kHz, PixClock max 155 MHz
   229.527] (II) intel(0): Monitor name: W2252
   229.527] (II) intel(0): EDID (in hex):
   229.527] (II) intel(0): 	00ffffffffffff001e6d7d56a22d0300
   229.527] (II) intel(0): 	0c1201036a312078eaaec5a2574a9c25
   229.527] (II) intel(0): 	125054a76b80950f950081808140714f
   229.527] (II) intel(0): 	0101010101017c2e90a0601a1e403020
   229.527] (II) intel(0): 	3600da281100001a21399030621a2740
   229.527] (II) intel(0): 	68b03600da281100001c000000fd0038
   229.527] (II) intel(0): 	4b1c530f000a202020202020000000fc
   229.527] (II) intel(0): 	0057323235320a202020202020200068
   229.527] (II) intel(0): EDID vendor "GSM", prod id 22141
   229.528] (II) intel(0): Using hsync ranges from config file
   229.528] (II) intel(0): Using vrefresh ranges from config file
   229.528] (II) intel(0): Printing DDC gathered Modelines:
   229.528] (II) intel(0): Modeline "1680x1050"x0.0  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync (64.7 kHz)
   229.528] (II) intel(0): Modeline "1680x1050"x0.0  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
...
   229.664] (II) intel(0): Using user preference for initial modes
   229.664] (II) intel(0): Output VGA1 using initial mode 1680x1050
   229.664] (II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
   229.664] (II) intel(0): Kernel page flipping support detected, enabling
   229.664] (**) intel(0): Display dimensions: (478, 299) mm
   229.664] (WW) intel(0): Probed monitor is 490x320 mm, using Displaysize 478x299 mm
   229.664] (**) intel(0): DPI set to (89, 89)
   229.664] (II) Loading sub module "fb"
   229.664] (II) LoadModule: "fb"
   229.666] (II) Loading /usr/lib/xorg/modules/libfb.so
   229.667] (II) Module fb: vendor="X.Org Foundation"
   229.667] 	compiled for 1.9.3, module version = 1.0.0
   229.667] 	ABI class: X.Org ANSI C Emulation, version 0.4
   229.667] (==) Depth 24 pixmap format is 32 bpp
   229.667] (==) intel(0): VideoRam: 262144 KB
   229.667] (II) intel(0): [DRI2] Setup complete
   229.667] (II) intel(0): [DRI2]   DRI driver: i915
   229.667] (II) intel(0): Allocated new frame buffer 2048x1200 stride 8192, tiled
   229.668] (II) UXA(0): Driver registered support for the following operations:
   229.668] (II)         solid
   229.668] (II)         copy
   229.668] (II)         composite (RENDER acceleration)
   229.668] (II)         put_image
   229.668] (II)         get_image
   229.668] (==) intel(0): Backing store disabled
   229.668] (==) intel(0): Silken mouse enabled
   229.668] (II) intel(0): Initializing HW Cursor
   229.674] (EE) intel(0): failed to set mode: Invalid argument
   229.675] 
Fatal server error:
   229.675] AddScreen/ScreenInit failed for driver 0
   229.675] 
   229.675] 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
   229.675] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
   229.675] 

X seems to have correctly identifed my monitor (LG W2252) and screen resolution (1680x1050).
I tried rebooting using a SystemRescueCD - I was able to get into the full resolution graphical environment with no problems.
I may have applied an online update since the last successful boot, but unfortunately I can’t remember. There have been no other software or hardware changes.

Any pointers would be much appreciated!

  1. Early in the log file, I note this was reported
   229.190] Parse error on line 44 of section Files in file /etc/X11/xorg.conf
	Ignoring obsolete keyword "InputDevices".
   229.191] Parse error on line 45 of section Files in file /etc/X11/xorg.conf
	Ignoring obsolete keyword "InputDevices".

Do you have a legacy /etc/X11/xorg.conf file present? If so, you might want to rename it (so that its not used), and try booting again.

  1. You can check for recent updated packages with
rpm -qa --last|grep xorg

It will list the most recently installed/updated packages first. Maybe you have encountered a bug here.

I’ve read of some users with the 945G having to resort to using the ‘intellegacy’ driver and also finding it necessary to disable special effects. If my memory serves me correctly, one of them reported a kernel update caused the Intel driver to stop working for them and they ended up using the ‘intellegacy’ driver as a work around.

Assuming no /etc/X11/xorg.conf file, one way to specify the Intellegacy driver is by editing the /etc/X11/xorg.conf.d/50-device.conf file to look like this:


Section "Device"
  Identifier "Default Device"

  #Driver "radeon"

  Driver  "intellegacy"  

  ## Required magic for radeon/radeonhd drivers; output name
  ## (here: "DVI-0") can be figured out via 'xrandr -q'
  #Option "monitor-DVI-0" "Default Monitor"

EndSection

The intellegacy is in fact just an older version of the intel driver. It comes packaged in the rpm xorg-x11-driver-video-intel-legacy.

I recommend one have either ‘mc’ (midnight commander) installed, or be familiar with vi, so as to be able to edit if one is stuck in a text mode.

I’ve read of some users with the 945G having to resort to using the ‘intellegacy’ driver and also finding it necessary to disable special effects. If my memory serves me correctly, one of them reported a kernel update caused the Intel driver to stop working for them and they ended up using the ‘intellegacy’ driver as a work around.

Good advice Lee. Disappointing though, if we’ve had a regression with the intel driver. I think that given the number of issues we’ve seen with the intel driver, that it would be a good idea for openSUSE to package the intel driver as a separate xorg-x11-driver-video-intel package (as some other distros do), so that users could use particular versions when necessary.

Renaming (ie removing) the xorg.conf file has fixed the problem. Thank you so much for your advice and comments.

I’ve been using Linux (mostly Suse) off and on for around 10 years now, but I hadn’t really appreciated the changes to X configuration in that time. I need to get my head round it for next time.

I’m glad that this was all that was causing your problem. Thanks for getting back to us. :slight_smile:

I’m also glad to read its working !

Indeed there are lots of changes. I tried to document my understanding of the various graphic drivers for openSUSE in this ‘practical theory’ guide here: openSUSE Graphic Card Practical Theory Guide for Users … like all guides in GNU/Linux, given how fast things change, its a challenge to keep that guide up to date.

wrt changes in X in openSUSE, as you noticed it is no longer necessary in many cases to have an /etc/X11/xorg.conf file (although you will notice an /etc/X11/xorg.conf.install file which is used by openSUSE YaST installer when 1st installing openSUSE).

New, according to my understanding is typically in an installed openSUSE system (for 11.3, 11.4 and now 12.1 Milestones) is that modesetting in the kernel (called KMS) will automatically detect and with Xorg configure one’s graphics. I think the output of ‘udev’ is used as part of that. If modesetting fails, it is possible to disable modesetting in the kernel and Xorg will still try (without an xorg.conf) to automatically identify and configure one’s graphics (again, I think the output of ‘udev’ is used as part of that).

Also New is a series of configuration files under /etc/X11/xorg.conf.d/ directory where those files contain the old contents. And one can still use an /etc/X11/xorg.conf file.

In essence, if an /etc/X11/xorg.conf file is present, it will be used and it will take precedent over any other configuration method. If no xorg.conf is present (or if xorg.conf is missing some settings), then the files under /etc/X11/xorg.conf.d/ will take precedent over any other configuration method. And if there is no xorg.conf and if the files in /etc/X11/xorg.conf.d/ are kept at their default settings, then the kernel/udev/Xorg will attempt to automatically configure (which is the default configuration).

Thanks, this will help if (when?) I have more problems down the line