Page 1 of 5 123 ... LastLast
Results 1 to 10 of 46

Thread: Installing BT3 on the eee 901 with drivers, part I

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

    Default Installing BT3 on the eee 901 with drivers, part I

    *** Downloadable BT3 module for the eee 901 with network and graphics drivers posted in msg #10 ***

    Introduction

    Well, having been the very lucky recipient of an eee 901, and having wanted to use BT3 for network analysis for some time, I have finally been forced to learn something about Linux. The following documents my experiences trying to get as much as possible working with BT3. Please excuse (and point out) any errors / easier ways to do things – most of what is here has been mashed up from various sources including these forums, but the mistakes are all mine I was completely new to Linux before starting this, so I can pretty much guarantee that some of the below does not represent the best way to do this...

    A lot of this info is already out there, but not in one place, so hopefully this will be useful to someone. Additionally, I doubt I would have got anywhere without the support already built into BT3 for the 701.

    Note that this is specific to the 901, the many other versions of the eee have different hardware configurations, so some or none of the following may be applicable. This is not a tutorial you can follow blindly - you need to apply some thought and read the text - if you just paste in the sample commands I can't guarantee it will work. I also can't post images - eventually I would like to add this to the wiki but for now this is the best I can do. I also tend to be quite verbose - sorry, it's just the way I write when I can't use pictures!

    First, you need to decide how you are going to install BT3. For my purposes, I’m using an SD card in the eee SD card slot, then hitting escape on boot and selecting to boot from that card - this lets the rest of my family use the eee with Xandros without getting confused :-)

    You could equally do an install direct to any of the eee flash drive partitions, even wiping out the default Xandros install if you want more space.

    There are many excellent tutorials on this forum concerning installing BT3 on a hard drive or memory card / USB stick, so I’m not going to cover that. This post will cover setting up the system for persistent changes on the eee flash drive, and locating, building and configuring drivers for the various bits of hardware on the eee 901 which is not supported out of the box with BT3.

    Setting up Persistent Changes on the eee

    Once you have your BT3 installed and working on the SD card or other device, the first step is to install the BT3 kernel source module, since a number of drivers need to be compiled. You can get this file from the main page of the Wiki here (http://www.offensive-security.com/kernel.lzm,) and you should copy it to your BT3 bootable media in the /BT3/modules directory.

    A quick note on getting files onto your eee. When you first boot BT3 you will have no wired or wireless network access. You need to download necessary files such as wireless drivers either using Xandros (I recommend the partition with /home on it) or onto a USB stick or something, so you can get things started.

    ************************************************

    We now need to decide where to store the persistent changes. You can store the changes anywhere writeable, but note that you will have to manually create the /changes folder in the root directory on that partition. I chose to store the changes in /changes/changes.dat on the larger unused partition on the eee 16Gb flash drive, which is /dev/hdd2 on my system. See the excellent tutorial here on how BT3 live installs work here for more information on how to configure the location to store persistent changes, for example as multiple folders, or as a single loop file.

    Differences between ext2 vs ext3, and the difference between a live install and a hard disk install, and why we might choose live are topics for another time.

    Either boot into Xandros, or preferably simply boot BT3 from your new bootable media on the eee, selecting e.g. BT3 Text Mode (KDE). It will complain a bit about VGA modes but just hit enter and you will end up with a useable text mode system. Log in as root / toor and do the following:

    *Note that the following might be slightly different depending on your system configuration. You will have to identify the correct device name on system and replace hdd2 in the command below.

    cd /mnt/hdd2/
    mkdir changes
    You could stop here and just specify the device /mnt/hdd2/ in syslinux.cfg below, and all your changes would be stored as individual files in the /changes folder. However, I prefer to create a loop file and use that, since it makes it incredibly convenient to backup your changes and creates less of a mess in your file system.

    cd changes
    dd if=/dev/zero of=changes.dat bs=10M count=100
    # This file can be any size big enough to support modules / changes you want to create.
    # Since it’s full of 0’s though, it will compress really nicely for backup. Hopefully the drive is
    # smart enough that when you restore the file, it does not actually write to the cells that are already
    # all zero, so it won’t affect the wear on your drive too much. Any pointers as to whether this is a
    # good idea or not much appreciated…
    losetup /dev/loop0 changes.dat
    mkfs.ext2 changes.dat
    # Ignore the warning about this not being a block device.
    mount –o loop changes.dat /tmp
    # Slightly confusingly, your new file system in a file also needs a /changes folder in it or it’s not going to work.
    mkdir /tmp/changes/
    umount /tmp
    losetup –d /dev/loop0
    Now you need to modify syslinux.cfg.

    cd /your boot device/boot/syslinux/
    nano syslinux.cfg
    Put in something like:

    PROMPT 0
    TIMEOUT 40
    DEFAULT /boot/vesamenu.c32

    LABEL pchanges_eee
    MENU LABEL BT3 eee 901 Persistent
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/dev/hdd2/changes/changes.dat

    LABEL cubez
    MENU LABEL BT3 Graphics mode (Compiz) - Experimental
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw chexpand=256 load=cubez autoexec=xconf;cubez;startx

    LABEL cubez
    MENU LABEL BT3 Graphics mode (Compiz Nvidia) - Experimental
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw chexpand=256 load=cubez,nvidiadriver autoexec=xconf;startnvidia.sh;startx

    LABEL xconf1
    MENU LABEL BT3 Graphics mode (KDE)
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;kdm

    LABEL xconf2
    MENU LABEL BT3 Graphics mode (Flux)
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;flux

    LABEL startx
    MENU LABEL BT3 Graphics mode (VESA KDE)
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=kdm

    LABEL BT3
    MENU LABEL BT3 Text mode Frame Buffer
    KERNEL /boot/vmlinuz
    APPEND vga=0x317 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw

    LABEL BT3_no_DHCP
    MENU LABEL Run BT3 no DHCP
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw nodhcp

    LABEL BT3_no_HD
    MENU LABEL Run BT3 no Hard Disk
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw nohd

    LABEL BT3_Safe
    MENU LABEL Run BT3 Safe Mode
    KERNEL /boot/vmlinuz
    APPEND vga=normal initrd=/boot/initrd.gz ramdisk_size=6666
    root=/dev/ram0 rw

    LABEL pchanges
    MENU LABEL BT3 Graphics mode with Persistent Changes
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/changes/slaxsave.dat autoexec=xconf;kdm

    LABEL copy2ram
    MENU LABEL BT3 Graphics mode, Copy To RAM
    KERNEL /boot/vmlinuz
    APPEND vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw copy2ram autoexec=xconf;kdm

    LABEL msramdmp
    MENU LABEL msramdmp
    com32 /boot/msramdmp.c32

    LABEL memtest86
    MENU LABEL Run Memtest utility
    KERNEL /boot/mt86p
    Note that I have explicitly specified the odd VGA mode required for the 901’s screen for the necessary boot modes, and also where changes will be installed. I do not automatically run xconf or launch KDE by preference.

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

    Default

    Reboot your system, press Esc and choose your new boot device, and you should see your modified syslinux menu. Let’s test that we are actually are saving our changes by changing the password.

    passwd mynewpassword

    Reboot again, and if your new password works you have persistent changes stored on your eee flash drive. Congratulations, now on to making the 901 actually work properly.

    Backing Up

    Now, it’s probably a good idea to make a script to backup the changes.dat file before making major changes, or after getting them to work. At this point I add things to my system which I always want there, such as a few directories in root for scripts and installs etc, modifications to my path, a script to initialize a Bluetooth mouse cos I don’t like trackpads and so on. Basically all the simple stuff that makes it your system – you don’t have to do any of this… whatever works for you.

    Once you are happy with your basic setup, use something like the following:

    # I store backups in the Xandros “D:” drive, basically the Xandros /home partition, but anywhere will work.
    mkdir /mnt/hdd1/changes_bk
    tar cvzf /mnt/hdd1/changes_bk/backupname.tgz /mnt/hdd2/changes/changes.dat
    Obviously you can’t do this while you are running BT3, since any changes to changes.dat while running will mess up the backup and possibly your file system. Boot up one of the non-persistent-changes syslinux entries to do your backing up.

    ************************************************

    Graphics support with VESA

    Reboot into your BT3 persistent environment, and login. Now, at this point if you run xconf and then startx you will be disappointed – xconf does not appear to be able to correctly detect the Intel 945GME chipset in the eee 901, and it definitely does not like the 1024 x 600 resolution . So to start, we will be setting up some basic functionality such as VESA standard graphics. If you have started X and find that you have no mouse or something else is not working, just hit ctrl-alt-backspace to get back to your command line.

    Copy the following into your /etc/X11/xorg.conf file, replacing whatever is there already.

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

    Default

    # ************************************************** ********************
    # Module section -- this section is used to specify
    # which dynamically loadable modules to load.
    # ************************************************** ********************
    #
    Section "Module"

    # This loads the DBE extension module.

    Load "dbe" # Double buffer extension

    # This loads the miscellaneous extensions module, and disables
    # initialisation of the XFree86-DGA extension within that module.
    SubSection "extmod"
    Option "omit xfree86-dga" # don't initialise the DGA extension
    EndSubSection

    # This loads the font modules
    Load "type1"
    Load "freetype"
    #Load "speedo"

    # This loads the GLX module
    Load "glx"

    # Other needed modules
    # Load "dri"
    Load "extmod"
    Load "synaptics"

    EndSection

    # ************************************************** ********************
    # Files section. This allows default font and rgb paths to be set
    # ************************************************** ********************

    Section "Files"

    # The location of the RGB database. Note, this is the name of the
    # file minus the extension (like ".txt" or ".db"). There is normally
    # no need to change the default.

    RgbPath "/usr/X11R6/lib/X11/rgb"

    # Multiple FontPath entries are allowed (which are concatenated together),
    # as well as specifying multiple comma-separated entries in one FontPath
    # command (or a combination of both methods)
    #
    # If you don't have a floating point coprocessor and emacs, Mosaic or other
    # programs take long to start up, try moving the Type1 and Speedo directory
    # to the end of this list (or comment them out).
    #

    FontPath "/usr/X11R6/lib/X11/fonts/local/"
    FontPath "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath "/usr/X11R6/lib/X11/fonts/CID/"
    FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"

    # ModulePath can be used to set a search path for the X server modules.
    # The default path is shown here.

    # ModulePath "/usr/X11R6/lib/modules"

    EndSection

    # ************************************************** ********************
    # Server flags section.
    # ************************************************** ********************

    Section "ServerFlags"

    EndSection

    # ************************************************** ********************
    # Input devices
    # ************************************************** ********************

    # ************************************************** ********************
    # Core keyboard's InputDevice section
    # ************************************************** ********************

    Section "InputDevice"

    Identifier "Keyboard1"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    # Modify for your keyboard layout here
    Option "XkbLayout" "us"
    Option "XkbVariant" ""

    EndSection


    # ************************************************** ********************
    # Core Pointer's InputDevice section
    # ************************************************** ********************

    Section "InputDevice"

    # Identifier and driver

    Identifier "Mouse1"
    Driver "mouse"

    Option "ZAxisMapping" "4 5"
    Option "Buttons" "3"

    # On platforms where PnP mouse detection is supported the following
    # protocol setting can be used when using a newer PnP mouse:

    # Option "Protocol" "Auto"

    # The available mouse protocols types that you can set below are:
    # Auto BusMouse GlidePoint GlidePointPS/2 IntelliMouse IMPS/2
    # Logitech Microsoft MMHitTab MMSeries Mouseman MouseManPlusPS/2
    # MouseSystems NetMousePS/2 NetScrollPS/2 OSMouse PS/2 SysMouse
    # ThinkingMouse ThinkingMousePS/2 Xqueue
    Option "Protocol" "IMPS/2"

    # The mouse device. The device is normally set to /dev/mouse,
    # which is usually a symbolic link to the real device.

    Option "Device" "/dev/input/mice"

    # Emulate3Buttons is an option for 2-button Microsoft mice
    # Emulate3Timeout is the timeout in milliseconds (default is 50ms)

    # Option "Emulate3Buttons"
    # Option "Emulate3Timeout" "50"

    EndSection

    Section "InputDevice"
    Identifier "synaptics"
    Driver "synaptics"
    Option "Device" "/dev/psaux"
    Option "Protocol" "auto-dev"
    Option "LeftEdge" "1400"
    Option "RightEdge" "5900"
    Option "TopEdge" "1400"
    Option "BottomEdge" "4500"
    Option "PalmDetect" "0"
    Option "SHMConfig" "true"
    Option "SendCoreEvents" "yes"
    Option "HorizScrollDelta" "0"
    Option "VertScrollDelta" "155"
    Option "RBCornerButton" "0"
    Option "RTCornerButton" "0"
    Option "TapButton2" "0"
    Option "MinSpeed" "0.095"
    Option "MaxSpeed" "0.38"
    Option "VertTwoFingerScroll" "1"
    Option "VertEdgeScroll" "0"
    Option "HorizEdgeScroll" "0"
    EndSection


    # ************************************************** ********************
    # Monitor section
    # ************************************************** ********************

    # Any number of monitor sections may be present

    Section "Monitor"

    Identifier "My Monitor"
    HorizSync 31.5 - 150.0
    VertRefresh 75-85

    EndSection


    # ************************************************** ********************
    # Graphics device section
    # ************************************************** ********************

    # Any number of graphics device sections may be present

    Section "Device"
    Identifier "VESA Framebuffer"
    Driver "vesa"
    #VideoRam 4096
    # Insert Clocks lines here if appropriate
    EndSection

    # ************************************************** ********************
    # Screen sections
    # ************************************************** ********************

    # Any number of screen sections may be present. Each describes
    # the configuration of a single screen. A single specific screen section
    # may be specified from the X server command line with the "-screen"
    # option.
    Section "Screen"
    Identifier "Screen 1"
    Device "VESA Framebuffer"
    Monitor "My Monitor"

    # If your card can handle it, a higher default color depth (like 24 or 32)
    # is highly recommended.

    # DefaultDepth 8
    # DefaultDepth 16
    DefaultDepth 24
    # DefaultDepth 32

    # "1024x768" is also a conservative usable default resolution. If you
    # have a better monitor, feel free to try resolutions such as
    # "1152x864", "1280x1024", "1600x1200", and "1800x1400" (or whatever your
    # card/monitor can produce)

    Subsection "Display"
    Depth 8
    Modes "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
    Depth 16
    Modes "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
    Depth 24
    Modes "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
    Depth 32
    Modes "1024x768" "800x600" "640x480"
    EndSubsection

    EndSection

    # ************************************************** ********************
    # ServerLayout sections.
    # ************************************************** ********************

    # Any number of ServerLayout sections may be present. Each describes
    # the way multiple screens are organised. A specific ServerLayout
    # section may be specified from the X server command line with the
    # "-layout" option. In the absence of this, the first section is used.
    # When now ServerLayout section is present, the first Screen section
    # is used alone.

    Section "ServerLayout"

    # The Identifier line must be present
    Identifier "Simple Layout"

    # Each Screen line specifies a Screen section name, and optionally
    # the relative position of other screens. The four names after
    # primary screen name are the screens to the top, bottom, left and right
    # of the primary screen. In this example, screen 2 is located to the
    # right of screen 1.

    Screen "Screen 1"

    # Each InputDevice line specifies an InputDevice section name and
    # optionally some options to specify the way the device is to be
    # used. Those options include "CorePointer", "CoreKeyboard" and
    # "SendCoreEvents".

    InputDevice "Mouse1"
    InputDevice "Keyboard1"
    InputDevice "synaptics"

    EndSection

    Now type

    startx
    and cross your fingers. You should hopefully see a rather nice looking desktop appear in 800x 600. It looks a tiny bit distorted, but is perfectly usable. You could stop here with the graphics set up, since most of what you do with BT3 is command line based anyway, but it is possible to install the IEGD graphics drivers and get the full glory of 1024 x 600 resolution ;-)

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

    Default

    Wireless / Wired Network Access

    Now, since a computer with no network access is about as useful as a wheelbarrow without a wheel, the first thing to do is get your network drivers installed. Wireless first:

    The 901 uses a quite new Ralink b/g/n card which is rather unhelpfully identified by lspci as “Ralink Unknown Device 0781.” It is in fact a Ralink RT2860 chipset, and the necessary drivers may be found here:

    Grab these and get them on your eee with a usb stick or via Xandros, and boot up to BT3. Copy the drivers to your /root folder for now.

    cd /root
    tar xvjf 2008_0708_RT2860_Linux_STA_v1.7.0.0.tar.bz2
    cd 2008_0708_RT2860_Linux_STA_v1.7.0.0
    Now at this point you should really read README_STA, and definitely read iwpriv_usage.txt. These drivers are a bit unusual, in that many of the normal iwconfig commands don’t work, and you need to give iwpriv commands in specific orders in order to get the network to come up properly. You can also use a configuration file if your wireless configuration does not change much. I did not need to change anything in the makefile.

    Run the following:

    make
    make install
    cd os/linux
    insmod rt2860sta.ko
    #Check it worked
    Ifconfig –a
    You should see a shiny new ra0 wireless interface listed along with your loopback. Some useful commands:

    # Bring up the interface
    ifconfig ra0 up
    # Look for wireless networks
    iwpriv ra0 get_site_survey
    # Connect to the strongest network that is not encrypted
    iwpriv ra0 set SSID=””
    Example WEP configuration script

    rmmod rt2860sta
    modprobe rt2860sta

    ifconfig ra0 down
    ifconfig ra0 up

    iwpriv ra0 get_site_survey
    #iwpriv ra0 set SSID="" # Connect to stongest open AP

    iwpriv ra0 set Channel=0
    iwpriv ra0 set NetworkType=Infra
    iwpriv ra0 set AuthMode=SHARED
    iwpriv ra0 set EncrypType=WEP
    iwpriv ra0 set DefaultKeyID=1
    iwpriv ra0 set Key1="whatever"
    iwpriv ra0 set SSID="some_ssid"

    rm /etc/dhcpc/*

    dhcpcd -h bt3 ra0

    Example WPA configuration script

    rmmod rt2860sta
    modprobe rt2860sta

    ifconfig ra0 down
    ifconfig ra0 up

    iwpriv ra0 get_site_survey
    #iwpriv ra0 set SSID="" # Connect to stongest open AP

    #iwpriv ra0 set Channel=0
    iwpriv ra0 set NetworkType=Infra
    iwpriv ra0 set AuthMode="WPAPSK"
    iwpriv ra0 set EncrypType="AES"
    iwpriv ra0 set SSID="some_ssed"
    iwpriv ra0 set WPAPSK="wpa_key"

    rm /etc/dhcpc/*

    dhcpcd -h bt3 ra0
    Clean up your root folder by deleting the 2008_0708_RT2860_Linux_STA_v1.7.0.0.tar.bz2 file and the 2008_0708_RT2860_Linux_STA_v1.7.0.0 folder.

    Congratulations – you should now have wireless access. These drivers don’t support injection, but I imagine it’s only a matter of time… Once you get used to the finicky iwpriv setup, this is actually a great wireless card.

    ************************************************** *****************

    Now for wired network access.

    You want a the following drivers: http://dlsvr04.asus.com/pub/ASUS/mb/...nuxDrivers.zip

    Using ark, extract the contents of L1e_Lan/l1e-l2e-linux-v1.0.0.4.rar to /root/ L1e_Lan/l1e-l2e-linux-v1.0.0.4

    cd /root/ l1e-l2e-linux-v1.0.0.4/src
    make install
    insmod /lib/modules/2.6.21.5/kernel/drivers/net/atl1e/atl1e.ko
    You should now have an eth0 interface, ready for use.

    This might be a good time to backup – the graphics drivers are a little more tricky.

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

    Default

    IEGD Graphics Drivers - Introduction

    Before I start into this, I’d like to mention that I looked for easier solutions for quite some time. I’d have been quite happy with just VESA drivers if they would support 1024 x 600. I’d also have been quite happy with the Intel drivers that come with BT3, if I could have got them to work. After lots of research, including asking for help in various forums, I concluded that I don’t know enough about X, xorg.conf, linux drivers, or anything relevant to figuring out if there is actually an easy way to do this. Hence, the solution below, building and installing the IEGD drivers from scratch, which might be described as the hard way. If someone posts “you just needed to add this line to your xorg.conf” the cracking noise will be the sound of my head repeatedly hitting my desk…

    On the plus side, the IEGD drivers are quite nice, you can do neat stuff like create giant virtual desktops, and I learned a great deal about irritatingly opaque things like modelines.

    There is clearly something up with the IEGD drivers – in the period I was doing this, the files available on Intel’s site changed several times. For a while, version 9 was available, and now it’s gone. Then version 8 suddenly changed to version 8.0.2 hotfix, which is what this is based on. I didn’t use version 9, because by the time I had figured out what I needed the files were not there any more. As far as I can tell – I still have the v9 users guide – nothing in the install changes for v9.

    Ok – take a deep breath. Did I mention you should probably back up your changes so far at this point?

    Creating the Linux Installation Package

    Download the developers driver package from the Intel web site. The file name is IEGD_8_0_2_Gold_1147.exe, and you can find it by searching for IEGD. It’s quite large (82Mb) and, of course, only runs on Windows. I guess you could try Wine if you don’t have Windows handy somewhere, but it’s a massive install of some totally unnecessary BEA JRockit environment…

    After installing, if you run iegd-ced.exe, which will get you the following UI.

    *** I can't post the image yet, so you will have to use your imagination for now ***

    Essentially the process is to create a Configuration, with DTDs (Detailed Timing Descriptions) if necessary (they are in this case), then a Package for your OS (Linux), and finally an installation package which is actually what you need on your eee. Rather than type all the details of each field entry, I’ll post the contents of the configuration files you need. Note that supplying the wrong timing information for an LCD can apparently be bad for it. The numbers below come from the Asus Xandros config, and I have been using them for a couple of weeks now, but I cannot be responsible for anything going wrong with your eee that results from following these instructions. Proceed at your own risk, and keep a finger on Ctrl-Alt-Backspace just in case!

    First, shut down iegd-ced, and and locate the workspace subdirectory in your wherever you installed it\IEGD folder. This corresponds to the folders in the image above. Note that in the instructions below you need to keep the file names as specified, unless you feel like editing the XML…

    IEGD Configuration

    First create a text file (create it with notepad or something) in the \IEGD\workspace\configuration directory named 945GME_1200x600.cnfg containing the following (note that this is in 2 parts due to post length limits - you will need some kind of electronic tape...) :

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

    Default

    This is part one of the configuration file.

    <?xml version="1.0" encoding="UTF-8"?>
    <cedSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    type="CONFIGURATION" xsi:type="cedSnapshot">
    <Selections>
    <selection page_name="ChipsetSelectionPage" item_type_key="display_detection">
    <selection_entry entry_value="1" entry_name="Enable" entry_id="enable"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="i2c_use_default">
    <selection_entry entry_value="i2c use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="ddc_use_default">
    <selection_entry entry_value="ddc use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="i2c_use_default">
    <selection_entry entry_value="i2c use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="ddc_use_default">
    <selection_entry entry_value="ddc use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="i2c_use_default">
    <selection_entry entry_value="i2c use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="ddc_use_default">
    <selection_entry entry_value="ddc use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="i2c_use_default">
    <selection_entry entry_value="i2c use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="ddc_use_default">
    <selection_entry entry_value="ddc use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="CRT" item_type_key="i2c_use_default">
    <selection_entry entry_value="i2c use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="CRT" item_type_key="ddc_use_default">
    <selection_entry entry_value="ddc use Value"
    entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="vbiosConfigPage" item_type_key="primary_use_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="vbiosConfigPage" item_type_key="secondary_use_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="CRT" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="CRT" item_type_key="if_not_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="CRT" item_type_key="if_edid_edid_data">
    <selection_entry entry_value="2" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="CRT" item_type_key="if_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="if_not_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="if_edid_edid_data">
    <selection_entry entry_value="2" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="if_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="if_not_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="if_edid_edid_data">
    <selection_entry entry_value="2" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="if_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="if_not_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="if_edid_edid_data">
    <selection_entry entry_value="2" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="if_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="if_not_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="if_edid_edid_data">
    <selection_entry entry_value="2" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="if_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="LVDS" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="TV Out" item_type_key="disable_reading_edid">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="TV Out" item_type_key="if_not_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="TV Out" item_type_key="if_edid_edid_data">
    <selection_entry entry_value="2" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="TV Out" item_type_key="if_edid_std_timing">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="flat_panel_backlight_options_group" >
    <selection_entry entry_value="false" entry_name="false" entry_id="false"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="flat_panel_backlight_options_group" >
    <selection_entry entry_value="false" entry_name="false" entry_id="false"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="flat_panel_backlight_options_group" >
    <selection_entry entry_value="false" entry_name="false" entry_id="false"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="flat_panel_backlight_options_group" >
    <selection_entry entry_value="false" entry_name="false" entry_id="false"/>
    </selection>
    <selection page_name="TV Out" item_type_key="flat_panel_backlight_options_group" >
    <selection_entry entry_value="false" entry_name="false" entry_id="false"/>
    </selection>
    <selection page_name="CRT" item_type_key="flat_panel_backlight_options_group" >
    <selection_entry entry_value="false" entry_name="false" entry_id="false"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="upscaling_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="upscaling_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="upscaling_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="upscaling_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="LVDS" item_type_key="upscaling_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="TV Out" item_type_key="upscaling_default">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>

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

    Default

    This is part two of the configuration file.

    <selection page_name="vbiosConfigPage" item_type_key="int15">
    <selection_entry entry_value="1"
    entry_name="5F31h, POST Completion Notification" entry_id="5f31"/>
    <selection_entry entry_value="1"
    entry_name="5F33h, Hook After Mode Set" entry_id="5f33"/>
    <selection_entry entry_value="1"
    entry_name="5F35h, Boot Display Device Hook" entry_id="5f35"/>
    <selection_entry entry_value="1"
    entry_name="5F36h, Boot TV Format Hook" entry_id="5f36"/>
    <selection_entry entry_value="1"
    entry_name="5F38h, Hook Before Set Mode" entry_id="5f38"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="sys_vid_stretch">
    <selection_entry entry_value="1" entry_name="true"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="blend_filter">
    <selection_entry entry_value="0" entry_name="NEAREST"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="min_vid_surfy">
    <selection_entry entry_value="16" entry_name="16"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="max_fb_size">
    <selection_entry entry_value="8388608" entry_name="0x800000"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="min_vid_surfx">
    <selection_entry entry_value="16" entry_name="16"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="tear_fb">
    <selection_entry entry_value="1" entry_name="true"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="ce_framebuffer_color_quality">
    <selection_entry entry_value="32" entry_name="32" entry_id="32"/>
    </selection>
    <selection page_name="LVDS" item_type_key="backlight_ctrl_method">
    <selection_entry entry_value="0" entry_name="No Backlight" entry_id="noBacklight"/>
    </selection>
    <selection page_name="LVDS" item_type_key="dual_single">
    <selection_entry entry_value="27" entry_name="Single" entry_id="0"/>
    </selection>
    <selection page_name="LVDS" item_type_key="bit_depth">
    <selection_entry entry_value="26" entry_name="18" entry_id="1"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="config_name">
    <selection_entry entry_value="945GME_1200x600" entry_name="945GME_1200x600"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="port_display">
    <selection_entry entry_value="4" entry_name="LVDS" entry_id="lvds"/>
    <selection_entry entry_value="5" entry_name="CRT" entry_id="crt"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="display_config_mode">
    <selection_entry entry_value="8"
    entry_name="Dual Independent Head" entry_id="dih"/>
    </selection>
    <selection page_name="ChipsetSelectionPage" item_type_key="platform_chipset">
    <selection_entry entry_value="945GM"
    entry_name="Mobile Intel(R) 945GME/GM Express Chipset" entry_id="945gm"/>
    </selection>
    <selection page_name="CRT" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="CRT" item_type_key="port_device_list">
    <selection_entry entry_value="None" entry_name="None" entry_id="none"/>
    </selection>
    <selection page_name="DVO-B" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="DVO-C" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="sDVO-B" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="sDVO-C" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="LVDS" item_type_key="display_timing_desc_group">
    <selection_entry entry_value="eee901display.dtd"
    entry_name="eee901display.dtd" entry_id="eee901display.dtd"/>
    <selection_entry entry_value="eee901LowRes.dtd"
    entry_name="eee901LowRes.dtd" entry_id="eee901LowRes.dtd"/>
    </selection>
    <selection page_name="LVDS" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="LVDS" item_type_key="if_edid_user_dtd">
    <selection_entry entry_value="4" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="LVDS" item_type_key="port_device_list">
    <selection_entry entry_value="lvds"
    entry_name="Internal LVDS" entry_id="lvds"/>
    </selection>
    <selection page_name="LVDS" item_type_key="native_dtd_combo">
    <selection_entry entry_value="eee901display.dtd"
    entry_name="eee901display.dtd" entry_id="eee901display.dtd"/>
    </selection>
    <selection page_name="LVDS" item_type_key="port_name">
    <selection_entry entry_value="901Screen" entry_name="901Screen"/>
    </selection>
    <selection page_name="LVDS" item_type_key="if_not_edid_user_dtd">
    <selection_entry entry_value="4" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="TV Out" item_type_key="port_rotation">
    <selection_entry entry_value="0" entry_name="0" entry_id="0"/>
    </selection>
    <selection page_name="vbiosConfigPage" item_type_key="cmmn_to_port">
    <selection_entry entry_value="none" entry_name="1 (CRT)" entry_id="1"/>
    <selection_entry entry_value="none" entry_name="2 (TV1)" entry_id="2"/>
    <selection_entry entry_value="none" entry_name="3 (EFP1)" entry_id="3"/>
    <selection_entry entry_value="none" entry_name="4 (LFP)" entry_id="4"/>
    <selection_entry entry_value="none" entry_name="5 (TV2)" entry_id="5"/>
    <selection_entry entry_value="none" entry_name="6 (EFP2)" entry_id="6"/>
    </selection>
    <selection page_name="CRT" item_type_key="port_name">
    <selection_entry entry_value="External" entry_name="External"/>
    </selection>
    </Selections>
    <PortDevices/>
    </cedSnapshot>

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

    Default

    IEGD DTD's for the 901 Display

    You then need two text files in the \IEGD\workspace\DTD directory named eee901display.dtd and eee901LowRes.dtd – these names must be the same, as they are referenced in the above XML.

    eee901display.dtd

    <?xml version="1.0" encoding="UTF-8"?>
    <cedSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    type="DTD" xsi:type="cedSnapshot">
    <Selections>
    <selection page_name="DTDPage" item_type_key="dtd_name">
    <selection_entry entry_value="eee901display" entry_name="eee901display"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="dtd_type">
    <selection_entry entry_value="1"
    entry_name="IEGD Parameters" entry_id="1"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="pixel_clock">
    <selection_entry entry_value="48959" entry_name="48959"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_active">
    <selection_entry entry_value="1024" entry_name="1024"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_sync_offset">
    <selection_entry entry_value="40" entry_name="40"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_sync_pulse_offset">
    <selection_entry entry_value="144" entry_name="144"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_blanking">
    <selection_entry entry_value="288" entry_name="288"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_active">
    <selection_entry entry_value="600" entry_name="600"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_sync_offset">
    <selection_entry entry_value="1" entry_name="1"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_sync_pulse_offset">
    <selection_entry entry_value="4" entry_name="4"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_blanking">
    <selection_entry entry_value="22" entry_name="22"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vsync_polarity">
    <selection_entry entry_value="0" entry_name="Active Low"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hsync_polarity">
    <selection_entry entry_value="0" entry_name="Active Low"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="interlaced_display">
    <selection_entry entry_value="0" entry_name="false"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="bsync_polarity">
    <selection_entry entry_value="0" entry_name="Active Low" entry_id="low"/>
    </selection>
    </Selections>
    </cedSnapshot>
    eee901LowRes.dtd

    <?xml version="1.0" encoding="UTF-8"?>
    <cedSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    type="DTD" xsi:type="cedSnapshot">
    <Selections>
    <selection page_name="DTDPage" item_type_key="dtd_name">
    <selection_entry entry_value="eee901LowRes" entry_name="eee901LowRes"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="dtd_type">
    <selection_entry entry_value="1"
    entry_name="IEGD Parameters" entry_id="1"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="pixel_clock">
    <selection_entry entry_value="29579" entry_name="29579"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_active">
    <selection_entry entry_value="800" entry_name="800"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_sync_offset">
    <selection_entry entry_value="16" entry_name="16"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_sync_pulse_offset">
    <selection_entry entry_value="96" entry_name="96"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hztl_blanking">
    <selection_entry entry_value="192" entry_name="192"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_active">
    <selection_entry entry_value="480" entry_name="480"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_sync_offset">
    <selection_entry entry_value="1" entry_name="1"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_sync_pulse_offset">
    <selection_entry entry_value="4" entry_name="4"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vertical_blanking">
    <selection_entry entry_value="17" entry_name="17"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="vsync_polarity">
    <selection_entry entry_value="0" entry_name="Active Low"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="hsync_polarity">
    <selection_entry entry_value="0" entry_name="Active Low"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="interlaced_display">
    <selection_entry entry_value="0" entry_name="false"/>
    </selection>
    <selection page_name="DTDPage" item_type_key="bsync_polarity">
    <selection_entry entry_value="0" entry_name="Active Low" entry_id="low"/>
    </selection>
    </Selections>
    </cedSnapshot>

    IEGD Package


    Now for the package. In the \IEGD\workspace\package directory, create a text file named 802945GME_DualDisplay_1200x600.pkg, containing the following:

    <?xml version="1.0" encoding="UTF-8"?>
    <cedSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    type="PACKAGE" xsi:type="cedSnapshot">
    <Selections>
    <selection page_name="PackagePage" item_type_key="win_use_default_display">
    <selection_entry entry_value="1" entry_name="true"/>
    </selection>
    <selection page_name="PackagePage" item_type_key="lin_use_default_display">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="PackagePage" item_type_key="dri">
    <selection_entry entry_value="1" entry_name="true" entry_id="true"/>
    </selection>
    <selection page_name="PackagePage" item_type_key="gen_package_name">
    <selection_entry
    entry_value="802945GME_DualDisplay_1200x600" entry_name="802945GME_DualDisplay_1200x600"/>
    </selection>
    <selection page_name="PackagePage" item_type_key="configuration_labels">
    <selection_entry entry_value="945GM"
    entry_name="945GME_1200x600.cnfg" entry_id="1"/>
    </selection>
    <selection page_name="PackagePage" item_type_key="default_configuration">
    <selection_entry entry_value="945GME_1200x600.cnfg"
    entry_name="945GME_1200x600.cnfg" entry_id="945GME_1200x600.cnfg"/>
    </selection>
    <selection page_name="PackagePage" item_type_key="target_os">
    <selection_entry entry_value="Linux"
    entry_name="Linux* operating system" entry_id="linux"/>
    </selection>
    </Selections>
    </cedSnapshot>

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

    Default

    Finalizing the Installation Package

    Now, if you run iegd-ced again, you should have something that looks like the following:

    *** Use your imagination again! ***

    Double click on any of the items to view the configuration to examine them. Note that I basically told it to totally ignore anything that it gets from the display in the way of EDID information etc, and manually specified the two available resolutions. This is because when I tried to get it to use the EDID information, it would complain about invalid timings, and that would override the manually specified timings for that resolution. There may be a way round it, so if you find one please let me know, but I couldn’t get it to work.

    If it all ties together and makes sense, click Generate Installation and the program should do a bunch of stuff. If anyone feels like hosing 23Mb, let me know and I’ll upload the file

    When it completes, look in your \IEGD\workspace\installation folder, and you should have some subdirectories and two files named 802945GME_DualDisplay_1200x600.x and IEGD_8_0_2_Linux.tgz. These are your xorg.conf details and the driver source code and patches you need for your eee. Copy them onto a memory stick or something and move them to your eee – I put them in the /root folder.

    I would recommend at least skimming though the UsersGuide.pdf – it contains a lot of good info, and you will definitely need to if you plan on modifying the configuration.

    ************************************************** **************

    Installing the IEGD Drivers on the eee 901

    Now for the actual install on your 901. You backed up your changes.dat, right?

    Extract the files

    Open up a shell and:
    cd /root
    tar xvzf IEGD_8_0_2_Linux.tgz
    If you extract these files anywhere else, you will need to modify the commands below to suit.

    You should have two folders: IEGD_Patches, and IEGD_8_0_2_Linux. Now go to where your BT3 source files are located. All credit to nickas on the eeeuser forum for inspiration on this next bit…

    Apply the patches and build

    cd /root/IEGD_Patches/Drm
    sed -e 's%#include <linux/config.h>%%g' -i *.c
    sed -e 's%#include <linux/config.h>%%g' -i *.h
    sed -e 's%drm_device_t%struct drm_device%g' -i *.c
    sed -e 's%drm_device_t%struct drm_device%g' -i *.h
    sed -e 's%drm_file_t%struct drm_file%g' -i *.c
    sed -e 's%drm_file_t%struct drm_file%g' -i *.h
    make
    You should see the iegd.ko driver be compiled and installed.

    Copy over the pre-compiled drivers

    Now copy the X drivers over to your machine.

    cd /root/IEGD_8_0_2_Linux/Driver/Xorg-X11R7.2
    cp iegd_drv.so /usr/lib/xorg/modules/drivers/
    cp lvds.so /usr/lib/xorg/modules/
    cp libXiegd_escape.so.2.0.0 /usr/lib/
    # Backup the existing libGL.so.1.2
    mv /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1.2.backup
    cp libGLgn3.so /usr/lib/libGL.so.1.2
    # This next line will only work with v9 of the driver. The file is completely missing from v8!
    cp iegd_dri.so /usr/lib/xorg/modules/dri/
    Make links

    cd /usr/lib/
    ln -s libXiegd_escape.so.2.0.0 libXiegd_escape.so
    ln -s libXiegd_escape.so.2.0.0 libXiegd_escape.so.2
    ln -sfv /usr/lib/libGL.so.1.2 libGL.so
    ln -sfv /usr/lib/libGL.so.1.2 libGL.so.1

    Copy the manual

    cp /root/IEGD_8_0_2_Linux/Documents/Xorg-X11/iegd.4 /usr/X11R6/man/man4/
    Install the IKM patch

    cd /usr/src/linux
    make scripts
    make prepare
    cd /root/IEGD_Patches/IKM/
    chmod +x install.sh
    ./install.sh
    # Say y when prompted to install the driver

    ldconfig

    Test

    Error messages here are probably a bad sign…

    modprobe iegd_mod
    lsmod | grep iegd

    The output of the above should show the following modules loaded:

    iegd_mod
    drm
    agpgart
    Install IEGD Utilities

    We should also copy over the Intel graphics driver utilities.
    cd /root/IEGD_8_0_2_Linux/Utilities
    cp iegd_crg iegdgui /usr/bin
    cd /usr/bin
    #Make them executable
    chmod +x iegdgui
    chmod +x iegd_crg
    Update xorg.conf

    Finally, you need to update your xorg.conf to use the new driver. Remember when we originally used the CED to create the driver package? The other file created was 802945GME_DualDisplay_1200x600.x, which is a skeleton xorg.conf section containing most of the bits needed for graphics hardware (but not all of them – grr.) If you have customized your xorg.conf already, you can use this file to update it as necessary. Otherwise, here is my xorg.conf. I have not tried this with dual displays yet, but in theory Xinerama should work in full dual head mode on this hardware. There is quite a lot of stuff in here I don’t fully understand – tips on improving this very much appreciated. For example, I’m sure the OpenGL configuration is somehow screwed up so hardware acceleration is not working, although the necessary driver support should be there. It’s not a priority for me, since this is not exactly a gaming machine and OpenGL does work in software mode, but it would be nice to have. The error in Xorg.log is : cannot open shared object file iegd_dri.so, and I can’t find any reference to this file anywhere, even on Google.

    xorg.conf is located in /etc/X11. We already modified this to use VESA graphics when we first started this process. Now modify it to look like the following:

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

    Default

    # ************************************************** ********************
    # Module section -- this section is used to specify
    # which dynamically loadable modules to load.
    # ************************************************** ********************
    #
    Section "Module"

    Load "dbe"
    Load "type1"
    Load "freetype"
    Load "glx"
    Load "dri"
    Load "extmod"
    Load "synaptics"

    EndSection

    # ************************************************** ********************
    # Files section. This allows default font and rgb paths to be set
    # ************************************************** ********************

    Section "Files"


    RgbPath "/usr/X11R6/lib/X11/rgb"
    FontPath "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"

    EndSection

    Section "ServerFlags"
    Option "AIGLX" "false"
    # Option "Xinerama" "true"
    EndSection

    Section "DRI"
    Mode 0666
    EndSection

    Section "Extensions"
    Option "Composite" "Enable"
    EndSection

    Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us"
    EndSection

    Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "mouse"
    Option "CorePointer"
    Option "Device" "/dev/input/mice"
    Option "Protocol" "ImPS/2"
    Option "ZAxisMapping" "4 5"
    Option "Emulate3Buttons" "true"
    EndSection

    Section "InputDevice"
    Identifier "Synaptics Touchpad"
    Driver "synaptics"
    Option "Device" "/dev/psaux"
    Option "Protocol" "auto-dev"
    Option "LeftEdge" "1400"
    Option "RightEdge" "5900"
    Option "TopEdge" "1400"
    Option "BottomEdge" "4500"
    Option "PalmDetect" "0"
    Option "SHMConfig" "true"
    Option "SendCoreEvents" "yes"
    Option "HorizScrollDelta" "0"
    Option "VertScrollDelta" "155"
    Option "RBCornerButton" "0"
    Option "RTCornerButton" "0"
    Option "TapButton2" "0"
    Option "MinSpeed" "0.095"
    Option "MaxSpeed" "0.38"
    Option "VertTwoFingerScroll" "1"
    Option "VertEdgeScroll" "0"
    Option "HorizEdgeScroll" "0"EndSection

    Section "Device"
    Identifier "Intel_IEGD-0"
    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

    # Secondary (for dual-head only) display
    Section "Device"
    Identifier "Intel_IEGD-1"
    Driver "iegd"
    VendorName "Intel(R) DEG"
    BoardName "Embedded Graphics"
    BusID "0:2:0"
    Screen 1
    Option "PcfVersion" "1792"
    Option "ConfigId" "1"
    Option "ALL/1/name" "945GME_1200x600"
    Option "ALL/1/General/PortOrder" "45000"
    Option "ALL/1/General/DisplayConfig" "8"
    Option "ALL/1/General/DisplayDetect" "1"
    Option "ALL/1/General/DRI" "1"
    EndSection

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

    Section "Monitor"
    Identifier "Monitor1"
    Option "DPMS"
    EndSection

    Section "Screen"
    Identifier "Screen0"
    Device "Intel_IEGD-0"
    Monitor "Monitor0"
    DefaultDepth 24
    Subsection "Display"
    Depth 24
    Modes "1024x600" "800x600"
    ViewPort 0 0
    # Virtual 1600 1200
    EndSubsection
    EndSection

    Section "Screen"
    Identifier "Screen1"
    Device "Intel_IEGD-1"
    Monitor "Monitor1"
    SubSection "Display"
    EndSubSection
    EndSection

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Screen0" 0 0
    Screen 1 "Screen1" RightOf "Screen0"
    InputDevice "Generic Keyboard"
    InputDevice "Configured Mouse"
    InputDevice "Synaptics Touchpad"
    EndSection
    Success?

    Hit CTRL-ALT-BKSPACE to shut down x, then type startx

    Look at that! It’s a completely new graphics driver, in 1200 x 600, and we didn’t even have to reboot. I’m never using windows again ;-) Now if I could just figure out how to globally make all the fonts a little bigger without editing 27 configuration files…

    You can run the utility iegdgui now, and confirm all your settings are correct. The iegd_crg utility produces a massive log file with all kinds of info about your graphics system.

    Backup your changes!

    ************************************************** ******

    Next on the list – CPU scaling and power management, the video camera, some ACPI stuff and more. I'll also make a module for BT3 so you don't actually have to do any of the above, if I can find somewhere to host it.

Page 1 of 5 123 ... 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
  •