お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-12-28 23:11:28

hir0
メンバ
登録日: 2008-09-28

intelのビデオドライバIEGD9_0_2のインストール

ubuntu8.10にIEGD9_0_2をインストールを試みましたがうまく行きません。
セットアップガイドにはFedora5 or 7、SUSE10、Novell PoS9が有りFedora7、の方法を試みましたがダメでした。
エラーは出ませんでしたが、最後の方でファイルが作製されず行き詰まりました。
分かる所はファイル名やディレクトリを置き換えて実行しましたが私の知識では目に見える表面上の違いしか分からず又、Fedora5 or 7のやり方がubuntuに摘要出来るかも分からずに作業を行っています。

以下にセットアップの手順を張り付けます。
ubuntu8.10に摘要する方法を教えて下さい。


7.3.1          Installing Fedora Core 5 or Fedora 7
                1. Log into to a system administration account.
                2. Untar the driver package to a convenient location.
                    tar -xvzf <driver package.tgz>
                    This creates a directory structure in the directory where you extracted the .tgz file
                    and contains the following directories:
                     — IEGD_X_x_Linux - Contains the Documents, Driver, License, and Utilities
                        subdirectories, where X is the major version and x is the minor version.
                        The Documents subdirectory contains the Xfree86 and Xorg-X11 subdirectory.
                        These directories contain man pages for the IEGD.
                        The Driver directory contains subdirectories the supported versions of XFree
                        and Xorg.
                        The Utilities directory contains IEGD utilities, including the iegdgui runtime
                        configuration utility.
                     — IEGD_Patches - Contains files for patching the Linux kernel agpgart module.
                                                             
                                                                 
                 3. Check the version of the X-Server your system is running. Type the following
                     command:
                     X -version
Note:           For Fedora Core 5, the result from this command is 7.0. For Fedora 7, the result   from
                this command is 1.3 which equates to 7.2 for IEGD. Refer to Table 36 on page 147 to
                convert from the X -version command to IEGD's naming convention.
                 4. Copy the IEGD driver binary, iegd_drv.o (or iegd_drv.so), from the
                     IEGD_X_x_Linux/Driver/<xserver name> directory to the X-Server's
                     modules/drivers directory, where X is the major version and x is the minor
                     version.
                      — For FC5 (X.org-7.0 based distribution), the default location is /usr/lib/X11/
                          lib/modules/drivers. This location can vary by distribution so check your
                          system for the proper path and replace X and x with the correct version
                          numerals.
                          cd IEGD_9_0_Linux/Driver/Xorg-X11R7.0
                          cp iegd_drv.so /usr/lib/xorg/modules/drivers
                      — For FC7 (X.org-7.2 based distribution), the default location is /usr/lib/X11/
                          lib/modules/drivers. This location can vary by distribution so check your
                          system for the proper path and replace X and x with the correct version
                          numerals.
                          cd IEGD_9_0_Linux/Driver/Xorg-X11R7.2
                          cp iegd_drv.so /usr/lib/xorg/modules/drivers
                 5. Copy the necessary port driver files (*.so files in the IEGD_X_x_Linux/Driver/
                     <xserver name> directory) to the X-Server lib/modules directory, where X is
                     the major version and x is the minor version. The default installation location is /
                     usr/lib/xorg/modules. This location can vary, so check your system for the
                     proper path. After the required port drivers have been copied, you can specify them
                     in the PortDrivers option in the Device section of the config file. For more
                     information on specifying the PortDrivers option, refer to Table 37, “Supported
                     Driver Options” on page 167. For example, to copy all the port drivers use the
                     following command:
                     cp *.so /usr/lib/xorg/modules
                 6. Copy the escape control library libXiegd_escape.so.2.0.0 from the
                     IEGD_X_x_Linux/Driver/<xserver name> directory to the X-Server library
                     directory, where X is the major version and x is the minor version. The default
                     installation location is /usr/lib. For example,
                     cp libXiegd_escape.so.2.0.0 /usr/lib
                 7. In the X-Server library directory, create symbolic links for the escape library
                     aliases:
                     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
                     ldconfig
                 8. From the IEGD_X_x_Linux/Documents directory, where X is the major version
                     and x is the minor version, copy the driver man page, iegd.4, to the man/man4
                     directory. The default installation location is /usr/share/man/man4. This
                     location can vary by distribution so check your system for the proper path and
                     replace X and x with the correct version numerals. For example:
                     cd IEGD_9_0_Linux/Documents/Xorg-X11
                     cp iegd.4 /usr/share/man/man4
