Mostrando las entradas con la etiqueta fglrx. Mostrar todas las entradas
Mostrando las entradas con la etiqueta fglrx. Mostrar todas las entradas

lunes, 15 de enero de 2007

Guía para solucionar (provisionalmente) el problema con la tarjeta de TV terminator y el driver fglrx de ATI

Saludos esta es una guía que me paso mi amigo Cartman, espero les sirva.

El driver de ati no es precisamente una implementación limpia, tiene muchísimos bugs y problemas:

Tienta el Kernel al ser propietario.
Conflictos con el GART interno.
gravísimos problemas con las extensiones del overlay: XV putvideo y XV putimage (por lo cual se bloquea tv time y kdetv).

Entre otros muchos.

La tarjeta Vstream studio TV terminator y el driver v4l2 y el módulo saa7134 funcionan a la perfección con el driver xorg, solamente con:

modprobe saa7134 card=65 tuner=54

Como ya muchos lo han comprobado, se puede abrir tv-time, o kdetv o motv o xawtv, en fin; y no hay problemas, se colocan los filtros de desentrelazado en el video overlay y se obtiene una imagen muy buena.

Pero una vez se instala el fglrx, empiezan los problemas, se abre tv time y este se cierra indicando un problema de unresolved symbol agp lock, con kdetv es mucho peor, se bloquea X y luego al reiniciarlo forzado (ctrl+alt+backspace) se bloquea por completo el equipo).

He encontrado una solución pass through para este problema, consiste en usar el dispositivo frame buffer (/dev/fb0) en vez de las extensiones overlay del fglrx, mediante los siguientes pasos sencillos:

Al grano:

Programas necesarios:
xawtv motv tv-common

En distribuciones como Fedora, Mandriva y Suse, vienen en el CD, para los usuarios de Ubuntu y Debian pueden usar Aptitude, apt get o synaptic.

1.Cerramos la sesión ya sea en KDE o GNOME o FmWM o en el escritorio que nos encontremos y salimos a la pantalla de login.
2.en la pantalla de Login usamos (ctrl+alt+F1) para pasar a la consola virtual 1.
3.Nos logueamos como Root y nos pasamos a init 3 en la consola.
4.Ahora probamos si el dispositivo fb funciona, digitando

fbtv -s 640X480

(hasta aca asumiendo que la tarjeta de TV ya tiene cargado el módulo SAA7134 y que se encuentran registrados los dispositivos como /dev/video0 y /dev/vbi0, además del /dev/fb0)

De otro modo si son dispositivos diferentes, por ejemplo video 1 y vbi1:
fbtv -s 640X480 -c /dev/video1 -d /dev/fb1

Esperamos y.... tenemos TV en la consola de linux, lo que indica que nuestro dispositivo fb0 está correctamente registrado.

5. Ya que funciona, nos regresamos al runtime 5 por medio de init 5 en la consola, y cerramos la sesión de root con logout.

6. Volvemos al gestor de acceso gráfico con ctrl+alt+f7 y entramos a nuestra sesión.

7. Probamos con motv deshabilitando las extensiones del Xvideo y el dga ahora para ver si nos da imagen sin que se bloquee la pantalla:

motv -noxv -nodga -fb

Si el programa inicia, no se ve imagen, pero se escucha el sonido, solo hay que cambiar las siguientes opciones en el menú:

options->capture->grabdisplay (o none también funciona)

También cuadramos la norma de la señal, en mi caso, en COLOMBIA es NTSC.

options->TV norm->NTSC

Luego cuadramos la entrada de la tarjeta a televisión o Svideo o composite, dependiendo de nuestras necesidades:

options->Input->television

Un paso importantisimo es cuadrar las frecuencias de barrido para detectar los canales, en mi caso se supone que la de argentina funciona bien, pero al cambiar de proveedor de cable me vi obligado a probar con US CABLE y solo así encontró canales, entonces para cuadrar esto:

options->frequency table->UScable

Una vez hecho esto podemos empezar a escanear por canales en:

options->Channel Scan

y esperamos a ver y.... tenemos TV en Linux con los infames drivers fglrx, aún con imagen un poco deficiente, pero eso lo cuadraremos a continuación una vez terminado el barrido de frecuencias.

Seleccionamos la opción filter y cuadramos el filtro que mejor nos parezca:

filter->linear double deinterlace

El filtro de desentralazado lineal doble o el de desentrelazado bi lineal me dan muy buena calidad, y para la muestra un botón:

Sigo logrando mas de 5000 fps con glxgears y con la tv encendida:


Espero les funcione como a mi , por que contacte con ATI y la respuesta fue que tenía que esperar a las 2 siguientes versiones del driver, es decir casi 6 meses, ya que dicen que tienen muchísmos bugs por arreglar (memory leaks, null pointersy demás basura).

No siendo mas

Cartman

lunes, 8 de enero de 2007

Instrucciones e Instalación para drivers ATI (fglrx) bajo SuSE 10.2

Esta es una guía desarrollada por un amigo de la Universidad, que también le esta trabajando al opensource fuertemente. El esta trabajando principalmente en suse y pues yo en ubuntu. Sin mas preámbulos aquí les publico lo que el hizo para todo aquel que le pueda servir:

"Poseo un sistema MSI K8Neo 3 con chipset Nvidia Nforce 3 (duh), con un procesador AMD Sempron 3000, 512 MB DDR pc 3200, 2 HD de 20 y 40 GB ( Que pobre!) y una tarjeta de vídeo ATI X550 SAPHIRE PCI EXPRESS.

el procesador esta funcionando con DOT ( Dinamic Overclocking Technology) y funciona de peluches, sobre todo en aplicaciones 3d.

Software:

Open SuSE 10.2 con Kernel 2.6.18.2-34-default

Kde 3.5.5 release 45

Beryl 0.1.4


El siguiente conjunto de pasos pretende reunir los pasos correctos, de todas las otras guías, para instalar una tarjeta de vídeo ATI en Open SuSE 10,2.

1. Asegurarse se tener estos paquetes instalados, esta version o superior:

Fuentes del Kernel (Kernel Sources y los headers):

linux-kernel-headers-2.6.18.2-3
kernel-source-2.6.18.2-34

el compilador de GNU de C.(gcc)

gcc-4.1.3-29

Make y Auto-Make (Este último los de ATI dicen que no es necesario pero uno nunca sabe).

automake-1.9.6-35
make-3.81-23


Se puede averiguar si estos paquetes están instalados usando yast o simplemente ingresando las siguientes líneas en la consola no es necesario ser root):

rpm -qa| grep [fraccion del nombre del paquete]

en caso de no tenerlos instalados simplemente se usa yast con los CD, o usar yast con los repos, o bajar las fuentes, etc.

2. Si se encuentran los paquetes instalados, lo siguiente es descargar el .run con los drivers de la página de ati amd:

ati-driver-installer-8.32.5-x86.x86_64.run

Nota: En la página solo se indica que tiene soporte hasta el Xorg 7.1, pero en el readme del archivo corrigen y afirman el soporte para el Xorg de Open SuSE 10.2 es decir el 7.2, es decir no hay problema.

3. con el archivo descargado, lo siguiente es generar el paquete para la distribución, dependiendo de la arquitectura. haciendo lo siguiente en la consola:

nos ubicamos en el directorio donde se encuentra el archivo, en mi caso en home:

cd /home/gabriel

cambiamos los permisos del archivo para poder ejecutarlo sin contratiempos:

chmod -x ati ati-driver-installer-8.32.5-x86.x86_64.run

ahora le decimos al programa que genere el RPM para nuestro SuSE 10.2, como mencioné antes, dependiendo de la arquitectura:

Para las arquitecturas de 32 Bit( i.586 o i.686,etc)

./ati-driver-installer-8.32.5-x86.x86_64.run --buildpkg SuSE/SUSE102-IA32

O para las arquitecturas de 64 bit(AMD_64)(mi caso).

./ati-driver-installer-8.32.5-x86.x86_64.run --buildpkg SuSE/SUSE102-AMD64

Esperamos a que genere el archivo RPM que va a quedar de la siguiente forma:

fglrx_7_1_0_SUSE102-8.32.5-1.XXXX.rpm


4. El siguiente paso es instalar el paquete, bastante sencillo, siguiendo las siguientes instrucciones:

Nos logueamos como root usando su o simplemente mediante sudo y:

sudo rpm -ivh fglrx_7_1_0_SUSE102-8.32.5-1.XXXX.rpm

No hay que prestar atención a los mensajes arrojados, a menos que sea un error fatal explícito.


