Lo hice y lo entendí

El blog de Vicente Navarro
17 sep

¿Tendremos algún día un driver abierto de VIA completo?

Los habituales de este pequeño rincón de Internet seguro que ya conocen la importancia de comprar hardware con drivers abiertos.

Así, a menudo he tratado de divulgar el problema que existe con los drivers para los chipsets gráficos de VIA, tanto aquí:

como en Barrapunto:

Y es que existe una necesidad de que VIA facilite (creándolo directamente o ofreciendo la documentación adecuada) un driver abierto y de buena calidad para Linux. Es algo que nos beneficia mucho a nosotros, los usuarios, pero aún más a la propia VIA. ¿Alguien piensa que los modestos procesadores y chipsets de VIA pueden tener algún futuro con un Windows Vista que va a pedales en sistemas de última generación? Evidentemente, no. Su nicho de mercado estrella es el de sistemas enfocados a ser usados con aplicaciones de Internet de bajo consumo, como es el caso de los miniportátiles o nettops.

VIA necesita que su hardware funcione bien en Linux más incluso que nosotros los usuarios. Pensemos en cuáles son los miniportátiles más conocidos que hay en el mercado en el momento de escribir estas líneas: Está el Asus EEE, con procesador de Intel (Celeron o Atom), el Acer Aspire One, también con Intel Atom y el HP Mini Note 2133, el único con hardware de VIA. Todos ellos ofrecen la opción de usar Linux en ellos, como no podía ser de otra forma si queremos hacer un uso eficiente de nuestro “débil” hardware. ¿Es posible que VIA rasque algo en este mercado sin sacar drivers decentes?

Cuando en Enero promovimos la petición online para que VIA creara o facilitara drivers decentes, yo creo sinceramente que sí que conseguimos algo: no que VIA por fin diera su brazo a torcer y lo que antes era un no rotundo pasara a ser un si en letras gigantes. Nuestro logro fue, posiblemente, conseguir que esos directivos de VIA encorbatados y que probablemente nunca habían visto otra cosa que no fuera Windows se dieran cuenta de que algo iba realmente mal en su colaboración con la comunidad de Linux que tan necesaria les iba a resultar en los próximos meses.

Colaborar con la comunidad de software libre no es exactamente lo que ha hecho VIA de crear el sitio http://linux.via.com.tw/ y decir: ¡Ea! ¡Ahí tenéis los drivers que queríais! ¡Pesados! No, eso ya lo teníamos peor o mejor en viaarena.com. Colaborar con la comunidad es enviar parches a los desarrolladores del kernel, mantenerlos, colaborar con los chicos de openChrome para mejorar lo existente, o al menos crear documentación útil. En cualquier caso, podemos consolarnos con que menos es nada.

Cuando en Julio VIA anunció el fichaje de Harald Welte muchos pudimos hacernos ilusiones de que el panorama podía cambiar y que podríamos encontrarnos con una colaboración honesta con la comunidad.

Sin embargo, pese a la aparente voluntad de VIA de cambiar las cosas con este movimiento, parece que nos vamos a encontrar con un escollo mucho más grande que ha estado persiguiendo al software abierto desde hace años: las patentes.

Normalmente sigo la lista de distribución de openChrome, y en Junio ya vi algo que no me gustó. Alguien preguntaba que por qué no se avanzaba en el soporte de XvMC (aceleración hardware para MPEG2) en el chipset CX700 (el de mi VIA EPIA EX10000EG):

Hello, I’m new to this list and I’m interested in development of the CX700M2 xvmc support.
I was wondering if people could clue me in with a little more detail than the site contains.

1. Is anyone working on CX700M2 xvmc support?
2. Is anything preventing that development beyond a lack of workforce?

I’d like to contribute to the effort of implementing xvmc on this chipset.
Thanks!

-Derek

La respuesta de uno de los colaboradores habituales, Coleman Kane fue completamente descorazonadora: tal vez no tuviéramos nunca soporte de XvMC simplemente porque VIA tiene miedo de MPEG LA, la empresa que licencia las patentes necesarias para el uso de MPEG2, MPEG-4, IEEE 1394, DVB-T o AVC/H.264:

I am attempting to do the same. I’ve been talking to the rep that runs
http://linux.via.com, however the news looks grim. It seems that VIA
won’t release the XvMC docs for the newer hardware because they are
worried about getting sued by the MPEG LA cartel. I’ve not been able to
get much traction on convincing them to release it myself. VIA did admit
that Intel seems to be violating this “agreement” by releasing the same
information for their IGP chipsets.

If anyone knows has any ideas on pushing this, I’d like to hear. It
would be really valuable for me to just get the docs, then we could
write this part ourselves.


Coleman Kane

En ese mismo hilo nos enteramos, gracias a Xavier Bachelot, uno de los desarrolladores más activos en la lista de distribución, de que los chipsets que actualmente soportan XvMC en el driver openChrome lo hacen gracias a la ingeniería inversa, no a que VIA haya dado nunca información sobre el tema:

> Has anyone made any attempt at reverse engineering the hardware?

The current XvMC code was done thru RE.

> Perhaps some of the registers are similar to previous chipsets that we
> have existing xvmc code for?

Perhaps. The current hardware decoder engine is known as Unified Video
Decoder and has a lot of added capacities than the original engine found
on the Unichrome and Unichrome Pro.

> Does VIA release source of their Linux driver?

Only some part of the sources and the hardware decoder is just a binary
blob.

> Do they have a driver that support xvmc on the CX700M2?

Yes, they do. They also have some patches to xine and mplayer to allow
them to take advantage of their binary blob.

Hace unos días, a principios de Septiembre, un usuario ofrecía en la lista 300$, quizás más, si se añadía soporte de XvMC para el CX700 al driver openChrome. Las respuestas fueron muy interesantes. Coleman Kane volvió a sacar el tema de las patentes de MPEG LA y el hecho de que tal vez VIA podría hacer un poco la vista gorda igual que hace Intel:

Yeah, I am still patiently awaiting this. Discussions w/ VIA have gotten
me nowhere, as VIA’s employees want me to acquire an MPEG LLA license
*before* I can get the code from them, at least last time that I tried.

Perhaps we’ll see a shift away from this policy (a la Intel) with the
new open-source releasing that is happening now.

If I could get some of the current starter work, I might actually be
able to help pick up the ball myself.

Xavier Bachelot reiteró que no espera que el tema del soporte de MPEG cambie pronto añadiendo unas interesantes reflexiones sobre quién debería de pagar la licencia a MPEG LA, ya que él piensa que debería ser el fabricante del hardware, pero que VIA dice que es el que proporciona el driver el que tiene que pagar y que, en cualquier caso, no cree que liberar la documentación del hardware infrinja ninguna patente, aunque VIA prefiere estar asegurada en este tema:

I would not expect the new VIA driver to get any mpeg acceleration
capacities in the near future. And they will probably not release any
documentation on the Unichrome Pro II mpeg engine anytime soon, both
because of the MPEG LA license. It is still unclear to me (and VIA) who
should be paying this license fee. I do believe the silicon maker should
pay, but VIA rather want to have the driver provider pay as it “enables”
the feature. At any rate, I don’t think releasing the hardware
documentation would infringe any license/patent, but VIA wants to stay
on the safest possible side.

Pero el momento estrella del hilo llegó cuando contestó Harald Welte, el anunciado fichaje de VIA y destacado desarrollador de código abierto. Harald dijo que es correcto que VIA exija al desarrollador del driver que adquiera una licencia de MPEG LA:

> Yeah, I am still patiently awaiting this. Discussions w/ VIA have
>gotten me nowhere, as VIA’s employees want me to acquire an MPEG LLA
> license *before* I can get the code from them, at least last time
> that I tried.

Which is exactly in conformance with the MPEG-LA patent license agreement as
available from http://www.mpegla.com/m2/m2-agreement.cfm

VIA produces an ‘intermediate product’ and is not responsible for paying the
royalties. It is the entity that ‘makes a consumer product’ which is ‘sold to
an end user’.

So if you are the final system integrator who turns VIA’s chip plus some
software into something that actually performs operations that are covered by
the patents held by the MPEG-LA, you need to sign the license agreement with
MPEG-LA and pay the royalties as per schedule. In this case VIA can be sure
that you pay the licenses and everything is fine.

