Compilar Bennugd para Nintendo Switch

Started by Goku jr, June 04, 2023, 08:25:38 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Goku jr

Buenas ha todos hace tiempo que no escribo por estos foros, me suelo pasar mas por el discord
Al grano, hace poco me hice con una Nintendo Switch de segunda mano para trastear con ella instando Homebrew y demás y se me ocurrió la maravillosa idea de intentar compilar Bennugd para esta. Descargue el SDK de la scene (No el oficial)  llamado libnx y descargue las librerías SDL2 y demás y bueno sin tener mas bien poca idea de esto, descargue el código fuente de la versión monolítica, y modifique un poco el makefile, y bueno parece que he ido avanzando un poco, hasta que he llegado a este tipo de error, que no se que significa, y a ver si alguien me podría echar un cable, ya que estaría muy bien una versión de bennugd para esta consola híbrida, os dejo una captura con el error:
Saludos!
You cannot view this attachment.

Drumpi

No sé si SplinterGU se sigue pasando por aquí o si se sigue vengando de Shredder :D pero él es el que mejor te puede ayudar. No sé si con la versión monolítica, pero, tiene pinta de que hay algo que falta por implementar.
¿Qué revisión es la que estás compilando? Ya se que Splinter se cabrea cada vez que lo digo, pero yo prefiero usar versiones que no sean la última por el tema de la estabilidad. Si no recuerdo mal, las últimas versiones estaban teniendo problemas con gráficos o no se qué, y la última release que tengo es la 338, cuando ya iba por la r342 o así. Ya empecé a trabajar, se me redujeron las ganas y el tiempo y dejé de estar tan al día.

Si no, coméntalo por Discord, y que se pase alguien por aquí a responder, ya que los responsables de la monolítica se pasan por allí.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Goku jr

Buenas!
Gracias por responder, estoy usando la monolítica de Joseba : https://gitlab.com/josebagar/bennugd-monolithic
Hable con Splinter via discord y me dijo que me faltaba la libbgdrtm.
Me dijo que probara con su repositorio, pero lo unico que he conseguido son mas errores, la verdad que mi nivel de c es muy básico y esto solo eran pruebas por mi parte de conseguir que esto funcionase, pero la verdad es que es mas complicado de lo que me temía xd, los ejemplos que vienen con el SDK (Libnx) los compilo sin problema, pero claro aqui seguramente se tengan que hacer bastantes cambios.

Saludos!

Drumpi

Sí, a mi también me costó compilar la versión de GP2X, y tuve que tener a Splinter al otro lado del chat. Me faltaban varias librerías como la libCrypto, que tenía que instalarla en Linux, o descargarla para Windows, y aún así otras dependencias daban el mismo error.

Tienes que resolver las dependencias una a una, pero cuando lo consigas, el make ya lo hace todo por ti... al menos, en la versión de Splinter, la monolítica no sé cómo va. Si estás usando un IDe, este te dará más información que un simple "configure & make".
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Goku jr

Buenas
Si eso lo se una a una, pero lo que no se donde sacar la libbgdrtm, por mas que miro en internet, todas me llevan algun repo de bennugd y teoricamente estaria dentro de una carpeta ./libs dentro de la carpeta bgdrtm, y ni rastro.
Seguro que me estoy dejando algo, aunque bueno estos dias con el curro y el Final fantasy 16 tengo poco tiempo.
Saludos

panreyes

Buenas Goku. La libbgdrtm es una librería de BennuGD: LIB BennuGD RunTiMe

No te sabría decir, pero hasta donde sé creo que el problema que tienes está relacionado con el linker.

No tengo tiempo para averiguar qué problema te da, pero creo que la vía de BennuGD-Monolithic es la más práctica porque cuentas con cmake y utilizar librerías externas en Nintendo Switch probablemente sea más complicado que tener un único binario monolítico.

Goku jr

Buenas!
Si, lo de la librería lo se, pero ¿donde la consigo? del propio código fuente compilando?, ya te digo Splinter me dijo que era lo que me faltaba, por eso los errores de undefined reference...
lo del cmake ya lo intente, el problema es que no veo ningún ejemplo para el sdk de switch e intentar crear uno de 0 lo único que conseguía era un error que me decia que no encontraba el compilador xD. (Todos los ejemplos de Libnx vienen en makefile)
Saludos

Drumpi

Mmmm, no sé, me viene a la memoria que, antes de compilar el propio BennuGD, había que compilar otra cosa previamente, seguramente sea esa librería.
¿Dónde conseguirla? Pues tiene pinta de que es cosa del propio BennuGd, por lo que el código fuente debería estar, si no en el código monolítico, en la repo oficial de BennuGD. Ahora bien, no sé eso cómo encaja con la versión monolítica porque los compiladores que yo he usado, o son de muy bajo nivel (más bajo que el make), o de muy alto nivel (pulsar el botón de "compile and run").

Oye, Panreyes ¿Has visto mi mensaje sobre la wiki?
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Goku jr

Buenas
Tiene pinta que esa librería se crea a mitad de compilación.
Por cierto, yo si que vi tu mensaje de la wiki.
Saludos