Intel HD Graphics with openSUSE 11.3

I recently installed openSUSE 11.3 on an HP G72 laptop. The laptop has an integrated Intel HD graphics controller. I believe it is referred to as an Arrandale and lspci shows 8086:0046.

I have trawled the forums but it seems the way all this works has changed somewhat between 11.2 and 11.3.

The first problem I had was after the installation the machine would not start. The kernel load started and then the screen went black.

Booting failsafe or with nomodeset allows the system to boot but only, as expected, with low resolution graphics. This is of no use to me and to enable me to use this machine with Linux I need to be able to get the native resolution.

I have tried to boot to run level 3 and run “Xorg -configure” this appears to work and generate a script containing Driver “intellegacy” but if I try and start X with it the screen goes black and <cntl><alt><backspace> does not respond along with anything else I try. It appears that the machine wipes out big time.

Looking at the threads it appears to suggest the intel driver shipped with 11.3 is version 2.12 but as far as I can see what is installed on my system in intellegacy 2.9?
xf86-x11-driver-video-intel does not seem to be installed or available all I have is xf86-x11-driver-video-intel-legacy 2.9.1-19 is that correct?

I have tried to build the source package for the intel 2.13 drive but despite seeming to have tools which are above the required levels autoconf fails because XORG_MACROS_VERSION is 1.6.0 instead of the required 1.8.0. This seems to be defined in xorg-macros.m4 supplied in xorg-X11-proto-devel 7.5-6.3. This rpm is not menttioned as a requirement for compilation.

I have also tried to update the kernel files from the developement repository as suggested in a thread I read. This does not make any difference to the screen resolution and has other issues.

The basic issue seems that the hardware will not run the intel-legacy driver.

I have reached a bit of a wall and don’t know where else I can go with this. I was wondering if any of you could help?

Driver “intellegacy” isn’t the correct driver for your chipset. The “intel” driver is the one you want, but it is included in the package xorg-x11-driver-video along with xorg-x11 drivers for other manufacturer’s chipsets. That package is normally installed by default on 11.3. Booting with “nomodeset” will give you the basic “fbdev” driver. Did you generate /etc/X11/xorg.conf?

Thanks for the clarification on xorg-x11-driver-video, that shows version 7.5-1.5.2. I have never generated an xorg.conf manually. The Xorg -configure did create one to test, xorg.conf.new. That contains Driver “intellegacy”. I have not ever created xorg.conf manually.

I have just tried changing that to just “intel”. I don’t know if that is the correct things to do but instead of wiping out when I try X -config /root/xorg.conf.new I get some errors.

(EE) LoadModule: Module vnc does not have a vncModuleData data object.
(EE) Failed to load module “vnc” (invalid module, 0)
(EE) Screen(s), found but none have a useable configuration.

Fatal server error:
no screens found.

in Xorg.0.log you can see the intel driver 2.12 being loaded and the “no useable configuration” message. Besides the obvious do you know what this means and how do I fix it?

This ThinkWiki page here refers to your graphics chip. However if you have picked up all recent threads involving Arrandale you should already know there is an outstanding upstream bug report(s) about the problem(s) with Arrandale, the integrated Graphics Media Accelerator (Ironlake), and the “intel” driver.

I have seen the wiki page and the kernel and driver I have are at or above the recommended levels. I am sorry but I was not aware of any specific remaining issues that were related to a single screen not working with the intel driver. Reading between the lines you seem to be saying what I have will not work because of a bug. Is that correct? If so would you please let me know what I can search for or where I can find details of this bug and the problems it causes.

Suggest you stop trying things that you possibly don’t understand. You either need a working /etc/X11/xorg.conf (the old way) or you can configure using the files in /etc/X11/xorg.conf.d (new way). Suggest we go for the new way, but first please confirm what xorg.conf files are present in your /etc/X11 directory?

Understood…

there is no xorg.conf in /etc/X11, but there is a xorg.conf.install.

In /etc/X11/xorg.conf.d

10-evdev.conf
11-mouse.conf
20-synaptics.conf
20-wacom.conf
50-device.conf
50-monitor.conf
50-screen.conf
50-vmmouse.conf
90-keytable.conf

The bug may not be appropriate to your configuration, so it is worth proceeding along the lines I suggested. BTW what model of HP G72, if more than one? What intel processor type is it?

Ok, have just seen your reply re xorg.conf and need to think about it. In the meantime please do the following:

To load “intel” driver at startup, you should edit (as root) the file /etc/X11/xorg.conf.d/50-device.conf to add this

  Driver "intel"

For example:

Section "Device"
  Identifier "Default Device"

  #Driver "radeon"

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

  Driver "intellegacy"

EndSection

Save, and restart/reboot to load the new driver. Check result in Xorg.0.log and let us know what happens.

I made the change to Driver “intel” at runlevel 3 and rebooted without adding any (nomodeset 3) kernel parameters. The screen went black and I waited for some time and got no output. I then tried <ctrl><alt><backspace> and no response. I hit the power button and the machine seem to shut down properly and switch off. I then powered on, entered “nomodeset 3” and looked at Xorg.0.log. If I need to do something differently please let me know.

This seems to show the correct resolution being selected and a note of the power button being hit. I don’t know exactly what will help but the last line before the power button message reads

[20.723] (II) intel(0): Modeline "1600x900"x0.0 107.00 1600 1648 1600 1970 900 903 909 912 -hsync -vsync (54.7 kHz)

The model is A20SA with P6000 processor.

