Difference between revisions of "About RGB-Pi and Raspberry Pi4/es"

From RGB-Pi Wiki
Jump to: navigation, search
(Created page with "* Legado: hasta Pi3, Raspberry usaba un controlador de video personalizado que se comunicaba directamente con el firmware (que solo tenía una implementación personalizada de...")
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
  
==RGB-Pi in Raspberry Pi4 and Beyond==
+
==RGB-Pi en Raspberry Pi4 y más allá==
  
 
Como muchos de ustedes preguntan si los dispositivos RGB-Pi serán compatibles con los últimos modelos de Raspberry Pi4, queríamos aclarar algunos puntos aquí:
 
Como muchos de ustedes preguntan si los dispositivos RGB-Pi serán compatibles con los últimos modelos de Raspberry Pi4, queríamos aclarar algunos puntos aquí:
Line 8: Line 8:
  
  
==About Raspberry Video Drivers==
+
==Acerca de los controladores de vídeo de Raspberry==
  
 
* Legado: hasta Pi3, Raspberry usaba un controlador de video personalizado que se comunicaba directamente con el firmware (que solo tenía una implementación personalizada de OpenGL ES) y tenía acceso directo al framebuffer. Esto ahora es heredado y ya no es totalmente compatible con Pi4.
 
* Legado: hasta Pi3, Raspberry usaba un controlador de video personalizado que se comunicaba directamente con el firmware (que solo tenía una implementación personalizada de OpenGL ES) y tenía acceso directo al framebuffer. Esto ahora es heredado y ya no es totalmente compatible con Pi4.
Line 15: Line 15:
  
  
==Development Status==
+
==Estado de desarrollo==
  
  
===Frontend===
+
Interfaz
  
* The frontend, which makes use of Pygame SDL1 and surface objects, has been remade from scratch to avoid the performance issues that suffered in Pi4 due to changes in video libraries. Now it is sprite based and it is prepared to be easily migrated to Pygame SDL2. There is a bug in Pygame SDL2 that prevents us from reinit the video while the frontend is running. This issue is currently being addressed by Pygame development team.
+
* La interfaz, que utiliza Pygame SDL1 y objetos de superficie, se ha rediseñado desde cero para evitar los problemas de rendimiento que sufrían en Pi4 debido a los cambios en las bibliotecas de videos. Ahora está basado en sprites y está preparado para migrar fácilmente a Pygame SDL2. Hay un error en Pygame SDL2 que nos impide reiniciar el video mientras se ejecuta la interfaz. Este problema está siendo abordado actualmente por el equipo de desarrollo de Pygame.
* The ALSA audio drivers was changed to make some of the internal virtual devices comply with the standard naming and configuration That resulted in some audio features like EQ and audiojack broken. All issues with ALSA audio have been resolved.
+
* Los controladores de audio ALSA se cambiaron para hacer que algunos de los dispositivos virtuales internos cumplieran con la configuración y la denominación estándar. Eso dio como resultado que algunas características de audio, como el ecualizador y el conector de audio, no funcionaran. Se han resuelto todos los problemas con el audio ALSA.
* Raspberry USB PCI hub descriptors and sorting has changed resulting in controller ordering not matching with Retroarch anymore. Also RetroArch changed their sorting engine. After some work on our controller engine, it is now already fully adapted to match all these changes.
+
* Los descriptores y la clasificación del concentrador PCI USB de Raspberry han cambiado, lo que hace que el orden del controlador ya no coincida con Retroarch. También RetroArch cambió su motor de clasificación. Después de algunos trabajos en el motor de nuestro controlador, ahora ya está completamente adaptado para coincidir con todos estos cambios.
  
  
===Video Driver and Timings===
+
===Controlador de video y timings===
  
* The new KMS driver is now finished and working.
+
* El nuevo controlador KMS ahora está terminado y funcionando.
* A new Device Tree Overlay .dtbo has been created to make it 100% KMS compatible.
+
* Se ha creado un nuevo Device Tree Overlay .dtbo para que sea 100 % compatible con KMS.
* A new custom kernel module has been created to provide a bridge between KMS and DPI.
+
* Se ha creado un nuevo módulo de kernel personalizado para proporcionar un puente entre KMS y DPI.
* A new custom kernel has been created to support interlaced (480i) resolutions.
+
* Se ha creado un nuevo kernel personalizado para admitir resoluciones entrelazadas (480i).
* A new custom kernel has been created to support native CSYNC.
+
* Se ha creado un nuevo kernel personalizado para admitir CSYNC nativo.
* A new custom RetroArch has been created to support KMS and the new custom DynaRes video subsystem (more info in the 'New Features' section down below).
+
* Se ha creado un nuevo RetroArch personalizado para admitir KMS y el nuevo subsistema de video personalizado DynaRes (más información en la sección 'Nuevas funciones' a continuación).
  
  
==New Features==
+
==Nuevas características==
  
  
Line 42: Line 42:
 