Intel® Embedded Graphics Drivers and Video BIOS v9.0
User’s Guide                                                                                           June 2008
150                                                                              Document Number: 274041-014US
Installing and Configuring Linux OS Drivers
                  9. For Fedora Core 5, use the IKM Patch Instructions in Section 7.4 on page 156 which
                     is the preferred method, or use Section 7.6, “GART Patch Instructions (for Fedora
                     Core 5 Only)” on page 160.
                     For Fedora 7, proceed to step 10.
                 10. For Fedora 7 only, execute the following commands:
                     cd IEGD_Patches/IKM
                     ./install.sh
                     (Note: if a permissions error is displayed, do a chmod +x install.sh)
                     depmod -a
                     modprobe iegd_mod
                 11. Modify your xorg.conf file to include a device section for this driver and a Monitor
                     section for your display. See Section 7.7.1, “Configuration Overview” on page 161
                     for details on the driver configuration and the list of supported options. The default
                     installation location for this file is /etc/X11.
                 12. Reboot

オフライン

 

#2 2008-12-29 18:27:02

hir0
メンバ
登録日: 2008-09-28

Re: intelのビデオドライバIEGD9_0_2のインストール

実際に行った手順を張り付けます。
太字は変更、追加箇所です。

4、
   cd IEGD_9_0_2_Linux/Driver/Xorg-X11R7.3
   cp iegd_drv.so /usr/lib/xorg/modules/drivers

5,
   cp *.so /usr/lib/xorg/modules

6,
   cp libXiegd_escape.so.2.0.0 /usr/lib

7,
   cd /usr/lib
   ln -s libXiegd_escape.so.2.0.0 libXiegd_escape.so
