Welcome to the Mac OS X 10.6 Snow Leopard on PowerPC - Development Thread
In March of 2020, @Larsvonhier read a tweet by @system2048, who posted a screenshot of Snow Leopard running on a PowerPC Mac. It was one of the early 2008 Developer Previews of Mac OS X Snow Leopard.
On 21st April 2020 @Larsvonhier created the thread ‘Snow Leopard On Unsupported PowerPC Macs’.
Ever since that time, efforts to get Snow Leopard working on PowerPC systems have been ongoing and continued to be documented Here.
Special mention and thanks to Julian Fairfax and @parrotgeek1. 10.6 PPC.sh was a script shared by Julian Fairfax, based on an outline from @parrotgeek1 that allowed the first community members to begin tinkering with Snow Leopard on PowerPC.
What started out as an effort to explore, document and update a number of the available Snow Leopard Developer Previews that, when patched, are able to boot on PowerPC systems has continued over the years. These modifications were initially relatively easy to follow in the beginning but have grown more complex as time has passed.
On 26th April 2020 @vddrnnr began to test swapping components from Tiger and Leopard into 10A096. Following on from the step-by-step process outlined by @vddrnnr, this work was continued and rigorously tested and documented by @B S Magnet for build 10A096.
On 27th April 2020 @wicknix suggested that a restore image be created for the average user to be able to download and experience these early developer previews without having to perform modifications themselves.
@Larsvonhier created a table in the wikipost detailing kexts in 10.5.8 that reported as more recent than those found in 10A096 along with initial results of the testing of which could be transplanted.
On 29th April 2020 as further developer previews were being unearthed, in part due to @ASentientBot uploading them to the internet archive, @Larsvonhier requested that all found builds be shared on the thread, and would be added to the wikipost.
@jimjamyaha continued to report findings on kext versions and binary architectures across all discovered and shared builds.
@weckart confirmed that build 10A190 successfully installed on PowerPC using the same BootX and Kexts borrowed from Leopard for 10A096.
@vddrnnr identified that certain cups binaries copied from Leopard would fix some system issues.
On May 1st 2020 @Larsvonhier detailed the Kernel build numbers for 10A096-10A222 and attempted to get build 10A222 to boot on PowerPC using all 10A190 kexts.
It was here that it was first suggested that perhaps the right combination of components from different builds may be the way forward to getting 10A222, and later builds, functional on PowerPC.
On May 3rd 2020 @Larsvonhier provided
the first pre-installed image of Build 10A190. This disk image brought attention to the project and was featured on popular community forums, websites and YouTube channels such as Action Retro, with his ‘Impossible Cat’ videos.
It was at this time that @vddrnnr compiled the first project using the Xcode 3.2 beta, and demonstrated that some PowerPC functionality remained. This opened up the door for potentially bringing more recent third party software to PowerPC users that may not be possible if running Leopard.
May 13th 2020 @ChrisCharman joined the forum after following along, downloading all available images and ISOs and stated his intention to begin building system components from Apple Open Source Projects.
May 17th 2020 @ChrisCharman provided the developer preview seed notes for 10A190.
May 18th 2020 @vddrnnr discovered and shared a partial fix for graphics (no hardware acceleration but fixes ‘blocky images’ issue) using framework components from Leopard.
May 20th 2020 in response to a suggestion, that Snow Leopard on PowerPC be given a name, @Larsvonhier made the point that there was no need, that universal builds had always been named the same by Apple and that even classifying the builds as hybrid builds would be undesirable given that, as a community, we do not do this with Catalina/Mojave et al on unsupported machines simply because they borrow components from an earlier OS - Snow Leopard on PowerPC or SL_PPC should be enough to distinguish it from intel Snow Leopard.
May 21st 2020 @Larsvonhier predicts that at some point the project may split…one path ‘pimping’ 10A096 with components from Leopard and another upgrading 10A190/10A222 with updated ‘ingredients’.
On May 22nd 2020 @ChrisCharman
confirmed that building a more up-to-date toolchain, by using the bundled Xcode command-line tools, it was possible to compile system components from Apple Open Source Projects and that those updates would successfully restore some functionality to build 10A190 and potentially to later builds. @ChrisCharman then continued to build on this hypothesis, working through AOSP one-by-one, with an aim to replace as much of the base system as possible to match the retail release of Snow Leopard, but this time with full PowerPC compatibility.
On April 20th 2024 @educovas shared a hardware graphics acceleration patch using the @ASentientBot stubber tool which uses nm to compare the 10.6 and 10.5.8 binaries, identifies the missing newer functions and generates the stubs. These stubs were combined with components from 10.5.8 Leopard to fix the graphical issues on the early developer previews.
On April 28th 2024 @educovas provided a modified version of Developer Build 10A222. This build was made possible using PowerPC components from 10A190 and compiling from some Apple Open Source Projects.
As the source code for build 10A222 is not publicly available, this disk image depended on the 10.6.0d3 included kernel and was incompatible with some PowerPC systems, particularly G5’s, including some G4 machines.
@ChrisCharman was able to confirm that replacing the kernel with the debug version would allow the system to function on a greater number of G4 models, indicating that something had become incompatible or stripped for PowerPC in the stock 10A222 kernel.
May 13th-15th 2024
@educovas shared that they had successfully managed to get to a functional desktop with a newly compiled 10A432 release kernel, which was built from AOSP Xnu along with:
file
notifyd
Securityd
kext_tools
DirectoryService
autofs
xnu
The UI was mostly fixed, all apps were taken from older PowerPC compatible builds (mostly the same files taken from 10A190 and 10.5.8 to get 10A222 working) and what was compatible from the 10.6.1(10B504) update was also applied. This was a relatively small update provided by Apple originally and still very similar to GM(10A432). Of note; libSystem, some frameworks and IOSCSIArchitectureModelFamily kext were still compatible with PowerPC.
WiFi and Bluetooth were no longer functioning however. WiFi would connect but access to the internet was apparently not possible (Self-Assigned IP error). The same applied to a direct Ethernet connection.
Without access to the internet @educovas felt that the wall had finally been hit.
@educovas shared a zipped folder with all replaced files and instructions on what needed to be changed in the XNU sources to build the 10A432 kernel.
Though an image was never shared of this build on the thread, @ChrisCharman later followed the XNU code changed and was able to confirm a successful build of the 10A432 kernel for PowerPC.
On 27th April 2020 @wicknix suggested that a restore image be created for the average user to be able to download and experience these early developer previews without having to perform modifications themselves.
@Larsvonhier created a table in the wikipost detailing kexts in 10.5.8 that reported as more recent than those found in 10A096 along with initial results of the testing of which could be transplanted.
On 29th April 2020 as further developer previews were being unearthed, in part due to @ASentientBot uploading them to the internet archive, @Larsvonhier requested that all found builds be shared on the thread, and would be added to the wikipost.
@jimjamyaha continued to report findings on kext versions and binary architectures across all discovered and shared builds.
@weckart confirmed that build 10A190 successfully installed on PowerPC using the same BootX and Kexts borrowed from Leopard for 10A096.
@vddrnnr identified that certain cups binaries copied from Leopard would fix some system issues.
On May 1st 2020 @Larsvonhier detailed the Kernel build numbers for 10A096-10A222 and attempted to get build 10A222 to boot on PowerPC using all 10A190 kexts.
It was here that it was first suggested that perhaps the right combination of components from different builds may be the way forward to getting 10A222, and later builds, functional on PowerPC.
On May 3rd 2020 @Larsvonhier provided
the first pre-installed image of Build 10A190. This disk image brought attention to the project and was featured on popular community forums, websites and YouTube channels such as Action Retro, with his ‘Impossible Cat’ videos.
It was at this time that @vddrnnr compiled the first project using the Xcode 3.2 beta, and demonstrated that some PowerPC functionality remained. This opened up the door for potentially bringing more recent third party software to PowerPC users that may not be possible if running Leopard.
May 13th 2020 @ChrisCharman joined the forum after following along, downloading all available images and ISOs and stated his intention to begin building system components from Apple Open Source Projects.
May 17th 2020 @ChrisCharman provided the developer preview seed notes for 10A190.
May 18th 2020 @vddrnnr discovered and shared a partial fix for graphics (no hardware acceleration but fixes ‘blocky images’ issue) using framework components from Leopard.
May 20th 2020 in response to a suggestion, that Snow Leopard on PowerPC be given a name, @Larsvonhier made the point that there was no need, that universal builds had always been named the same by Apple and that even classifying the builds as hybrid builds would be undesirable given that, as a community, we do not do this with Catalina/Mojave et al on unsupported machines simply because they borrow components from an earlier OS - Snow Leopard on PowerPC or SL_PPC should be enough to distinguish it from intel Snow Leopard.
May 21st 2020 @Larsvonhier predicts that at some point the project may split…one path ‘pimping’ 10A096 with components from Leopard and another upgrading 10A190/10A222 with updated ‘ingredients’.
On May 22nd 2020 @ChrisCharman
confirmed that building a more up-to-date toolchain, by using the bundled Xcode command-line tools, it was possible to compile system components from Apple Open Source Projects and that those updates would successfully restore some functionality to build 10A190 and potentially to later builds. @ChrisCharman then continued to build on this hypothesis, working through AOSP one-by-one, with an aim to replace as much of the base system as possible to match the retail release of Snow Leopard, but this time with full PowerPC compatibility.
On April 20th 2024 @educovas shared a hardware graphics acceleration patch using the @ASentientBot stubber tool which uses nm to compare the 10.6 and 10.5.8 binaries, identifies the missing newer functions and generates the stubs. These stubs were combined with components from 10.5.8 Leopard to fix the graphical issues on the early developer previews.
On April 28th 2024 @educovas provided a modified version of Developer Build 10A222. This build was made possible using PowerPC components from 10A190 and compiling from some Apple Open Source Projects.
As the source code for build 10A222 is not publicly available, this disk image depended on the 10.6.0d3 included kernel and was incompatible with some PowerPC systems, particularly G5’s, including some G4 machines.
@ChrisCharman was able to confirm that replacing the kernel with the debug version would allow the system to function on a greater number of G4 models, indicating that something had become incompatible or stripped for PowerPC in the stock 10A222 kernel.
May 13th-15th 2024
@educovas shared that they had successfully managed to get to a functional desktop with a newly compiled 10A432 release kernel, which was built from AOSP Xnu along with:
file
notifyd
Securityd
kext_tools
DirectoryService
autofs
xnu
The UI was mostly fixed, all apps were taken from older PowerPC compatible builds (mostly the same files taken from 10A190 and 10.5.8 to get 10A222 working) and what was compatible from the 10.6.1(10B504) update was also applied. This was a relatively small update provided by Apple originally and still very similar to GM(10A432). Of note; libSystem, some frameworks and IOSCSIArchitectureModelFamily kext were still compatible with PowerPC.
WiFi and Bluetooth were no longer functioning however. WiFi would connect but access to the internet was apparently not possible (Self-Assigned IP error). The same applied to a direct Ethernet connection.
Without access to the internet @educovas felt that the wall had finally been hit.
@educovas shared a zipped folder with all replaced files and instructions on what needed to be changed in the XNU sources to build the 10A432 kernel.
Though an image was never shared of this build on the thread, @ChrisCharman later followed the XNU code changed and was able to confirm a successful build of the 10A432 kernel for PowerPC.
We have now reached a stage where a work in progress community created image (alpha version 3) of 10.6.8 is available, currently using 'donor parts' from Developer Build 10A190 and 10.5.8 Leopard, and system components built from the Apple Open Source Projects and Releases, which has been made available as an easy to restore disk image courtesy of @educovas.
Further development requires a lot of 'developer talk' and low-level discussion that is less easy to comprehend and follow for the average user.
As this type of post has been objected to in the past, by some on the other thread, the question was asked of the community...
Should continued work on 10.6.8 PowerPC and Xcode 3.2.X have its own dedicated thread?
The poll results were divided, but the majority voted for a dedicated development thread.
For third party software support and MacPorts on 10.6 PowerPC please contact @barracuda156 on the appropriate threads:
Open Source Software Currently Supported macOS PowerPC
MacPorts for 10.6 PowerPC With Pre-Built Ports Unofficial Testing Welcomed
Last edited: