Formål: Endelig her er en trin-for-trin guide til at få Intel Poulsbo (PSB) GMA 500 ​​grafik driver arbejder under Debian testing / ustabil. I løbet af de sidste 3 måneder eller deromkring, da jeg skrev en indledende indlæg om hele dette spørgsmål, har jeg fået flere e-mails og kommentarer med en anmodning om at sætte en sådan vejledning. Undskyld jeg ikke kunne gøre dette tidligere, på grund af arbejde. For nylig arbejdet er lige fået en meget travle. Jeg ved, ved at se på længden af ​​det indlæg, du måske får modet eller bange og beslutter ikke at gå i gang på denne rejse, men tro mig, og følg med mig, og du vil være der. Mod slutningen af ​​dette indlæg har jeg et link, hvorfra du kan downloade alle de pakker og fil, der kræves for at få føreren arbejde. I hvert fald her er det ...

Disclaimer

Som jeg måske eller måske ikke har bemærket i mit tidligere indlæg, jeg ikke hævde dette at være den perfekte metode. I virkeligheden er dette ikke en perfekt metode, som vi er nødt til at overskrive nogle filer senere i installationen. Jeg vil vædde på Debian-udviklere vil aldrig acceptere sådan en slags løsning. Så skal du bruge denne metode på egen risiko. Dette er for folk, der ikke bekymrer sig om rigtigt eller forkert metode, så længe de kan få en indfødt chauffør for deres GMA 500 grafik-controller på deres Intel Atom notebooks. Du er blevet advaret!

Setup Environment

Kernel: 2.6.30-2-686

Debian: Testing (Squeeze)

Vi har brug for to komponenter nemlig "kerne" og "Xorg" komponent for at få Poulsbo (PSB) driver arbejder i Debian testing / ustabil. Sørg også for, at du bare har én og kun kerne installeret. Årsagen er, at hvis du har flere kerne installeret du måske har problemer med at generere kernen komponenter.

Trin 1: Tilføj spændstigt Ubuntu Mobile kilder

Tilføj følgende linie til din / etc / apt / sources.list:

deb-src http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main

Gem og afslut-fil.

Opdater depoter med de nye kilder:

# apt-get update

Alternativt kan du få pakker fra herfra .

Trin 2: Forbered dit system

Vi er nødt til at sørge for, at vi har kerne header-filer og nogle andre udviklingsprojekter pakker installeret for den aktuelt kørende kerne:

# apt-get install devscripts dkms module-assistant dpatch autotools-dev quilt libx11-dev pkg-config xserver-xorg-dev x11proto-gl-dev x11proto-video-dev libgl1-mesa-dev libxvmc-dev x11proto-core-dev x11proto-fonts-dev x11proto-randr-dev x11proto-render-dev x11proto-xinerama-dev x11proto-xf86dri-dev x11proto-xf86dga-dev x11proto-xf86misc-dev libxfixes-dev libxdamage-dev libexpat1-dev
# ma prepare

Opdatering: Hvis du bruger Debian Stable (Lenny), er du nødt til at hente pakken fra Debian Testing og derefter installere det på Debian Stable. Pakken installerer fint uden klager om nogen uforenelighed eller manglende biblioteker.

Trin 3: Installer PSB kildekodepakker (Kernel Component)

I dette trin vil vi bare se, hvordan man kan opbygge kerne komponenter til PSB driver, psb.ko og drm.ko:

# cd; mkdir -p psb/drm; cd psb/drm
# apt-get source psb-kernel-source
# cd psb-kernel-source-4.41.1

Vi vil tage sig af enhver ændring, der leveres i debian / styring fil. Hvis du virkelig ønsker at se, hvad jeg siger, så henvises til Adams git repository . Mange tak til ham!

Nu, før du kan bygge kerne komponenter, du har brug for at redigere følgende filer:

drm_os_linux.h
drm_fops.c
drm_sysfs.c
psb_i2c.c
debian/control
debian/rules

Du kan downloade de ovennævnte seks ændrede filer fra her og overskrive de originale filer i PSB-kernel-source-4.41.1 bibliotek. Hvis du ønsker at se ændringerne derefter henvise til git repository ovenfor. Jeg kunne have setup min egen git repository her, men jeg har problemer med at oprette gitweb på min bluehost domæne konto. Hvis jeg nogensinde får en chance for at løse det, vil jeg opsætte git repository, og fremhæve alle ændringerne.

Nu er vi klar til at udarbejde de kernemoduler:

# debuild -i -us -uc -d -b

Hvis opgørelsen gik uden nogen fatale fejl så følgende pakker vil blive oprettet:

# ls -l ../psb-*.deb
-rw-r--r-- 1 root root 90422 2009-10-27 17:42 ../psb-kernel-headers_4.41.1-1squeeze1_all.deb
-rw-r--r-- 1 root root 402272 2009-10-27 17:42 ../psb-kernel-source_4.41.1-1squeeze1_all.deb
-rw-r--r-- 1 root root 156944 2009-10-27 17:41 ../psb-modules_4.41.1-1squeeze1_i386.deb
# cd ..

Lad os installere følgende pakker:
# dpkg -i psb-kernel-headers_4.41.1-1squeeze1_all.deb psb-modules_4.41.1-1squeeze1_i386.deb

Dine kernemodulernes psb.ko og drm.ko, vil blive installeret automatisk på følgende placering:

# ls -l /lib/modules/2.6.30-2-686/updates/char/drm
total 392
-rw-r--r-- 1 root root 207207 2009-11-04 02:07 drm.ko
-rw-r--r-- 1 root root 180389 2009-11-04 02:07 psb.ko

Nu bare kopiere disse moduler til deres rette steder, så de kan få læsset under boot tid:

Opdateret:

# cd /lib/modules/2.6.30-1-686/kernel/drivers/gpu/drm/
# cp drm.ko drm.ko.orig
# cd /lib/modules/2.6.30-1-686/updates/char/drm
# cp psb.ko drm.ko /lib/modules/2.6.30-1-686/kernel/drivers/gpu/drm/
# depmod -ae

Du kan tilføje de moduler til din / etc / modules, så de indlæses tidligt i boot processen.

# nano /etc/modules
drm
psb

Gem og afslut filen.

Tillykke! Du har installeret kerne modulet Du er et skridt tættere på lyksalighed. :-)

Trin 4: Installer kildekodepakker (XOrg Component)

Så vores næste opgave er at installere XOrg komponenter, psb_drv.so og andre relaterede filer .. I dette trin vil vi udarbejde en masse pakker. Oprette en separat mappe til xorg stuff:

# cd; mkdir -p psb/xorg; cd psb/xorg

Så download disse kildekodepakker:

# apt-get source libdrm-poulsbo libva psb-firmware psb-meta xpsb-glx xserver-xorg-video-psb

Trin 4 (a): Compile libdrm-poulsbo pakke

# cd libdrm-poulsbo-2.3.0
# nano debian/control

og kommentere følgende linjer som vist i blåt:

Architecture: any
#Conflicts: libdrm-dev
#Replaces: libdrm-dev

Depends: libdrm-poulsbo1 (= ${binary:Version})
......
Depends: ${shlibs:Depends}, ${misc:Depends}
#Conflicts: libdrm2
#Replaces: libdrm2

og bygge pakken:

# debuild -i -us -uc -d -b

Dette vil resulterer i følgende pakker bliver skabt:

# ls -l ../libdrm-poulsbo*.deb
-rw-r--r-- 1 root root 18420 2009-10-27 15:20 ../libdrm-poulsbo1_2.3.0-1squeeze1_i386.deb
-rw-r--r-- 1 root root 34168 2009-10-27 15:20 ../libdrm-poulsbo1-dbg_2.3.0-1squeeze1_i386.deb
-rw-r--r-- 1 root root 24786 2009-10-27 15:20 ../libdrm-poulsbo-dev_2.3.0-1squeeze1_i386.deb
# cd ..

