Registrarse

[Decomp-GBA] Compilar versión estable de Porymap en WSL2 y Aceleración Gráfica WSLg

Hoennwalker

Profesional de WaH
Buenas,

Sé que estáis muy cómodos con vuestro porymap... Sin embargo, también sé que no os termina de convencer, ya que el proyecto está en la partición de Linux, porymap en Windows, y no nos queda del todo bien ordenadito. Así que, vamos a compilar porymap mediante WSL2, que así de paso tendremos velocidad de lectura y escritura máxima, no sé...

Desconozco desde qué versión de ubuntu se puede hacer esto, por lo que sería interesante que instaléis la versión más reciente. Esto no es actualizar WSL, es crear otra partición con otro ubuntu distinto.

Para la compilación vamos a necesitar Qt6 del package manager y g++.

Qt6 package manager:
Código:
sudo apt update
sudo apt install qt6-base-dev -y

Ahora tenemos que instalar dos librerías que nos hacen falta adicionalmente:
Código:
sudo apt install qt6-base-dev qt6-declarative-dev qt6-charts-dev -y

G++:
Que lo vamos a necesitar para compilar C, C++ y para poder compilar con "make -j$(nproc)".
Código:
sudo apt update
sudo apt install build-essential -y

Ya tenemos las herramientas, ahora nos bajamos el repositorio de porymap en la carpeta que quieras dentro de la partición de Linux. Para organizar todo lo relacionado con decompilación no estaría mal si te creas una carpeta "decompilacion".
Código:
mkdir -p decompilacion
cd ~/decompilacion
git clone https://github.com/huderlem/porymap.git

Lo que nos interesa es compilar la versión estable, así que vamos a seleccionar también la última versión:
Código:
cd porymap
git tag

Ahora vamos bajando con la flecha del teclado hasta encontrar la última versión, a día de hoy 6.2.0, y la seleccionamos de la siguiente manera:
Código:
git checkout 6.2.0
Ahora vamos a crear una carpeta build. Esto lo hacemos porque al crear precisamente la build, se generan una burrada de archivos y así los metemos todos ahí, que queda más ordenado. Y entramos en build:
Código:
mkdir -p build
cd build

Vamos con la creación de la build:
Código:
qmake6 ../porymap.pro -r
Eso hace qmake en /porymap y los archivos los mete en /porymap/build.

Y ahora para crear el ejecutable:
Código:
make -j$(nproc)

Finalmente podemos ejecutar porymap:
Código:
./porymap
1757286007629.png


Ahora vamos con la aceleración gráfica en WSLg en Windows 11. Antes de nada, cuando abres porymap con WSL, se carga con WSL graphics (WSLg). Y tiene su propio renderizado de gráficos, pero si dispones de una tarjeta gráfica medianamente moderna, puedes asignarla a WSLg por medio de la configuración de Windows. Lo haces de la siguiente manera:

Te vas a Configuración --> Pantalla --> Gráficos y pincha aquí:
1758221478101.png


Busca en esta ruta: C:\Program Files\WSL, selecciónala y pincha en agregar:
1758221582375.png


Una vez añadida, ya puedes buscarla en la lista y agregarle la tarjeta gráfica de alto rendimiento:
1758221701667.png

** NOTA: WSLg aún no es compatiblecon tarjetas gráficos duales.**
 
Última edición:

Erkey830

Fuck off!
Miembro del equipo
Moderador/a
Buenas,

Sé que estáis muy cómodos con vuestro porymap... Sin embargo, también sé que no os termina de convencer, ya que el proyecto está en la partición de Linux, porymap en Windows, y no nos queda del todo bien ordenadito. Así que, vamos a compilar porymap mediante WSL2, que así de paso tendremos velocidad de lectura y escritura máxima, no sé...

Desconozco desde qué versión de ubuntu se puede hacer esto, por lo que sería interesante que instaléis la versión más reciente. Esto no es actualizar WSL, es crear otra partición con otro ubuntu distinto.

Para la compilación vamos a necesitar Qt6 del package manager y g++.

Qt6 package manager:
Código:
sudo apt update
sudo apt install qt6-base-dev -y

Ahora tenemos que instalar dos librerías que nos hacen falta adicionalmente:
Código:
sudo apt install qt6-base-dev qt6-declarative-dev qt6-charts-dev -y

G++:
Que lo vamos a necesitar para compilar C, C++ y para poder compilar con "make -j$(nproc)".
Código:
sudo apt update
sudo apt install build-essential -y

Ya tenemos las herramientas, ahora nos bajamos el repositorio de porymap en la carpeta que quieras dentro de la partición de Linux. Para organizar todo lo relacionado con decompilación no estaría mal si te creas una carpeta "decompilacion". Y ya de paso procedemos con ese ejemplo:
Código:
cd ~/decompilacion
git clone https://github.com/huderlem/porymap.git

Ahora nos metemos dentro y creamos una carpeta build. Esto lo hacemos porque al crear precisamente la build, se generan una burrada de archivos y así los metemos todos ahí, que queda más ordenado. Y entramos en build:
Código:
cd porymap
mkdir -p build
cd build

Vamos con la creación de la build:
Código:
qmake6 ../porymap.pro -r
Eso hace qmake en /porymap y los archivos los mete en /porymap/build.

Y ahora para crear el ejecutable:
Código:
make -j$(nproc)

Finalmente podemos ejecutar porymap a 31 y 255 de speed:
Código:
./porymap
Ver el archivo adjunto 19537
gracias por este tuto necesario para conocimiento medio de los decompers!
 

StunxFS

Héroe de WaH
Buen tutorial, bro.

En respuesta a lo de la versión de Ubuntu necesaria: En teoría no debería de haber problema si se usa la versión LTS 22.04 en adelante (y cualquier otra distro basada en esta versión debería funcionar bien).

Y otra cosa, para poder ejecutar porymap desde cualquier parte, se podría crear un symlink del binario en /usr/local/bin, así no es necesario ir a dónde está ubicado el binario para ejecutarlo con una ruta relativa ;).
 
Arriba