Xinerama a 3D akcelerace

Po delší době jsem našel redukci DVI-VGA ke sve graficke kartě, tak jsem se rozhodl že si zase užiju 2 monitorů naráz. Mám GK Radeon 9200, není to žádný 3D zázrak, ale na Quake3 a EnemyTerritory to stačí. Když jsem dřív používal Xineramu, tak jsem měl v XFree86.conf 2 profily, jeden pro Xineramu a druhý pro single head konfiguraci, která uměla 3D akceleraci. Dnes jsem po přečtení manuálové stránky k ovladači radeon zjistitl, že lze provozovat jakousi pseudo Xineramu s 3D akcelerací.

Funguji s jádrem 2.4.27 a Xorg 6.8.1 na Debianu, mám jednu grafickou kartu v AGP. Nastavení v xorg.conf je následující:

Section "Device"
    Identifier "ATI Graphics Adapter"
    Driver     "radeon"
    #Option     "NoDDC"
    Option "MonitorLayout"  "CRT, CRT"
    Option "CRT2HSync"      "30-110"
    Option "CRT2VRefresh"   "50-150"
    Option "CRT2Position"   "RightOf"
    Option "no_accel"       "no"
    Option "no_dri"         "no"
    Option "mtrr"           "off"
    Option "MergedFB"       "on"
    Option "MetaModes" "1280x1024-1280x1024"
    Option "OverlayOnCRT2"  "on"
    Option "MergedXineramaCRT2IsScreen0" "on"
EndSection

Jak vidíte, nastavení parametrů sekundárního monitoru je přímo u konfigurace ovladače GK. Při provozu dvou monitorů na Radeonu je jako primární brán monitor na DVI a sekundární na VGA konektoru. Oba monitory jedou v rozlišení 1280×1024. Sice jsem chtěl jet 1600×1200, ale to už není podporovaná 3D akcelerace. Ještě to chce do sekce Display přidat proměnou Virtual, která bude určovat velikost celého obrazu. Nikde v konfiguraci není třeba zapínat xineramu, to si ovladač radeon ošéfuje sám.

Zkoušel jsem spustit glxgears na každém monitoru a skutečně to funguje, oba používají 3D akceleraci. Pokud si spustíte nějakou fullscreen aplikaci jako je Quake, tak využije primární monitor a sekundární monitor na sobě udělá takové hnusné čmouhy. Po skončení hry ovšem normálně naběhne desktop.

Tento text jsem přetáhl z blogu na abclinuxu, kde jsem ho publikoval v březnu 2005.