Trin 4 (b): Compile PSB-firmwarepakke
# cd psb-firmware-0.30
# debuild -i -us -uc -d -b
# ls -l ../psb*.deb
-rw-r--r-- 1 root root 11260 2009-10-27 15:00 ../psb-firmware_0.30-1squeeze1_all.deb
# cd ..

Trin 4 (c): Compile PSB-meta-pakke

# cd psb-meta-1.1/
# debuild -i -us -uc -d -b
# ls -l ../poulsbo*.deb
-rw-r--r-- 1 root root 1736 2009-10-27 15:06 ../poulsbo-driver-2d_1.1-1squeeze1_all.deb
-rw-r--r-- 1 root root 1750 2009-10-27 15:06 ../poulsbo-driver-3d_1.1-1squeeze1_all.deb
# cd ..

Trin 4 (d): Compile libva pakke

Før vi kompilere denne pakke, vi er nødt til at installere de følgende pakker, som vi netop har opbygget ovenstående:

# dpkg -i --force-overwrite libdrm-poulsbo*.deb
# cd libva-0.29/
# debuild -i -us -uc -d -b
# ls -l ../libva*.deb
-rw-r--r-- 1 root root 11876 2009-10-27 15:15 ../libva1_0.29-1squeeze1_i386.deb
-rw-r--r-- 1 root root 29318 2009-10-27 15:15 ../libva-dev_0.29-1squeeze1_i386.deb
# cd ..

Bemærk: Hvis ovennævnte force-overskrive kommando ikke virker, så prøv følgende:

# dpkg -i –force-overwrite libdrm-poulsbo*.deb psb-firmware_0.30-1squeeze1_all.deb

Thanks Jon_J .

Trin 4 (e): Compile lxpsb-GLX-pakken

Før vi kompilere denne pakke, vi er nødt til at installere de følgende pakker, som vi netop har opbygget ovenstående:

# dpkg -i libva*.deb
# cd xpsb-glx-0.18
# debuild -i -us -uc -d -b
# ls -l ../xpsb-glx*.deb
-rw-r--r-- 1 root root 1191406 2009-10-27 16:11 ../xpsb-glx_0.18-1squeeze1_i386.deb
# cd ..

Trin 4 (f): Compile xserver-xorg-video-psb pakke


# cd xserver-xorg-video-psb-0.31.0
# debuild -i -us -uc -d -b
# ls -l ../xserver-xorg-video-psb*.deb
-rw-r--r-- 1 root root 83848 2009-10-27 17:48 ../xserver-xorg-video-psb_0.31.0-1squeeze1_i386.deb
# cd ..

Nu vil vi installere resten af ​​de pakker, som vi har bygget indtil nu:

# dpkg -i poulsbo-driver-*.deb xserver-xorg-video-psb_0.31.0-1squeeze1_i386.deb xpsb-*.deb libva*.deb

Endnu en gang tillykke, hvis du er kommet så langt, og alle dine pakker blev bygget og installeret.

At krydstjekke, hvis du har kompileret og installeret alle de pakker med succes her er listen:

# dpkg -l | grep squeeze1
ii libdrm-poulsbo-dev 2.3.0-1squeeze1 Userspace interface to kernel DRM services -- developme
ii libdrm-poulsbo1 2.3.0-1squeeze1 Userspace interface to kernel DRM services -- runtime
ii libdrm-poulsbo1-dbg 2.3.0-1squeeze1 Userspace interface to kernel DRM services -- debugging
ii libva-dev 0.29-1squeeze1 Video Acceleration (VA) API for Linux -- development fi
ii libva1 0.29-1squeeze1 Video Acceleration (VA) API for Linux -- runtime
ii poulsbo-driver-2d 1.1-1squeeze1 Metapackage for the 2D Poulsbo (psb) X11 driver.
ii poulsbo-driver-3d 1.1-1squeeze1 Metapackage for the 3D Poulsbo (psb) X11 driver.
ii psb-firmware 0.30-1squeeze1 Binary firmware for the Poulsbo (psb) 3D X11 driver
ii psb-kernel-headers 4.41.1-1squeeze1 Kernel module headers for the Poulsbo (psb) 2D X11 driv
ii psb-modules 4.41.1-1squeeze1 Kernel module built for -686 kernel
ii xpsb-glx 0.18-1squeeze1 X11 drivers for Poulsbo (psb) 3D acceleration
ii xserver-xorg-video-psb 0.31.0-1squeeze1 X.Org X server -- Intel Poulsbo (2D)

