Ako na akcelerovaný desktop v Debian Etch

15. 12. 2006
Doba čtení: 9 minut

Sdílet

V poslednom čase všade počujem narážky na to, aký je linuxový desktop zastaraný a nepraktický, a aké "revolučné" zmeny teraz Windows jehoVista prinesie. Ako keby ma fakt, že nosím tričko s nápisom Debian, robil zodpovedným. Začul som už viackrát o trojrozmernom desktope, a tak som sa rozhodol to na vlastnú myš vyskúšať.

Priznám sa, nemal som žiadne očakávania, bol som jednoducho zvedavý, ako môže OpenGL „zrevolučniť“ prácu na desktope oproti mojej obľúbenej trojkombinácii „splitvt, mc a screen“. Xká sa totiž štartujú len keď treba napísať nejaký ten dokument, zahrať hru alebo posvietiť monitorom v izbe. Na relax zas stačí zgv, mp3blaster, links2 -gmplayer -vo sdl.

Tento článok teda bude návodom na rozchodenie akcelerovaného desktopu v kombinácii „Aiglx, Beryl a Emerald“, alebo „Aiglx, Compiz a gnome-themes“. V mojom prípade išlo konkrétne o rozchodenie na nVidia grafike, ale budem sa venovať aj rozdielom pre majiteľov kariet od ATI a Intelu, kde som si to potom tiež vyskúšal. Pretože sa všade 3D desktop prezentuje v GDE, tento test bol schválne vykonaný v KDE. Tento článok nie je určený úplným začiatočníkom, ale aspoň jemne skúseným užívateľom. Článok predpokladá, že už ste aspoň raz inštalovali ovládače pre svoju grafickú kartu, viete kedy používať root užívateľa a dokážete vykonať aspoň základnú inštaláciu/odin­štaláciu balíkov.

Aiglx 1

300g múky, 3 vajcia, 2 lyžice cukru

Upozornenia

Ubuntu NIE JE Debian!
Pred úpravami konfiguračné súbory ZÁLOHUJTE!
Návod si najprv prečítajte do konca a až potom začnite s úpravami!

Aiglx som zvolil namiesto Xgl preto, lebo sa prednedávnom stalo súčasťou Xorgu a teda takto máme o jednu starosť menej. Preto, ak máte Xorg verzie 7.1.x, ste za vodou. Zistíte to jednoducho príkazom

# Xorg -version

V skutočnosti stačí mať up-to-date Etch. Teda

# apt-get update && apt-get upgrade

sa o to postará.

Ovládače hardvéru

NVidia ovládače v Debian GNU/Linuxe sú kapitolou samou o sebe. Pre úspešnosť tohoto projektu je potrebné mať ich aspoň vo verzii 1.0–9629. Napriek tomu, že sa ma niekoľko stránok nezávisle od seba snažilo presvedčiť, že nový NVIDIA balík priamo od nVidie bude plne funkčný aj bez „debianovskej“ inštalácie, mne to nefungovalo. (vlastne áno, ale len do reštartu a následných TLS problémov).

A preto:

  1. Na www.debian.or­g/distrib/pac­kages si dáme vyhľadať v Experimental balík nvidia-kernel-source. V čase písania tohoto článku je tam verzia 1.0.9631–1. Túto si stiahneme napríklad do /tmp.
  2. ako root vypneme X príkazom /etc/init.d/gdm stop a balík nainštalujeme  dpkg -i /tmp/nvidia*
  3. spustíme module-assistant m-a a tam ideme postupne:
    UPDATE (Enter), PREPARE (Enter), SELECT (Enter), šípkou zídeme na nvidia-kernel, stlačíme medzeru (Enter), GET (Enter), BUILD (Enter), a na otázku či si prajeme novovytvorený balík nainštalovať, odpovieme Yes.
  4. modul je nainštalovaný, už je len potrebné ho zaviesť do kernelu a systém nastaviť tak, aby ho pri každom reštarte systém natiahol znova. Teda
    modprobe nvidia && echo nvidia >> /etc/modules (toto samozrejme nemusíte zadávať, ak ste nvidia modul používali aj doteraz).
  5. na záver ešte upravíme /etc/X11/xorg.conf nainštalovaním balíka nvidia-xconfig a spustením príkazu s rovnakým názvom

