XGL - X serverio architektūra, kuri yra pritaikyta didesniam vaizdo plokščių galimybių išnaudojimui per OpenGL (DirectX analogas, bibliotekos, kurių pagalba dirbama su 2D ir 3D grafika).
Šiame straipsnyje sužinosite, kaip paprasčiausiu būdu susiinstaliuoti XGL ir Compiz/Beryl Gentoo sistemoje. Manau šis straipsnis šiuo metu gana aktualus, nes daugelis įdieginėja XGL. Naujokai, kurie neseniai išbandė Linux taip pat bando suinstaliuoti XGL. Deja, dažnai jiems tai nepavyksta.
Iš karto turiu nuvilti ne GNOME ar KDE vartotojus - XGL ant šių sistemų veikia, bet joms nėra manager’io, kuris rodytų “pagražinimus”. Turiu pasakyti, kad prieš kompiliuodami NVIDIA tvarkykles, NVIDIA modulį turite iš kernel’io išmesti (geriau padarykite tai dabar, kad vėliau nereikėtų terliotis), jeigu jūs jį ten įkompiliavote.
cd /usr/src/linux nano -w .config
Susiraskite (Ctrl+W ir rašote ko ieškote…) AGP_NVIDIA opciją ir ją užkomentuokite t. y. eilutės pradžioje parašykite # simbolį. Išsaugokite ir sukompiliuokite kernel’į.
Dabar kai jūs jį iškompiliavote ir užkrovėte sistemą su naujai kompiliuotu branduoliu, galime pradėti dirbti.
XGL‘ui reikalingas modularinis X.Org’as. Kaip jį suinstaliuoti rasite adresu http://gentoo-wiki.com/HOWTO_Modular_Xorg.
Cairo - paketas su vektorinės grafikos bibliotekom. Sukompiliuokime Cairo:
emerge -1av x11-libs/cairo
Norėčiau dar pakomentuoti šiuo metu naudojamas opcijas. Tai 1, a ir v. Dar vėliau naudosime n. 1 - analoginė opcija –oneshot opcijai. Ji nurodo, kad paketo neįdėtumėme į world profilį ir su komanda emerge world jis neatsinaujintų, o atsinaujintų tik kompiliuojant priklausomybes (dependencies). a - analoginė opcija –ask opcijai. Ji nurodo, kad prieš siunčiantis paketus, jūsų paklaustų ar juos siųstis ir parodytų jų sąrašą bei kitą su jais susijusią informacią (USE flag‘us ir pan.). v - analoginė opcija –verbose opcijai. Ji nurodo, kad būtų išvedama į ekraną daugiau informacijos negu paprastai. n - analoginė opcija –noreplace. Jeigu dirbama su šia opcija tai visi paketai, kuriuos norėsite instaliuoti dar kartą ir jie jau bus sistemoje, bus nekompiliuojami.
Toliau perkompiliuokime gtk+ (Gimp’ui skirtas įrankių rinkinys) ir pango (teksto tvarkymo bibliotekos) su naujai sukompiliuotu Cairo:
emerge -1av x11-libs/pango x11-libs/gtk+
Siūlau naudoti -doc flag’ą (instaliavimas praeis žymiai greičiau):
USE=”-doc” emerge -1av x11-libs/pango x11-libs/gtk+Patikrinkime ar neturime ir kompiliuokime glproto (X.Org GL protokolo header’iai (iš angl. k. būtų antraštės)) ir libdrm ():
emerge -1avn x11-proto/glproto libdrm
Jeigu viskas susikompiliavo sėkmingai tai galime kompiliuoti XGL su Mesa (tai tarsi OpenGL analogas; daugiau apie Mesa galite sužinoti http://mesa3d.sourceforge.net):
emerge -av1n mesa
emerge -av xgl
Dabar kompiliuojame NVIDIA tvarkykles (bet kokiu atveju jas reikia perkompiliuoti, nesvarbu, kad jau esate jas sukompiliavę ir tai naujausia versija):
emerge x11-drivers/nvidia-drivers media-video/nvidia-settings
Redaguojame X11 konfigą:
nano -w /etc/X11/xorg.conf
Susirandame Section “Device” ir šioje sekcijoje pakeičiame Driver reikšmę į nvidia. Dabar naudosime nvidia modulį.
Laikas pasirinkti Compiz arba Beryl manager’į. Siūlau Compiz, bet kartu aprašysiu ir Beryl.
Pirmiausiai apie startx. Pasidarykime startx kopiją, kad galėtume atskirai paleisdinėti X’us: be XGL ir su XGL.
cp /usr/bin/startx /usr/local/bin/startxgl nano -w /usr/local/bin/startxgl
Susiraskime userclientrc kintamąjį ir jo reikšmę pakeiskime į .xglinitrc:
userclientrc=$HOME/.xglinitrc
Taip pat nepamirškime redaguoti xinit $clientargs eilutės. Vietoje jos įrašykime:
xinit $clientargs -- /usr/bin/Xgl :1 $serverargs -ac -accel xv -accel glx:fbo -deferglyphs 16 &
Dabar sukurkime .xglinitrc paprastam vartotojui (vėliau tą patį galėsite padaryti kitiems vartotojams):
nano -w /home/vartotojovardas/.xglinitrc
Į šį failą įrašykite šias eilutes:
sleep 2
DISPLAY=:1 WINDOW_MANAGER=beryl-manager exec startfluxbox
Vietoje startfluxbox įrašykite komandą, kuri paleidžia jūsų naudojamą DM, o vietoje WINDOW_MANAGER įrašykite manager’io, kurį naudosite, pavadinimą (compiz-decorator arba beryl-manager).
Jeigu esate KDE vartotojas tai naudokite KDEWM reikšmę vietoje WINDOW_MANAGER.
Dabar instaliuokime Compiz (jeigu norite naudoti Beryl tai praleiskite šią skiltį):
echo "x11-wm/compiz" >> /etc/portage/package.keywords emerge x11-wm/compiz
Dabar norint, kad išnaudotume Compiz’ą, mes turime įjungti jo priedus:
gconftool-2 -s /apps/compiz/general/allscreens/options/active_plugins "[gconf,decoration,wobbly,fade,minimize,cube,switcher,move,resize,place,rotate,zoom,scale]" -t list –list-type=string
Žinoma priedų sąrašą galite redaguoti savo nuožiūra. Čia buvo išvardinti ne visi priedai.
Sukuriame paleidimo failą:
nano -w /usr/local/bin/compiz-decorator
Į jį įrašome:
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf & gtk-window-decorator &
Taip pat nepamirškime suteikti leidimą vykdyti šį failą:
chmod +x /usr/local/bin/compiz-decorator
Ir vykdom apl. atnaujinimo komandą env-update.
Instaliuosime Beryl:
echo "~x11-misc/beryl-settings-0.1.4 ~*" >> /etc/portage/package.keywords;echo "~x11-apps/xlsclients-1.0.1 ~*" >> /etc/portage/package.keywords; echo "~x11-misc/beryl-manager-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-themes/emerald-themes-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-plugins/beryl-dbus-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-plugins/beryl-plugins-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-wm/beryl-core-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-wm/emerald-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-wm/beryl-0.1.4 ~*" >> /etc/portage/package.keywords
emerge =x11-wm/beryl-0.1.4<pre> Dabar galime paleisti Beryl rankiniu būdu: <pre lang="bash">beryl-manager
Galutinis variantas turėtų atrodyti maždaug taip:
![]()
![]()
Tai buvo straipsnis “XGL instaliacija Gentoo sistemoje (NVIDIA)”.
Jeigu kas nors nepavyko tai galite pagalbos ieškoti šiais adresais:
http://gentoo-wiki.com/
Paveikslėliai paimti iš gentoo-wiki.com
2007-02-01 | 10:38
O ką daryt ATI savininkams? :-)
2007-02-01 | 22:38
Būtent dėl to neparašiau apie ATI, nes nesu įsitikinęs ar jiems tikrai nieko papildomo nereikia daryti, kad veiktų XGL.
2008-04-16 | 9:47
AGP_NVIDIA reikia užkomentuoti (arba naudojantis menuconfig: Device drivers>>Graphics support>>dev/agppart (AGP support) nuimti varnelę nuo NVIDIA nForce/nForrce2 chipset support
Pas mane lspci rodo:
Intel 82865/PE/P PCI to AGP Controller
Ir aš uždėjęs varnelę ant Intel 440LX/BX/GX, I8xx taram baram chipset support (AGP_INTEL=y)
Tai ar reikia nuimti tą varną ar nelabai? Jei nuimu, tai gaunasi taip, kad galima iš vis išjungti Grpahics support>>/dev/agppart (AGP support) ir tada reiktų naudoti NvAGP (nežinau kas čia yra, kažkoks driveris parbėgtų darant emerge -DuN nvidia-drivers
2008-04-16 | 9:57
Iš vis kad geriau: kernelio AGPpalaikymas ar tas “išorinis”. Ir kodėl turi būti tik #AGP_NVIDIA
o apie kitus iš AGP support nekalbama?
2008-04-16 | 18:55
AGP_NVIDIA tai ne CONFIG_AGP. AGP_NVIDIA atstovauja tik NVIDIA tvarkyklei. Jeigu vaizdo plokštės tvarkyklių atskirai neinstaliavai tai Xorg.conf nurodytas vaizdo plokštės modulis naudojamas neįkompiliuotas į kernelį (to mums ir reikia).
2008-04-21 | 11:48
Per sudėtingai čia atsakei :)
Vienu žodžiu ar taip reikia:
AGP=[y]
AGP_INTEL=[n] (pas mane dmesg | grep -i AGP rodo Detected Intel 865 Chipset)
visa kita AGP_belekas užkomentuota.
2008-04-21 | 17:25
X vaikia, susitvarkiau.
Dar vienas klausimas: ar cia viska daryti nuo 0, ar reikia sumesti pries tai kde arba gnome. gnomke-light tinka?
2008-04-22 | 8:26
emerge -1avn x11-proto/glproto libdrm
Ties šituo nevyksta niekas. 0 packages.
2008-04-23 | 14:57
Su viskuo susitvarkiau iki XGL. Nėra jo daugiau. Kaip apeiti? Ištrauka iš vieno puslapio:
Note: XGL is not longer in the portage tree. You will have to find an Overlay to get it.
Try the ARCON portage layer, to get Xgl and all the necessary stuff as compiz-fusion