2007-01-08

Nouveau un Nvidia

Nu jau ilgāku laiku - kādus 3 mēnešus - sev publisku uzmanību ir piesaistījuši Nouveau projekta puši. Šo vīru veikums laikā, ka sakarā ar Ubuntu izstrādātāju ierosinājumu nākošajā izlaidumā Feisty pieļaut noklusējamo bināro draiveru instalēšanu ir izraisījusies ļoti nokaitēta diskusija par mūsu atkarību no divu kompāniju - Nvidia un ATI - nevēlēšanās izdot karšu specifikācijas, ir ļoti svētīgs. Lai arī daudzi sākumā ļoti skeptiski vīpsnāja un apšaubija šāda projekta jēgu - atpakaļinžinierēt sarežģītu video karti, kas pietam izmanto GPU, nav tas pats, kā tādā pašā veidā dabūt pie "dziesmas" tīkla karti - projekta mājas lapa tiek pieminēta arvien biežāk un biežāk. Vislielāko interesi manī izraisija iespēju matrica (features matrix), kurā zaļo plankumu (t.i. funkcionalitāte ir atkosta) ir cerīgi daudz. Protams, kāmēr neredzēsim reāli strādājošu atvērtā koda draiveri kurš varēs palaist Beryl, tikmēr būs grūti noticēt, ka tas ir iespējams. Bet ja izdosies, tad laikam būs jāpiekrīt senam teicienam, ka apņēmīgus cilvēkus ir grūti apturēt un ka runāšana par un pret bināriem draiveriem ir tikai gaisa karsēšana - ja neko nespējam mainīt, tad ir jāķeras pie darba.

Tie, kuri vēlas "ķerties pie darba" un palīdzēt kaut nedaudz projektam, var to darīt ar reģistra dumpu palīdzību. Ja jums ir kāds eksotisks Nvidia čipsets, vai vienkārši vēlaties pielikt savu roku lielajā darbā, kā arī zināt pietiekami daudz konsoles komandu, varat mēģināt paspēlēties ar REnouveau. Tā ir programmiņa, kas palaiž 3D acelerācijas komandas un skatās datora reģistru pierakstus, tādējādi provējot uztaustīt, ko savā starpā "čato" binārais draiveris un Nvidia video karte.

Ja esat nolēmis piedalīties, virzieties par šādiem soļiem:
1. Vispirms programmas prasības.
+ Tai ir jābūt salīdzinoši modernai Nvidia video kartei, TNT un pirmās paaudzes Geforce varētu arī nestrādāt;
+ Otrais, jums ir jābūt reāli strādājošam binārajam nvidia Xorg draiverim uzinstalētam un uzkonfigurētam;
+ Trešais, Beryl un XGL/AIXGL vajag izslēgt, lai netraucē programmas datu vākšanai;
+ Ceturtais, datoram jābūt izstrādātāja komplektam - gcc, glib, utt., jo REnuveau ir jākompilē no CVS, jo tā nemitīgi tiek papildināta;
+ Piektais, datorā ir jābūt uzstādītam cvs;
+ Sestais, ir jābūt uzinstalētiem libsdl-dev un libsdl-gfx1.2-dev "headeriem" (paktoņu nosaukumi Ubuntu sistēmai);
+ Septītais - pārliecinieties, vai jūsu kartei nav dumps jau izdarīts. Vispirms jums ir jāiegūst čipseta numurs. To var izdarīt ar lspci komandu:
lspci | grep VGA
Kur vajadzētu būt pieminētam NV čipsetam ar tālāk sekojošo divu ciparu kodu, piemēram, NV40. Vai arī, kā es biju spiests darīt, izmantojiet cat un grep iespējas attiecībā uz Xorg failiem:
cat /var/log/Xorg* | grep NV
Ja kaut kur pavid NV ar diviem cipariem kā izvēlētā karte, tad esat dabujis īsto, piem., kaut kas tāds:
(**) | |-->Device "NVIDIA Corporation NV44 [GeForce 6200 TurboCache]"

2. Pieņemsim, ka viss augstāk minētais ir izdarīts. Ķeramies pie reālās "gaļas". Vispirms lejupielādējam REnouveau ar cvs palīdzību, veicot šādu komandu konsolē:

cvs -z3 -d:pserver:anonymous@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co -P renouveau


Tas izveidos direktoriju renouveau, kurā tad atrodas programmas kods. Tagad ieejam šajā direktorijā:

cd renouveau

Un veicam programmas kompilēšanu ar komandu make all. Ja visas atkarības augšminētās būs izpildītas, tad rezultātā kompilācijai jābeidzas bez kļūdu paziņojumiem un jūs iegūsiet palaižamo failu renouveau.

3.
Palaižam Xorg, izmantojot bināro acelerēto draiveri "nvidia", bet bez XGL vai AIGLX.

4.
Atveram savu mīļāko termināļa programmu un palaižam renouveau programmu šādi:

cd renouveau
./renouveau

Programmas darbības laikā vēlams neko nedarīt, un noņemt peles kursoru no loga, kuru atver šī programma. Pēc parastās programmas aptuveni 7 - 10 minūšu laikā programma būs savu darbu pabeigusi un rezultātus ierakstījusi lielā čupā teksta failu ar paplašinājumu txt.

5.
Tālāk seko neliela Bash muskuļu izkustināšana. Izstrādātāji prasa, lai txt faili būtu sazipoti ar gzip -9. Sanāca uzveidot nelielu skriptiņu, kuru palaidu programmas direktorijā:

#!/bin/bash

for i in $( ls *.txt );
do
gzip -9 $i
done

6. Tālāk izveidojam direktoriju ar čipseta un PCI ID numuru nosaukumā, pārvietojam visus failus programmas mājas direktorijā ar paplašinājumu *.gz uz jaunizveidoto direktoriju, un sazipojam to:

mkdir n44-0161 (Manā gadījumā tā bija.PCI ID numuru jūs varat noteikt no tekstu failu nosaukuma, trešā ar svītrām atdalītā četru ciparu daļa)
mv *.gz n44-0161
tar nv44-0161.tar.gz n44-0161/

7. Pēdējais solis ir nogādāt iegūto arhīvu ar dumpiem draivera izstrādātājiem. Ir vairākas iespējas - ja negribat ķēpāties, nosūtiet man uz pecisk pie gmail punkts com, un es to nodošu izstrādātājiem. Vai arī, varat izmantojot IRC, pieslēgties Freenode tīklam (irc.freenode.net), un pieslēgties #nouveau kanālam, kurā iemest linku, kur esat uzlicis savu dumpu (piem, http://www.serveris.lv/~lietotajs/n44-0161.tar.gz) un informējiet par to marcheu vai citu izstrādātāju.

1 komentārs:

Anonīms teica...

seo排名教學,
台灣紅寶石牛樟芝,
關鍵字seo課程,
牛樟芝復育傳奇,
逢甲旅行找逢甲住宿,
大台中玩樂到台中住宿,
台灣合法大陸新娘仲介,
合法外籍新娘介紹,
比利時在進修emba課程,
台灣傳奇牛樟芝植菌代工,
廣告企劃,
YahooSEO排名,
台灣第一頁seo優化,
台灣牛樟芝山中傳奇,
中台灣旅行到逢甲日租套房住宿,
台中日租套房服務,
婚友社越南新娘媒合,
江南中國新娘介紹,
兩岸大陸新娘仲介,
月下老人大陸新娘介紹來台,
金字招牌越南新娘費用媒合,
專營外籍新娘仲介業務