Ports

From SRB2 Wiki
(Redirected from Linux)
Jump to navigation Jump to search

This article is a list of ports of SRB2 to platforms other than Windows. SRB2 has been ported to a variety of different platforms during its lifetime, including other operating systems such as Linux and macOS, but also gaming consoles such as Dreamcast, PSP and Wii. Currently, the only ports that are officially maintained and supported are the ones for Linux and macOS. Other ports were either never finished or only support outdated versions of SRB2.

Ports of SRB2 to other platforms typically attempt to provide an identical experience to the Windows version, with some allowances made for the limitations of the respective platform. For example, many of the console ports exhibit lag in larger levels because the console hardware is less powerful than that of a modern PC.

During the v2.0 era, a thread was maintained on the SRB2 Message Board which contained binaries of SRB2 for different platforms.[1] Currently, no such collection of ports exists for the latest version of SRB2; instead, users have to download the binaries from their respective GitHub repositories or compile them themselves from the source code.

Maintained ports

The only ports that are currently officially maintained are the ones for Linux and macOS. Experimental official builds for these are released on srb2.org, with the more stable Windows versions. Additionally, SRB2's GitHub repository does automatic build jobs for these ports via Travis CI to ensure that they compile. Gameplay-wise, there is no difference between these ports and the Windows version of SRB2.

During the v2.0 era, official builds were maintained for Linux and macOS. Community member Callum maintained Yum and APT repositories for SRB2 Linux for the i386, x86-64, PowerPC and ARM architectures, as well as standalone packages.[2] Development team member Alam maintained the official macOS builds in his port thread on the SRB2 Message Board.[1] They are universal binaries which works on both PowerPC and Intel architectures.

Android

SRB2 on Android is a formerly-official port of SRB2 v2.2 on Android devices by community member LZA. A previous attempt on an Android port was once worked on by orospakr during the v2.1 era, then was later overtaken then by LZA sometime in the early v2.2 era and it's source code was made public early on. The first public pre-release build for v2.2.2 was released on May 8th, 2020 on his GitHub. Official support from Sonic Team Jr. started in v2.2.5,[3] but ended in v2.2.9, making it the last official Android release.[4] Builds for v2.2.10 and later are still being released, albeit not officially supported.[5] The Android port features touch screen and tilt controls with plenty of options for it's customization, and a Native resolution feature, allowing true full screen on aspect ratios other than 16:9 or 4:3 at any scale. The port also features a custom OpenGL ES-based hardware renderer.

Nintendo Switch

SRB2 Switch is an unofficial port of SRB2 v2.1.25 and later v2.2 to Nintendo Switch. It was initially released as a test build based on version v2.1.20 by carstene1ns on June 23rd, 2018. A proper release of the port was released by heyjoeway on February 8th, 2019, and updated to 2.1.25 on August 19th.[6] It has since been updated to 2.2 and later versions on December 8th, 2019 until v2.2.10.[7] After heyjoeway lost interest in maintaining SRB2 for Nintendo Switch, PASRC resumed maintenence and updated the Switch port to v2.2.11 on September 2nd, 2023[8] and v2.2.13 on September 9th[9]. It features full online support, full mouse/keyboard support and full software keyboard support, allowing the console and in-game chat to be used. It runs mostly at 35 FPS. However, the OpenGL renderer does not work and it lacks MIDI support, nor do Split joy-cons work.

Xbox Series X & Series S, Windows 10 & Windows 11 (Universal Windows Platform)

SRB2 UWP is an unofficial port of SRB2 v2.2 to Universal Windows Platform by community member aerisarn. It was released on April 8th, 2024.[10] Although this port was primarily made with the Xbox Series X & Series S in mind, As a universal app, it also works on Windows 10 & 11. On Xbox Series X & S, this release is notable for having the highest performance of any console port of the game to date. This port currently lacks online and MIDI support.

Unmaintained/abandoned ports

These are ports of SRB2 that were once made in the past, but are currently not maintained and have possibly been abandoned. Support for these ports exists in SRB2's source code, but it might be incomplete or out of date. It is currently unknown whether they can be compiled or if they would function properly even if they could be.

New Nintendo 3DS

SRB2 3DS was an unofficial port of SRB2 v2.1.20 to New 3DS. It was released on December 23rd, 2018[11] by derrek, a known vulnerability researcher and homebrew developer. The port featured a custom graphics renderer to specifically take advantage of the hardware, which allows it to run at its full framerate most of the time, and it even supported stereoscopic 3D. It lacks any way to input console commands in-game, but you can still run them using an autoexec.cfg console script, allowing modifications to be loaded.

PlayStation Vita (PS Vita)

SRB2 Vita is based on SRB2 2.1.20, which serves as the base of the 3DS and the initial Switch ports.[12] Released on February 3, 2019 by Rinnegatamante[13], one of the most active developers on the system[14], the port is currently paused in a beta stage.[15] As this is an older version, many improvements to OpenGL aren't available, which results in a huge drop of framerate in large areas and rendering issues on levels as well as the introduction. File format supported for the audio is .ogg, sound effects/music that use MP3, MIDI and LMP (Doom) are not played. The in-game console commands is not accessible, but add-ons can be loaded using an autoexec.cfg console script.[12]