----------------------------------------------------------------------------------------------------------------------
-  (ln: creating symbolic link `libXiegd_escape.so': File exists) ←が帰ってくるがどう言う意味か分り
-  ません。
----------------------------------------------------------------------------------------------------------------------
   ln -s libXiegd_escape.so.2.0.0 libXiegd_escape.so.2
----------------------------------------------------------------------------------------------------------------------
- (ln: creating symbolic link `libXiegd_escape.so2': File exists) ←が帰ってくるがどう言う意味か分り
-  ません。
----------------------------------------------------------------------------------------------------------------------
   ldconfig

8,
   cd IEGD_9_0_2_Linux/Documents/XFree86
   cp iegd.4 /usr/share/man/man4

9,

10,
   cd IEGD_Patches/IKM
   ./install.sh
----------------------------------------------------------------------------------
Found kernel header files in /lib/modules/2.6.27-9-generic/build

Building for kernel 2.6.27

If this is not the kernel you wish to build for, please set the KERNELDIR
environment variable to the directory containing your target kernel
source tree.

/home/**/desktop/iegd/IEGD_Patches/IKM
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.27-9-generic' に入ります
  CC [M]  /home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.o
/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.c: In function ‘agp_init_pat’:
/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.c:180: error: too many arguments to function ‘on_each_cpu’
/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.c: In function ‘iegd_intel_probe’:
/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.c:240: 警告: passing argument 1 of ‘bridge_driver_init’ from incompatible pointer type
/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.c: トップレベル:
/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.c:355: 警告: initialization from incompatible pointer type
make[2]: *** [/home/**/desktop/iegd/IEGD_Patches/IKM/agp/pci.o] エラー 1
make[1]: *** [_module_/home/**/desktop/iegd/IEGD_Patches/IKM] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.27-9-generic' から出ます
make: *** [modules] エラー 2
Make error
-------------------------------------------------------------------------------------------------------
IEGD_Patches/IKMではなく IEGD_Patches/Drmにmakefileが有るので実行してみます。

make
rm -f intel*.o iegd*.ko iegd*.mod.c iegd*.o
rm -fr .intel* .tmp*
make -C /lib/modules/2.6.27-9-generic/build M=/home/hiro/desktop/iegd/IEGD_Patches/Drm modules
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.27-9-generic' に入ります
scripts/Makefile.build:46: *** CFLAGS was changed in "/home/**/desktop/iegd/IEGD_Patches/Drm/Makefile". Fix it to use EXTRA_CFLAGS.  中止.
make[1]: *** [_module_/home/**/desktop/iegd/IEGD_Patches/Drm] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.27-9-generic' から出ます
make: *** [modules] エラー 2

最後に
depmod -a
modprobe iegd_mod ですがもちろんそんなのは無いといわれます。
よろしくお願いします。

オフライン

 

#3 2008-12-30 18:45:04

hir0
メンバ
登録日: 2008-09-28

Re: intelのビデオドライバIEGD9_0_2のインストール

意味が有るのか無いのか分かりませんが少し状況が変わったので報告します。
#2の10番目で ./install.sh ではなく sh install.sh だとエラーはでず別のメッセージが出ます。
意味は分からないのですが解決に結びつくヒントや解決策があればよろしくお願いします。

Found kernel header files in /lib/modules/2.6.27-9-generic/build

Building for kernel 2.6.27

If this is not the kernel you wish to build for, please set the KERNELDIR
environment variable to the directory containing your target kernel
source tree.

install.sh: 238: [[: not found
install.sh: 238: [[: not found
install.sh: 238: [[: not found
Unsupported kernel version

よく見るとUnsupported kernel version.の文字が,,, 完全にダメってことでしょうか?
2008/08/08にリリースされたバージョンなのですが対応カーネルについての記述は見つけることが出来ませんでした。

このドライバに限らずintelのus15wチップセット(Atom)対応のドライバが有れば教えて下さい。
ちなみに雑誌に収録されていたTurbolinuxでは標準で対応していたのでもう少し悪あがきをしてみます。

オフライン

 

#4 2008-12-31 09:30:47

STGSAGWAN
ゲスト

Re: intelのビデオドライバIEGD9_0_2のインストール

hir0 による投稿:

Unsupported kernel version
よく見るとUnsupported kernel version.の文字が,,, 完全にダメってことでしょうか?
2008/08/08にリリースされたバージョンなのですが対応カーネルについての記述は見つけることが出来ませんでした。

まず大前提がはっきりしないのですが、IEGDとは
http://www.intel.com/design/intarch/swsup/graphics_drivers.htm
のことでしょうか?
あと、引用されたマニュアルは、
http://download.intel.com/design/intarch/manuals/27404113.pdf?iid=ipp_rhc+manual
のことでしょうか?

install.sh実行時のエラーについては、install.sh内の記述を見ればカーネルバージョンについてどんなチェックをしてるのか分かりませんか?

 

#5 2008-12-31 12:32:49

hir0
メンバ
登録日: 2008-09-28

Re: intelのビデオドライバIEGD9_0_2のインストール

ご返事有難う御座います。

まず大前提がはっきりしないのですが、IEGDとは
http://www.intel.com/design/intarch/sws … rivers.htm
のことでしょうか?
あと、引用されたマニュアルは、
http://download.intel.com/design/intarc … rhc+manual
のことでしょうか?

はい、それです。

shファイルがテキストエディタでひらけるとは知りませんでした。以前にmakefileを変更してドライバを通した事が有りましたが今回は初めて見る記述が多く意味を理解出来ませんでした。
コメントと echo Unsupported kernel version が有るのでその辺りのコードを張り付けます。
何か解決策は有るでしょうか。
あとinstall.sh: 238: [[: not found の238って行数の事でしょうか?

#Detecting agp release version
if [[ $VERCODE -le 132619 ]]; then
    agpversion="agpm0v100"
elif [[ $VERCODE -le 132628 ]]; then
    agpversion="agpm0v101"
elif [[ $VERCODE -ge 132629 ]]; then
    agpversion="agpm0v102"
else
    echo "Unsupported kernel version."
    exit 1;
fi   ←が238行目です。

コード:

#
# Crazy hack to make this work with the RedHat Embedded for Menlow version
# of the 2.6.23 kernel.
#
if [ "$argument" = "rhe" ]
then
    echo "Configure source for RedHat Embedded"
    /bin/cp drm/iegd_drv.h drm/iegd_drv.tmp
    sed -e '/typedef struct drm_ioctl_desc drm_ioctl_desc_t;/ c\/* typedef struct drm_ioctl_desc drm_ioctl_desc_t; */' < drm/iegd_drv.tmp > drm/iegd_drv.h
    xdrmversion="drmv13p1"
else
    xdrmversion="drmv13p0"
fi


if [ -f ${KERNELDIR}${VERSION} ]; then
    BUILDDIR=${KERNELDIR}
elif [ -f ${KERNELDIR}/build${VERSION} ]; then
    BUILDDIR=${KERNELDIR}/build
else

cat <<EOF

Could not locate your kernel header files.  Please install the kernel-devel
package for your distribution of Linux, or set the KERNELDIR environment
variable to the directory containing your target kernel source tree.

EOF

    exit
fi

VERCODE=`cat ${BUILDDIR}${VERSION} | grep LINUX_VERSION_CODE | awk '{print $3}'`
MAJOR=$((($VERCODE >> 16) & 0xFF))
MINOR=$((($VERCODE >> 8) & 0xFF))
RELEASE=$(($VERCODE & 0xFF))

cat <<EOF

Found kernel header files in ${BUILDDIR}

Building for kernel ${MAJOR}.${MINOR}.${RELEASE}

If this is not the kernel you wish to build for, please set the KERNELDIR
environment variable to the directory containing your target kernel
source tree.

EOF
sleep 5

if [ ! -f $BUILDDIR/include/linux/config.h ]
then
    echo "Creating config.h file"
    touch $BUILDDIR/include/linux/config.h
fi

#Detecting agp release version
if [[ $VERCODE -le 132619 ]]; then
    agpversion="agpm0v100"
elif [[ $VERCODE -le 132628 ]]; then
    agpversion="agpm0v101"
elif [[ $VERCODE -ge 132629 ]]; then
    agpversion="agpm0v102"
else
    echo "Unsupported kernel version."
    exit 1;
fi

#Detecting DRM version
if [[ $VERCODE -le 132618 ]]; then
    drmversion="drmv00p0"
elif [[ $VERCODE -ge 132619 && $VERCODE -le 132623 ]]; then

    # FC5 does not use the drm from the generic kernel
    fedora_version=`cat ${ISSUEFILE} | grep -i fedora | awk '{print $4}'`
    if [[ "$fedora_version" = "5" ]]; then
        drmversion="drmv10p1"
    else
        drmversion="drmv10p0"
    fi

elif [[ $VERCODE -ge 132624 && $VERCODE -le 132627 ]]; then
    drmversion="drmv10p1"
elif [[ $VERCODE -ge 132628 && $VERCODE -le 132629 ]]; then
    drmversion="drmv11p0"
elif [[ $VERCODE -eq 132630 ]]; then
    fedora_version=`cat ${ISSUEFILE} | grep -i fedora | awk '{print $1}'`
    if [[ "$fedora_version" = "Fedora" ]]; then
        drmversion="drmv13p0"
    else
        drmversion="drmv12p0"
    fi
elif [[ $VERCODE -eq 132631 ]]; then
        drmversion=$xdrmversion
elif [[ $VERCODE -ge 132632 ]]; then
        drmversion="drmv14p0"
else
    echo "Unsupported kernel version."
    exit 1;
fi


# Call routine to create makefile
create_make_file

if [ -f "$MAKEFILE" ]
then
    # If install.sh invoke with the debug argument set
    # the debug flag in the makefile
    if [ "$argument" = "debug" ] ; then
        DEBUG="-DCONFIG_AGP_DEBUG"
    fi
    sed -i "s/DEBUG_FLAG/$DEBUG/g" $MAKEFILE
    sed -i "s/agpversion/$agpversion/g" $MAKEFILE
    sed -i "s/drmversion/$drmversion/g" $MAKEFILE
    sed -i "s|installdir|$INSTALLDIR|g" $MAKEFILE

else
    echo "Makefile creation error"
    exit 1
fi

if ! make -f $MAKEFILE
then
    echo "Make error:"
    exit 1
fi

if [[ "$INSTOPT" = "xxx" ]]; then
    exit
fi

echo -e "\n\nThis will install the module to the $INSTALLDIR. "

if [[ ! -w "$INSTALLDIR" && $(id -u) -ne 0 ]]
then
    echo -e "\n\n\033[1m$INSTALLDIR is not accessible"
    while [[ "$answer" != "Y" || "$answer" != "y" || "$answer" != "N" || "$answer" != "n" ]]
    do
        echo -ne "\033[51mSwitch to user root? [y/n] \033[0m"
        read answer
        case "$answer" in

            "Y" | "y")

            su -c "make -f $MAKEFILE install"

            if [ "$?" -ne "0" ]
            then
                continue
            else
                break
            fi
            ;;

            "N" | "n")
            echo "iegd_mod.ko has not been installed in $INSTALLDIR"
            exit 1
            ;;

            *)
            echo "Invalid option... Try again?"
            continue
            ;;

        esac
    done
else
    msg="Is this ok? [y/n]"

    while [[ "$answer" != "Y" || "$answer" != "y" || "$answer" != "N" || "$answer" != "n" ]]
    do
        echo -ne "\033[51m$msg \033[0m"
        read answer
        case "$answer" in

            "Y" | "y")

            su -c "make -f $MAKEFILE install"

            if [ "$?" -ne "0" ]
            then
                continue
            else
                break
            fi
            ;;

            "N" | "n")
            echo "iegd_mod.ko has not been installed in $INSTALLDIR"
            exit 1
            ;;

            *)
            msg="Invalid option... Try again?[y/n]"
            continue
            ;;

        esac
    done
fi

if [ "$argument" = "rhe" ]
then
    # fix changes make to the source for rhe
    /bin/cp drm/iegd_drv.h drm/iegd_drv.tmp
    sed -e '/typedef struct drm_ioctl_desc drm_ioctl_desc_t;/ c\typedef struct drm_ioctl_desc drm_ioctl_desc_t;' < drm/iegd_drv.tmp > drm/iegd_drv.h
fi

echo "Installation complete"

 .

オフライン

 

#6 2008-12-31 17:10:56

STGSAGWAN
ゲスト

Re: intelのビデオドライバIEGD9_0_2のインストール

hir0 による投稿:

あとinstall.sh: 238: [[: not found の238って行数の事でしょうか?

そのようです。

hir0 様がどんなPCでどういういきさつで何を目的にこの作業をされているのか全く分からないので、私が誤った方向に誘導しているかもしれませんが、それはご了解ください。あくまで質問に答え、ヒントがあれば出すということしか、私にはできないので。

まず、sh install.shの件で混乱されているようなので少し説明します。
sh install.sh と実行すると「違うエラー」になるには理由があります。
install.shの冒頭のシェバング行に #!/bin/bash と書いてあります。
つまり、このシェルスクリプトはbashで実行させることが前提になっています。
実際、install.sh: 238: [[: not found のようなエラーが出るのは、[[ がbashのビルインコマンドなので shには理解不能なのです。
なので、sh install.sh ではなく、bash install.sh と実行すればよいです。
(ちなみに、bash -x install.sh と-xをつけてやるとデバッグに有効な出力も得られます。)
なお、通常は、chmod +x install.sh で実行権を与えてやり、./install.sh で十分です。

229行目から238行目にかけての"Unsupported kernel version"のチェックエラーですが、前述の [[ のエラーがあった為に出てきた2次的なエラーなので気にする必要はないです。

それよりも、IEGD_Patches/IKM/agp/pci.o をコンパイルする際にエラー(error)がいくつか出ているので、まずその解決が必要かと思います。
# ただ、私にはLinuxカーネルやカーネルモジュールなどの知識はないので、エラーを見てもよく分からないです。

最後に関係のありそうなURLを見つけたので紹介します。(英語)
http://www.gamedev.net/community/forums/topic.asp?topic_id=512479
特に下から2番目の書き込み

Ubunto 8.4 ships with inter driver 2.2.1. Ubuntu 8.10 ships with driver 2.4.1. So there;s your answer. Get the latest xserver-xorg-video-intel driver.

上記URLを見る限り、(全くの的外れかもしれませんが)、OpenGLの1.4以上を使って何かをされたいのでしょうか?
ごく普通に 8.10のxserver-xorg-video-intel を使うだけでは目的が果たせないのでしょうか?

最後の編集者: STGSAGWAN (2008-12-31 17:24:01)

 

#7 2008-12-31 20:33:27

hir0
メンバ
登録日: 2008-09-28

Re: intelのビデオドライバIEGD9_0_2のインストール

有り難うございます
私はLinux経験3~4ヶ月の初心者です。大変勉強になりました。現時点ではpci.oとglobal.oと言うファイルがコンパイルできましたがエラーを一つ取ると新しいエラーが出る状況で全て終わってiegd.koが出来ても正常に動くかどうか、、、

私の目的は単純にグラフィックドライバが欲しいと言うことです。
intelのus15wと言うチップセットですが現在、凡庸のvesaが摘要されています。
解像度の問題もXorg.confではドライバー自体が対応していないとダメとのことでした。

ごく普通に 8.10のxserver-xorg-video-intel を使うだけでは目的が果たせないのでしょうか?

設定のしかたが分からないのですが教えていただけないでしょうか。

オフライン

 

#8 2008-12-31 23:59:19

hir0
メンバ
登録日: 2008-09-28

Re: intelのビデオドライバIEGD9_0_2のインストール

インストールは成功したみたいですが何も変わらず、です。
解像度は1024*768、視覚効果は無でリフレッシュレートが0に、改善されたのはブラウザのスクロールで残像がすごかったのが何とかカクカクしながら頑張ってるな〜ぐらいには良くなったこと。

解像度やその他の設定は専用ソフトで行うみたいですが文字化けしたり有るはずのボタンや入力フォームが無かったりでやっぱりどこかに無理があるのかも。

あとxorg.confも何か変?
Section "Device"
    Identifier    "Configured Video Device"
EndSection

Section "Monitor"
    Identifier    "Configured Monitor"
EndSection

Section "Screen"
    Identifier    "Default Screen"
    Monitor        "Configured Monitor"
    Device        "Configured Video Device"
EndSection
以上で作業を終わります。 また何か変化が有るまでこのままで行きます。

オフライン

 

Board footer

Powered by FluxBB