# How do I get X to work on an Intel 945GM card?



## Copacetic (Mar 16, 2009)

Hi!

I've been trying to get X up and running on my laptop, but I've ran into a few problems. I'm hoping there's someone here that can help me out with the Xorg configuration.

My laptop - IBM Thinkpad T60 1951-FCG:

Graphics controller: Intel Graphics Media Accelerator 950 (Intel 945GM)- integrated graphics chipset
Display: 14.1-inch XGA (1024 x 768 resolution) TFT display

The problem I've got is that when I try to run my xorg.conf.new file, all I get is a black screen, a tad bit lighter than when my laptop is turned off. I can't do anything at the laptop at this point, no keys work -- I then have to SSH in to the laptop and kill the process, which then turns my display into this: http://folk.ntnu.no/sigurdhj/laptop_fail.jpg. The only way I can get back to a normal display is by rebooting. If I try to start X through SSH, I get prompted with the message: Failed to load DMI info, X60 TV quirk not applied.

Things I've tried myself are:
Normal config file I get from a X -configure
Editing my xorg.conf.new file according to what I read in the handbook and after my computer's specifications
Read through 'man intel' aswell as the http://www.intellinuxgraphics.com/ documentation.

After the read of 'man intel' I'm thinking it could be something with the setting LVDSFixedMode, but the information about that was just too advanced for me to make anything of. I've included my xorg.conf.new file aswell as the Xorg.0.log file.

Hope there is someone out there bored enough to help me sort this out.

Thanks.


----------



## klemes (Mar 19, 2009)

Try commenting out the BusId line in your xorg.conf then startx.
Just a guess but you might as well try this.
Also note that I use basically the same video card as you (mine is a 945G) to excelelnt effect in FreeBSD 7-1 Stable.
As a matter of fact it run immediately out of the box from the installation onwards and it never gave me any trouble.


----------



## DutchDaemon (Mar 19, 2009)

Klemes, post your xorg.conf so Copacetic can compare?


----------



## klemes (Mar 19, 2009)

