Fedora 10 & ATI fglrx

Nestačím se tomu divit, ale napříč sdělení kdekoliv jinde je instalace fglrx v desítce nesmírně jednoduchá. Dokonce ani není zapotřebí tahat libdrm z devítky a nebo beta drivery z rpmfusion.

Sám jsem postupoval následovně (na platformě x86_64):

  • 1 - udělal jsem čistou instalaci F10 a zaktualizoval ji,

  • 2 - vstoupil jsem do init levelu 3,

  • 3 - stáhnul jsem ati-driverový instalátor (třeba odsud https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/64bit/ati-driver-installer-8-11-x86.x86_64.run)

  • 4 - instalátor jsem pustil a prošel jeho průvodcem (na konci to vždy padlo na nějaké paměťové operaci, ale to vem čert - v terminálu jsem poslepu napsal reset a jel jsem dál)

  • 5 - udělal jsem nějaký ten základní xorg.conf
    – vytvořil jsem prázdný soubor xorg.conf
    – pustil jsem aticonfig --initial
    – do xorg.conf jsem přidal obvyklé řádky jako:


Section "Extensions"
Option "Composite" "Enable"
EndSection

Section "ServerFlags"
Option "AIGLX" "on"
EndSection

Section "DRI"
Mode 0666
EndSection

a do sekce device


Option	    "OpenGLOverlay" "off"
Option	    "VideoOverlay" "on"

  • 6 - z parametrů kernelu (v grubu) jsem vyrazil rhgb a přidal jsem nopat a nomodeset (milovníci temného slunce mohou přidat třeba ještě vga=0x317)

  • 7 - do rc. local jsem přidal:


rmmod radeon
rmmod drm
sleep 2
mkdir /dev/dri
mknod /dev/dri/card0 c 226 0 -m 0666
modprobe fglrx

  • 8 - poopravil jsem umístění driverů (nutné jen na x86_64)

rm /usr/lib/dri/fglrx_dri.so
ln -s /usr/lib64/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so

reboot a ejhle - ono to jede :-))))



O pár příspěvků níže se objevil někdo přesvědčený o tom, že to na x86 (i386) nemůže běžet.

Takže jsem zkusil tento testík:

  • 1 - stáhnul jsem Fedoru10 Live-Gnome pro i386

  • 2 - nabootoval jsem z ní s následující úpravou parametrů jádra:
    ------- vyrazil jsem rhgb
    ------- přidal jsem nopat nomodeset 3

  • 3 - přihlásil jsem se jako root a přesvědčil jsem se pro jistotu o major a minor číslech dri zařízení


ls -l /dev/dri

(Jsou to ty dvě čísla oddělené čárkou za root root)

  • 4 - vyrazil jsem drivery radeon a drm a udělal jsem ručně uzel zařízení

rmmod radeon
rmmod drm
mkdir /dev/dri
mknod /dev/dri/card0 c 226 0 -m 0666

(Pokud by krok 3 postupu zahlásil jiná čísla zařízení nebo jiný jeho název, bylo by vhodné to dodržet.)

  • 5 - pomohl jsem si stažením mc a wget a stáhnul jsem vše potřebné pro vytvoření ati driveru

yum install -y mc wget
yum install -y gcc make kernel-headers kernel-devel

  • 6 - wgetem jsem stáhnul instalátor ati driveru a spustil jsem ho

wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8-11-x86.x86_64.run
sh ati-driver-installer-8-11-x86.x86_64.run

  • 7 - udělal jsem xorg.conf
    ------- konkrétně jsem si pro něj sáhnul na harddisk jeho přimountováním
    ------- ale pokud to chce mít někdo jednodušší, ať si pro něj sáhne ke mně

cd /etc/X11
wget http://www2.dts-soft.cz/_fedora/fglrx-test/xorg.conf

(V mém xorgu vycházím z předpokladu že grafika je na PCI:1:0:0. Pokud ji máte jinde, je nutné změnit!!!)

  • 8 - zavedl jsem fglrx a pustil X-ka

modprobe fglrx
startx

