NPLL: Difference between revisions

From Wii-Linux Wiki
Jump to navigation Jump to search
Update NPLL feature list / version / date
Add v0.6 updates and some more general info
 
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
NPLL is the [[Nintendo]] PowerPC Linux Loader - a bootloader that functions as a universal PowerPC binary, executable on all 3 of Nintendo's PowerPC consoles: the [[GameCube]], [[Wii]], and [[Wii U]].  It was created by [[User:Techflash|Techflash]] to replace the legacy [[Gumboot]], due to its many shortcomings.  It is currently the primary bootloader of the [[Wii-Linux]] project.
NPLL is the [[Nintendo]] PowerPC Linux Loader - a bootloader that functions as a universal PowerPC binary, executable on all 3 of Nintendo's PowerPC consoles: the [[GameCube]], [[Wii]], and [[Wii U]].  It was created by [[User:Techflash|Techflash]] to replace the legacy [[Gumboot]], due to its many shortcomings.  It is currently the primary bootloader of the [[Wii-Linux]] project.


As of July 26th, 2026, NPLL is currently at version v0.5.
As of October 14th, 2026, NPLL is currently at version v0.6.


== Features ==
== Features ==
Line 11: Line 11:
** Wii
** Wii
** Wii U
** Wii U
* Environment (what loaded NPLL) support
** Notes
*** This is a non-exhaustive list, it is quite likely that other loaders work and are not mentioned here
*** Not all loaders support all output binary formats of NPLL, see [https://github.com/Wii-Linux/NPLL#output-files the README on GitHub] for more information
** GameCube
*** Swiss
** Wii
*** [[Homebrew Channel]]
*** [[MINI]] (via [[BootMii]]-as-boot2 or -as-IOS, or exploits which load it)
*** NDEV Boot Program
*** Priiloader
*** [https://hackmii.com/2008/08/open-source-apploader-iso-template/ FOSS Apploader] (via System Menu)
*** Installed as TitleID 1-2 (System Menu), loaded by [[IOS]]
** Wii U
*** [[linux-loader]]
* Graphics support
* Graphics support
** [[GameCube Hardware/Flipper|Flipper]]/[[Wii Hardware/Hollywood|Hollywood]] Video Interface framebuffer
** [[GameCube Hardware/Flipper|Flipper]]/[[Wii Hardware/Hollywood|Hollywood]] Video Interface framebuffer
** [[Wii U Hardware/Latte|Latte]] R700 framebuffer
*** Mode autodetection (similar to libogc homebrew, and official SDK software) from:
**** GameCube:
***** Existing video state
***** IPL ROM
**** Wii:
***** Existing video state
***** SYSCONF and setting.txt from the [[SFFS]]
** [[Wii U Hardware/Latte|Latte]] R700 framebuffer (both TV and [[Wii U Hardware/DRC|DRC]])
* Text console output support
* Text console output support
** Framebuffer text console
** Framebuffer text console with multi-framebuffer output support
** [[Wii U Hardware/DRC|DRC]] text console over [[linux-loader]]'s [[IPC]] interface
** [[USB Gecko]] text console over EXI
** [[USB Gecko]] text console over EXI
* Block storage support
* Block storage support
** SD Cards over Hollywood/Latte [[Shared Hardware/SDHCI|SDHCI]]
** SD Cards over Hollywood/Latte [[Hardware/SDHCI|SDHCI]]
** eMMC over Latte SDHCI
** eMMC over Latte SDHCI
** SD Cards in an [[SD Gecko]] over EXI
** SD Cards in an [[SD Gecko]] over EXI
** [[Wii Hardware/NAND|NAND]] over Hollywood/Latte [[Shared Hardware/NAND Interface|NAND Interface]]
** [[Wii Hardware/NAND|NAND]] over Hollywood/Latte [[Hardware/NAND Interface|NAND Interface]]
** [[NROM]], DVD-ROM (in compatible drives), and DVD-R (in compatible drives), over [[Wii Hardware/Drive Interface|Hollywood Drive Interface]]
** [[NROM]], DVD-ROM (in compatible drives), and DVD-R (in compatible drives), over [[Hardware/Drive Interface|DI]] on the Wii
** NROM, miniDVD-ROM, and miniDVD-R over [[GameCube Hardware/Drive Interface|Flipper Drive Interface]]
** NROM, miniDVD-ROM, and miniDVD-R over [[Hardware/Drive Interface|DI]] on the GameCube
** USB Mass Storage
** USB Mass Storage
* Filesystem support
* Filesystem support
Line 31: Line 52:
** ISO9660 on optical storage media
** ISO9660 on optical storage media
** [[SFFS]] on NAND
** [[SFFS]] on NAND
** [[WFS]] on [[Wii U Hardware/eMMC|Wii U eMMC/MLC]]
* Partition table support
* Partition table support
** MBR
** MBR
*** Extended partitions
*** Extended partitions
** GPT
** GPT
** Statically ddefined (e.g. on NAND)
** Statically defined (e.g. on NAND)
** No partitions (use whole device)
** No partitions (use whole device)
* Input support
* Input support
** Wii/Wii U front buttons via Hollywood [[GPIO]] and [[Shared Hardware/Processor Interface|Processor Interface]]
** Wii front buttons via Hollywood [[GPIO]] and [[Hardware/Processor Interface|Processor Interface]]
** [[GameCube Controller]], GameCube Keyboard, and N64 Controller, via Flipper/Hollywood [[SI|Serial Interface]]
** Wii U front buttons via [[Wii U Hardware/SMC|Wii U SMC]]
** [[GameCube Controller]], GameCube Keyboard, and N64 Controller, via Flipper/Hollywood [[Hardware/Serial Interface|Serial Interface]]
** USB HID Keyboards, via Hollywood/Latte OHCI/EHCI
** USB HID Keyboards, via Hollywood/Latte OHCI/EHCI
** DRH (Wii U GamePad Host) via Hollywood/Latte OHCI/EHCI
** [[Wii U Hardware/DRH|DRH]] (Wii U GamePad Host) via Latte EHCI
** [[Wii Remote|Wii Remotes]] via Hollywood/Latte OHCI
* Executable support
* Executable support
** Standard ELF executable (incl. Linux <code>zImage</code>)
** Standard ELF executable (incl. Linux <code>zImage</code>)
** Linux <code>vmlinux</code>
** Linux <code>vmlinux</code>
** Standard DOL executable
** Standard DOL executable
** Wii channel
* Config format support
* Config format support
** Legacy Gumboot config (gumboot.lst)
** Legacy Gumboot config (<code>gumboot.lst</code>)
** NPLL config (npll.cfg)
** NPLL config (<code>npll.cfg</code>)
* Return-to-loader stub support
** GameCube ([[Swiss]]-compatible)
** Wii ([[Homebrew Channel|HBC]]-compatible)

Latest revision as of 07:54, 14 October 2026

Main Menu
The System Information screen

NPLL is the Nintendo PowerPC Linux Loader - a bootloader that functions as a universal PowerPC binary, executable on all 3 of Nintendo's PowerPC consoles: the GameCube, Wii, and Wii U. It was created by Techflash to replace the legacy Gumboot, due to its many shortcomings. It is currently the primary bootloader of the Wii-Linux project.

As of October 14th, 2026, NPLL is currently at version v0.6.

Features

[edit | edit source]
  • Console support
    • GameCube
    • Wii
    • Wii U
  • Environment (what loaded NPLL) support
    • Notes
      • This is a non-exhaustive list, it is quite likely that other loaders work and are not mentioned here
      • Not all loaders support all output binary formats of NPLL, see the README on GitHub for more information
    • GameCube
      • Swiss
    • Wii
    • Wii U
  • Graphics support
    • Flipper/Hollywood Video Interface framebuffer
      • Mode autodetection (similar to libogc homebrew, and official SDK software) from:
        • GameCube:
          • Existing video state
          • IPL ROM
        • Wii:
          • Existing video state
          • SYSCONF and setting.txt from the SFFS
    • Latte R700 framebuffer (both TV and DRC)
  • Text console output support
    • Framebuffer text console with multi-framebuffer output support
    • USB Gecko text console over EXI
  • Block storage support
    • SD Cards over Hollywood/Latte SDHCI
    • eMMC over Latte SDHCI
    • SD Cards in an SD Gecko over EXI
    • NAND over Hollywood/Latte NAND Interface
    • NROM, DVD-ROM (in compatible drives), and DVD-R (in compatible drives), over DI on the Wii
    • NROM, miniDVD-ROM, and miniDVD-R over DI on the GameCube
    • USB Mass Storage
  • Filesystem support
    • FAT + exFAT, via FatFs, on standard storage media
    • ext2/3/4, via lwext4, on standard storage media
    • ISO9660 on optical storage media
    • SFFS on NAND
    • WFS on Wii U eMMC/MLC
  • Partition table support
    • MBR
      • Extended partitions
    • GPT
    • Statically defined (e.g. on NAND)
    • No partitions (use whole device)
  • Input support
  • Executable support
    • Standard ELF executable (incl. Linux zImage)
    • Linux vmlinux
    • Standard DOL executable
    • Wii channel
  • Config format support
    • Legacy Gumboot config (gumboot.lst)
    • NPLL config (npll.cfg)
  • Return-to-loader stub support
    • GameCube (Swiss-compatible)
    • Wii (HBC-compatible)