Un ingeniero de NVIDIA rompe los drivers de AMD en Linux y decide arreglarlos mejorando el rendimiento, ¿intento de boicot?
Windows es el sistema operativo más utilizado en todo el mundo y no parece que esto vaya a cambiar, pues aunque macOS es cada vez más popular (sobre todo en portátiles), sigue estando bastante por detrás. Por otro lado, Linux sigue representando a solo una pequeña minoría, a pesar de que consolas como la Steam La entrada Un ingeniero de NVIDIA rompe los drivers de AMD en Linux y decide arreglarlos mejorando el rendimiento, ¿intento de boicot? aparece primero en El Chapuzas Informático.

Windows es el sistema operativo más utilizado en todo el mundo y no parece que esto vaya a cambiar, pues aunque macOS es cada vez más popular (sobre todo en portátiles), sigue estando bastante por detrás. Por otro lado, Linux sigue representando a solo una pequeña minoría, a pesar de que consolas como la Steam Deck lo ha ido haciendo más conocido. Si usas Linux sabrás que este funciona mucho mejor con hardware de AMD y si combinas CPU y GPU de esta marca obtendrás los mejores resultados. Ahora resulta que un ingeniero de NVIDIA ha acabado arreglar el kernel de Linux, pues aunque al principio cometió un error en los drivers de GPU de AMD al final ha conseguir solventar el problema.
Tenemos tres sistemas operativos principales para elegir y Linux precisamente no es el más popular. A pesar de que es el único de los SO que es Open Source y gratuito, no logra captar a tantos usuarios como se esperaba y por muchos años que pasen siguen estando dentro de esa minoría. Hay varias causas que lo producen y diríamos que la más importante es el hecho de que tengamos que utilizar una consola de comandos para hacer ciertas acciones, cosa que hecha muy hacia atrás al usuario promedio de PC que quiere tener todo con unos cuantos clics sin complicaciones.
Un ingeniero de NVIDIA comete un error en Linux y arregla el problema en drivers que afecta a GPU AMD
Linux ofrece una flexibilidad y opciones de personalización que no están presentes en el resto y tenemos decenas de distros distintas para instalarlos. Ha habido muchas críticas sobre lo complicado que es Linux, pero también de "lo mal que rinde en juegos y programas", cuando realmente esto no es del todo cierto. En programas hemos visto que si funcionan con Linux suelen ofrecer incluso un mejor rendimiento que Windows al consumir menos recursos y estar más optimizado. En juegos es cierto que esto pasaba hace unos años, pero Linux ha mejorado muchísimo en gaming y si tienes un equipo de AMD con los últimos drivers y Linux actualizado, muchos juegos te deberían ir muy bien.
Ahora bien, si quieres intentar jugar o usar programas con una GPU NVIDIA en Linux, aquí te va a ir todo bastante peor o incluso no podrás tener un funcionamiento normal con cierres inesperados. Ya sabemos que Linux y AMD colaboran para que todo funcione bien, pero a su vez recordemos que es Open Source y eso implica que cualquiera puede contribuir. Resulta que un ingeniero de NVIDIA llamado Balbir Singh decidió hacer unos cambios en el kernel de Linux la semana pasada y acabó limitando la GPU, empeorando el rendimiento. Esto fue el primer intento de aumentar el tamaño de PCI BAR a más de 10TiB y aunque fracasó, no se quiso rendir.
La limitación de rendimiento se producía debido a que las GPU no podían asignar esos 64 TiB de memoria
Tras unos días de trabajo ha encontrado la solución al problema que ocasionó (gracias a Bert Karwatzki) y no solo lo arregló si no que consiguió implementar lo que quería y mejorar el rendimiento. Tal y como se indica, el problema es que lo que el código reducía el parámetro KASLR que implica el factor aleatorio de carga de datos del kernel en la memoria. A su vez también incrementaba el rango de la memoria accesible a 64 TiB.
Debido a que la memoria se divide en distintas partes en Linux, cuando se usaba una GPU AMD Radeon, el kernel asignaba la variable "max_pfn" con el valor incrementado de antes de 64 TiB. La GPU no podría acceder a esta cantidad de memoria y debido a esto "dma_adresssing_limited" se activaría y por tanto, se limitaría el acceso a la memoria ofreciendo solo 4 GB en la parte DMA32. La corrección está en camino, pues se espera que se publique antes del merge con Linux 6.15-RC1, donde tendremos otras mejoras como las que se han listado en la imagen.
La entrada Un ingeniero de NVIDIA rompe los drivers de AMD en Linux y decide arreglarlos mejorando el rendimiento, ¿intento de boicot? aparece primero en El Chapuzas Informático.