Video-ohjelmiston (omatekoinen) debuggaus, miten ?

Anonyymi

Joskus (useita vuosia sitten) yritin debugata itse tekemääni video-ohjelmistoa.

Yritykseksi jäi!

Miksikö?

Siksi, että koneen näytönohjaimen ajurissa on debuggausesto, ja vaikka se (ainakin virallisesti) on ilmeisesti tarkoitettu suojelemaan näytönohjainvalmistajan liikesalaisuuksia, niin huonosti toteutettuna se esti myös oman ohjelmani debuggauksen !

Sikäli olen yllättynyt, että oma ohjelmani oli sinänsä aivan normaali windows -ohjelma (eli toimii ns. UserLand -tilassa).

Näytönohjaimen ajurit taas käsittääkseni toimivat ns. "Kernel -tilassa" koska niissä on esim. keskeytyskäsittelijäaliohjelmia.

Järkevästi toteutettuna tuollaisen debuggauseston siis pitäisi estää ainoastaan "Kernel -tilassa" toimivien ohjelmaosien debuggaus, ja jos mahdollista, siitäkin eston piirissä pitäisi olla vain itse näytönohjaimen ajurikoodin debuggaus, eli muuta osaa kernel -koodista voi silti debugata, ja ns. UserLand -tilassa toimiva koodi pitäisi kaikki olla debugattavissa rajoituksetta.

Mutta minkäs teet, kun näytönohjaimen (ajurin) valmistaja toteuttaa debuggausestonsa niin, että se estää myös UserLand -tilassa toimivan koodin debuggauksen, jos koodi sisältää liikkuvan videokuvan tulostamista näytölle.

Eli:

Miten omatekoista video-ohjelmistoa voisi debugata ilman, että näytönohjaimen (ajurin) valmistajan debuggausesto estää debuggaamisen ?

Jos asia on niin ikävästi, että joillain näytönohjaimilla ja niiden joillain ajureilla vastaus on "ei mitenkään", niin saako jostain:

a) optimoimattomia ajureita samalle näytönohjaimelle (sillä jos oikein ymmärrän, niin juuri ne optimoinnit on niitä asioita, joita valmistajat pitävät liikesalaisuutena, ja siksi harrastavat moisia debuggausestoja).

TAI

b) sellaisen näytönohjaimen, jossa ei käytetä mitään niin edistyksellistä teknologiaa, että sitä pitäisi tuollaisella debuggausestolla suojella.

Vinkkejä siis joko näytönohjaimen ja/tai sen ajurin valintaan, jos haluaa moisista debuggausestoista eroon ?

Onko Windowsille saatavana yhtään ns. avoimen lähdekoodin näytönohjainajuria ?

Ehkäpä tuollaisesta saisi version ilman debuggausestoa ?

Taustatietoa:

Samalla tietokoneella (jossa dualbuuttausmahdollisuus, eli virran kytkemisen jälkeen saa valita, käynnistyykö windows vai linux), niin windowsissa CPU -kuormitus pysyy alhaalla ja kone viileänä myös pitkän (eli yli tunnin mittaisen) videotiedoston aikana, mutta linuxilla videota toistettaessa CPU -kuorma on yli 90% koko ajan videota toistettaessa, ja prosessori käy kuumana.

Ilmeisesti windows -näytönohjaimen ajureissa on juurikin joitakin optimointeja, joiden ansiosta videon katseluun riittää vähäisempikin CPU -kuormitus, kun taas avoimen lähdekoodin linux -ajureissa ei moisia optimointeja ole, kun näytönohjaimen valmistaja kieltäytyy antamasta avoimen lähdekoodin koodareille teknisiä tietoja siitä, miten näytönohjaimen laitteistopuolella ovat optimointimahdollisuudet saadaan parhaiten käyttöön (eli linuxissa niitä ei saada käyttöön ollenkaan).

Tuo debuggausesto siis vaikuttaa windowsissa, toki JOS laitevalmistaja jakaa linuxiin suljetun lähdekoodin optimointejasisältäviä ajureita, niin sitten niissä voi olla sama ongelma kuin windowsissakin, eli tahallaan tehty debuggausesto.

Esto siis estää (aiheettomasti) myös UserLand -tilassa ajettavan ohjelmiston debuggaamisen !

1

130

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Siis ei täällä ole ilmeisesti yhtään sen tason osaajaa, että tästä asiasta jotain tietäisi.

      t: ketjun aloittaja.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      236
      4590
    2. Kuka rääkkää eläimiä Puolangalla?

      Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii
      Puolanka
      76
      3025
    3. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      47
      2463
    4. Meneeköhän sulla

      oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua
      Ikävä
      45
      1767
    5. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      21
      1501
    6. Koska näit kaivattusi viimeksi

      Milloin tapasit rakkaasi? Ja etenikö suhde yhtään?
      Ikävä
      78
      1439
    7. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      85
      1275
    8. PS uusimman gallupin rakettimainen nousija

      https://yle.fi/a/74-20170641 Aivan ylivoimaisesti suurin kannatuksen nousu PS:lle. Nousu on alkanut ja jatkuu 2 vuoden
      Maailman menoa
      143
      965
    9. Tekiskö nainen mieli tavata...

      Viikonloppuna ja...?
      Ikävä
      69
      938
    10. Sellainen tunne sydämessä

      Että nainen olet kaivannut minua. Tai sanonko että oikeastaan koet sitä samaa nostalgiaa, kaipuuta ja mukavia muistoja,
      Ikävä
      86
      894
    Aihe