ºìÁªLinuxÃÅ»§
Linux°ïÖú

VIA S3 UniChrome Linux ÏÔʾÇý¶¯Ô´´úÂë±àÒëÖ¸ÄÏ-viviÕûÀí

·¢²¼Ê±¼ä:2008-01-13 10:53:27À´Ô´:ºìÁª×÷Õß:Kttlon
1.ÕªÒª

±¾ËµÃ÷ÊéÃèÊöÁËÈçºÎÔÚFedora Core Linux 4/5/6±àÒë VIA UniChrome family LinuxÏÔʾÇý¶¯³ÌÐòÔ´´úÂ룬Ӳ¼þÊÓÆµµÄmpeg2/4ÒÔ¼°Ó²¼þÊÓÆµµÄµþ¼Ó¡£ÆäËûµÄ·¢Ðа汾ֻ֧³Ö2D£¬TV-OUT£¬Ó²¼þÊÓÆµµÄmpeg2/4ÒÔ¼°Ó²¼þÊÓÆµµÄµþ¼Ó¡£Õâ·ÝÐÅÏ¢ºÍÔ´´úÂëÎļþÌṩÁË¡°AS IS¡±£¬ÒÔÊʺϸ÷ÖÖ²»Í¬µÄÇé¿ö¡£

2.°²×°»·¾³£¨kernel 2.6.X£©
2.1 Xorg SDK RPM/DEBÈí¼þ°ü£¬XorgÔ´Âë°ü¡£
Fedora Core Linux 4.0: xorg-x11-6.8.2-31.src.rpm
Fedora Core Linux 5.0: xorg-x11-server-sdk-1.0.1-8.i386.rpm
Fedora Core Linux 6.0: xorg-x11-server-sdk-1.1.1-47.fc6.i386.rpm
2.2 3D MesaÔ´Îļþrpm»òÕßÊǰ²×°VIA DRI libraryµÄ²¹¶¡°ü¡£
Fedora Core Linux 5.0: mesa-6.4.2-6.src.rpm
Fedora Core Linux 6.0: mesa-6.5.1-7.fc6.src.rpm
2.3 VIA unichrome family ÏÔʾÇý¶¯°æ±¾£º4.1.0072¡£
¸ÃÇý¶¯µÄÔ´´úÂë°üº¬3¸öµµ°¸Ä¿Â¼£º
via£¨Í·Îļþ£¬2D XServer ÒÔ¼° V41Çý¶¯Ô´Îļþ£©
VIA-WMILIB£¨mpeg¶¯Ì¬Á´½Ó¶ÔÏó´úÂ룩
3D£¨VIA DRM/AGP/DRI Ô´ÎļþºÍFedora Linux Core 4/5/6µÄ3D DRI ¶¯Ì¬Á´½Ó¶ÔÏó´úÂ룩
Utility£¨VIA/S3G TV ¹«ÓÃÏÔʾÆ÷£©

3.°´ÕÕÏÂÃæµÄ²½Öè±àÒëXorgÔ´£º£¨Ö»¶ÔÓÚXorg<7.0µÄÇé¿ö£©
*This step is only for Fedora Core Linux 4.
# rpm -ivh xorg-x11-6.8.2-31.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bc xorg-x11.spec
# cd /usr/src/redhat/BUILD/xorg-x11-6.8.2/
# mv xc/ /usr/src/
Ìáʾ£º¸ù¾ÝÄãµÄϵͳÇé¿ö£¬°²×°ÐèÒª1µ½2¸öСʱµÄʱ¼ä¡£

4.ΪVIAÏÔʾÇý¶¯×¼±¸ÄÚºËÔ´£¬»òÕßÊÇÖØ½¨Äںˣ¨AGP£©¡£
*The sample is default kernel in Fedora Core Linux 5.
# rpm -ivh kernel-2.6.15-1.2054_FC5.src.rpm
# cd /usr/src/redhat/SPECS/
# rpmbuild -bp kernel-2.6.spec --target=i686
# mv /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 /usr/src/
# ln -sf /usr/src/linux-2.6.15.i686 /usr/src/linux
*The sample is default kernel in Fedora Core Linux 6.
# rpm -ivh kernel-2.6.18-1.2798.fc6.src.rpm
# cd /usr/src/redhat/SPECS/
# rpmbuild -bp kernel-2.6.spec
# mv /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i386 /usr/src/
# ln -sf /usr/src/linux-2.6.18.i386 /usr/src/linux
×¢£º¸ù¾ÝϵͳÇé¿ö£¬ÐèÒª10µ½15·ÖÖӵݲװ¹ý³Ì¡£