[[File:Dynares.gif|File:Dynares.gif]]
 
[[File:Dynares.gif|File:Dynares.gif]]
  
We have developed a custom version of RetroArch which includes a new video subsystem (DynaRes) to fully manage all the video modes and options. the main features of DynaRes are the following ones:
+
Hemos desarrollado una versión personalizada de RetroArch que incluye un nuevo subsistema de video (DynaRes) para administrar completamente todos los modos y opciones de video. Las principales características de DynaRes son las siguientes:
* Does not require any external timings database.
+
* No requiere ninguna base de datos de timings externa.
* Can set the proper resolution and native refresh rate, as provided by the core, when launching games.
+
* Puede establecer la resolución adecuada y la frecuencia de actualización nativa, tal como lo proporciona el núcleo, al iniciar juegos.
* Can change the resolution on the fly as requested by the core/game while playing.
+
* Puede cambiar la resolución sobre la marcha según lo solicite el núcleo/juego mientras juega.
* Support different monitor types (15khz, 25khz, 31khz, etc.)
+
* Admite diferentes tipos de monitores (15 khz, 25 khz, 31 khz, etc.)
* Timings calculated based on Calamity switchres.
+
* Timings calculados en base a los cambios de Calamity.
* Automatic H and V image positioning and centering.
+
* Posicionamiento y centrado automático de imágenes H y V.
* Has different working modes (all of them using native refresh rates):
+
* Tiene diferentes modos de trabajo (todos ellos usando frecuencias de actualización nativas):
** Native: games will run on native H and V resolutions. On the fly timing changes will happen on both H and V resolution changes.  
+
** Nativo: los juegos se ejecutarán en resoluciones H y V nativas. Los cambios de tiempo sobre la marcha ocurrirán en los cambios de resolución H y V.
** SuperX: games will run on native V resolution. H resolution is super res dynamically calculated using integer scale with 8px of overscan. On the fly timing changes will happen only on V resolution changes.
+
** SuperX: los juegos se ejecutarán en resolución V nativa. La resolución H es de súper resolución calculada dinámicamente utilizando una escala de enteros con 8px de overscan. Los cambios de tiempo sobre la marcha ocurrirán solo en los cambios de resolución V.
** Custom Fixed: games will run in a fixed resolution. This is useful for scenarios like Dreamcast 240p/480i, or TATE games played rotated.
+
** Fixed personalizado: los juegos se ejecutarán en una resolución fija. Esto es útil para escenarios como Dreamcast 240p/480i o juegos TATE que se juegan rotados.
** Handheld Full: systems like GBA and NGP can be displayed in special fullscreen mode.
+
** Portatiles a Full Screen: los sistemas como GBA y NGP se pueden visualizar en un modo especial de pantalla completa.
  
  
===Lightgun===
+
===Pistolas de luz===
  
 
[[File:Lgun.gif|File:Lgun.gif]]
 
[[File:Lgun.gif|File:Lgun.gif]]
  
We have developed a custom driver to support original Namco GunCon 2 lightgun. Currently, only original blue(EU), black(JP) and orange(US) original guns are supported. We are working on supporting clones and original XBOX gun in the future if feasible.
+
Hemos desarrollado un controlador personalizado para admitir la pistola de luz Namco GunCon 2 original. Actualmente, solo se admiten las pistolas originales azul (UE), negro (JP) y naranja (EE. UU.). Estamos trabajando para admitir clones y armas XBOX originales en el futuro, si es posible.
It is very important to know that there are 4 different kinds of gun games based on the hardware they used. While nothing prevents us on playing any of them, different results could be faced:
+
Es muy importante saber que hay 4 tipos diferentes de juegos de armas según el hardware que usaron. Si bien nada nos impide jugar con alguno de ellos, podríamos enfrentarnos a diferentes resultados:
* Lightgun blanking based. The main example is the NES Zapper. These games play really well. Some cores like Genesis Plus GX do not provide any precision adjustment, so SMS games for instance become more challenging.
+
* Pistola de luz basado en blanking. El principal ejemplo es el NES Zapper. Estos juegos funcionan muy bien. Algunos núcleos como Genesis Plus GX no proporcionan ningún ajuste de precisión, por lo que los juegos de SMS, por ejemplo, se vuelven más desafiantes.
* Lightgun beam read based. The main example is PSX GunCon. These games work and play perfectly fine.
+
* Basada en lectura de haz de pistola de luz. El ejemplo principal es PSX GunCon. Estos juegos funcionan y se juegan perfectamente bien.
* Lightgun + IR receiver based. Sega Menacer is the main example. These games play well as long as they do not have big black areas. An example of game that do not work well is Megadrive T2 the Arcade. The sky in this game is black, so the gun cannot read the beam. On the other hand, SNES version which is prepared for beam read based gun plays well since the sky changes to a blue color.
+
* Basado en pistola de luz + receptor IR. Sega Menacer es el principal ejemplo. Estos juegos funcionan bien siempre que no tengan grandes áreas negras. Un ejemplo de juego que no funciona bien es Megadrive T2 the Arcade. El cielo en este juego es negro, por lo que el arma no puede leer el rayo. Por otro lado, la versión de SNES que está preparada para el arma basada en lectura de haz funciona bien ya que el cielo cambia a un color azul.
* Fake Lightgun. There are many examples of this in arcade. For example Operation Wolf arcade cabinet uses a joystick disguised as gun. Again, the playability here relies on games not having many and/or big black areas on the screen.
+
* Pistola de luz falsa. Hay muchos ejemplos de esto en arcade. Por ejemplo, en la maquina arcade de Operation Wolf, se usa un joystick disfrazado de pistola. De nuevo, la jugabilidad aquí depende de que los juegos no tengan muchas áreas negras grandes en la pantalla.
  
  
==Final Words==
+
==Palabras finales==
  
