'AIW'-avainsanan arkisto

[Ratkaisu] Km-moduulin kääntäminen ei onnistu

Lähtökohta

Näytönohjaimeni on Connect 3D:n valmistama, AGP-väylässä kiinni oleva Radeon 9600 -piirisarjalla varustettu All In Wonder. Kaappausta varten All In Wonder -näytönohjaimille on olemassa GATOS-projektin tuottama km-moduuli, jota ei ole saatavilla pakettivarastoista.

Linux-ytimestä käytössäni on versio 2.6.22-14-generic.

Pakettienhallinnassa linux-headers-generic ja cvs on asennettuna.

Ongelma
Jos lataan km:n sen www-sivuilta ja yritän kääntää lähdekoodia, kääntäminen epäonnistuu. Lisäksi lähdekoodissa ei ole Radeon 9600 -piirisarjan tunnistamiseen tarvittavia tietoja.
Ongelman syy
Km:n lähdekoodi on niin vanhaa ettei se ole yhteensopiva Linux-ytimeni kanssa eikä siinä ole huomioitu Radeon 9600 -piirisarjaa.
Ratkaisu

Lataan km:n lähdekoodin uusimman version CVS-versionhallintajärjestelmän avulla ja korjaan lähdekoodin toimivaksi.

  1. Lataan km:n lähdekoodin uusimman version seuraavalla komennolla:

    cvs -z3 \
    -d:pserver:anonymous@gatos.cvs.sourceforge.net:/cvsroot/gatos \
    co -P km
  2. Lataan korjaavan paikkaustiedoston seuraavalla komennolla:

    wget http://mummila.net/vuorovaikutus/tiedostot/r9600-2_6_22.patch
  3. Sovellan paikkaustiedoston tiedot km:n lähdekoodiin seuraavalla komennolla:

    cd km && patch -p1 -i ../r9600-2_6_22.patch
  4. Nimeän 2.6-sarjan Linux-ytimelle sopivan Makefile-tiedoston niin että make-komento käyttää sitä:

     mv Makefile-2.6 Makefile
    

Kun tämän jälkeen käytän make-komentoa lähdekoodin kääntämiseen, sen suorittaminen onnistuu.

Huomautuksia

All In Wonder ja xawtv: grabbing: not supported [try -noxv switch?]

Lähtökohta

Näytönohjaimeni on Connect 3D:n valmistama, AGP-väylässä kiinni oleva Radeon 9600 -piirisarjalla varustettu All In Wonder. Olen valinnut näytönohjaimelle avoimen lähdekoodin ajurit käyttöön.

Olen kopioinut näyttökortin ajurilevyltä ativmc20.cod -nimisen mikrokooditiedoston /usr/lib/xorg/modules/multimedia/ -hakemistoon ja nimennyt sen rt2_pmem.bin -nimiseksi. Näytönohjaimen ajurit ja mikrokooditiedosto ladataan onnistuneesti X-ikkunointijärjestelmän käynnistymisen yhteydessä.

Pakettienhallinnassa xawtv on asennettuna.

Olen kytkenyt digitaalikamerani videoulostulon näytönohjaimen komposiittisisääntuloon ja käynnistänyt kameran, jolloin se alkaa välittömästi lähettää kuvasignaalia videoulostuloonsa. Olen käynnistänyt xawtv:n Päätteestä ja pystyn katselemaan komposiittisisääntuloon tulevaa kameran näkemää kuvaa xawtv:n ikkunasta.

Xawtv:n ikkuna on valittuna. Haluan tallentaa otoksen kameran näkemästä kuvasta, joten painan näppäimistöni g-näppäintä.

Ongelma

Kuva ei tallennu. Sen sijaan Päätteeseen tulostuu vain seuraavanlainen rivi:

grabbing: not supported [try -noxv switch?]
Ongelman syy
Xawtv käyttää komposiittisisääntuloon tulevan kuvasignaalin näyttämiseen Xvideo-laajennusta. Xvideo-laajennus ei tue kuvien kaappaamista.
Ratkaisu
Ei vielä tiedossa.