5.Ð޸ġ°makefile¡±Îļþ£¬ÒÔÊʺÏÄãϵͳµÄÄں˰汾¡£
# vi /usr/src/linux/Makefile (make sure the "EXTRAVERSION" value
in Makefile is the same as OS kernel version "#uname -r".
e.g. "EXTRAVERSION= -1.2054_FC5" in FC5,
"EXTRAVERSION= -1.2798.fc6" in FC6)
# make modules_prepare (configure the run time settings of kernel source
by this command in /usr/src/linux folder)

6.ʹÓÃÒ»¸ö½Å±¾½¨Á¢CLE266CN400CN-CX700CN800Çý¶¯£¬²¢ÇÒÑ¡Ôñ¡°72¡±°æ±¾ºÍCPUµÄÀàÐÍ¡£Çý¶¯µÄ2½øÖÆÎļþ½«´´½¨ÔÚ/CLE266CN400CN-

CX700CN800XORG40072Îļþ¼ÐÖС£
# tar zxvf CLE266CN400CN-CX700CN800XORG40072-kernel-src_[date].tgz
# cd CLE266CN400CN-CX700CN800XORG40072-kernel-src_[date]/src
# ./makedriver drm (Other distributions only build 2D/MPEG driver
without the "drm" parameter)

7.ÊÖ¹¤±àÒë3D MesaÔ´ÒÔ¼°Ò»Ð©VIA DRI ²¹¶¡¡£È·ÈÏϵͳĬÈϵÄmesaÔ´Âë°ürpm×¼±¸¾ÍÐ÷¡£Óû§ÐèÒªÏÂÔØmeas library£¬È»ºó½øÐбàÒë¡£
*The sample is in Fedora Core Linux 5 (MesaLib 6.4.2).
# cp /usr/bin/makedepend /usr/X11R6/bin/ (Need "makedepend" binary tool)
# rpm -ivh mesa-6.4.2-6.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bc mesa.spec
# cd /usr/src/redhat/BUILD/Mesa-6.4.2/src/mesa/drivers/dri
# cp -a [Driver-Package-Name]/src/3D/DRI_FC5 via
# cd via
# make
# cp -a via_dri.so /CLE266CN400CN-CX700CN800XORG40072/XServer (Replace
the pre-compiled via_dri.so code )
×¢£ºÕâ¸ö¹ý³ÌÐèÒª10µ½15·ÖÖÓ¡£

8.Èç¹ûÓû§ÏëʹÓÃCN700,CX700(M/M2), VX700(M/M2), VN800 and CN800 IGPsµÄAGPÌØÐÔ£¨¸ßÐÔÄÜ£©£¬ÄÇôÓû§ÐèÒªÖØ½¨ÄÚºËÔ´ÒÔ¼°°²×°VIAµÄAGPGARTµÄFedora Core Linux 4/5/6²¹¶¡¡£¡°makedriver¡±½Å±¾ÎªÄÚºËÔ´´úÂëÊ÷¸´ÖÆÁËһЩеÄAGPÎļþ¡£Èç¹ûÓû§Ìø¹ýÕâÒ»²½£¬VIAÇý¶¯½«Ê¹ÓÃPCIÌØÐÔÀ´¹¤×÷¡£

The sample is in Fedora Core Linux 5.
# cd /usr/src/linux
# make; make modules_install
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.15-1.2054_FC5_VIA
# cd /boot/
# mkinitrd initrd-2.6.15-1.2054_FC5_VIA.img 2.6.15-1.2054_FC5
×¢£ºÕâ¸ö¹ý³ÌÐèÒª1µ½2¸öСʱ¡£
ÇëÈ·±£Óû§µÄIDE(DMA)¹¦ÄÜ¿ÉÒÔÔÚVT8237A/VT8251/CX700(M/M2)/VX700(M/M2)оƬÉÏÕý³£¹¤×÷¡£Èç¹û²»¿ÉÒÔ£¬ÇëÔÚÖØ½¨ÄÚºË֮ǰ´òÉÏIDEÇý¶¯²¹¶¡¡£

ÖØÐÂÆô¶¯¼ÆËã»ú£¬ÐµÄÄں˽«±»½¨Á¢¡£Óá°dmesg¡±ÃüÁîÔÚX ´°¿ÚÖն˼ì²éCN700/CX700(M/M2)/CN800/VN800/VX700(M/M2)µÄagpgartÄ£¿éµÄÖ§³ÖÇé¿ö¡£
# dmesg | grep agpgart
agpgart: Detected VIA CX700 chipset
agpgart: AGP aperture is 128M @ 0x80000000
agpgart: Found an AGP3.5 compliant device at 0000:00:00.0.
apggart: X tried to set rate=x12. Setting to AGP3 x8 mode.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:01:00.0 into 8x mode

