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

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.
 

Attachments

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.
 
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).

Code:
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.
 
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.
 
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.
 
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?
 
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
 
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.
 
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.
 
I think i810 driver is a symlink to intel driver.
Although I can't check that since I'm away from FreeBSD machines now.
 
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.
 
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.
 
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?
 

Attachments

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

Code:
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
 
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.
 
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.
 
Back
Top