A compiled version of the port is made by DerpyBubblez a week after the release of Rinnegatamante.[12] Several eboot.bin files are available; depending on the build chosen, the game can be displayed at Vita's native resolution (960x544) or runs at PSP resolution (480x272). The latest builds include VitaGL but generate display issues when the camera is behind a liquid source.

All port-related files are available from this link: archives

Pandora

The Pandora uses a standard OMAP3 ARM-based Linux system with advanced graphics capabilities, so SRB2 builds for ARM Linux should work with the Pandora out of the box. SRB2 v1.09.4a was shown to work perfectly on the Pandora by Pickle, one of the Pandora developers.[16]

In June 2010, Pandora developer Pickle released the Pandora version of SRB2[17] (a port of SRB2 v2.0.6, the latest release at the time). It worked perfectly in terms of functionality, but as expected the performance was mediocre, unless the Pandora's processor was overclocked or the resolution was lowered. A later beta using OpenGL ES was released by Pickle in September 2010, which was reported to be faster than the June 2010 version.[18]

In May 2015, years later, a new but separate port of SRB2 to Pandora was released by ptitSeb.[19] This was most likely a port of v2.1.14, the most recent release of SRB2 at the time. Three versions were released, the latest of which was released in March 2016.

Discontinued ports

These were unmaintained/abandoned ports of SRB2 that formerly had support within SRB2's source code until v2.2's release, when support for them was removed.

Dreamcast

During the v1.08 and v1.09 eras, team members Alam and Logan created four different demos to show that SRB2 could be run on the Dreamcast. In the first demo the player could only get as far as GFZ1 before the game crashed, but by the fourth demo it was possible to play up to THZ2 despite severe lag in larger areas. Sound effects worked, but no music could be played. Splitscreen mode worked decently in some maps. Additional WAD files could be loaded with the console when a Dreamcast keyboard was used. It is unknown what state the Dreamcast port is currently in at this point.

GP2X

A port of SRB2 v1.09.4 to the GP2X Wiz was released by Pickle on May 20th 2009[20], but without music.

PlayStation 3 (PS3)

A port of SRB2 v2.0 to the PS3 was made by Callum and released on the SRB2 Message Board, though it was untested at the time and not known whether it worked at all.[21]

PlayStation Portable (PSP)

A port of SRB2 v2.0.6 to the PSP is available in Alam's port thread on the SRB2 Message Board.[1] When trying to load most levels, the game will crash, and the framerate will be greatly reduced in large areas.

Wii

SRB2Wii was an unofficial port of SRB2 v2.0 to the Wii, mainly worked on by community member Callum. More information can be found in Callum's SRB2Wii userpage article on the WiiBrew wiki.

There were two main distributions of SRB2Wii:

  • A Wii Linux-based distribution that runs the PowerPC Linux version of SRB2[22] – This features working controls and partial netgame support, but sometimes inadequate performance in CPU-intensive maps. The latest version of this distribution, v2.0.0 Release Candidate 4, was released in November 27th 2010, and is based on SRB2 v2.0.4.
  • A libogc-based distribution[21] – This features working controls and faster performance than the Wii Linux-based distribution. The latest version of this distribution was released in April 08, 2011, and is based on SRB2 v2.0.6.

DOS/Windows 9x

This port was the original version of SRB2; some of the earliest versions of SRB2 run only on these platforms. The Win32 (Windows 32-bit) version was itself a port originally, but eventually became the main platform for SRB2. From SRB2 2k3 onwards the DOS version was no longer included in releases, and support for it was officially dropped. Despite this, some support for DOS/Win9x still exists in SRB2's source code, and (as recently as 2014) a special build of SRB2 v2.1.8 for Windows 9x has been shown to be fully functional.[23]

Windows Mobile/Windows CE/Pocket PC

SRB2's source code contains an Embedded VC++ 4.0 project file as well as SDL libraries for the platform. However, these currently do not work.

Xbox

Some support exists in SRB2's source code for compiling SRB2 under OpenXDK (an open source compiler for Xbox games), but it is incomplete. Akirahedgehog was working with Alam to get it running, but it is unknown what state the port is currently in.

"Impossible" ports

This section lists platforms for which ports are often requested, but whose hardware is not powerful enough to run SRB2. Therefore, no playable ports exists for these platforms.

  • Game Boy Advance – Contrary to popular belief, the GBA has enough buttons to at least play SRB2, but not enough to assign a button to every function. However, the resources SRB2 requires to run are far greater than what the GBA can provide.
  • Nintendo DS – The resources SRB2 requires to run are far greater than what the DS can provide. The 3DS, however, might be able to run SRB2. A Nintendo DS port was made by developers Callum, Oogaland and Alam during the v2.0 era with the aim of optimizing SRB2's performance, but it ran out of memory before it got to the title screen.[21]

References