9.֤ʵ"via_drv.so", "libddmpeg.so", "via_v4l_drv.ko","via.ko", "via_dri.so", and "Utility"ÒÑ´æÔÚ¡£Ê¹Óá°install¡±½Å±¾°²×°ÕâЩ

Çý¶¯ÒÔ¼°VIA/S3G TVÏÔʾ¡£
# ./vinstall (select 1. VMI-ONLY path or 2. V4L path)
ʹÓÃÃüÁî¡°lsmod¡±¼ì²é¸ÃÄ£¿éÊÇ·ñ¼ÓÔØ³É¹¦¡£
Èç¹ûÓû§¿´¼û¡°via¡±ºÍ¡°via_v41_drv¡±Ä£¿é£¬Ôò˵Ã÷V4LÇý¶¯Â·¾¶¼ÓÔØ³É¹¦¡£Èç¹ûÓû§Ñ¡ÔñµÄÊÇVMI-ONLY£¬ÄǾÍÖ»ÓС°via¡±Ò»¸öÄ£¿é¡£
×¢Ò⣺ÔÚFedora Core Linux 4£¬ÓС°videodev.ko¡±Çý¶¯¡£
Ëü½«È¡´úϵͳĬÈϵÄvideodevÇý¶¯¡£
VMI-ONLY path is a non-kernel dependency way to enable the VIA 2D/3D/
HW MPEG/TV features.
ÆäËûµÄ·¢Ðа汾ֻÓÐ2¸ö¶þ½øÖÆ´úÂ루via_drv.soºÍlibddmpeg.so£©

10.°²×°ÒÀÀµÓÚDRI packageµÄlibraries»¹Ô­°ü¡£
*This step is only for Fedora Core Linux 4.
# tar zxvf DRI-Xorg.tgz
# cd DRI
# ./minstall

¸½Â¼£ºFedora Core Linux 4.0 dependency packages:
bash-3.0-31.i386.rpm
bison-2.0-6.i386.rpm
cpp-4.0.0-8.i386.rpm
expat-devel-1.95.8-6.i386.rpm
flex-2.5.4a-34.i386.rpm
fontconfig-devel-2.2.3-13.i386.rpm
freetype-devel-2.1.9-2.i386.rpm
gcc-4.0.0-8.i386.rpm
glibc-devel-2.3.5-10.i386.rpm
kernel-2.6.11-1.1369_FC4.src.rpm
libstdc++4.0.0-8.i386.rpm
libpng-devel-1.2.8-2.i386.rpm
ncurses-devel-5.4-17.i386.rpm
pam-devel-0.79-8.i386.rpm
rpm-4.4.1-21.i386.rpm
rpm-build-4.4.1-21.i386.rpm
xorg-x11-devel-6.8.2-31.i386.rpm
xorg-x11-libs-6.8.2-31.i386.rpm
zlib-devel-1.2.2.2-3.i386.rpm
Fedora Core Linux 5.0 dependency packages:
bash-3.1-6.2
bison-2.1-1.2.1
cpp-4.1.0-3
expat-1.95.8-8.2
flex-2.5.4a-37.4
fontconfig-devel-2.3.94-1
freetype-devel-2.1.10-5.2.1
gcc-4.1.0-3
glibc-devel-2.4-4
kernel-2.6.15-1.2054_FC5.src.rpm
libstdc++4.1.0-3
libpng-devel-1.2.8-2.2.1
ncurses-devel-5.5-19
pam-devel-0.99.3.0-2
rpm-4.4.2-15.2
rpm-build-4.4.2-15.2
xorg-x11-server-sdk-1.0.1-8
zlib-devel-1.2.3-1.2.1

imake-1.0.1-3
mesa-libGLU-6.4.2-6
mesa-libGLU-devel-6.4.2-6
freeglut-devel-2.4.0-4
libXp-devel-1.0.0-2.2
openmotif-2.3.0-0.1.9.2
openmotif-devel-2.3.0-0.1.9.2
mesa-6.4.2-6.src.rpm (MesaLib 6.4.2 source package)
Fedora Core Linux 6.0 dependency packages:
bash-3.1-16.1
bison-2.3-2.1
cpp-4.1.1-30
expat-1.95.8-8.2.1
flex-2.5.4a-41.fc6
fontconfig-devel-2.4.1-3.fc6
freetype-devel-2.2.1-10.fc6
gcc-4.1.1-30
glibc-devel-2.5-3
kernel-2.6.18-1.2798.fc6.src.rpm
libstdc++4.1.1-30
libpng-devel-1.2.10-7
ncurses-devel-5.5-24.20060715
pam-devel-0.99.6.2-3.fc6
rpm-4.4.2-32
rpm-build-4.4.2-32
xorg-x11-server-sdk-1.1.1-47.fc6
zlib-devel-1.2.3-3

