NetBSD: Difference between revisions

From Wii-Linux Wiki
Jump to navigation Jump to search
update seealso usage
Waterpear (talk | contribs)
update for 11.0; more detailed hardware support comparison
Line 1: Line 1:
{{seealso|[https://netbsd.org/ Official NetBSD Website]}}
{{seealso|[https://netbsd.org/ Official NetBSD Website]}}


'''NetBSD''' is one of the BSD operating systems, descended from the Berkeley System Distribution. Starting with version 10.0, NetBSD supports the [[Wii]] as a first class platform.
'''NetBSD''' is one of the BSD operating systems, descended from the Berkeley System Distribution. Starting with version 10.0, NetBSD supports the [[Wii]] as a first class platform, with further enhancements to hardware support added in version 11.0.


=== Comparison with Wii-Linux ===
=== Comparison with Wii-Linux ===
* [[Wii-Linux]] is launched from [[BootMii]] via [[Gumboot]] or [[NPLL]]. NetBSD is started from the [[Homebrew Channel]], or, as of NetBSD 11.0, from BootMii via a NetBSD-specific bootloader.


* [[Wii-Linux]] is launched from boot2 via [[Gumboot]] or [[NPLL]]. While NetBSD has boot2 support in the current branch, as of May 2025, release builds are started via the Homebrew Channel.
* When NetBSD starts from the Homebrew Channel, it can only use MEM2. Wii-Linux is able to use part of MEM1 as system RAM, as can NetBSD if started from BootMii.
 
* NetBSD's init system is ''much'' simpler and lighter than systemd.
* Wii-Linux is able to use part of MEM1 as system RAM, while NetBSD only seems to use MEM2. Hence, a Wii-Linux system has access to more RAM. (This is somewhat mitigated by the NetBSD init system being ''much'' simpler than systemd.)


* The Wii-Linux [[ArchPOWER]] image has better menu-driven configuration tools. While NetBSD's <code>sysinst</code> can be used for tasks like network configuration, it is not as easy to use as tools like <code>nmtui</code> or [[ConfigMii]].
* The Wii-Linux [[ArchPOWER]] image has better menu-driven configuration tools. While NetBSD's <code>sysinst</code> can be used for tasks like network configuration, it is not as easy to use as tools like <code>nmtui</code> or [[ConfigMii]].


* NetBSD's package manager is not included as part of the base system, and has to be installed using <code>sysinst</code>.
* NetBSD's package manager is not included as part of the base system, and has to be installed using <code>sysinst</code>.
* USB used to be more stable in NetBSD compared to Wii-Linux, but as of the mainline Wii-Linux kernel's release, USB should be about as stable as NetBSD.


* The framebuffer driver in both Wii-Linux and NetBSD emulates RGB colors, so graphical software doesn't have to be rewritten for the Wii's YUYV framebuffer.  NetBSD's driver does this via the [[Hardware/GX|GX]] GPU, using a scratch framebuffer in memory, copying into the EFB (via the CPU) every frame, and then using GX to do the conversion + copy back to the XFB.  Linux does this via software math.  Both approaches have similar performance.
* The framebuffer driver in both Wii-Linux and NetBSD emulates RGB colors, so graphical software doesn't have to be rewritten for the Wii's YUYV framebuffer.  NetBSD's driver does this via the [[Hardware/GX|GX]] GPU, using a scratch framebuffer in memory, copying into the EFB (via the CPU) every frame, and then using GX to do the conversion + copy back to the XFB.  Linux does this via software math.  Both approaches have similar performance.
 
* Wii-Linux has more complete hardware support in some areas:
* As of May 2025, NetBSD doesn't have drivers for [[GameCube Controller]] or the [[USB Gecko]], and the driver for the internal Wi-Fi adapter is not yet available in release builds.
** Recent versions of Wii-Linux present the EXI bus as SPI, allowing the use of SPI drivers (most notably using the mmc-spi driver for SD Gecko support). NetBSD has a bespoke SPI stack, with driver support limited to the RTC and the USB Gecko.
** Because NetBSD has no general "game pad" or "joystick" input abstraction, the [[Hardware/Serial Interface|SI]] driver simulates a USB hub and presents [[GameCube Controller|GameCube controllers]] as USB game controllers.
** NetBSD has no [[GameCube]] support whatsoever.
* NetBSD has superior hardware support in other areas:
** There seems to be a wider array of USB drivers enabled in NetBSD, so many devices will work on NetBSD but not Linux.
** The NetBSD driver for the Wii's [[Wii Hardware/BCM4318|BCM4318]] Wi-Fi has been reported to be faster and more stable than Linux's driver (although performance is still not good.)
** NetBSD has support for Hollywood's AES engine. Allegedly, this is used for accelerating WPA as well as disk encryption.

Revision as of 23:23, 17 October 2026

See also: Official NetBSD Website

NetBSD is one of the BSD operating systems, descended from the Berkeley System Distribution. Starting with version 10.0, NetBSD supports the Wii as a first class platform, with further enhancements to hardware support added in version 11.0.

Comparison with Wii-Linux

  • When NetBSD starts from the Homebrew Channel, it can only use MEM2. Wii-Linux is able to use part of MEM1 as system RAM, as can NetBSD if started from BootMii.
  • NetBSD's init system is much simpler and lighter than systemd.
  • The Wii-Linux ArchPOWER image has better menu-driven configuration tools. While NetBSD's sysinst can be used for tasks like network configuration, it is not as easy to use as tools like nmtui or ConfigMii.
  • NetBSD's package manager is not included as part of the base system, and has to be installed using sysinst.
  • The framebuffer driver in both Wii-Linux and NetBSD emulates RGB colors, so graphical software doesn't have to be rewritten for the Wii's YUYV framebuffer. NetBSD's driver does this via the GX GPU, using a scratch framebuffer in memory, copying into the EFB (via the CPU) every frame, and then using GX to do the conversion + copy back to the XFB. Linux does this via software math. Both approaches have similar performance.
  • Wii-Linux has more complete hardware support in some areas:
    • Recent versions of Wii-Linux present the EXI bus as SPI, allowing the use of SPI drivers (most notably using the mmc-spi driver for SD Gecko support). NetBSD has a bespoke SPI stack, with driver support limited to the RTC and the USB Gecko.
    • Because NetBSD has no general "game pad" or "joystick" input abstraction, the SI driver simulates a USB hub and presents GameCube controllers as USB game controllers.
    • NetBSD has no GameCube support whatsoever.
  • NetBSD has superior hardware support in other areas:
    • There seems to be a wider array of USB drivers enabled in NetBSD, so many devices will work on NetBSD but not Linux.
    • The NetBSD driver for the Wii's BCM4318 Wi-Fi has been reported to be faster and more stable than Linux's driver (although performance is still not good.)
    • NetBSD has support for Hollywood's AES engine. Allegedly, this is used for accelerating WPA as well as disk encryption.