Tak a je to. Pro jistotu jsem postup napodruhé ověřil. Už stačilo jen zapnout efekty desktopu. Okénka se hezky vlní a vše běží jak má. :-))))



Zdá se, že pokud není v ovladačích od ATI nějaký vážný bug ve vztahu k různým jiným grafickým kartám (o čemž bych měl pochyby), tak jediný zásadní problém je v libdrm a to pouze v tom, že je sestavena s parametrem --enable-udev (viz níže). Takže pokud se vám někomu bude chtít, zkuste prosím v angličtině (jejíž znalosti u mne pořád jsou jen pasivní) přispět na bugzillu rpmfusion infem.

Tak jsem provedl první úpravu v postupu. Konkrétně to vytvoření uzlu zařízení v rc.local. Odstranění modulů radeon a drm zlikviduje uzel zařízení /dev/dri/card0 a tak se prostě musí vytvořit. Vůbec netuším jak je možné že to i bez toho přežilo restart.

Teď ještě, pokud by v tom chtěl někdo více bádat, proč vlastně v původních postupech na netu bylo zapotřebí downgradeovat knihovnu libdrm.
Při přechodu ze sestavení 16 (libdrm-2.4.0-0.16.fc10.src.rpm) na sestavení 17 (libdrm-2.4.0-0.17.fc10.src.rpm) byla do konfigurace drm přidána volba --enable-udev. Ta způsobuje, že uzel zařízení není vytvořen mknodem, ale spoléhá se na to, že ho vytvoří udev. Do sestavení 17 byla tahle věc přidána, jelikož ji někdo “stabilizoval” tím, že udělal hnusný patch, který ve smyčce na padesát pokusů po dvaceti milisekundách čeká zda se podaří vytvořit uzel zařízení. A to se daří s radeon driverem, ale ne s fglrx.

Takže možnosti mně připadnou následující:

  • vytvořit ten nod ručně - tak jsem postupoval (viz to přidání do rc.local)
  • překompilovat libdrm bez volby --enable-udev (funguje bez problému)
  • přinutit udev aby vytvořil uzel zařízení

A co mas za grafiku? Me to teda delalo na HD2400 s obrazem hrozny veci - tedy nezkousel jsem tvuj postup, mohlo to byt absenci tech nastaveni v xorg.conf.

MMCH: v f10 je vic pluginu nez jen to podivny slunce a nektere jsou teda podle me hezci. :slight_smile:

Já mám na noťasu VGA compatible controller: ATI Technologies Inc Mobility Radeon X2300.

Zkus pro rychlost třeba tuhle věc:
nabootovat s parametrem nopat a nomodeset
init 3
rmmod radeon
rmmod drm
rpm -Uvh --oldpackage --nodeps http://www2.dts-soft.cz/_fedora/libdrm-2.4.0-0.22.fc10.x86_64.rpm … (to je to sestavení bez --enable-udev)
wget [driver_ati]
sh [driver_ati]
rm /usr/lib/dri/fglrx_dri.so
ln -s /usr/lib64/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so
modprobe fglrx
rozumně nastavit xorg.conf
startx

“Tak jsem provedl první úpravu v postupu. Konkrétně to vytvoření uzlu zařízení v rc.local. Odstranění modulů radeon a drm zlikviduje uzel zařízení /dev/dri/card0 a tak se prostě musí vytvořit. Vůbec netuším jak je možné že to i bez toho přežilo restart.”

Prosim muzes to napsat tak, abych i ja pochopil co ze se ode me vlaste chce?

(Tvuj postup jsi zkousel na jen na x86-64 co ? ja ted projizdel naky nemecky forum a na x86-64 to rozjelo vic lidi, ale na 32bit nikdo.)

No uz se mi povedlo to rozkopat tak, ze jsem zvolil nelehci reseni - reinstal a dalsi reinstal uz bych as neprezil, tak dokud to nekdo nevyzkousi na 32 bit, tak do toho nejdu, tak pokud se nekomu povede, npiste, diky.

Tak jsem se během posledních dvou hodin důkladně přesvědčil, že to zcela bez problémů běží i na i386. Test popsán v úvodní zprávě.