5. Listo el driver está instalado, más no configurado, esta parte es la más delicada de la guía, ya que dependiendo de la tarjeta y del monitor hay que hacer algunas cosillas.

El paso general es el siguiente:

Cerramos nuestra sesión y una vez en el gestor de acceso pulsamos conjuntamente:

Ctrl+Alt+(F1, F2 o F3) para saltar a otra consolas virtuales que no sea la séptima que es la que ocupa X.

nos logueamos como root.

nos pasamos de runtime 5 a runtime 3 para mayor seguridad:

init 3

nota: ni de broma vayan a usar aticonfig, ya que daña el xorg.conf generado por sax y nos quedamos sin video, por eso es mejor copiar el orginal con las siguientes líneas:

cp -b /etc/X11/xorg.conf /home/gabriel

Una vez en runtime 3 se configura X para que arranque la próxima vez no con el driver Radeon que viene con SuSE, sino que en vez de este cargue el perfil del driver recién instalado FGLRX, esto se hace mediante la herramienta SAX2:

sax2 -r -m 0=fglrx

De esta manera debería funcionar teóricamente, al cargar X con el driver y mostrar imagen, detectando el monitor, las frecuencias de refresco H y V, etc.

Si este fué el resultado entonces nos dirigimos dos puntos mas abajo, omitiendo los siguientes.

En caso de que no se presentara imagen y que sax retornara un error y nos regresara a la consola, entonces tenemos un problema ya sea con nuestra tarjeta (no soportada por que no se leyo el readme en supported cards) o con el DDC del monitor (Algunos monitores tienen frecuencias de refresco muy específicas o son muy antiguos o sax2 detecta mal las frecuencias provistas por la información del firmware del monitor), por esta razón hay que jugar con las opciones de sax2, no se me asusten:

sax2 -r -m -l 0=fglrx

En este caso l indica low resolution and basic freq update o baja resolución y frecuencias, esta parte me funcionó perfecto con mi AOC FT7X de 17”, ya que la opción normal me detectaba bien el monitor pero las frecuencias de refresco estaban muy elevadas y el monitor me informaba de inmediato.

una vez dentro nos da resolución de 800X600 a 32 bit a 60Hz, pero ya podemos probar con otras resoluciones y guardar la que mejor nos cuadre.

Esta última opción es para los usuarios de monitores realmente viejos, y que conocen muy bien los datos de su pantalla:

sax2 -r --vesa 0:1280X1024@64 -m 0=fglrx

Donde –vesa es la opción para refresco Vertical y los parámetros son 0 ( monitor 0), resolución: 1280X1024 y @64 refresco a 64 Hz.

También me dio muy buenos resultados puesto que con el anterior me dio imagen y resolución pero la tasa de refresco hacia parpadear una sección de la pantalla, estos datos los podemos sacar de windows, si esta instalado, o simplemente del manual del monitor.

Es engorroso el procedimiento pero con alguno de los pasos anteriores tiene que dar imagen.



6.Ahora a probar!

Antes que nada, algunas personas dicen que no pasa nada si se inicia el X de una vez usando init 5 o startx, pero yo he tenido algunos problemas, por lo cual recomiendo mejor una reiniciada:

reboot

o en su defecto

init 6

Bueno esta es la hora de la verdad, aquí se sabe si si tenemos o no aceleración 3D en SuSE 10,2, lo cual lo podemos verificar de muchas formas:

En consola por medio del siguiente comando:

fglrxinfo

el cual nos debe mostrar algo muy importante que es el nombre del fabriacante y el soporte de Open GL ( Open GL vendor String), en mi caso:

OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON X550 Generic
OpenGL version string: 1.2 (2.0.6234 (8.32.5))

Otra forma es mediante el comando:

glxinfo | grep direct

El cual nos muestra si X está trabajando con Renderizado directo o aceleración por HW, lo cual nos da un yes; o si está trabajando con renderizado indirecto, por software, mediante un no.

También puede ejecutarse solo el glxinfo y ya.

Otra forma es mediante el programa en la consola:

glxgears

que es un salvapantallas y muestra en la consola la cantidad de cuadros por segundo, en mi caso obtuve:

4550 cuadros por segundo, que contra los 3800 que se logran con directx en windows(driver catalyst), es muy bueno.


Finalmente podemos probar instalando los juegos que usan opengl o cualquier otra aplicación que use las extensiones open gl:

Torcs. (Bueno)
Tux Racer.
Cedega, WineX (Commandos 2 y Warcraft 3)
Doom III.
Quake Arena.
VariCAD
Salome.
Etc.


7.para quitarlo:

para los que les sirvió y van a actualizar:

!No se debe quitar con yast2 de inmediato!, se debe seguir el siguiente proceso:

para los que sacamos copia del archivo xorg.conf, simplemente sobreescribimos el actual con el que se habia copiado

cp -f /home/gabriel/xorg.conf /etc/X11/

Si no, simplemente volvemos a la configuración por defecto:

nos salimos al gestor de acceso.
init 3
sax2 -r -m 0=radeon


Reiniciamos con reboot o init 6.
Entramos a cualquier terminal (konsole, gnome, etc) y borramos el paquete:

rpm -e fglrx_7_1_0_SUSE102-8.32.5-1

o simplemente lo quitamos por yast.

Así evitamos dañar el sistema al quitar el driver de manera apropiada.


Finalmente una foto de Beryl en el recién instalado driver fglrx:


Si no obtuvieron los resultados esperados siempre resulta bueno leer las documentaciones del sistema como los troublehooting del driver, los cuales se encuentran en:

/usr/share/doc/packages/fglrx para el driver y para SuSE entrar en la documentación del nucleo tal vez encontremos el problema con un módulo o un issue con algún dispositivo.


Espero les haya servido."

AKA CARTMAN

JUAN GABRIEL CEPEDA MÉNDEZ
INGENIERO DE DISEÑO Y AUTOMATIZACIÓN ELECTRÓNICA
ULS

Solo un principiante mas...

domingo, 19 de noviembre de 2006

Problema con mother board ASRock P4i45GV con Tarjeta de video AGP

Hola en esta ocasión les presento un problema que tuve con mi computador y la compatibilidad en Linux.

y es un problema entre la mother board ASRock P4i45GV y el puerto AGP que tienen estas,

para mi caso particular, tengo una tarjeta ati radeon 9250 de 256M, cuando uno instala cualquier distribución de Linux, se encuentra el siguiente mensaje:

INIT! PANIC: Segmentation violation at 0xfffe420! sleeping for 30 seconds.


y no arranca por todos los medios posibles, lo que sucede es que la mother board no es 100% compatible como dice el fabricante con las tarjetas AGP, y cuando uno monta un sistema operativo como linux genera estos problemas.

una forma sencilla para solucionar esto es:


1. en la bios cambiar el tipo de puerto de video al genérico de la mother board, con esto instalamos nuestra distribución preferida (mi caso suse) luego de tenerlo instalado, debemos que hacer un blacklist del modulo intelagp, para que nuestra tarjeta no se cuelgue cuando trate de arrancar. se hace añadiendo al fichero /etc/modprobe.conf.local lo siguiente:

# blacklist agp module


blacklist intel_agp


Bueno a mi me funciono solo quitando este modulo, existen otros módulos que pueda que deban ser agregados si algo sale mal, entonces se debe probar a agregar otros módulos, para esto es solo mirar con lsmod | grep agp los modulos que estan corriendo.

2. luego de esto podemos proceder a instalar los driver de nuestra tarjeta de video (en mi caso una ati y para la distro suse 10.1) como aparece en muchos manuales de las tarjetas ati.

recordemos que debemos primero instalar

gcc, make, kernel-source, kernel-syms, kdeadmin3

luego pasamos a init 3 e instalamos el driver

chmod +x ./ati-driver-installer-8.24.8-x86.run --buildpkg SuSE/SUSE101-IA32 (esto puede variar dependiendo de la versión del driver y de la distribución que tengamos instalada)

luego instalamos el rpm que nos crea

rpm -ivh fglrx_........rpm

después ejecutamos

ldconfig


aticonfig --initial --input=/etc/X11/xorg.conf

después que tenemos instalado el driver procedemos a reiniciar el computador y cambiar nuevamente en la bios a agp, con esto iniciamos en Linux normalmente,

si no nos carga el entorno grafico, entramos a sax2 y configuramos nuevamente nuestro monitor,

sax2 -r -m 0=fglrx


si por algún motivo no arranca o nos saca este error:


sax: ups lost card during probing... abort at /usr/share/sax/init.pl line 619


entonces ejecutamos esta línea


sax2 -c 1 -m 1=fglrx

y listo nuestra distribución tiene entorno grafico.