Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: eee PC 901 Intel 945GME graphics drivers

  1. #1
    Junior Member
    Join Date
    Jul 2008
    Posts
    26

    Default eee PC 901 Intel 945GME graphics drivers

    *** This is fixed - see below / guide in tutorials section ***

    I've been working on setting up my eee 901 with bt3 on an SD card. Currently it's working fine in command line mode with changes stored on a partition on the eee flash drive. I'm fairly new to linux, so please excuse my terminology errors, but have learned a bit getting things like the Ralink wireless-N drivers, bluetooth, some of the ACPI stuff etc. up and working. When I finally get everything working I'll post my notes in case they can help anyone...

    My main remaining problem is with X - if I configure xorg.conf for generic VESA, X starts fine but I can only get 800 x 600. Looks ok, but it's annoying. I tried editing the screen section to add the eee 1024 x 600 resolution, but this does not seem to do anything - the max resolution selectable once X is started is still 800 x 600.

    First question - using the VESA driver, is it possible to get a resolution of 1024 x 600? I'm not fussed about graphics acceleration etc - that's really not the purpose of the machine, and I can always reboot to the default Xandros if I want to watch a movie or something.

    I have also tried installing the actual drivers for the 945GME device, following the instructions from the Intel Linux driver package IEGD-8.0-1.i386.rpm. There is nothing specific to Slax, but the instructions for SUSE10 seemed pretty close. The instructions call for patching the Linux kernel agpgart module, and then (or possibly instead - the instructions are confusing) applying something called the IKM patch to get DRI support. I've obtained the bt3 kernel source, but this process seems way beyond my Linux skill level... my question is, is there any easier way of getting these graphics drivers installed and configured? Google is not helping me much for once. If not, I guess I'll just back up my changes and go for it...

    More info:
    lspci gives
    VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
    00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)

    The relevant section from the Xandros xorg.conf file is:

    Section "Monitor"
    Identifier "Monitor1"
    VendorName "ASUS"
    ModelName "eeePC P701" #Guess they did not pdate this...
    Modeline "800x480" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync # 60 Hz
    Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync
    EndSection

    Section "Monitor"
    Identifier "TV"
    VendorName "ASUS"
    ModelName "eeePC P701"
    Option "Ignore" "true"
    EndSection

    Section "Device"
    Identifier "Device1"
    Driver "intel" # I suspect I need to change this?
    VendorName "Intel Corporation"
    BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
    BusID "PCI:0:2:0"
    Option "Monitor-VGA" "Monitor1"
    Option "Monitor-LVDS" "Monitor1"
    Option "Monitor-TV" "TV"
    Option "XAANoOffScreenPixmaps" "true"
    Option "AccelMethod" "XAA"
    EndSection

    I've tried using this after installing the drivers but not recompiling anything, and it just complains about not finding agpgart or DRI.

    Any help / pointers in the right direction much appreciated...

  2. #2
    Junior Member
    Join Date
    Jul 2008
    Posts
    26

    Default

    Little more info... according to Xorg.0.log, the driver is there, it just can't allocate video memory. Relevant sections:

    (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
    i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
    E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, 965G, 965Q, 946GZ,
    965GM, 965GME/GLE, G33, Q35, Q33
    (II) Primary Device is: PCI 00:02:0
    (WW) intel: No matching Device section for instance (BusID PCI:0:2:1) found
    (--) Chipset 945GME found

    ... various resource ranges...

    (**) intel(0): Depth 24, (--) framebuffer bpp 32
    (==) intel(0): RGB weight 888
    (==) intel(0): Default visual is TrueColor
    (II) intel(0): Integrated Graphics Chipset: Intel(R) 945GME
    (--) intel(0): Chipset: "945GME"
    (--) intel(0): Linear framebuffer at 0xD0000000
    (--) intel(0): IO registers at addr 0xF7E00000
    (II) intel(0): 2 display pipes available.
    (==) intel(0): Using XAA for acceleration
    (--) intel(0): Will try to allocate texture pool for old Mesa 3D driver.
    (II) intel(0): Will try to reserve 32768 kiB of AGP aperture space
    for the DRM memory manager.

    (II) Loading sub module "ddc"
    (II) LoadModule: "ddc"(II) Module already built-in
    (II) Loading sub module "i2c"
    (II) LoadModule: "i2c"(II) Module already built-in
    (II) intel(0): Output VGA using monitor section Monitor1
    (II) intel(0): I2C bus "CRTDDC_A" initialized.
    (II) intel(0): Output LVDS has no monitor section
    (II) intel(0): I2C bus "LVDSDDC_C" initialized.
    (II) intel(0): I2C device "LVDSDDC_C:ddc2" registered at address 0xA0.
    (II) intel(0): I2C device "LVDSDDC_C:ddc2" removed.
    (II) intel(0): EDID for output LVDS
    (II) intel(0): Manufacturer: AUO Model: 1020 Serial#: 0
    (II) intel(0): Year: 2008 Week: 1
    (II) intel(0): EDID Version: 1.3
    (II) intel(0): Digital Display Input
    (II) intel(0): Max H-Image Size [cm]: horiz.: 19 vert.: 11
    (II) intel(0): Gamma: 2.20
    (II) intel(0): No DPMS capabilities specified; RGB/Color Display
    (II) intel(0): First detailed timing is preferred mode
    (II) intel(0): redX: 0.573 redY: 0.339 greenX: 0.330 greenY: 0.596
    (II) intel(0): blueX: 0.142 blueY: 0.103 whiteX: 0.310 whiteY: 0.330
    (II) intel(0): Manufacturer's mask: 0
    (II) intel(0): Supported additional Video Mode:
    (II) intel(0): clock: 50.4 MHz Image Size: 195 x 113 mm
    (II) intel(0): h_active: 1024 h_sync: 1048 h_sync_end 1184 h_blank_end 1344 h_border: 0
    (II) intel(0): v_active: 600 v_sync: 600 v_sync_end 619 v_blanking: 625 v_border: 0

    (II) intel(0): AUO
    (II) intel(0): A089SW01 V0
    (II) intel(0): EDID (in hex):
    (II) intel(0): 00ffffffffffff0006af201000000000
    (II) intel(0): 0112010380130b780afa569256549824
    (II) intel(0): 1a4f5400000001010101010101010101
    (II) intel(0): 010101010101b0130040415819201888
    (II) intel(0): 0301c371000000180000000f00000000
    (II) intel(0): 00000000000000000020000000fe0041
    (II) intel(0): 554f0a202020202020202020000000fe
    (II) intel(0): 004130383953573031205630200a0019
    (II) intel(0): EDID vendor "AUO", prod id 4128

    ... lots of stuff about VESA and then the broken bit...

    (EE) GARTInit: Unable to open /dev/agpgart (No such file or directory)
    (WW) intel(0): /dev/agpgart is either not available, or no memory is available
    for allocation. Using pre-allocated memory only.
    (==) intel(0): VideoRam: 7932 KB
    (II) intel(0): Attempting memory allocation with tiled buffers and
    large DRI memory manager reservation:
    (II) intel(0): Allocating 7164 scanlines for pixmap cache
    (EE) intel(0): Failed to allocate framebuffer. Is your VideoRAM set too low?
    (II) intel(0): Attempting memory allocation with tiled buffers and
    small DRI memory manager reservation:
    (II) intel(0): Allocating 7164 scanlines for pixmap cache
    (EE) intel(0): Failed to allocate framebuffer. Is your VideoRAM set too low?
    (II) intel(0): Attempting memory allocation with untiled buffers and
    large DRI memory manager reservation:
    (II) intel(0): Allocating 7164 scanlines for pixmap cache
    (EE) intel(0): Failed to allocate framebuffer. Is your VideoRAM set too low?
    (II) intel(0): Attempting memory allocation with untiled buffers and
    small DRI memory manager reservation:
    (II) intel(0): Allocating 7164 scanlines for pixmap cache
    (EE) intel(0): Failed to allocate framebuffer. Is your VideoRAM set too low?
    (WW) intel(0): Not enough video memory. Disabling DRI.
    (II) intel(0): Allocating 7164 scanlines for pixmap cache
    (EE) intel(0): Failed to allocate framebuffer. Is your VideoRAM set too low?
    (EE) intel(0): Couldn't allocate video memory

    Fatal server error:
    AddScreen/ScreenInit failed for driver 0
    Is this just a problem with xorg.conf? I have tried xconf, but it does not produce a working xorg.conf...

  3. #3
    Junior Member
    Join Date
    Jul 2008
    Posts
    26

    Default

    Feeling kind of lonely here :-)

    I managed to get the IEGD 8.0 graphics drivers compiled and installed - pretty surprising, to me anyway.

    BUT, I now have a fully accelerated display running in 960X540 according to iegdutil. I can make the virtual desktop as large as I like and it pans automatically, which is neat but not exactly what I was looking for...

    Xorg.0.log has the following:
    (II) IEGD(0): Using Display Configuration 0x00000041
    (**) IEGD(0): Depth 16, (--) framebuffer bpp 16
    (==) IEGD(0): RGB weight 565
    (==) IEGD(0): Default visual is TrueColor
    (II) IEGD(0): Set Write-combining range (0xd0000000,0x10000000)
    (==) IEGD(0): Using gamma correction (1.0, 1.0, 1.0)
    (II) IEGD(0): 1024x600 failed monitor check (illegal vertical timings)
    (II) IEGD(0): 4 modes passed validation checks
    (--) IEGD(0): Virtual size is 1024x768 (pitch 0)
    (**) IEGD(0): Built-in mode "960x540": 40.8 MHz (scaled from 0.0 MHz), 33.6 kHz, 60.0 Hz
    (II) IEGD(0): Modeline "960x540" 40.78 960 991 1087 1215 540 540 543 558 +vsync
    (**) IEGD(0): Built-in mode "800x600": 40.0 MHz (scaled from 0.0 MHz), 37.9 kHz, 60.0 Hz
    (II) IEGD(0): Modeline "800x600" 40.00 800 839 967 1055 600 600 604 627 +hsync +vsync
    (**) IEGD(0): Built-in mode "720x480": 27.0 MHz (scaled from 0.0 MHz), 31.5 kHz, 60.0 Hz
    (II) IEGD(0): Modeline "720x480" 27.00 720 735 797 857 480 488 494 524 +vsync
    (**) IEGD(0): Built-in mode "640x480": 25.2 MHz (scaled from 0.0 MHz), 31.5 kHz, 60.0 Hz
    (II) IEGD(0): Modeline "640x480" 25.18 640 655 751 799 480 489 491 524
    (++) IEGD(0): DPI set to (100, 100)
    so for some reason it's bitching about the timings. This happens whether I specify timings in xorg.conf or not... I tried using the section from the Xandros configuration which one would presume would work

    Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync
    but no dice...

    Tried several solutions to this problem from Google involving re-building / configuring xorg.conf - does anyone know a way around this? Can i force X to use a particular resolution / timing somehow?

  4. #4
    Junior Member
    Join Date
    Jul 2008
    Posts
    26

    Default

    Well, just in case this can help anyone else, I finally got this working. You have to use the Intel CED tool that comes with the driver package to generate specific DTDs for the eee 901 screen, and then apply these in your xorg.conf, turning off all the automatic display detection. Here are the relevant bits of xorg.conf:

    Section "Device"
    Identifier "Intel Corporation Mobile 945GME Express Graphics Controller"
    Driver "iegd"
    VendorName "Intel(R) DEG"
    BoardName "Embedded Graphics"
    BusID "0:2:0"
    Screen 0
    Option "PcfVersion" "1792"
    Option "ConfigId" "1"
    Option "ALL/1/name" "945GME_1200x600"
    Option "ALL/1/General/PortOrder" "40000"
    Option "ALL/1/General/DisplayConfig" "1"
    Option "ALL/1/General/DisplayDetect" "0"
    Option "ALL/1/General/DRI" "1"
    Option "ALL/1/Port/4/General/name" "901Screen"
    Option "ALL/1/Port/4/General/EdidAvail" "4"
    Option "ALL/1/Port/4/General/EdidNotAvail" "4"
    Option "ALL/1/Port/4/General/Rotation" "0"
    Option "ALL/1/Port/4/General/Edid" "1"
    Option "ALL/1/Port/4/FpInfo/BkltMethod" "0"
    Option "ALL/1/Port/4/Dtd/1/PixelClock" "48959"
    Option "ALL/1/Port/4/Dtd/1/HorzActive" "1024"
    Option "ALL/1/Port/4/Dtd/1/HorzSync" "40"
    Option "ALL/1/Port/4/Dtd/1/HorzSyncPulse" "144"
    Option "ALL/1/Port/4/Dtd/1/HorzBlank" "288"
    Option "ALL/1/Port/4/Dtd/1/VertActive" "600"
    Option "ALL/1/Port/4/Dtd/1/VertSync" "1"
    Option "ALL/1/Port/4/Dtd/1/VertSyncPulse" "4"
    Option "ALL/1/Port/4/Dtd/1/VertBlank" "22"
    Option "ALL/1/Port/4/Dtd/1/Flags" "0x20000"
    Option "ALL/1/Port/4/Dtd/2/PixelClock" "29579"
    Option "ALL/1/Port/4/Dtd/2/HorzActive" "800"
    Option "ALL/1/Port/4/Dtd/2/HorzSync" "16"
    Option "ALL/1/Port/4/Dtd/2/HorzSyncPulse" "96"
    Option "ALL/1/Port/4/Dtd/2/HorzBlank" "192"
    Option "ALL/1/Port/4/Dtd/2/VertActive" "480"
    Option "ALL/1/Port/4/Dtd/2/VertSync" "1"
    Option "ALL/1/Port/4/Dtd/2/VertSyncPulse" "4"
    Option "ALL/1/Port/4/Dtd/2/VertBlank" "17"
    Option "ALL/1/Port/4/Dtd/2/Flags" "0x0"
    Option "ALL/1/Port/4/Attr/27" "0"
    Option "ALL/1/Port/4/Attr/26" "18"
    Option "PortDrivers" "lvds"
    EndSection

    Section "Monitor"
    Identifier "Generic Monitor"
    Option "DPMS"
    VendorName "ASUS"
    ModelName "eeePC P901"
    EndSection

    Section "Screen"
    Identifier "Default Screen"
    Device "Intel Corporation Mobile 945GMEExpress Graphics Controller"
    Monitor "Generic Monitor"
    DefaultDepth 24
    Subsection "Display"
    Depth 24
    Modes "1024x600" "800x600"
    ViewPort 0 0
    # Virtual 1024 768
    EndSubsection
    EndSection
    Todo: add settings for detecting an external display.
    make a package for BT3 Final?

    It was worth all the hassle in the end - the display is much more readable and useable in this resolution, plus it's easy to add virtual monitors if you need more display area for some reason.

    Some notes on installing the driver:
    You will need the BT3 kernel sources, which you can find by searching these forums.
    Download the IEGD 8.0 windows executable package (IEGD_8_0_GOLD_1063.exe) from Intel's site or elsewhere - this enables you to generate a tgz of the Linux drivers plus the various patches you need. There does not appear to be any other way to get these files.

    When you run the CED, you need to provide a lot of information, and if you want the xorg.conf file it generates to work this needs to be correct. However, if you just use the xorg.conf above, you can put in pretty much any old garbage - as far as I can tell, the actual install package it generates is the same whatever you put in.

    Once you have the install package, I found the instructions in this thread regarding compiling the drivers (thanks Nickas!):

    forum eeeuser com , view topic id 15421
    very useful. However, they are not enough - for BT3 you also need to follow the instructions for installing the IKM patch in the user guide that comes with the driver package. Follow the SUSE10 instructions - they work ok.

    One note - for some reason, the CED generates the install.sh file in DOS format so it won't run - use Nano to convert it.

    I'd post a step by step, but this was complicated and I'm not sure I could get it exactly right. Please post if you need any more details...

    Does this mean I can come out of the newbie forum now?

  5. #5
    Junior Member
    Join Date
    Jun 2008
    Posts
    46

    Default

    Can we have a detailed step by step on how to do this? I have the eeePC901 as well, and same problem. please be as detailed as possible. Thanks.

  6. #6
    Junior Member
    Join Date
    Jul 2008
    Posts
    27

    Default

    Yeah I hope it's not asking too much, I know you worked on that a lot but I'm stumped as to half of all that. Would you be able to post a step by step of the commands and where things were downloaded? I know it would take your time but I'm SO stuck =(.

  7. #7
    Junior Member
    Join Date
    Jul 2008
    Posts
    26

    Default

    I'm actually working on a complete guide to getting BT3 installed on the 901. I'd rather finish it and test the whole thing end to end rather than post bits, as there is a better chance of it actually working.

    When it is done, I will also create a BT3 module for the eee - thanks to Vladsmail's incredibly helpful post I know how to do this! - which will contain all the relevant drivers etc, which might make life a bit easier. I can't recommend doing it yourself enough though - I learned a lot from the experience and it's definitely possible for someone with no starting knowledge of Linux.

    Anyway, expect the guide in the next couple of days - all the critical bits anyway. I can't post links and especially images yet, which makes things a lot less clear to follow - if any moderators read this, would I be able to get a page on the Wiki set up for this? I don't seem to be able to contribute to it at the moment...

  8. #8
    Senior Member
    Join Date
    Jan 2006
    Posts
    1,334

    Default

    Excellent work hippocrates

    I know a lot of people have been asking about this, for the 901, so I'm sure your work will be very much appreciated

    Please let me know once you have a guide completed and we'll get it into the Tuts section


    (About the wiki - you'll need to create an account - top right corner of main page)

  9. #9
    Junior Member
    Join Date
    Jun 2008
    Posts
    46

    Default

    Awesome! Thanks a lot hippocrates, this will help a lot of us here with the 901s.

  10. #10
    Junior Member
    Join Date
    Jul 2008
    Posts
    26

    Default

    Will do. However, I really can't figure out the Wiki... logged in with the account I created (hippocrates) I basically have no rights to do anything. Logged in as backtrack / remoteexploit, I can edit any page, but I can't create a new page in say the how-to section for eee 901 related info which is what I would prefer. Can an administrator create a stub page that I can edit?

    Part one of the (probably excessively) detailed guide to getting the eee 901 up and running with BT3 has been posted here. This includes instructions on setting up the graphics drivers.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •