Migrar de fglrx a radeon (xorg 1.4 a 1.5 y kernel .28 a .29) en Gentoo

Desgraciadamente y como ya se habran dado cuenta en alguna de mis tantas maldiciones , ati en linux es y seguira siendo una basura respecto a intel o nvidia.

Me vi en la necesidad de migrar al driver libre radeon porque ati dijo que ya no soportaria más actualizaciones para la x200m en linux y por el lado de windows solo dara actualizaciones “criticas”.

Al no ofrecer más actualizaciones con las nuevas caracteristicas del kernel y xorg me sucede lo siguiente:

  • No puedo usar el driver con el nuevo esquema EXA/UXA
  • No puedo usar un kernel “oficialmente” despues del 2.6.28
  • No puedo usar una nueva rama de xorg-server que no sea la 1.4 porque la 1.5 necesita el kernel .29 y su nueva infraestructura.

Me gustaria que hubieran sido como nVidia, que aunque ya me paso al club de los legacy con mi fx5700 aun me va a seguir dando actualizaciones para que siga funcionando el driver con los nuevos xorg y kernel.

Pero bueno este post es para contarles lo que tuve que hacer y algunas cosas con las que me tope para migrar desde el no tan buen driver propietario al muy verde driver libre (lo digo porque tiene peor rendimiento 3D). Asi que investigando un poco encontre que podia usar el driver sin dri y con dri.

Sin dri:

  • Volvieron a funcionar las caracteristicas del kernel tuxonice
  • No tuve problemas con pm-utils
  • Sigue funcionando el segundo monitor
  • No hay 3D

Con dri:

  • El 3D es aceptable un poco más feo que el propietario pero suficiente para open arena
  • Ya no funciona pm-utils
  • Sigue funcionando el segundo monitor
  • En vano las caracteristicas del tuxonice

Vamos al tutorial:

Primero:

Migramos a un kernel limpio de la rama .29 o .30 de preferencia. En mi caso opte por tuxonice, en este solo debemos de tomar en cuenta activar la opcion de evdev para las nuevas funciones de xorg con hal, lo encuentran en:

Device Drivers —>

Input device support —>

Event interface.

Si queremos activar el dri compilamos el modulo de dri y el driver radeon:

<M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

<M> radeon

Segundo:

Editamos el valor VIDEO_CARDS en nuestro make.conf removemos fglrx y agregamos radeon.

Luego de esto actualizamos xorg-server con todo y sus dependencias . Esto es muy importante y no debe ser omitido (la opción u y N por supuesto) o tendremos problemas de versiones (en mi caso la salida mostraba un “Mismatch Version”).

emerge -uavN xorg-server

O tambien podemos actualizar todo incluyendo fuentes, y demás modulos no criticos del xorg.

emerge -uavN xorg-X11

Tercero

El nuevo xorg tiene un monton de cambios ya descritos en la documentación de gentoo, solo me limitare a decir que además de lo que dice ahi, yo tuve que reconstruir todos los paquetes de la categoria x11-drivers, de ahi todo me funcióno.

Si los fdi no son copiados simplemente el teclado y el mouse no funcionaran.

En mi caso borre el xorg.conf, copie los fdi y aqui estoy tecleando de nuevo.

Cualquier duda especifica espero comentarios.

Cuarto:

Ya que hasta este punto estaba muy cansado pude observar que puedo utilizar el xorg.conf y tambien las reglas fdi, como tenia que habilitar el dri por aquello de las LAN partys, decidi crear un xorg.conf solo con lo necesario. Tal ves si averiguo despues como diablos crear el .fdi actualice el post, mientras tanto esto utilice en mi xorg.conf

# Auto-generated by mkxf86config
Section “ServerLayout”
# Serial Mouse not detected
Identifier     “X.Org Configured”
Screen      0  ”aticonfig-Screen[0]” 0 0
EndSection
Section “Module”
Load  ”ddc”
Load  ”vbe”
Load  ”GLcore”
Load  ”dbe”
Load  ”dri”
Load  ”extmod”
Load  ”glx”
Load  ”bitmap”
Load  ”record”
Load  ”synaptics”
EndSection
Section “Monitor”
Identifier   “Monitor0″
HorizSync    28.0 – 96.0
VertRefresh  50.0 – 75.0
EndSection
Section “Monitor”
Identifier   “aticonfig-Monitor[0]“
Option “VendorName” “ATI Proprietary Driver”
Option “ModelName” “Generic Autodetecting Monitor”
Option “DPMS” “true”
EndSection
Section “Device”
### Available Driver options are:-
# sw_cursor is needed for some ati and radeon cards
# The following line is auto-generated by x11-misc/mkxf86config
# BusID       “PCI:1:0:0″
Identifier  ”Card0″
Driver      ”ati”
VendorName  ”All”
BoardName   “All”
Option “sw_cursor”
#Option     “hw_cursor”
#Option     “NoAccel”
#Option     “ShowCache”
#Option     “ShadowFB”
#Option     “UseFBDev”
#Option     “Rotate”
EndSection
Section “Device”
Identifier  ”aticonfig-Device[0]“
Driver      ”radeon”
Option “Accel” “true”
Option “AccelMethod” “EXA”
Option “RenderAccel” “true”
Option “DRI” “true”
#BusID       “PCI:1:5:0″
EndSection
Section “Extensions”
Option “Composite” “disable”
EndSection
Section “Screen”
Identifier “Screen0″
Device     “Card0″
Monitor    ”Monitor0″
DefaultDepth     24
SubSection “Display”
Depth     1
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth     4
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth     8
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth     15
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth     16
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth     24
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth     32
Modes    ”1024×768″ “800×600″ “640×480″
EndSubSection
EndSection
Section “Screen”
Identifier “aticonfig-Screen[0]“
Device     “aticonfig-Device[0]“
Monitor    ”aticonfig-Monitor[0]“
DefaultDepth     24
SubSection “Display”
Viewport   0 0
Depth     24
EndSubSection
EndSection
Section “dri”
Mode 0666
EndSection

