Need help with Plutonium?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

XorTroll
180 Stars 36 Forks MIT License 144 Commits 12 Opened issues

Description

An easy-to-use UI framework for Nintendo Switch homebrew

Services available

!
?

Need anything else?

Contributors list

# 85,683
Shell
nintend...
Homebre...
C
36 commits
# 236,404
C
Lua
Homebre...
libnx
7 commits
# 331,447
nintend...
Homebre...
C
libnx
2 commits
# 355,927
Homebre...
C++
Shell
GraphQL
1 commit
# 53,644
bspwm
i3block...
bitbuck...
opencl
1 commit
# 291,420
Objecti...
CSS
Homebre...
libnx
1 commit
# 655,471
C++
C
Homebre...
horizon
1 commit

Plutonium - an easy-to-use UI framework for Nintendo Switch homebrew

What is Plutonium?

Plutonium is a high-level, C++ graphics library with the aim of making Nintendo Switch homebrew UIs in a more user-firendly way.

It uses libnx and SDL2, so both libraries are required.

To be more exact, this libraries should be installed via pacman:

switch-sdl2 switch-sdl2_ttf switch-sdl2_image switch-sdl2_gfx switch-sdl2_mixer switch-mesa switch-glad switch-glm switch-libdrm_nouveau switch-libwebp switch-libpng switch-freetype switch-bzip2 switch-libjpeg-turbo switch-opusfile switch-libopus

Internal structure and performance

Plutonium internally uses SDL2 for UI rendering.

Plutonium's API is based on WPF/WinForms's system. The user doesn't directly interact with the rendering, as it's done via a main rendering system and different objects to render.

Check the basic example for a basic usage of the libraries. In case you want to see a really powerful app which really shows what Plutonium is capable of, take a look at Goldleaf, uLaunch or many other homebrew apps made using this libraries.

Check the documentation for a more detailed explanation of the library's usage.

Using this libraries

On the releases page you have all the released versions. All of them are zipped files, containing

include
and
lib
directories.

Simple project layout

This is how a regular Plutonium project would (more or less) have its Makefile and project layout using Plutonium:

  • Makefile
...

LIBS := -lpu -lfreetype -lSDL2_mixer -lopusfile -lopus -lmodplug -lmpg123 -lvorbisidec -logg -lSDL2_ttf -lSDL2_gfx -lSDL2_image -lSDL2 -lEGL -lGLESv2 -lglapi -ldrm_nouveau -lwebp -lpng -ljpeg sdl2-config --libs freetype-config --libs -lnx LIBDIRS := $(PORTLIBS) $(LIBNX) $(CURDIR)/Plutonium

...

  • Project directory
Project
 |
 |-- Makefile
 |-- source
 |-- include
 |-- Plutonium
      |
      |-- include
      |-- lib

Building

Clone the repository, cd into

Plutonium
directory and run
make
.

You will need devkitPro, libnx and all the libraries mentioned above installed via pacman.

Support

If you would like to be more informed about my projects' status and support, you should check my Discord server. It's a simple server for Nintendo homebrew and hacking stuff, focused on my projects. If you would like to take part in testing .

If you like my work, you should take a look at my Patreon page!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.