2 Redmarx: Reinstalovat celý systém jen kvůli tomu, že vám nejely X-ka, bylo zhola zbytečné. Ale alespoň jste si zopakoval nácvik instalace. :slight_smile: Zkuste si ale raději nejprve ten postup s livecd.

“alespoň jste si” - doufam, ze nevadi, ze ti tykam a ocekavam totez. :slight_smile:

Udelal jsem vse podle navodu.

Vysledek je ze obraz nabehne a dokonce nastavim v system-volby-hardware-rozliseni obrazovky 1024x768 100Hz, coz jsem chtel docilit.
Ale 3D nebezi - Extreme TuxRacer se vubec nespusti.

[root@MojePC redmarx]# fglrxinfo
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 143 (GLX)
Minor opcode of failed request: 19 (X_GLXQueryServerString)
Serial number of failed request: 10
Current serial number in output stream: 10
[root@MojePC redmarx]# glxinfo | grep direct
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 143 (GLX)
Minor opcode of failed request: 19 (X_GLXQueryServerString)
Serial number of failed request: 10
Current serial number in output stream: 10

po restartu systemu napise:
Could not stabilization, waiting 10 second…
to predtim nedelalo, ale po te normalne nabehne.

Catalyst control center:
[root@MojePC redmarx]# amdcccle
Session management error: None of the authentication protocols specified are supported
X Error: BadRequest (invalid request code or no such operation) 1
Extension: 143 (Uknown extension)
Minor opcode: 19 (Unknown request)
Resource id: 0x17
amdcccle: xcb_io.c:461: _XRead: Předpoklad „dpy->xcb->reply_data != 0“ nesplněn.
Neúspěšně ukončen (SIGABRT)

Zkus prosím přesně krok po kroku ten postup s live cd. Základem musí být to, že bude pryč driver radeon a drm (nenajdeš je ve výpisu lsmod) a bude vytvořeno zařízení /dev/dri/Card0.

Výstupy typu “X Error of failed request: BadRequest (invalid request code or no such operation)” jsem právě viděl když nebylo vytvořeno správně zařízení /dev/dri/Card0 a nebo když ho blokoval driver radeon.

A nebo, pokud se k tobě dostanu “zvenku” přes ssh, mohli bychom to zkusit nastavit na dálku. Samotného by mne zajímalo zda mám jen štěstí na kartu která coby jedna z mála běží a nebo zda někde děláš chybku v postupu.

Zkusim to s tim live CD, ale musim ho nejdriv stahnout, tak se asi ke zkousce dostanu az v pondeli vecer, zitra jsem v praci.
dam vedet.

tak me neco napadlo, tak jsem zase zapnul PC, prestoze uz jsem dneska nechtel a situace je tedy takovato.
Vsechno jse odinstaloval, abych to dostal do puvodniho stavu.
Potom jsem presne krok za krokem provedl tvuj navod.
OK
Nebudu rozepisovat parametry fglrxinfo a glxinfo | grep direct, ale vypsaly co maji vypsat a 3D bezelo.
Ale pozor.
Potom nasledoval restart systemu (jenom upozornuju, ze parametry bootu mam zmeneny v grubu, tak jak popisujes) a po restartu parametry glrxinfo a glxinfo | grep direct vypisujou BadRequest a 3D samozrejme nebezi, takze nekde je nejaky hacek a je jasne, ze tobe to na live CD chodilo.

P.S. Proc pokud smazu v bootu rhgb a přidam nopat nomodeset 3, tak mi to po odentrovani bootu vypise:
Could not detect stabilization, waiting 10 second…

Tak už zkrátka jen zbývá zapřemýšlet co se děje špatného nebo jiného než má po restartu. Podle mne, pokud jsi postupoval podle toho návodu pro Live CD, tak už zbývá jen někam (nejlépe do rc.local) zadat co se má provést po každém dalším restartu. Takže natvrdo upravit parametry grubu a zadat tu patřičnou věc do rc.local (viz ten původní návod pro x86_64).