Pre ATI karty s čipom R300 a nižším funguje AIGLX bez problémov na free driveri radeon. Pri kartách vyššieho radu je potrebné použiť Xgl, ktorého balíky sú súčasťou Debianu a jeho inštalácia je teda bezbolestná. Návod na inštaláciu fglrx ovládača:

  1. zo stránky ati.amd.com/sup­port/drivers/li­nux/linux-radeon.html si stiahnite najnovší ATI Driver Installer. to je ten 50+ megabajtový súbor do napr.  /tmp
  2. potom ako root cd /tmp ; bash ati-driver-installer-8.31.3-x86.run --buildpkg Debian/testing
  3. vytvorené balíky nainštalujeme dpkg -i fglrx-driver_8.31.3-1_i386.deb fglrx-kernel-src_8.31.3-1_i386.deb (tieto dva stačia)
  4. vytvoríme modul príkazom m-a a postupujeme rovnako ako pri nvidii v bode 3. Jediný rozdiel je, že tentokrát vyberieme modul  fglrx-kernel.
  5. modul je nainštalovaný, už je len potrebné ho zaviesť do kernelu a systém nastaviť tak, aby ho pri každom reštarte natiahol znova. Teda
    modprobe fglrx && echo fglrx >> /etc/modules
    (toto samozrejme nemusíte zadávať, ak ste fglrx modul používali aj doteraz).
  6. úprava konfiguračného súboru /etc/X11/xorg.conf sa dá taktiež, ako pri nVidia, vykonať konfigurovacím nástrojom fglrxconfig, alebo podľa návodu na www.stanchina­.net/~flavio/de­bian/fglrx-installer.html#con­figure

Intelovským ovládačom naozaj nerozumiem a jednoducho vo svojom laptope som zaviedol do kernelu moduly i915, i810 a v  xorg.conf som nastavil použitie i810 (aj napriek tomu že mám i915) podľa vzoru Ubuntu.

Hardvér

Aiglx som testoval na nasledovnom hardvéri:

nVidia ATI Intel
GeForce 5200 Radeon 9250 i915GM (HP nx6110)
GeForce 5700 Radeon X1600 (Xgl)
X800GT (Xgl)

Snažil som sa zísť na čo najstarší hardvér, aby som videl minimálne nároky, no keďže na všetkom to išlo úplne plynule, v určení minimálnych nárokov mi pomôže asi až diskusia pod článkom. Na laptope (Centrino 1600 MHz, 2 MB L2) mi Xorg niekedy vyťažil procesor aj na 80 percent, na desktope som spozoroval niekedy výlet Xorg-u na 20 – 30 %. Na ATI kartách som žiadne markantné zvýšenie záťaže procesora nepostrehol. Skúsenosti ľudí z fór na internete potvrdili v tomto moje postrehy.

Všetko dobre zamiešame a podľa potreby prisolíme

Akcelerovaný desktop sa skladá z troch častí:

  1. AIGLX, teda ‚Accelerated Indirect GL X‘, alebo Xgl, čo je skratka pre X server na OpenGL architektúre.
  2. kompozitný okenný manažér Compiz alebo jeho fork Beryl
  3. témy vhodné pre 3D systém ako gnome-themes (ktoré sa automaticky nainštalujú, ak si vyberiete Compiz), alebo manažér tém Emerald (ktorý ich má viacero pribalených).

X

Pre úspešné fungovanie treba mať zapnutý Direct Rendering. Teda ak máte nainštalovaný mesa-utils, spustite glxinfo | grep direct a malo by sa tam objaviť direct rendering: Yes. Ak nie, preštudujte si inštaláciu ovládačov vašej karty.

Pred vykonaním akýchkoľvek úprav si súbor /etc/X11/xorg.conf zazálohujte!

cd /etc/X11 && cp xorg.conf xorg.conf.zaloha
  1. Ako prvú úpravu pridáme Load "dbe" do časti Section "Module", ak tam ešte nie je.
  2. Potom do časti Section „Device“ pridáme Option "XAANoOffscreenPixmaps" "true" ako posledný riadok.
  3. Mnoho ľudí túto časť už má, ale ak nie, do súboru si pridajte aj túto stať:
  4. Majitelia kariet nVidia si musia pridať (ak to tam ešte nemajú) aj nasledujúce:

do časti Section "Screen"

Option    "DisableGLXRootClipping" "true"
Option    "AddARGBGLXVisuals"    "true"
DefaultDepth    24

a do časti Section „Device“

Option     "AllowGLXWithComposite"    "true"

Takto upravený xorg.conf je schopný obstarať aj Compiz aj Beryl. Ak by ste sa rozhodli len pre Beryl, väčšina z týchto nastavení (ak nie všetky) mu vôbec nebude chýbať.

Kompozitný manažér + témy

Aiglx 2

Volba window managera

Aiglx 3

Na výber máme 40 tém

Beryl nainštalujeme nasledovne:

1. Najprv všetky závislosti:

# apt-get install libdrm2 libpng3 libpng12-0 libpng12-dev libxdamage1 libxcomposite1 x11proto-core-dev x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-render-dev x11proto-randr-dev libcairo2 libcairo2-dev libcairomm-1.0-0 libcairo-perl libmono-cairo1.0-cil python-cairo libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa libwxgtk2.4-1 libwxgtk2.6-0 mesa-common-dev mesa-utils libsvn1 libglitz1 libglitz-glx1 libxfont1 libfontenc1 libwnck-common libwnck18 libsvn1

2. Potom je potrebné manuálne stiahnuť do jedného adresára, napr. /tmp/beryl  balíky

emerald,

libberylsettings-dev, emerald-themes, beryl-settings, libemeraldengine-dev, beryl-core, libemeraldengi­ne0, beryl-plugins, libberylsettin­gs0, beryl-plugins-data,

beryl-dbus, beryl-dev, beryl-manager, beryl.

Tieto balíky sa inde nevyskytujú, iba ak by ste si ich chceli sami vytvoriť.

3. Ako root spustite cd /tmp/beryl ; dpkg -i *, ak sú problémy, tak ešte  apt-get -f install.

4. Spustite svoje KDE, alebo GDE a v ňom v termináli napíšte beryl-manager. Po krátkej chvíli sa objaví Beryl splashscreen a všetko beží. V Kicker, alebo v gnome-panel sa objaví ikona briliantu a cez ňu môžete editovať okenné témy.

Compiz:

1. Compiz, na rozdiel od Beryl, je súčasťou Debianu a dá sa nainštalovať klasicky:  apt-get install compiz

2. Ak Vám gnome-themes nestačia, musíte nainštalovať Emerald. Viz bod 2. v predchád­zajúcom odseku.

3. Potom v Gnome menu: Desktop – Preferences – Sessions kliknite na záložku Startup Programs a pridajte položku compiz --replace --fast-filter. V KDE vytvorte súbor ~/.kde/Autostart/compiz.desktop, ktorý bude obsahovať:

[Desktop Entry]
Encoding=UTF-8
Exec=compiz --replace gconf & gnome-window-decorator &
GenericName[en_US]=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-KDE-autostart-after=kdesktop

Pre Xfce4 odkomentujte v /etc/xdg/xfce4-session/xfce4-session.rc  riadky o xfwm:

#Client0_Command=xfwm4
#Client0_PerScreen=False

Vytvorte súbor starajúci sa o štart Compizu ~/.config/autostart/compiz.desktop s obsahom:

[Desktop Entry]
Name=No name
Encoding=UTF-8
Version=1.0
Exec=compiz --replace --fast-filter --use-cow
X-GNOME-Autostart-enabled=true

Pečieme 30 minút na 220, koláč vytiahneme z rúry a vyhodíme

Prvé dojmy sú ozajstným zážitkom. Odrazu si môžete vyskúšať všetky triky, ktorých screenshoty sa pohybujú internetom, ohurujete prizerajúcich sa a tešíte sa ako malé dieťa. Púšťate video na okrajoch dvoch plôch, ohýbate okná, nakukujete cez priehľadné terminály, okná naťahujete, skladáte, odsúvate, myšou v pravom hornom rohu si pripomínate OS-X a v jednom kuse otáčate kocku.