While we are still working on more and new features, fixing bugs, etc., the system is currently in a very advanced Alpha status and working very nicely.
+
Si bien todavía estamos trabajando en más funciones nuevas, corrigiendo errores, etc., el sistema se encuentra actualmente en un estado Alfa muy avanzado y funciona muy bien.
Please be patient, all this work is made in my spare time (rTomas). The system will be for sure released at some point in 2022.
+
Por favor paciencia, todo este trabajo lo realizo en mis ratos libres (rTomas). El sistema seguramente se lanzará en algún momento en 2022.
For quick updates, photos, videos, etc. you can follow me on Twitter @rtomasal
+
Para actualizaciones rápidas, fotos, videos, etc. puedes seguirme en Twitter @rtomasal
  
To be continued...
+
Continuará....

Latest revision as of 22:44, 24 January 2022

Other languages:
English • ‎español

RGB-Pi en Raspberry Pi4 y más allá

Como muchos de ustedes preguntan si los dispositivos RGB-Pi serán compatibles con los últimos modelos de Raspberry Pi4, queríamos aclarar algunos puntos aquí:

  • Desde el punto de vista de la especificación GPIO, todos los dispositivos RGB-Pi actuales son 100 % compatibles con Raspberry Pi4/Pi400.
  • Desde la perspectiva del software, la introducción del nuevo controlador de video KMS hizo imposible usar la forma anterior de cambiar las resoluciones a través del controlador personalizado de firmware.


Acerca de los controladores de vídeo de Raspberry

  • Legado: hasta Pi3, Raspberry usaba un controlador de video personalizado que se comunicaba directamente con el firmware (que solo tenía una implementación personalizada de OpenGL ES) y tenía acceso directo al framebuffer. Esto ahora es heredado y ya no es totalmente compatible con Pi4.
  • FKMS (Falso/Firmware KMS): utiliza la API Dispmanx personalizada para comunicarse con el firmware. Fue el controlador predeterminado de Pi4 durante algún tiempo y no admitía el uso de cambios de framebuffer a través de los comandos fbset, tvservice o vcgencmd.
  • KMS: el kernel se comunica directamente con los registros de hardware sin pasar por el firmware. A partir de hoy, este es el controlador de video estándar de la industria y el nuevo controlador predeterminado en todos los modelos Pi actuales y futuros.


Estado de desarrollo

Interfaz

  • La interfaz, que utiliza Pygame SDL1 y objetos de superficie, se ha rediseñado desde cero para evitar los problemas de rendimiento que sufrían en Pi4 debido a los cambios en las bibliotecas de videos. Ahora está basado en sprites y está preparado para migrar fácilmente a Pygame SDL2. Hay un error en Pygame SDL2 que nos impide reiniciar el video mientras se ejecuta la interfaz. Este problema está siendo abordado actualmente por el equipo de desarrollo de Pygame.
  • Los controladores de audio ALSA se cambiaron para hacer que algunos de los dispositivos virtuales internos cumplieran con la configuración y la denominación estándar. Eso dio como resultado que algunas características de audio, como el ecualizador y el conector de audio, no funcionaran. Se han resuelto todos los problemas con el audio ALSA.
  • Los descriptores y la clasificación del concentrador PCI USB de Raspberry han cambiado, lo que hace que el orden del controlador ya no coincida con Retroarch. También RetroArch cambió su motor de clasificación. Después de algunos trabajos en el motor de nuestro controlador, ahora ya está completamente adaptado para coincidir con todos estos cambios.


