Changes RSS

Bred skjerm og enlightenment, take 2.

Jeg installerte Hardy Heron på arbeids-arbeidsstasjonen min i dag, og dermed var jo vips e17-compile-treet og multihead-oppsettet mitt som har fulgt meg gjennom CentOS 4.0..5.1 borteborte. Så da var det å starte på bunn igjen ..

Steg en: installere ATI fglrx driver.

Dette var igrunn gjort i en fei, rett og slett fordi Hardy tilbød meg å installere denne umiddelbart etter første boot.

xorg.conf for ATI single-head: xorg.conf.fglrx_single.txt

Steg to: konfigurere fglrx med multihead støtte

Logget på konsoll, kjørte en enkel sudo su - og tok ned gdm. Laget backup av eksisterende xorg.conf. Brukte ATI sitt config-verktøy for dualhead-oppset. Vips hadde jeg to-skjerms-oppsett på ATI som fungerte, riktignok uten xinerama, men det tar jeg under steg fire..

/etc/init.d/gdm stop
aticonfig --initial=dual-head

xorg.conf for ATI dual-head: xorg.conf.fglrx_dual.txt

Steg tre: installere Matrox-drivere, og få bilde på Matrox-skjerm.

Lastet ned matrox-4.4.3 uoffisiell driver for Xorg (opp til 7.1). Siden denne i utgangspunktet ikke støtter Xorg 1.3++ må det gjøres magic-hax. Kjører installer-scriptet i –extract-only. Tusler inn i katalogen som ble opprettet, plukker opp mga_* og plasserer disse i /usr/lib/xorg/modules/drivers.

mkdir ~/backup/
cp /usr/lib/xorg/modules/driver/mga* ~/backup/
./matroxdriver_mga-x86_32-4.4.3-installer.run --extract-only
Please, enter the directory to extract the files [/home/username/] 
cd matroxdriver_mga-x86_32-4.4.3/xserver/7.1.0
cp mga* /usr/lib/xorg/modules/drivers

Oppretter en xorg.conf fil for singlehead med MGA. Her er viktige poeng for å få ting til å kjøre:

* VideoRam må spesifiseres i Device seksjonen
* Det må opprettes en ServerFlags seksjon, hvor IgnoreABI opsjonen settes

xorg.conf for Matrox single-head: xorg.conf.mga_single.txt

Driver hentes fra http://projects.tuxx-home.at/mga/drivers/latest/

Steg fire: multihead på matrox.

Legger til en Monitor seksjon i config, legger til en Device sekjson, identisk med forrige MGA device bortsett fra tillegget av linjen “Screen 0”, oppretter en Screen seksjon for den nye device+monitor combo, og legger opp ServerLayout med dual-oppsett

xorg.conf for Matrox dual-head: xorg.conf.mga_dual.txt

Steg fem: multihead på ATI + Matrox

Dette var mye mindre magisk enn man skulle tro. De to konfigurasjonene kombinered og testes. Vips: fire skjermer. For så å få Xinerama på plass, legges en opsjon til i ServerFlags:

      Option "Xinerama" "True"

xorg.conf for ATI + Matrox quad-head: xorg.conf.fglrx-mga-merged.txt

Steg seks: nedlasting av debian-devel-miljø og e17-konfig-script

# Base compile support and tools
sudo apt-get install \
             bzip2 \
             less \
             build-essential \
             libtool \
             bison \
             flex \
             automake1.9 \
             autoconf \
             gettext 
# Base code management
sudo apt-get install \
             pkg-config \
             cvs \
             subversion 
# Base libs
sudo apt-get install \
             libbz2-dev  \
             autotools-dev \ 
             libssl-dev
# X11 lib basics
sudo apt-get install \
             libx11-dev \
             x11proto-xext-dev
# Various support libs
sudo apt-get install \
             libltdl3-dev \
             libpopt-dev \
             libcurl3-dev \
             libsqlite3-dev \
             libxslt-dev
# Imaging and rendering libs
sudo apt-get install \
             libpng12-dev \
             libtiff4-dev \
             libungif4-dev \
             libjpeg62-dev \
             libfreetype6-dev \
             libimlib2-dev \
             libxml2-dev \
             libxcursor-dev \
             libgtk1.2-dev \
             libpng3-dev \
             giblib-dev \
             libxmu-dev
# X11 extension libraries
sudo apt-get install \
             libxkbfile-dev \
             libxdamage-dev \
             libxcomposite-dev \
             libxinerama1 \
             libxinerama-dev
# Desktop environment and multimedia libs
sudo apt-get install \
             libdbus-1-dev \
             libtag1-dev \
             libtagc0-dev \
             libxine-dev \
             libasound2-dev \
             libmpd \
             libmpd-dev \
             libtheora0 \
             libtheora-dev \
             libid3tag0-dev
mkdir -p compile/e17
cd ~/compile/e17
wget http://omicron.homeip.net/projects/easy_e17/easy_e17.sh

Steg seks: konfigurasjon og kjøring av e17-kompilering.

cd ~/compile/e17
vim easy_e17.sh
chmod 755 easy_e17.sh
./easy_e17.sh -i

Redigeringen gjorde jeg for å få ting dit jeg ville ha de, og for å fjerne edje_viewer, som plutselig ikke vil kompilere.

Resulterende script-fil er her: easy_e17.sh.txt

Steg syv: feilsøking

Vel oppe og gikk fant jeg ut at det var fryktelig mye disk-io på boksen når X stog og gikk. Dette kom av at Xorg.0.log ble spammet med feilmeldinger på formen:

(EE) fglrx(1): [DRI] Locking deadlock.
        Already locked with context 156264196,
        trying to lock with context 2.
(EE) fglrx(1): [DRI] Unlocking inconsistency:
        Context 156264196 trying to unlock lock held by context 2
(EE) fglrx(1): [DRI] Locking deadlock.
        Already locked with context 156264196,
        trying to lock with context 2.
(EE) fglrx(1): [DRI] Unlocking inconsistency:
        Context 156264196 trying to unlock lock held by context 2
(EE) fglrx(1): [DRI] Locking deadlock.
        Already locked with context 156264196,
        trying to lock with context 2.
(EE) fglrx(1): [DRI] Unlocking inconsistency:
        Context 156264196 trying to unlock lock held by context 2
(EE) fglrx(1): [DRI] Locking deadlock.
        Already locked with context 156264196,
        trying to lock with context 2.
(EE) fglrx(1): [DRI] Unlocking inconsistency:
        Context 156264196 trying to unlock lock held by context 2
(EE) fglrx(1): [DRI] Locking deadlock.
        Already locked with context 156264196,
        trying to lock with context 2.

Ikke bra. Forsøkte å oppgradere til nyeste versjon av fglrx-drivere, altså erstatte Hardy Heron sine med AMD/ATI sin proprietære versjon. Ingen endring. Bortsett fra et solid hopp i versjonsnummer )var det 8.2 til 8.47?). Problemet var åpenbart knyttet til DRI (glx/gart/drm/dri), så jeg gravde i ATI support sider, Ubuntu forum og i den uoffisielle ATI bugtrack'en ( http://ati.cchtml.com/ ). Resultatet var tillegget av følgende på ATI-driver-Device seksjonene mine:

        Option  "NoDRI"         "true"

Med resulterende fil: xorg.conf.final.txt

Obligatorisk skjermskudd

Etter det jeg forstår, er det obligatorisk med et skjermskudd. Så jeg laget et.