Aiglx 4

pohyblivý roh okna

Aiglx 5

desktop CUBE

Aiglx 6

wobbly windows

Aiglx 7

minimalizácia okna

Aiglx 8

maximalizácia okna

Aiglx 9

všetky okná pokope

Táto eufória prejde asi po 5 minútach, keď ste už rozposlali známym dostatok screenshotov a idete ďalej seriózne pracovať. Zrazu Vás Genie efekty na zmenšované a zväčšované okná začnú otravovať. Dream efekt pri menu začne tiež liezť na nervy a spomeniete si, prečo sa vám kedysi tak zle pracovalo s MacOS-X. Nasleduje skracovanie trvania efektov na 0.30 sekundy až následné vypnutie všetkých okrem CUBE. (To je tá kocka na prevracanie plôch.) Neskôr zistíte, že aj tá vás viacmenej otravuje, vypnete efekty úplne a celý Beryl zapnete až keď príde návšteva a začne ospevovať, akú revolúciu jehoVista prináša.

Práve z tohto dôvodu odporúčam nainštalovať práve Beryl a nezasahovať do štartovacích skriptov klasického KDE, GDE, Xfce. Asi najkrajší efekt zo všetkých je WaterSplash, kde vám novovytvorené alebo presunuté okno vytvorí vlnky na ploche, ako keď dopadne kvapka vody na hladinu. Tento efekt je ale aj najnáročnejší na grafiku a preto ho odporúčam len majiteľom silných grafických kariet.

Aiglx 10

Prvým problémom bol konflikt tieňov KDE menu. Jeden tieň vytvára KDE, jeden Beryl.

Aiglx 11

Druhým problémom je, že pri použití Beryl-u mi zmizne Debian menu.

Aiglx 12

Ak máte spustenú OpenGL aplikáciu, toto je ten šťastnejší scenár. Inak to zmrzne a nepomôže ani kill -9 `pidof aplikacia`. Iba Ctrl+Alt+Bksp

Aiglx 13

Preháňať to s vodou sa neoplatí, potom to trochu trvá, kým sa hladina ukľudní.

Ďalším zádrheľom je iné ponímanie viacerých plôch. Kým v KDE máte možno nastavené 4 plochy, akcelerovaný desktop v skutočnosti používa jednu dlhú trikrát (ak ju beriete cyklicky, tak 4×) zalomenú plochu. Teda ak máte zapnutú superkarambu, na ostatných plochách ju nevidíte, pretože technicky ste stále na jednej a tej istej. Rovnako s tým nevie ešte narábať ani panel úloh (task manager) a stále zobrazuje všetky bežiace programy. Problémy s pagerom už v KDE adresované boli a upravený pager si môžete stiahnuť z tejto adresy: www.kde-apps.org/conten­t/show.php?con­tent=18845. Všetko sú to síce drobnosti, ale aj tak dosť znižujú hodnotu zážitku.

Ústnu dutinu vypláchneme ústnou vodou

Na záver teda dodám, že trojrozmerný desktop žiaden prevrat v používaní počítačov neprináša. Oko síce poteší, no prácu spomalí. Fóra sú zatiaľ plné chýb a problémov. Nie je neobvyklé, že sa Vám po spustení rozblikajú všetky okná a Emerald, alebo Compiz respawnuje donekonečna. K dospelosti majú tieto programy ešte ďaleko a k efektivite práce ešte ďalej. Zaujímavé je len poznamenať, aké nízke nároky v porovnaní s jehoVistou akcelerácia má. Človek by si až myslel, že to v M$ spravili zámerne. Tak, či onak – veni, vidi, mc.

bitcoin školení listopad 24

Aiglx 14

3D desktop is 4 n00bz

Zdroje:

people.debian­.org/~rdonald/in­dex.php
www.stanchina­.net/~flavio/de­bian/fglrx-installer.html
wizah.blogspot­.com/2006/10/de­bian-how-to-aiglx-compiz.html
vally8.free.fr/co­inprog/beryl/in­dex.php
irc.debian.org #debian /msg dpkg

Používáte akcelerovaný desktop?

Autor článku