Ta hláška co ji píšeš s tím nesouvisí. Ta má něco společného s detekcí disků. Už jsem k tomu viděl někde na netu diskuzi. Zkus tu hlášku dát do googlu. Dozvíš se více.

njn, na ten rc.local jsem nejak zapomnel.

Tak na mym Radeonu X850 3D taky beha, moc dik.

Tak bohuzel, vcera jsem nemel moc casu, takze jsem jenom odzkousel vypisy fglrxinfo a glxinfo | grep direct, ktere jsou OK.
Dnes jsem odzkousel efekty desktopu take OK.

Bohuzel Extreme TuxRacer (zatim jinou 3D hru nemam stazenou) 2-4 FPS. Takze zda se ze to nebezi. V dualu mam Mandrivu 2009 a tam udelam u tyhle hry pres 20 FPS, to take neni mnoho ale preci jenom.

(Muj problem to neni, ja chtel dostat do Fedory na monitor 100Hz, coz mi bez ovladace fglrx neslo a ty efekty desktopu se take hodi, na hry mam Windows, ale asi to bude zklamani pro dalsi majitele ATI karet, kteri 3D chteji kvuli hram.)

JX: Jak je to u tebe? Zkousel si nejake 3D (nejlepe TuxRacera) ?

Tak TuxRacer “dá” podle náročnosti scény 40-60fps na 1280x800 s X2300. Zkus z grubu vyrazit ten parametr nopat. Pokud to vůbec nabootuje do grafického režimu, mohlo by to být rychlejší.

Tak jsem se konecne po tydnu dostal doma k PC a hned to zapnu, abych vyzkousel GK a najednou koukam, ze mam na monitoru tmu, takze jsem restartoval a zjistil jsem, ze se zaktualizovalo jadro a X-ka odmitaji nabehnout, tak jsem stahl ze stranek ATI novy ovladac na ATI Radeon, ktery pred par dny vydali, nainstaloval jsem, resetnul a 3D bezi vcetne Tuxe - dam cca. 70 FPS. Takze snad uz ATI na nove Fedore poslape dobre i s 3D.

JJ. Po aktualizaci jádra nebo xorg-serveru budeš muset znovu přeložit ovladač. Nejsnadněji, přesně jak jsi udělal, znovuspuštěním instalátoru.

Mám problém:
glxinfo píše že mám Direct rendering.
Ale amdcccle (v kontrol panelu) píše: Vykreslování OpenGL - Mesa GLX Indirect.
A glxgear udává cca 75 FPS. … to se mi zdá málo.
A když zapnu kostku (Compiz Fusion…) - přehrávaná videa problikávají.

Mám korektně instalované ovladače či ne?

Konfigurace:
F10, Phenom 3jádra, 4GB RAM, deska MSI KA790GX s integrovaným Radeonem HD 3300 se sdílenou pamětí. ATI ovladač - ati-driver-installer-8-12-x86.x86_64.run.


$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3300 Graphics
OpenGL version string: 2.1.8304 Release

$ glxinfo | grep direct
direct rendering: Yes

Budu rád za jakoukoliv radu.
(Návod jsem zkusil a až na tyto problémy v pohodě)

Tak omezení 75FPS v glxgear a fgl_glxgears bylo zapnutou synchronizací.
Výkon je však stále neodpovídající (cca 2500 glxgear a cca 650 fgl_glxgears).
Control center (amdcccle) stále píše " Mesa GLX Indirect".

glxinfo | grep -i render

direct rendering: Yes
OpenGL renderer string: ATI Radeon HD 3300 Graphics

Čemu mám věřit ?? (výpisu z řádky nebo info panelu od ATIny)

Jen pro informaci, v repozitarich uz je normalne fglrx a zda se ze funkcni.

Zdar,
tak se pokouším rozběhnout akceleraci na mém notasovi mim F10 64b, amd turion 64, a integrovanou grafiku radeon X1100

postupoval sem dle návodu, ale když se chci dostat z X do příkazový řádky ctrl+alt+F1 tak se mi objeví jen černá obrazovka, to samé když v příkazové řádce v X dám init 3

kde by mohl bejt problém díkes