What driver did you see loaded when you looked at Xorg.0.log, and why the 3 after “nomodeset”? Driver should be “fbdev”. If you don’t include “3”, do you get a low resolution display of the DE (what DE?) or what?

If I omit the 3 the Xorg.0.log shows the “no Screen(s) found” message and others as when I tried to modify xorg.conf.new and the machine does not start x. Without the change 50-device.conf I do get low resolution x login. I am trying to use KDE.

Just to be clear the last module shown to load is intel_drv.so which is reported as intel module version 2.1.2

sorry that should be module version 2.12

My understanding is that xorg.conf.new would need to be modified and the file renamed and placed in /etc/X11/, to be an effective “xorg.conf”. I assume it had no effect, unless you did all that. BTW, where is that file located now?

The “3” is placing you in “runlevel 3” where X is not started, so no errors or black screen, and probably no new Xorg.0.log.

The “intel” driver supports Kernel Mode Setting (KMS), implemented in 11.3, so X doesn’t do the mode setting. If you use “nomodeset”, i.e. saying to the kernel don’t do KMS, openSUSE defaults to the “fbdev” driver to do “User-space Mode Setting” after X starts and loads “fbdev”.

When you originally tried “nomodeset” without “3” and before fiddling with xorg.conf, you presumably got a low resolution, but were you able to login to a KDE desktop?

A number of users are reporting problems with this hardware and openSUSE-11.3. For example, there is a thread here: Best driver for Intel Core i3 integrated graphics?

That is likely with the FBDEV graphic driver.

The Intel legacy driver is “legacy” … “legacy” means old and by that it means the 2.9 driver built for openSUSE-11.3.

Correct me if I am wrong, but everything that I have read suggests that your hardware needs at least a 2.11, or 2.12 or 2.13 Intel driver. Preferably a 2.13 and openSUSE-11.3 only comes by default with the 2.12. i.e. if you manage to get your hardware working with the legacy driver (ie 2.9) that would be a surprise to me (although I would be happy to see you get it working).

No. that is not correct.

There are easier ways to get the 2.13 than building it yourself. If you wish to go that route, and I am not saying to go that route, but if you DO wish to go that route,then why not download an already built one that is already packaged by someone on the build service?

wow! I admire your determination.

Indeed new hardware such as you have will NOT work with the legacy driver (which is the 2.9 driver).

Well, you could try either the factory-tested or the x11 : xorg repository

The x11 : xorg is here:

http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.3/

note it tends to be unstable and it could totally break your X window.

The factory-tested is here:

http://download.opensuse.org/factory-tested/repo/oss/

and it is supposed to be more stable than the x11 : Xorg.

What you need to do is install an xorg-x11-driver-video rpm which contains the 2.13 Intel driver from one of those repositories (probably factory-tested IF its xorg-x11-driver-video has the 2.13 Intel driver). Likely a number of other packages from either of those repositories will be picked up at the same time and installed. DO NOT, … I repeat DO NOT add both repositories at once. Pick one repos. Add the repos. Install the needed apps. And remove the repos. Do NOT get apps from both.

If you need help determining what Intel driver is in what rpm, please advise.

When I was trying to use xorg.conf.new I was only following instructions that were output when I ran “Xorg -configure”, which is run at run level 3. At the end this says you should try and start X using "X -config /root/xorg.conf.new. This is why I was running run level 3 and this does have an effect. As I said I modified the file to say Driver “intel” and I get the same error when trying to start X as when 50-device.conf is modified.

Yes without any modifications, except adding nomodeset, I can login to KDE.

And that will be the FBDEV graphic driver. If you look in the /var/log/Xorg.0.log file, it should confirm what I am saying that by using ‘nomodeset’ as a boot code, you are in fact booting to X with the FBDEV graphic driver.

Yes without any modifications, except adding nomodeset, I can login to KDE.

That would have been using “fbdev” driver, which has limited resolutions and relatively poor performance. If you wanted to repeat that to inspect the Xorg.0.log, you will need to either comment out the Driver statement you added (reboot only with nomodeset), or change “intel” to “fbdev” and reboot.

If you want to try configuring for your laptop’s screen, you will need to know the spec of your display i.e. for configuring the Monitor and Screen files in /etc/X11/xorg.conf.d. The correct ranges for HorizSync (horizsync-range), VertRefresh (vertrefresh-range), and DisplaySize (width height) can be placed in the Monitor section. Then in the Screen section you can control the desired resolutions, by placing them in Modes statements. Use same statements as detailed in the man page for xorg.conf, obtained with KDE using Konqueror’s address bar, enter: man:xorg.conf

For example in 50-monitor.conf, substituting your own display’s values for HorizSync and VertRefresh:

Section "Monitor"
  Identifier "Default Monitor"

  ## If your monitor doesn't support DDC you may override the
  ## defaults here
  HorizSync 28-85
  VertRefresh 50-100

  ## Add your mode lines here, use e.g the cvt tool

EndSection

For example in 50-screen.conf, removing any invalid resolutions:

Section "Screen"
  Identifier "Default Screen"

  Device "Default Device"

  ## Doesn't help for radeon/radeonhd drivers; use magic in
  ## 50-device.conf instead
  
  Monitor "Default Monitor"
  DefaultDepth 24
      SubSection "Display"
          Modes "1600x900" "1366x768" "1024x768" "800x600"
              Viewport   0 0
              Depth     24
      EndSubSection
EndSection

You could try first only implementing the changes to 50-screen.conf

Out of edit time, so this should have been the last line in my previous:

You could try first only implementing the changes to 50-screen.conf, and leave it to use your display’s native refresh rates (hopefully).