imake-1.0.2-3
mesa-libGLU-6.5.1-7.fc6
mesa-libGLU-devel-6.5.1-7.fc6
mesa-6.5.1-7.fc6.src.rpm (MesaLib 6.5.1 source package)
×¢£ºÔÚ°²×°²Ù×÷ϵͳÒÔºó£¬Ê¹Óá°rpm -qa | grep gcc¡±(rpm base) »òÕß "dpkg -l | grep gcc" (deb base) ÃüÁîÀ´ºËʵϵͳÊÇ·ñ°²×°ÁËÉÏÃæµÄÕâЩÈí¼þ°ü¡£

4. °²×°×ÊÁÏ
¡¡¡¡4.1 ²»ÒªÔÚCDµÄĿ¼Ï°²×°³ÌÐò

¡¡¡¡£¨Ìáʾ£º¾ÍÊDz»Òªcdµ½CDµÄ¹ÒÔØÄ¿Â¼ÏÂÔËÐа²×°³ÌÐò£©

¡¡¡¡Èç¹ûÕâÑù×öµÄ»°£¬¾Í»áÔÚ»»CDʱ³öÏÖCD²»ÄÜÍÆ³öµÄÎÊÌ⣬ÓÃÏÂÃæµÄÃüÁîÀ´°²×°CD£º

¡¡¡¡wine /media/cdrom0/setup.exe

¡¡¡¡4.2 ÐèÒªÓõ½¡°wine eject¡±

¡¡¡¡Èç¹û°²×°³ÌÐòʱÄãÐèÒª¸ü»»CDƬ£¬¶øÏµÍ³È´Ëµ²»ÄÜÍ˳öCD£¬ÄǾʹò¿ªÒ»¸öÐÂÖÕ¶Ë£¬ÊäÈ룺

¡¡¡¡wine eject d£º

¡¡¡¡4.3 °²×°InstallShieldµÄbug²¹¶¡

¡¡¡¡Õâ¸ö²¹¶¡¿ÉÒÔ½â¾öһЩCDµÄ°²×°ÎÊÌâ¡£

¡¡¡¡4.4 ʹÓÃuninstaller

¡¡¡¡Ê¹ÓÃÃüÁî¡°uninstaller¡±À´Ð¶Ôذ²×°µÄ³ÌÐò£¬²»ÒªÊ¹ÓóÌÐòÔڲ˵¥ÀïÃæ´´½¨µÄÐ¶ÔØ¿ì½Ý·½Ê½£¬ÒòΪËûÃÇÓÐʱºò²»ÄÜÕý³£¹¤×÷£¬¶øuninstaller¿ÉÒÔ¡£

¡¡¡¡4.5 °²×°.msiÎļþ

¡¡¡¡ÓÐЩwindowsµÄ°²×°³ÌÐòÊÇʹÓÃmsiÀ´°²×°µÄ£¬ÄǾÍÓÃÏÂÃæµÄÃüÁîÀ´°²×°£º

¡¡¡¡wine msi£å£ø£å£ã /i install.msi

¡¡¡¡»òÕß

¡¡¡¡wine start install.msi

¡¡¡¡4.6 ²»Òª°²×°DirectX

¡¡¡¡WineÓÐËü×Ô¼ºµÄDirectX¿â£¬°²×°Î¢ÈíµÄDirectX»áÆÆ»µwineµÄDirectX¿âºÍWine¡£

¡¡¡¡µ«ÊÇ£¬d3dx9_##.dllºÍd3dx10_33.dll¿ÉÒÔ´ÓWindowsÀï¸´ÖÆ¹ýÀ´Ê¹Ó㬿ÉÄÜ»áÔÚÆô¶¯Ä³Ð©ÓÎϷʱÓÐËù°ïÖú¡£µ«ÊÇʹÓÃÕâЩdllÄãÐèҪ΢ÈíµÄÊÚȨ֤Êé¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. xqw3 ÓÚ 2010-03-09 22:49:27·¢±í:

    ѧϰ