Controlador de video y timings

  • El nuevo controlador KMS ahora está terminado y funcionando.
  • Se ha creado un nuevo Device Tree Overlay .dtbo para que sea 100 % compatible con KMS.
  • Se ha creado un nuevo módulo de kernel personalizado para proporcionar un puente entre KMS y DPI.
  • Se ha creado un nuevo kernel personalizado para admitir resoluciones entrelazadas (480i).
  • Se ha creado un nuevo kernel personalizado para admitir CSYNC nativo.
  • Se ha creado un nuevo RetroArch personalizado para admitir KMS y el nuevo subsistema de video personalizado DynaRes (más información en la sección 'Nuevas funciones' a continuación).


Nuevas características

DynaRes

File:Dynares.gif

Hemos desarrollado una versión personalizada de RetroArch que incluye un nuevo subsistema de video (DynaRes) para administrar completamente todos los modos y opciones de video. Las principales características de DynaRes son las siguientes:

  • No requiere ninguna base de datos de timings externa.
  • Puede establecer la resolución adecuada y la frecuencia de actualización nativa, tal como lo proporciona el núcleo, al iniciar juegos.
  • Puede cambiar la resolución sobre la marcha según lo solicite el núcleo/juego mientras juega.
  • Admite diferentes tipos de monitores (15 khz, 25 khz, 31 khz, etc.)
  • Timings calculados en base a los cambios de Calamity.
  • Posicionamiento y centrado automático de imágenes H y V.
  • Tiene diferentes modos de trabajo (todos ellos usando frecuencias de actualización nativas):
    • Nativo: los juegos se ejecutarán en resoluciones H y V nativas. Los cambios de tiempo sobre la marcha ocurrirán en los cambios de resolución H y V.
    • SuperX: los juegos se ejecutarán en resolución V nativa. La resolución H es de súper resolución calculada dinámicamente utilizando una escala de enteros con 8px de overscan. Los cambios de tiempo sobre la marcha ocurrirán solo en los cambios de resolución V.
    • Fixed personalizado: los juegos se ejecutarán en una resolución fija. Esto es útil para escenarios como Dreamcast 240p/480i o juegos TATE que se juegan rotados.
    • Portatiles a Full Screen: los sistemas como GBA y NGP se pueden visualizar en un modo especial de pantalla completa.


Pistolas de luz

File:Lgun.gif

Hemos desarrollado un controlador personalizado para admitir la pistola de luz Namco GunCon 2 original. Actualmente, solo se admiten las pistolas originales azul (UE), negro (JP) y naranja (EE. UU.). Estamos trabajando para admitir clones y armas XBOX originales en el futuro, si es posible. Es muy importante saber que hay 4 tipos diferentes de juegos de armas según el hardware que usaron. Si bien nada nos impide jugar con alguno de ellos, podríamos enfrentarnos a diferentes resultados:

  • Pistola de luz basado en blanking. El principal ejemplo es el NES Zapper. Estos juegos funcionan muy bien. Algunos núcleos como Genesis Plus GX no proporcionan ningún ajuste de precisión, por lo que los juegos de SMS, por ejemplo, se vuelven más desafiantes.
  • Basada en lectura de haz de pistola de luz. El ejemplo principal es PSX GunCon. Estos juegos funcionan y se juegan perfectamente bien.
  • Basado en pistola de luz + receptor IR. Sega Menacer es el principal ejemplo. Estos juegos funcionan bien siempre que no tengan grandes áreas negras. Un ejemplo de juego que no funciona bien es Megadrive T2 the Arcade. El cielo en este juego es negro, por lo que el arma no puede leer el rayo. Por otro lado, la versión de SNES que está preparada para el arma basada en lectura de haz funciona bien ya que el cielo cambia a un color azul.
  • Pistola de luz falsa. Hay muchos ejemplos de esto en arcade. Por ejemplo, en la maquina arcade de Operation Wolf, se usa un joystick disfrazado de pistola. De nuevo, la jugabilidad aquí depende de que los juegos no tengan muchas áreas negras grandes en la pantalla.


Palabras finales

Si bien todavía estamos trabajando en más funciones nuevas, corrigiendo errores, etc., el sistema se encuentra actualmente en un estado Alfa muy avanzado y funciona muy bien. Por favor paciencia, todo este trabajo lo realizo en mis ratos libres (rTomas). El sistema seguramente se lanzará en algún momento en 2022. Para actualizaciones rápidas, fotos, videos, etc. puedes seguirme en Twitter @rtomasal

Continuará....