Huomautuksia
  • Xawtv:n käynnistäminen Päätteeseen tulostuneen ilmoituksen ehdottoman -noxv -valitsimen kanssa (ilman muita valitsimia) ei onnistu. Silloin xawtv antaa seuraavanlaisen virheilmoituksen:

    X Error of failed request:  XF86DGANoDirectVideoMode
      Major opcode of failed request:  136 (XFree86-DGA)
      Minor opcode of failed request:  1 (XF86DGAGetVideoLL)
      Serial number of failed request:  63
      Current serial number in output stream:  63
  • Mikäli annan xawtv:lle -noxv -valitsimen lisäksi -nodga -valitsimen, se käynnistyy, mutta silloin se ei näytä komposiittisisääntuloon tulevaa kuvaa. Xawtv kykenee ilmeisesti tarttumaan komposiittisisääntulon kuvaan ainoastaan Xvideo-laajennuksen avulla, eikä -noxv -valitsinta käytettäessä siksi päästä kuvaan lainkaan käsiksi, jolloin sitä ei myöskään pystytä tallentamaan.
  • Ruutukaappauksen ottaminen xawtv:n ikkunasta (Alt + Print Screen) ei toimi, eikä koko työpöydästä otettuun ruutukaappaukseen (Print Screen) sisältyvän xawtv:n ikkuna sisällä sen näytöllä sisältämää kuvaa.

[Ratkaisu] No matching Device section for instance (BusID PCI:3:0:1) found

Lähtökohta

Näytönohjaimeni on Connect 3D:n valmistama, AGP-väylässä kiinni oleva Radeon 9600 -piirisarjalla varustettu All In Wonder, jossa on kaksi VGA-ulostuloa. Olen kytkenyt ainoan käytössä olevan näyttöni ensisijaiseen VGA-ulostuloon. Olen valinnut näytönohjaimelle avoimen lähdekoodin ajurit käyttöön, ja ikkunointijärjestelmä ja työpöytä toimivat niiden kanssa hyvin.

Ongelma

Ikkunointijärjestelmän lokiin kirjautuu sen käynnistyksen yhteydessä seuraavanlainen varoitus:

(WW) RADEON: No matching Device section for instance (BusID PCI:3:0:1) found

Vaikka ikkunointijärjestelmä tuntuukin toimivan, virheilmoitus saa minut pohtimaan, olisiko sen asetustiedossa tehtävissä jotain sellaista, jonka jälkeen varoitusta ei enää tulisi.

Ratkaisu
Varsinkin Radeon-piirisarjalla varustetuille, useampia ulostuloja tarjoaville näytönohjaimille on tyypillistä, että ne näkyvät laitetasolla järjestelmälle kahtena eri laitteena. Toinen laite on kuitenkin täysin näennäinen ja se on läsnä vain, koska jotkin käyttöjärjestelmät tarvitsevat sen, jotta ensisijaisen lisäksi muutkin ulostulot toimisivat. X.org-ikkunointijärjestelmää käytettäessä varoituksen voi jättää täysin huoleti huomiotta.
Huomautuksia
  • Toisesta laitteesta saa sen näennäisyydestä huolimatta lisätietoja lspci-komennolla. Tiedot ovat melkein samat kuin silloin, kun lspci kohdistetaan lukemaan ensimmäistä näytönohjainlaitetta.
  • Lisäsin kokeeksi ylimääräisen Device-lohkon /etc/X11/xorg.conf -tiedostoon. Määrittelin laitteen portin varoituksessa annetun mukaisesti ja asetin sen käyttämään samaa avoimen lähdekoodin ajuria kuin mitä varsinainen näytönohjainlaitekin käyttää. Sama varoitus kirjattiin kuitenkin lokiin käynnistyksen yhteydessä sen jälkeenkin.