También dijo que probablemente Intel se puede permitir liberar sus drivers de aceleración de vídeo porque ella misma tiene muchas patentes con las que podría demandar a su vez a MPEG LA, pero que en cualqueir caso, lo correcto sería que el desarrollador del driver licenciara la patente. Aunque, en su opinión, se podría liberar la documentación del hardware que, al no ser algo de uso directo del usuario final no infringiría ninguna patente. Los desarrolladores de código abierto podrían decidir posteriormente si quieren arriesgarse a crear un driver que tal vez viole las patentes de MPEG LA:

> Perhaps we’ll see a shift away from this policy (a la Intel) with the
> new open-source releasing that is happening now.

Well, maybe Intel thinks it has sufficient patents itself so that the MPEG-LA
would not sue them, or if they did, Intel has the leverage to countersue.

But as long as you accept that patents are a business reality, and assume that
at least most or many of the MPEG-LA covered patents are real and enforcible,
then anyone, including VIA will have to bow to the license agreement for those
patents.

What I personally believe is the best way to solve the problem is to disclose
documentation on the codec acceleration hardware. This documentation is
clearly not a consumer product and not sold to an end user.

Then the FOSS community or anyone else can write their hardware accelerated
decoder, and decide by themselves if they want to expose themselves to the
legal risk of violating those patents.

Tras algunos interesantes comentarios más, finalizó recalcando su compromiso para mejorar las cosas desde dentro de VIA:

> At any rate, I don’t think releasing the hardware documentation would
> infringe any license/patent, but VIA wants to stay on the safest possible
> side.

I agree with you, and I’m trying my best to make this change inside VIA.

Algo muy de agradecer, pero que me parece que es difícil que tenga éxito viendo el miedo que tiene VIA a meterse en líos de patentes. Y no sólo por el XvMC… ya comenté en Barrapunto que el nuevo driver abierto que liberó VIA a finales de Agosto no soportaba ni 3D, ni salida de TV, ni aceleración de vídeo. Ya hemos visto los problemas de patentes que hay con MPEG LA, pero es que la tecnología 3D de los chipsets gráficos de VIA es de S3 Graphics (empresa ahora perteneciente a VIA), y seguro que también está sometida a un montón de patentes, así que no sé si podremos esperar mucha mejora en este campo.

Así que hemos llegado a la situación de que los chipsets están razonablemente bien soportados en 2D pero sin saber cómo avanzará esto viendo los problemas de patentes que hay. ATI y NVIDIA también han alegado a menudo problemas de patentes y de propiedad intelectual para no liberar drivers abiertos, pero Intel, en cambio, parece que no siente que haya problemas de ningún tipo. ¿Será por la sensación de impunidad del niño más fuerte de la clase?

Así que ya veis, con las patentes hemos topado y esto sí que podría suponer un muro contra el que podríamos darnos cabezazos una y otra vez. Un obstáculo tal vez infranqueable que nos podría impedir tener alguna vez un driver abierto de VIA completo.

:wq

Entradas relacionadas

5 Comentarios a “¿Tendremos algún día un driver abierto de VIA completo?”

  • Ringmaster dice:

    Al menos hay un debate abierto entre VIA y sus usuarios, menos da una piedra.

    Las patentes es de lo peor que hay; para mí es muy preocupante; incluso apoyé económicamente a gente que estaba luchando para que en Europa no salieran adelante.
    Los de VIA podían lanzar una versión del controlador “sólo para europeos” ;-), pero en un mundo globalizado como éste a los de VIA les da igual unos pocos usuarios de Linux; yo lo tengo claro, mi próximo portátil tendrá placa Intel.

  • @Ringmaster Pues sí, las patentes son un auténtico obstáculo hoy en día para la innovación. Fíjate lo absurdo de que no podamos tener un driver por una patente. Lamentable.

  • Kumo dice:

    Yo he tenido un par de placas Epia y algun C3. Y no entiendo los problemas de VIA con los drivers para linux.
    Parece que todo lo que hace fuera de cara a la galeria, ya que siempre ha tenido paquetes (RPM sobre todo) para linux en viaarena. Y es dificil de comprender en una empresa grande y puntera que sabe que sus productos son usados en millones de maquinas (no solo PCs) en todo el mundo.

Trackbacks y pingbacks:

Tema LHYLE09, creado por Vicente Navarro