Portál AbcLinuxu, 9. května 2025 21:57

Dotaz: radeon driver - nefunkční double buffering

25.1.2008 17:21 janskyj | skóre: 11 | blog: linuxuv_blog
radeon driver - nefunkční double buffering
Přečteno: 418×
Odpovědět | Admin
Dobrý den, mam notebook IBM T42p s grafickou kartou FireGL Mobility T2 (je to R300). Používám debian stable s Xorg 7.3 z unstable (a pár dalších knihoven, proti kterým je to zkompilováno). Free radeon ovladač funguje s grafickou kartou docela dobře (je mi jedno, o kolik snímků to má ve hrách méně než na windows), ale problém s překreslováním snímků. V jednom okamžiku se na obrazovce objeví půla starého snímku a půlka nového, což při dynamickách scénách vytvoří "čáru" tak, kdy so objekt hnul. Myslel jsem, že je to způsobeno tím, že z nějakého důvodu nejede double buffering. Začal jsem proto googlit. Někde bylo psáné, že double buffering je jiný název pro page flipping. K tomu jsem již našel něco v man radeon:
Option "EnablePageFlip" "boolean" 
Když jsem to zapnul, tak se sice zvýšilá rychlost grafických operací, ale problému zobrazení dvou různých snímků najednou jsem se nezbavil.
Mohli byste mi něko poradit, co mám hledat nebo zkoušet dále? Pokud by se tento problém objevoval pouze ve 3D hrách, tak by mi to nevadilo, ale při použít dosboxu nebo flashe na celou obrazovku už je to dost rušivé.
Potencionálně zajímavé sekce z xorg.conf vypadají takto:
Section "Device"
        Identifier      "ATI Technologies Inc M10 NT [FireGL Mobility T2]"
        Driver          "radeon"
        Option          "Clone"
        Option          "EnablePageFlip" "on"
        Option          "DynamicClocks" "on"
EndSection

Section "Module"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "vbe"
EndSection
Děkuji
Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.1.2008 17:25 janskyj | skóre: 11 | blog: linuxuv_blog
Rozbalit Rozbalit vše Re: radeon driver - nefunkční double buffering
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě doplním, že flgrx ovladač pro tuto kartu nefunguje vůbec (alespoň v těch posledních dvou verzích, ve kterých je podporována). Problém je, že při spuštění aplikace se obraz "rozpadne" (je to popsáno zde) a AMD se vymlouvá na to, že mobile verze FireGL Mobility T2 není podporována.
Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)
25.1.2008 19:10 Voty
Rozbalit Rozbalit vše Re: radeon driver - nefunkční double buffering
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chapu dobre, ze se to deje pouze pri OpenGL, resp. 3D grafice?

Pak bych hledal spise neco kolem VSYNC a jak vynutit jeji zapnuti.
25.1.2008 19:29 janskyj | skóre: 11 | blog: linuxuv_blog
Rozbalit Rozbalit vše Re: radeon driver - nefunkční double buffering
No myslím, že to bude problém nejenom OpenGL, protože dosbox to asi na vykreslování obrazovky nepoužívá. Když jsem si zkoušel (2D) programování přes SDL, tak tam se dalo bud vykreslovat normálně, nebo přes doublebuffering, tak že se upravovala vidopamět a po aplikování všech změn se to funkcí flip() zobrazilo a znova upravilo a zobrazilo atd. Avšak pokud hardware ten doublebuffering nepodporoval, tak se přeplo do toho normálního režimu, kdy se prováděli změny na stejnou pamět, která se zobrazovala a díky to vypadalo tak, že se zobrazila scena, která ještě nebyla celá předělána (myslím).
Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)
28.1.2008 21:33 janskyj | skóre: 11 | blog: linuxuv_blog
Rozbalit Rozbalit vše Re: radeon driver - nefunkční double buffering
Pro radeon driver jsem vynuceni vsyncu nenasel :-( Kdyz to zadam do googlu, tak najdu jenom odkazy na nastaveni polarity singronizovacich impulzu pro CRT monitor. Pri pouziti fglrx driveru jsem neco takoveho jako vsync aktivoval pomoci aticonfig --sync-vsync=on, restartoval X, ale nic se nezmenilo.
Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)
elenril avatar 28.1.2008 21:40 elenril | skóre: 21 | blog: Raziel
Rozbalit Rozbalit vše Re: radeon driver - nefunkční double buffering
Zkus utilitu driconf, já jsem sice na Intelu, ale vypadá dost univerzalně, pokud je ten ovladač nějak slušný. Případně pro jednotlivé programy by to měla zařídit environment variable LIBGL_SYNC_REFRESH=1.
29.1.2008 10:11 janskyj | skóre: 11 | blog: linuxuv_blog
Rozbalit Rozbalit vše Re: radeon driver - nefunkční double buffering
Děkuji za radu. Už jsem zase o jeden prográmek chytřejší. Ale bohužel nastavení synchronizace touto untilitkou nevyřešilo muj problém. Pokdu jsem to správně pochopil, tak nastavení VSYNCu ma vliv pouze na GL aplikace. Nejsem si jist, ale dosbox podle mě nepoužívá na vykreslování openGL, ale i v něm, se tento problém objevuje.Třeba když spustím nějakou starou arkádu a pozadí se začne rolovat, tak se tetno problém, s poskládáním obrazu ze dvou různých snímků a patrného předělu, znovu projeví.
Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.