2.3. Karty graficzne

Są właściwie dwa rodzaje kart graficznych. Te nowsze mają obsługę sprzętowego skalowania i akceleracji YUV, te drugie nie.

2.3.1. Karty YUV

Wyświetlają i skalują (zoom) obraz do jakiegokolwiek rozmiaru mieszczącego się w ich pamięci, z małym zużyciem mocy CPU (nawet przy zoomie), dlatego też tryb pełnego ekranu jest miły i bardzo szybki.

  • Karty Matrox G200/G400/G450/G550: mimo, że dostępny jest sterownik Vidix, zalecane jest używanie modułu mga_vid zamiast niego, ponieważ działa znacznie lepiej. W rozdziale mga_vid znajdziesz informacje o sposobie jego instalacji i użycia. Ważne jest wykonanie tych kroków przed kompilacją MPlayera, w przeciwnym wypadku obsługa mga_vid nie zostanie wkompilowana. Sprawdź również rozdział Matrox TV-out. Jeżeli nie korzystasz z Linuksa, jedyną możliwością jest dla Ciebie sterownik VIDIX: przeczytaj rozdział VIDIX.

  • Karty 3Dfx Voodoo3/Banshee: przeczytaj rozdział poświęcony tdfxfb, żeby dowiedzieć się, jak uzyskać znaczy wzrost prędkości. Ważne jest, abyś wykonał te kroki przed kompilacją MPlayera, w przeciwnym wypadku obsługa 3Dfx nie będzie wkompilowana. Przeczytaj również rozdział 3dfx TV-out. Jeżeli korzystasz z Xów, używaj przynajmniej wersji 4.2.0, ponieważ sterownik Xv dla 3dfx był uszkodzony w wersji 4.1.0 i wcześniejszych.

  • Karty ATI: sterownik VIDIX obsługuje następujące karty: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Przeczytaj również rozdział karty ATI dokumentacji wyjścia TV, aby dowiedzieć się czy wyjście TV Twojej karty jest obsługiwane przez Linuksa/MPlayera.

  • Karty S3: układy graficzne Savage i Virge/DX mają sprzętową akcelerację. Używaj jak najnowszej wersji XFree86, starsze sterowniki mają liczne błędy. Układy Savage mają problemy z obrazem YV12, więcej szczegółów znajdziesz w rozdziale S3 Xv. Starsze karty Trio nie obsługują w ogóle lub mają wolną akcelerację sprzętową.

  • Karty nVidia: mogą lub nie mogą być dobrym wyborem do odtwarzania filmów. Jeżeli nie masz karty GeForce2 (lub nowszej), nie spodziewaj się bezproblemowego działania. Wbudowany w XFree86 sterownik nVidia nie obsługuje sprzętowej akceleracji YUV na żadnej z kart. Musisz pobrać zamknięte sterowniki nVidia z nVidia.com. Przeczytaj rozdział sterowniki nVidia Xv, a dowiesz się więcej. Sprawdź również rozdział nVidia TV-out, jeśli chcesz używać TV.

  • 3DLabs GLINT R3 and Permedia3: dostępny jest sterownik VIDIX (pm3_vid). Dla uzyskanie bardziej szczegółowych informacji przeczytaj rozdział VIDIX.

  • Inne karty: żadna z powyższych?

    • Sprawdź, czy sterownik XFree86 (i Twoja karta) obsługują sprzętową akcelerację. Przeczytaj rozdział Xv, a znajdziesz więcej informacji.
    • Jeżeli nie, oznacza to, że możliwości Twojej karty nie są obsługiwane przez Twój system operacyjny :( Jeżeli sprzętowe skalowanie działa pod Windowsem, nie oznacza to, że będzie działało pod Linuksem lub gdzie indziej, zależy to od sterowników. Większość producentów, ani nie tworzy sterowników dla Linuksa, ani nie publikuje specyfikacji swoich układów graficznych - więc masz pecha, jeśli używasz ich kart. Przeczytaj Karty nieobsługujące YUV.

2.3.2. Karty nieobsługujące YUV

Odtwarzanie pełnoekranowe może być uzyskane przez programowe skalowanie (użyj opcji -zoom lub -vf, ale ostrzegam Cię: to jest wolne) lub przełączenie na niższą rozdzielczość, na przykład 352x288. Jeżeli nie masz akceleracji YUV, ta druga metoda jest zalecana. Przełączanie między trybami video umożliwia opcja -vm i działa ona z następującymi sterownikami:

  • używasz XFree86: sprawdź szczegóły w rozdziale sterownik DGA i sterownik X11. DGA jest zalecany! Spróbuj również DGA przez SDL, czasami jest to lepsze rozwiązanie.
  • nie używasz XFree86: spróbuj użyć któregoś z niżej wymienionych sterowników w podanej kolejności: vesa, fbdev, svgalib, aalib.

2.3.3. Karty Cirrus-Logic

  • GD 7548: zintegrowana z płytą główną i przetestowana na serii notebooków Compaq Armada 41xx.

    • XFree86 3: działa w trybach 8/16bpp. Jednak dla 800x600@16bpp sterownik jest bardzo wolny i nie działa prawidłowo. Zalecane: 640x480@16bpp
    • XFree86 4: Xserver przestaje odpowiadać krótko po starcie, chyba że akceleracja jest wyłączona, jednak wszystko działa wolniej niż na XFree86 3. Brak obsługi XVideo.
    • FBdev: framebuffer może być włączony poprzez sterownik clgenfb znajdujący się w jądrze, jednak u mnie działał tylko w 8bpp, a więc jest bezużyteczny. Źródło clgenfb musi być rozszerzone o ID 7548 przed kompilacją.
    • VESA: karta spełnia tylko standard VBE 1.2, więc nie możesz użyć wyjścia VESA. Nie możesz zastosować obejścia przez UniVBE.
    • SVGAlib: wykrywa starszy układ Cirrusa. Działa, chociaż jest wolny z -bpp 8.