In software engineering , porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally designed for (e.g., different CPU , operating system, or third party library ). The term is also used when software/hardware is changed to make them usable in different environments.
42-551: Asahi Linux is a project that ports the Linux kernel and related software to Apple Silicon -powered Macs , started and led by Hector Martin . It does so by reverse-engineering the SoCs which lack documentation from Apple. Shortly after Apple announced their transition away from Intel x86 processors in late 2020, Linux creator Linus Torvalds expressed interest in Linux support for
84-460: A PC without the need for actual porting (instead relying on the common porting of individual component libraries ). Porting arcade games to home systems with inferior hardware was difficult. The ported version of Pac-Man for the Atari 2600 omitted many of the visual features of the original game to compensate for the lack of ROM space and the hardware struggled when multiple ghosts appeared on
126-405: A cheaper solution). The number of significantly different CPUs and operating systems used on the desktop today is much smaller than in the past. The dominance of the x86 architecture means that most desktop software is never ported to a different CPU. In that same market, the choice of operating systems has effectively been reduced to three: Microsoft Windows , macOS , and Linux . However, in
168-399: A home console with the same specifications. This allowed arcade perfect games to be played at home. A "console port" is a game that was originally made for a console before an identical version is created which can be played on a personal computer . This term has been widely used by the gaming community. The process of porting a game from a console to a PC is often regarded negatively due to
210-447: A machine independent intermediate code in order to enhance portability of the compiler and minimize design efforts. The intermediate language defines a virtual machine that can execute all programs written in the intermediate language (a machine is defined by its language and vice versa). The intermediate code instructions are translated into equivalent machine code sequences by a code generator to create executable code . It
252-439: A policy was not always feasible; Bunten stated that "M.U.L.E. can't be done for an Apple", and that the non-Atari versions of The Seven Cities of Gold were inferior. Compute!'s Gazette wrote in 1986 that when porting from Atari to Commodore the original was usually superior. The latter's games' quality improved when developers began creating new software for it in late 1983, the magazine stated. In porting arcade games ,
294-552: A presence in London and San Francisco, creating The Register USA at theregus.com through a joint venture with Tom's Hardware . In 2003, that site moved to theregister.com. That content was later merged onto theregister.co.uk. The Register carries syndicated content including Simon Travaglia 's BOFH stories. In 2010 The Register supported the successful launch of the Paper Aircraft Released into Space ,
336-460: A project they announced in 2009 that released a paper plane in the extreme upper atmosphere. The Register also ran the websites Register Hardware and Channel Register , which merged into The Register . In 2011 it was read daily by over 350,000 users according to the Audit Bureau of Circulations , rising to 468,000 daily and nearly 9.5 million monthly in 2013. In November 2011
378-517: A serious flaw in the design of their chips would require Microsoft , Apple , and Linux developers to release patches for their operating systems. On 12 October 2010 Martin Robbins of The Guardian accused The Register of misunderstanding climate science and misrepresenting a paper from the journal Nature in a manner that deliberately minimized the climate impact of human emissions. The Register published its "amusingly put-out 'response'"
420-451: Is portable when the cost of porting it to a new platform is significantly less than the cost of writing it from scratch. The lower the cost of porting software relative to its implementation cost, the more portable it is said to be. The term "port" is derived from the Latin portāre , meaning "to carry". When code is not compatible with a particular operating system or architecture ,
462-443: Is also possible to skip the generation of machine code by actually implementing an interpreter or JIT for the virtual machine. The use of intermediate code enhances portability of the compiler, because only the machine dependent code (the interpreter or the code generator) of the compiler itself needs to be ported to the target machine. The remainder of the compiler can be imported as intermediate code and then further processed by
SECTION 10
#1732776843968504-533: Is an in-depth resource on technologies and how they relate to business. Their stories are cited by major news sources and also used for backup information. Stories in other periodicals were based on their exposés . For instance, InformationWeek ran a story about The Register ' s story, as used as the source for a New York Times article. In September 2018, the Alexa ranking was #7,194. National Archives and Records Administration has archived part of
546-552: Is an owner and Linus Birtles is the managing director. Andrew Orlowski was the executive editor before leaving the website in May 2019. The Register was founded in London as an email newsletter called Chip Connection . In 1998 The Register became a daily online news source. Magee left in 2001 to start competing publications The Inquirer , and later the IT Examiner and TechEye . In 2002, The Register expanded to have
588-403: Is less complex and therefore easier to port than a code generator, because it is not able to do code optimizations due to its limited view of the program code (it only sees one instruction at a time, and users need a sequence to do optimization). Some interpreters are extremely easy to port, because they only make minimal assumptions about the instruction set of the underlying hardware. As a result,
630-541: Is no support for multiple page sizes in operation). The Apple GPU driver supports 4 kB and 16 kB pages. The project has been well received. A review in The Register said that it ran surprisingly well for alpha software that is still in development. Similarly, a review in Ars Technica was impressed by the amount of hardware that was already supported early in the project lifecycle. Porting Software
672-533: The Apple M1 Mac, but thought that the work to make this happen was too time-consuming for him to personally take on the necessary software development tasks. Martin announced the project in December 2020 and formally started work a month later in 2021, after securing crowd-sourced funding. Alyssa Rosenzweig , who developed the open-source graphics driver stack Panfrost , joined the project to help support
714-521: The Atari VCS became the console's killer app despite its differences, while the later Pac-Man port was notorious for its deviations from the arcade version. Arcade-accurate games became more prevalent starting in the 1990s as home consoles caught up to the power of arcade systems. Notably, the Neo Geo system from SNK , which was introduced as a multi-game arcade system, would also be offered as
756-755: The GNU Compiler Collection , which provides consistent programming languages on different platforms, and Autotools , which automates the detection of minor variations in the environment and adapts the software accordingly before compilation. The compilers for some high-level programming languages (e.g. Eiffel , Esterel ) gain portability by outputting source code in another high level intermediate language (such as C ) for which compilers for many platforms are generally available. Two activities related to (but distinct from) porting are emulating and cross-compiling . Instead of translating directly into machine code , modern compilers translate to
798-502: The embedded systems and mobile markets, portability remains a significant issue, with the ARM being a widely used alternative. International standards, such as those promulgated by the ISO , greatly facilitate porting by specifying details of the computing environment in a way that helps reduce differences between different standards-conforming platforms . Writing software that stays within
840-510: The Apple rewrites?" the audience shouted "No!" Garriott responded, "[otherwise] the Apple version will never get done. From a publisher's point of view that's not money wise". Others worked differently. Ozark Softscape , for example, wrote M.U.L.E. for the Atari first because it preferred to develop for the most advanced computers, removing or altering features as necessary during porting. Such
882-421: The Apple silicon graphics processing unit (GPU). The project has been made challenging by the lack of publicly available documentation of Apple's proprietary firmware . The developers quickly realized that just attempting to boot the Linux kernel compiled for Apple silicon's processor architecture ( AArch64 ) would be challenging, as it involved working out the functionality of proprietary Apple code used in
SECTION 20
#1732776843968924-545: The Asahi Linux installer in March 2022. The installer offered the choice of a desktop based on Arch Linux ARM , a minimal environment, or a basic UEFI environment for installing OpenBSD or alternate Linux distributions with support for Apple silicon via a bootable USB drive. Despite being able to launch a UEFI shell, booting Microsoft Windows is not supported, and there are no plans to do so, as it would involve modifying
966-674: The Asahi Linux team released an update with support for the M1 Ultra , Mac Studio , and early initial support for the M2 MacBook Pro. In August 2023, it was announced that Asahi was partnering with the Fedora Project to release the Fedora Asahi Remix, which would supersede the original Arch-based distribution as Asahi's flagship OS. The effort began in late 2021, and is an upstream-first project. The end goal of
1008-540: The Internet before execution can start on the target's Java virtual machine (JVM). Porting is also the term used when a video game designed to run on one platform, be it an arcade , video game console , or personal computer , is converted to run on a different platform, perhaps with some minor differences. From the beginning of video games through to the 1990s, "ports", at the time often known as "conversions", were often not true ports, but rather reworked versions of
1050-831: The Panfrost driver implementation, the Asahi Linux Project also made use of Gallium-3D and Rust for Linux based APIs for driver development. OpenCL is supported. KDE Plasma rendering is hardware accelerated, while video decoding is not. HDMI video output is only supported on the Apple silicon Mac mini , and there is no support for video via Thunderbolt although external displays can be used via DisplayLink docks. The operating system's kernel has been configured for and only supports 16 kB (for reason of performance) pages. Programs that do not (e.g. expect 4 kB or 64 kB pages) experience alignment problems when being mapped to memory. The page sizes set by Linux are global (there
1092-545: The UK and US each accounted for approximately 42% and 34% of page impressions respectively, with Canada being the next most significant origin of page hits at 3%. In 2012 the UK and US accounted for approximately 41% and 28% of page impressions respectively, with Canada at 3.61%. Channel Register covers computer business and trade news, which includes business press releases. News and articles for computer hardware and consumer electronics are covered by Reg Hardware . Reg Research
1134-729: The Web site. The Register has an editorial staff of 16 writers and production experts. Chris Williams is editor-in-chief. Paul Kunert is UK editor, Iain Thomson is US news editor and Simon Sharwood is Asia-Pacific editor. Columnists include Mark Pesce and Rupert Goodwins. On 6 February 2017, The Register linked a clock signal issue in Cisco hardware to a serious defect on Intel 's Atom C2000 series processors. Around 3 January 2018, The Register broke news about Google's long-ongoing investigation into Intel's processor design, which revealed that
1176-417: The boot process. The work was time-consuming and took most of the year, including submitting pull requests to the main Linux kernel developers to keep development in sync and avoid regressions. However, it subsequently led to a thorough and comprehensive explanation of the previously undocumented boot process, which Martin and others published on GitHub . The project released an experimental alpha version of
1218-602: The bounds specified by these standards represents a practical although nontrivial effort. Porting such a program between two standards-compliant platforms (such as POSIX.1 ) can be just a matter of loading the source code and recompiling it on the new platform, but practitioners often find that various minor corrections are required, due to subtle platform differences. Most standards suffer from "gray areas" where differences in interpretation of standards lead to small variations from platform to platform. There also exists an ever-increasing number of tools to facilitate porting, such as
1260-405: The code must be "carried" to the new system. The term is not generally applied to the process of adapting software to run with less memory on the same CPU and operating system. Software developers often claim that the software they write is portable , meaning that little effort is needed to adapt it to a new environment. The amount of effort actually needed depends on several factors, including
1302-411: The extent to which the original environment (the source platform ) differs from the new environment (the target platform ), the experience of the original authors in knowing which programming language constructs and third party library calls are unlikely to be portable, and the amount of effort invested by the original authors in only using portable constructs (platform specific constructs often provide
Asahi Linux - Misplaced Pages Continue
1344-455: The games due to the limitations of different systems. For example, the 1982 game The Hobbit , a text adventure augmented with graphic images, has significantly different graphic styles across the range of personal computers that its ports were developed for. However, many 21st century video games are developed using software (often in C++ ) that can output code for one or more consoles as well as for
1386-406: The higher levels of performance that computers generally have being underutilized, partially due to console hardware being fixed throughout their run (with games being developed for console specs), while PCs become more powerful as hardware evolves, but also due to ported games sometimes being poorly optimized for PCs, or lazily ported. While broadly similar, architectural differences may exist such as
1428-408: The latter machines' sprites and other sophisticated features made porting from them to Apple "far more difficult, perhaps even impossible". Reviews complained of ports that suffered from "Apple conversionitis", retaining the Apple's "lousy sound and black-white-green-purple graphics"; after Garriott's statement, when Dan Bunten asked "Atari and Commodore people in the audience, are you happy with
1470-404: The ported code generator or interpreter, thus producing the compiler software or directly executing the intermediate code on the interpreter. The machine independent part can be developed and tested on another machine (the host machine ). This greatly reduces design efforts, because the machine independent part needs to be developed only once to create portable intermediate code. An interpreter
1512-433: The project is to merge upstream all changes so that the project's distribution becomes unnecessary. In October 2023, Fedora Asahi Remix was released as a Beta, then 3 months later, as a stable. A Vulkan driver is in a working prototype and OpenGL 4.6 and OpenGL ES 3.2 are supported. This driver is currently the only fully-compliant AGX (Apple Silicon GPU) driver for any widespread graphics standard. While initially using
1554-475: The proprietary Windows kernel. While other projects that are attempting to study a possible port of Windows to these systems specified challenging roadblocks related to Windows handling the proprietary Apple Interrupt Controller (AIC), and the 16K pages only found on the IOMMU . Full support for all Apple silicon-supported Macs is not expected for another year or two following the first alpha release . In July 2022,
1596-573: The screen creating a flickering effect. The poor performance of the Atari 2600 Pac-Man is cited by some scholars as a cause of the video game crash of 1983 . Many early ports suffered significant gameplay quality issues because computers greatly differed. Richard Garriott stated in 1984 at Origins Game Fair that Origin Systems developed video games for the Apple II first then ported them to Commodore 64 and Atari 8-bit computers , because
1638-585: The target. According to the designers of the BCPL language, interpreted code (in the BCPL case) is more compact than machine code, typically by a factor of two to one. Interpreted code however runs about ten times slower than compiled code on the same machine. The designers of the Java programming language try to take advantage of the compactness of interpreted code, because a Java program may need to be transmitted over
1680-405: The terms "arcade perfect" or "arcade accurate" were often used to describe how closely the gameplay, graphics, and other assets on the ported version matched the arcade version. Many arcade ports in the early 1980s were far from arcade perfect as home consoles and computers lacked the sophisticated hardware in arcade games, but games could still approximate the gameplay. Notably, Space Invaders on
1722-406: The use of unified memory on a console. The Register The Register is a British technology news website co-founded in 1994 by Mike Magee and John Lettice. The online newspaper 's masthead sublogo is " Biting the hand that feeds IT ." The publication's primary focus is information technology news and opinions. Situation Publishing Ltd is the site's publisher. Drew Cullen
Asahi Linux - Misplaced Pages Continue
1764-402: The virtual machine is even simpler than the target CPU. Writing the compiler sources entirely in the programming language the compiler is supposed to translate, makes the following approach, better known as compiler bootstrapping , feasible on the target machine: The difficult part of coding the optimization routines is done using the high-level language instead of the assembly language of
#967032