Unfortunately I am not in front of my FreeBSD desktop right now (and I won't be until tomorrow evening)
but from what I remember it was very minimalistic (no modelines or anything).
From memory I think it was something like this(I edited Copacetic's
xorg.conf.new according to my own xorg contents).


```
Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection



Section "Files"

        ModulePath   "/usr/local/lib/xorg/modules"

        FontPath     "/usr/local/lib/X11/fonts/misc/"

        FontPath     "/usr/local/lib/X11/fonts/TTF/"

        FontPath     "/usr/local/lib/X11/fonts/OTF"

        FontPath     "/usr/local/lib/X11/fonts/Type1/"

        FontPath     "/usr/local/lib/X11/fonts/100dpi/"

        FontPath     "/usr/local/lib/X11/fonts/75dpi/"

EndSection



Section "Module"

        Load  "extmod"

        Load  "dbe"

        Load  "glx"

        Load  "dri"

        Load  "freetype"

EndSection



Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

EndSection



Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "auto"

        Option      "Device" "/dev/sysmouse"

        Option      "ZAxisMapping" "4 5 6 7"

EndSection



Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "Monitor Vendor"

        ModelName    "Monitor Model"

EndSection



Section "Device"

        Identifier  "Card0"

        Driver      "intel"

        VendorName  "Intel Corporation"

        BoardName   "Mobile 945G Express Integrated Graphics Controller"

EndSection



Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

EndSection
```

Sorry if I cannot produce the exact stuff but I promise to post the original one as soon as I get the chance to,and taht would be by tomorrow night at best.


----------



## Copacetic (Mar 20, 2009)

Thanks for the reply.

I've tried editing out the busID line, aswell as trying your xorg.conf suggestion -- none worked.

In frustration I tried reinstalling FreeBSD, and decided to try installing X from the CD -- which worked perfectly. I've now upgraded my system, and now X is broke. I've tried using my pre-Xorg 7.4-working-config, but that won't run with the latest Xorg release. I'm starting to think that the latest Xorg release broke the driver or something. Pre-Xorg-7.4 works perfectly without any modification, and Xorg-7.4 refuses to work after 3 weeks of googling and forum posts.


----------



## klemes (Mar 20, 2009)

What driver are you using?
Try the intel driver in place of the i810 if you haven't yet.
I read somewhere that the i810 driver has a lot of bugs and that the intel driver is preferable.


----------



## Copacetic (Mar 20, 2009)

I've tried both the 'intel' and 'i810' driver -- no good. I've managed to get a picture using the 'vesa' driver, but I'd prefer to run the intel one.

Are you running Xorg 7.4 with your 945G card, klemes?


----------



## klemes (Mar 21, 2009)

I dont know anything about the 7.x type xorg enumeration .
My /var/log/Xorg.0.log says its Xorg 1.4.0:

X.Org X Server 1.4.0
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 7.0-RELEASE amd64 
Current Operating System: FreeBSD alice 7.1-RELEASE-p3 FreeBSD 7.1-RELEASE-p3 #4: Sun Mar 15 11:41:24 UTC 2009     root@alice:/usr/obj/usr/src/sys/GENERIC amd64
Build Date: 13 February 2008  01:44:21PM


----------



## klemes (Mar 21, 2009)

I recently switced to the intel driver which I definately prefer.


----------



## Copacetic (Mar 21, 2009)

Yeah, I don't think you are running the latest version of Xorg then. I'm inclined to just run the old software while I wait for the next release of Xorg -- seems intel 945GM + Xorg 7.4 = an impossibility.


----------



## flageo (Mar 23, 2009)

The same case here.

My laptop is thinkpad x30, Intel 830MG installed on it.
On Xorg 7.3, it works perfectly well, but on Xorg 7.4 with intel driver I got completely the same symptoms as Copaceticâ€™s.

What Iâ€™m curious is that two â€œScreenâ€ sections show up in xorg.conf which is auto-generated by Xorg â€“configure.


----------



## flageo (Mar 23, 2009)

I think i810 driver is a symlink to intel driver.
Although I can't check that since I'm away from FreeBSD machines now.


----------



## richardpl (Mar 23, 2009)

You are using 1.5.3 version of Xorg server, read /usr/ports/UPDATING for more info.
You will need to add one line to your xorg.conf if you dont enable/use hald.


----------



## flageo (Mar 24, 2009)

Thank you richardpl but I don't follow.
You are talking about 200901{23,24} of /usr/src/UPDATING? Does input-device-handling-of-hald really cause any effect?

Yes, I disabled moused and let hald detect keyboards and mice, though I don't have a usb mouse attached.

I'd love to attach my xorg.conf but I already removed everything related xorg 7.4 and re-install xorg7.3.

thanks.


----------



## flageo (Mar 26, 2009)

After upgrading my system to 7.2-PRERELEASE, things slightly changed.
X doesn't get freezed anymore. After a black screen for a second, seems to go back to a normal console but it just 'seems'...
No keys work, even Ctrl+Alt+Backspace. And X core-dumped when I hit Alt+F1.

Any clues?


----------



## tim-m89 (Apr 4, 2009)

If it helps you this works perfectly for me with latest xorg from ports (7.4).:


```
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
	Option "AutoAddDevices" "false"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "extmod"
	Load  "record"
	Load  "dbe"
	Load  "glx"
	Load  "xtrap"
	Load  "dri"
	Load  "freetype"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection


Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Device" "/dev/psm0"
	Option	    "ZAxisMapping" "4 5 6 7"
	Option      "SHMConfig" "on"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "ColorKey"           	# <i>
        #Option     "CacheLines"         	# <i>
        #Option     "Dac6Bit"            	# [<bool>]
        #Option     "DRI"                	# [<bool>]
        #Option     "NoDDC"              	# [<bool>]
        #Option     "ShowCache"          	# [<bool>]
        #Option     "XvMCSurfaces"       	# <i>
        #Option     "PageFlip"           	# [<bool>]
	Identifier  "Card0"
	Driver      "intel"
	VendorName  "Intel Corporation"
	BoardName   "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
	BusID       "PCI:0:2:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes     "1280x800 800x600"
	EndSubSection
EndSection
```


----------



## yoshamano (Apr 13, 2009)

Just wanted to point people towards my thread, The ASUS Eee 904HA and FreeBSD 7.2 Beta1,because it also has a 945GME in it, and I have it working with xorg.


----------



## Dragos_ (Aug 7, 2009)

Found this article: http://www.melvilletheatre.com/articles/intel-widescreen/index.html that i used as base.

How to make it work:
1. get: http://www.geocities.com/stomljen/ 915resolution tool

2. make install of tool

3. find out your monitor resolution. This is commonly found in the specification of your laptop.

Optional 4. Get horizsync, vertrefresh as is explained in article
Note: I could not find those values but still worked.

5. use tool as shown in article or README.txt in tool directory
Particular case: 
915resolution 38 1440 900 24
where 38 is a present mode the will be replaced
1440 900 resolution
24 depth

6. be sure to modify your configuration file xorg.conf.new
adding in Section "Screen" in a Subsection with your Depth present:
Modes "resolution"
Particular case:
Modes "1440x900"

I have tested all this with a Toshiba p200-18z with the 7.0 Release.


----------



## aragon (Aug 7, 2009)

What about xrandr(1)?


----------



## Dragos_ (Aug 7, 2009)

aragon said:
			
		

> What about xrandr(1)?



Someone should test it


----------



## tim-m89 (Aug 8, 2009)

Dragos_ said:
			
		

> Someone should test it



I have used xrandr to get my laptop to output to another monitor using the external vga connector at 1920x1200 (the laptop screen is only 1280x800. It is working fine.


----------