Section “ServerLayout”

Identifier     “X.Org Configured”

Screen      0  ”Screen[0]” 0 0

EndSection

Section “Module”

Load  ”ddc”

Load  ”vbe”

Load  ”GLcore”

Load  ”dbe”

Load  ”dri”

Load  ”extmod”

Load  ”glx”

Load  ”bitmap”

Load  ”record”

Load  ”synaptics”

EndSection

Section “Monitor”

Identifier   “Monitor[0]“

Option “DPMS” “true”

EndSection

Section “Device”

Identifier  ”Device[0]“

Driver      ”radeon”

Option “Accel” “true”

Option “AccelMethod” “EXA”

Option “RenderAccel” “true”

Option “DRI” “true”

EndSection

Section “Extensions”

Option “Composite” “disable”

EndSection

Section “Screen”

Identifier “Screen[0]“

Device     “Device[0]“

Monitor    ”Monitor[0]“

DefaultDepth     24

SubSection “Display”

Viewport   0 0

Depth     24

EndSubSection

EndSection

Section “dri”

Mode 0666

EndSection

Haciendo overclock a una tarjeta nvidia en tres patadas

Una de las particularidades de los sistemas UNIX en general es que son altamente personalizables. Recuerdo que cuando usaba el otro sistema era aficionado a hacerle overclock a mi tarjeta porque podía jugar (lastimosamente aqui no U_U). Cuando hice el cambio a opensuse recorrí n tutoriales solo para encontrarme métodos a bajo nivel y bastante trabajosos para mi gusto. El dia de ayer volví a hacer overclock y no recordaba que linea agregar al xorg y me volví a encontrar los mismos malos tutoriales ¬¬.

ADVERTENCIA: Aumentar la velocidad del reloj de la GPU podria dañarlo, te quedas sin garantia y podria explotar (esto ultimo no es comun pero quien sabe :P ).

Al final supe que era bastante fácil, si tenemos el driver propietario basta con agregar una linea al xorg en la sección “Device”

Option   “Coolbits” “1″

Con esta linea se habilita un nuevo panel en el panel de configuración de nvidia (nvidia-settings) con el que puedo overclockear al alcance de un par de clicks.

overclock

Y claro que hay forma de hacerlo en la CLI, pero ¿quien necesita hacer overclock al driver de video si no vas a tener las X corriendo?

La maldicion del hardware viejo y los drivers propietarios (la historia)

nvidiaCuando alguien me dice que no le importan los drivers propietarios es porque no ha vivido lo mismo que yo, actualmente considero (y sigo considerando) a los driver nvidia como uno de los más altos a nivel tecnico, además de que se toman la molestia de hacer release para linux los hacen bien y no tengo quejas, pude correr juegos de la talla de doom 3 y quake 4 sin complicaciones mayores en mi vieja fx 5700.

Sin embargo como una forma de decirme “tirame ya estoy vieja!!!”, la gente de nvidia ya marco como deprecate (o despreciables en mala traducción xD) a las tarjetas geforce 5 fx series.

¿Tristeza?, SI MUCHA, mi computadora no es nada nueva, me la regalaron por alla del 2004, la rohanmachine me acompaño por toda la carrera de ingeniería en sistemas TODA, pero ya la tengo complicada, mis opciones son:

1) Estancarme en el kernel .28, hasta que nvidia decida que tiene tiempo para parcharlo y entonces pueda usarlo con el kernel .29 o .30

2) Comprarme una nueva computadora.

Opte por la primera, ya que el kernel .28 me funciona bien, hiberna, suspende, tengo soporte para ext4 y no hay necesidad de alguna característica más alla de actualización, solo tuve un gran inconveniente con hal y xorg 7.4 que ya resolvi, pero me da tristeza (además que la segunda no es viable xD)

Por lo demás creo que se acerca el momento de hacerle el funeral a la rohanmachine. Lo mismo me paso con ati pero desde que los tengo eran una basura y ya sabia que no podia esperar menos de ellos, pasarme a intel no es una opción, tal ves cuando saquen un buen chip y se comparen a nvidia o ati en chips de la misma epoca.

Malditas politicas propietarias!!!!.

PD: Creo que ya hay un release .20 pero no esta en portage y me acabo de dar cuenta, igual me cae mal depender de lo que decida una empresa.