På dette stadium bør du have alle de ovennævnte pakker installeret.

Trin 5: Add symlinks

Nu er vi nødt til at gøre nogle "beskidte" hack for at gøre denne driver arbejde:

# rm /usr/lib/libdrm.so.2.4.0
# ln -s /usr/lib/libdrm.so.2.3.0 /lib/libdrm.so.2
# ln -s /usr/lib/libdrm.so.2.3.0 /lib/

Trin 6: Copy xorg.conf

Endelig vil du have et gyldigt xorg.conf fil for at gøre føreren arbejde. Du kan downloade mit arbejdsliv xorg.conf fil fra herfra .

# cp xorg.conf /user/X11/xorg.conf

En vigtig ting at kontrollere, er, at følgende linje er un-kommenteret i xorg.conf fil:

Option "IgnoreACPI" "1"

ellers vil du se en tom / sort skærm, når systemet starter op.

Trin 7: Genstart!

Endelig genstarte dit system og krydse dine fingre. Vidste du ser din GDM eller KDM skærmen? Hvis ja, så chancerne er, at PSB chaufføren har virket. Endnu en gang tillykke. Dit hårde arbejde betalte sig.

Trin 8: Kontroller

Her er nogle skridt til at kontrollere, om dine PSB chauffører faktisk er indlæst eller ej.

At kontrollere for kernen komponent (drm.ko og psb.ko):

# dmesg | grep drm

Output:

[ 9.762315] [drm] Initialized drm 1.1.0 20060810
[ 9.824743] [drm] psb - 5.0.1.0046
.........................................
[ 12.207384] [drm] intel_lvds_set_backlight: the level is 100
[ 12.207391] [drm] LVDSGetPWMMaxBacklight: the max_pwm_blc is 31250.
[ 12.207402] [drm] fb0: psbfb frame buffer device
[ 12.207412] [drm] intel_lvds_prepare
[ 12.207417] [drm] intel_lvds_set_power: 0
[ 12.207422] [drm] intel_lvds_set_backlight: the level is 0
[ 12.207428] [drm] LVDSGetPWMMaxBacklight: the max_pwm_blc is 31250.
[ 12.268109] [drm] LVDS: set mode 1024x768 4
[ 12.268169] [drm] intel_lvds_commit

Jeg har ikke bekræftet endnu, men jeg tror, ​​denne driver bruger den nye KMS funktionen .

At kontrollere , om XOrg driver, PSB, er indlæst eller ej:

# cat /var/log/Xorg.0.log | grep driver
Output:
(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
X.Org XInput driver : 4.0
(II) Loading /usr/lib/xorg/modules/drivers// psb_drv.so
(II) PSB: driver for Intel GMA500 chipsets: Intel GMA500
(II) Loading /usr/lib/xorg/modules/drivers//Xpsb.so
(II) PSB(0): [Xpsb] Disable hog plug daemon in PSB driver.
ABI class: X.Org XInput driver, version 4.0

Endelig, hvis du er doven og ikke ønsker at gå gennem hele denne proces, så kan du hente alle de pakker og filer herfra.

Opdatering: Jeg har uploadet kernel config filen, på ovennævnte link, som jeg brugte til at samle disse pakker.

Det er det gutter. Have det sjovt.

Ville virkelig sætte pris på hvis du kan rapportere succes eller fiasko på dit system. Du er velkommen til at påpege eventuelle forbedringer og fejl. Jeg ville virkelig at gøre det så let som muligt. Så hvis du kender en bedre metode til trin bedes chip i.

Glad PSB'ing!
Lear om den nyeste teknologi med testking 642-902 kursus! bestå din eksamen med højeste score ved hjælp testking 70-640 spørgsmål og testking 646-204 praksis test.

Være selskabelig, Del!