Become a MacRumors Supporter for $25/year with no ads, private forums, and more!

Snow Leopard on unsupported PPC machines

Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

minicm

macrumors newbie
Apr 10, 2019
16
8
Guatemala
Any new progress since the last post? This thread has been quite dead since earlier this month.

They've been busy in trying to compile stuff. In my personal opinion this project is quite bad, they dont have a direct comunication between the others, they keep fighting for no reason, they should create a discord server for a better comunication and better general goals instead everyone going in their own way.
 

MacPro2006VBox

macrumors newbie
Oct 9, 2014
17
13
They've been busy in trying to compile stuff. In my personal opinion this project is quite bad, they dont have a direct comunication between the others, they keep fighting for no reason, they should create a discord server for a better comunication and better general goals instead everyone going in their own way.

I might just create one. Keep an eye on this space for an invite link!
 

vddrnnr

macrumors 6502
Jan 23, 2017
463
677
Hi guys,

Sorry for no real updates lately but just to let you know I've been working on
two things not exactly SL ( the OS itself ) related:

1. My Grease Monkey script that tries to optimize some web pages ( right now concentrating on youtube )

It's not perfect but with this videos are loading faster because less things are going on on the page.
I'm also using this with the lowest resolution possible on youtube player right now which is 144p.
This allows me to watch videos with cpu using on average between 70 and 80 something % on a DLSD running
on SL without QE/CI ( using it on Leopard it's using less but I've not tested a lot there )

2. My SIBML plug-in shadow remover per APP and gray border add

Again this is not perfect but also helps performance on non QE/CI machines as it removes
the shadows but still looking like proper windows
This allows me to get the following looks

Picture 16.png


PS. I'll try to get on the discord channel too ;-)

Best regards,
voidRunner
 
Last edited:

B S Magnet

macrumors 6502a
Dec 5, 2018
632
715
no don’t read my status message
They've been busy in trying to compile stuff. In my personal opinion this project is quite bad, they dont have a direct comunication between the others, they keep fighting for no reason, they should create a discord server for a better comunication and better general goals instead everyone going in their own way.

Hi @minicm, welcome to MR and to the project!

Project update:

I have tabled working on this until I can budget for some replacement parts for the A1138 I’ve been using for the SL-PPC project.

What this amounts to is I haven’t worked on anything related to the project over the past few weeks as I wait for a power adapter replacement and possibly a replacement DC-in board. The adapter I had been using was having failing capacitor issues (on multiple machines) and not delivering the power the PowerBook (running currently without a working battery) needs.

I may move the project over to a different Mac, but haven’t yet set aside the time to do so.
 

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Hi all,

Just so everyone reading the thread is aware, I haven’t dropped off the radar either. Like everyone else working on this project i have a life and a job that take up the majority of my time and i have already established earlier in the thread that i have no illusions of anybody rebuilding an entire operating system for a new architecture overnight.

Those that are too impatient to wait for updates to be posted or have unrealistic expectations of a ‘final product’ to be available any time soon, or are dissatisfied with direction and/or progress are more than welcome to branch off and create their own projects - the only proprietary claim on this software is Apple’s. The files are available if you choose to take a different path. Please remember that this is a proprietary operating system - it’s not an open source browser or simple program.

I plan to continue researching and learning more on the operating system architecture and methodically recompiling the base system and BSD components of the system one by one, as time allows. Following that i will then investigate what can be updated from later builds.

I continue to check this thread and will upload binaries for those interested as and when i find time.

I appreciate everyone actively contributing, testing and providing constructive feedback. I don’t add any weight or relevance to negative, disparaging or unappreciative comments - they are neither welcome nor provide any function or utility.
 

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
We need some file server where we can upload & organize new SL builds, books, documentation, behaviour notes, change logs etc.., so the new people who are testers or have the knowledge in this area can join and be up to date with the testing and making of this OS.

The information is scattered all over this thread, and it is tiring to list through it all.

This is all my personal opinion.


Cheers, Nikola!

I was considering creating a website for this purpose. My concern is that it will attract the eyes of the Apple legal team if diverted away from a group of people discussing ideas on a forum to an organised website containing detailed instructions on how to take apart one of there operating systems along with .dmg and .iso of their property. I suppose this could be done if only the opensource components and already available literature is hosted and anything proprietary is merely hyperlinked but i’m still on the fence about it at the moment.
 

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Question for all:

Do we have anyone here working on this project who is at home with compiling stuff via Xcode?

If there is, would anyone here want to give a few of these a run in Xcode to compile for PPC and see how they go?

Mac OS X 10.6 Source

Thanks!

To the best of my knowledge the stumbling block with compiling these projects via Xcode is that there is no 10.6 powerpc SDK, so we’re missing the correct headers etc. I think we will have to create a new SDK based on the target system - which at this point will most likely be 10A096 and its subsequent modified incarnations as the underlying binaries and frameworks are updated.
 

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Yes this is fun stuff to poke through, but I do think we need to be thinking carefully about targeting our energy. That source code could be helpful but my experience was that a lot of Snow Leopard was PPC compatible already. The pieces that are intel only are crucial and not open source.

My hope was to figure out a way to pull the PPC compatible elements from a Snow Leopard release image and mix it in with the PPC compatible elements from Leopard 10.5.8. But the jump between Leopard and Snow Leopard didn’t lend itself to that. Never got it to boot. I still think about it and may try to tinker some more.

I found the same thing. A lot of the Apple Open Source Projects available from Apple are designed to be compiled for Darwin, not OS X. This means that there are slight differences that need to be accounted for i.e the use of private frameworks which are proprietary vs the normal frameworks which are designed to be modified and amended.

Reading further into the Darwin Kernel and now understanding the relationship between Mach, BSD and the system Kexts clearly indicates that we will need to compile our own kernels moving forward. First we need to gather and compile the necessary tools to recreate the correct build environment - one that mimics what DarwinBuild would automate. This is time consuming as you are already aware. Using the Apple Sources as a reference and then locating the original sources seems like it may be more fruitful for the 100 open sources that were used in OS X - only the apple specific changes need then be applied and it means in some cases more recent versions can be compiled.

When it comes to the proprietary programs that form the user interface however like the Finder, I don’t see any easy way to backport the cocoa version to PowerPC without the source code. Maybe somebody has experience with decompiling proprietary software and can provide insight down the line.

I feel that logically starting with the base system and working up from there is the right direction for me to take, but i will also gladly continue to adopt any and all discoveries made by everyone contributing. If it works or provides a fix, it’s a step forward as far as I’m concerned.

As to taking elements from later builds and copying them over - i still think this can work down the line but we need to bridge the gaps between the builds in terms of the underlying technologies first.
 

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
As a side note, I thought about porting the Cocoa Finder from 10A190 to Leopard. Seeing that SL here is performing better in benchmarks but doesn’t have GPU support for most AGP Macs, would it be possible to port the Finder from this build?

I have made a handy Discord for everything PowerPC OS X if you guys are interested, so we can talk about this more there:Link to the Discord server

It depends what you mean by ‘port’. The source code for Finder is closed so there are only two ways to get it onto Leopard; decompile it and then modify and recompile it for powerpc if you have the knowledge and means to do so, or copy it across to Leopard on an intel/ppc system and see if it works apple-magically. Getting the closed-source programs to function, particularly the intel only versions, will probably be the only parts of Snow Leopard we’ll be unable to carry over in my opinion. Probably best to target the low hanging fruit first.
 
  • Like
Reactions: B S Magnet

Wowfunhappy

macrumors 6502a
Mar 12, 2019
663
681
A lot of the Apple Open Source Projects available from Apple are designed to be compiled for Darwin, not OS X.

Sorry, can you elaborate? I find this generally interesting.

My understanding was that "Darwin" isn't an independent thing, it's the set of technologies that make up OS X / macOS. I mean, I know there's PureDarwin and OpenDarwin, but those are non-Apple projects.
 
Last edited:

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Sorry, can you elaborate? I find this generally interesting.

My understanding was that "Darwin" isn't an independent thing, it was the set of technologies that make up OS X / macOS. I mean, I know there's PureDarwin and OpenDarwin, but those are non-Apple projects.

Apple collaborated with the OpenSource community in the early days of OS X when they made the move from OS9 to using the technologies acquired from NeXT. OS X is based on Mach and BSD primarily. Apple didn’t have the resources that it does today so the move was made to make the Darwin Kernel opensource and get community input to aid in its development and maturity. The Darwin project was originally intended to create an opensource version of Darwin that did not depend on the proprietary apple frameworks or aqua interface, in return for not paid contributions that Apple could incorporate into OS X. The relationship between the Opensource Darwin team and the Apple development team soured after a while however when the opensource guys felt that Apple was merely using them as a testbed for their proprietary OS and not really contributing much in return to the community. After that a few forks emerged as spiritual successors, such as the ones that you mentioned. They are all based on the Apple Open Source projects, as well as using code from the open source BSD flavours but there are none that have access to the proprietary code Apple develops in house. Part of the reason Apple likes to use BSD licenses over GNU is that it is not a requirement that they release all of their changes, even if they are made commercial. Apple releases, for the most part, the minimum required under license code as the Apple Open Source Projects for use on other platforms not for OS X. There are some exceptions such as technologies they wish to push into the market for adoption like grand central dispatch which was designed to be cross platform, but again this aids Apple because it can then reincorporate the improvements made by the community back into Mac OS.
 

vddrnnr

macrumors 6502
Jan 23, 2017
463
677
Hi @ChrisCharman,

I think the 10.6 SDK is there :D
At least on my 10A096 Server with the
companion Xcode it's selectable as the SDK to use and I can build my "experiments" with it
although in the "Deployment Target" for the project the max version is Mac OS X 10.5.

PS. the SDK since it's an early version might not have all of the final SDK components dough

Best regards,
voidRunner
 
Last edited:

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Hi @ChrisCharman,

I think the 10.6 SDK is there :D
At least on my 10A096 Server with the
companion Xcode it's selectable as the SDK to use and I can build my "experiments" with it
although in the "Deployment Target" for the project the max version is Mac OS X 10.5.

PS. the SDK since it's an early version might not have all of the final SDK components dough

Best regards,
voidRunner

Hi @vddrnnr,

Yeah that’s what i was referring to, the API’s continued to change until 10A355 i believe so we may need to modify the SDK included with 10A096 to match more closely the changes reflected in the later 10.6 SDK. Obviously 10.5 or 10.4u SDKs can also be used as targets for PPC compatibility.
 
  • Like
Reactions: B S Magnet

vddrnnr

macrumors 6502
Jan 23, 2017
463
677
Hi all,

I wanted to be able to disable one or more of my displays connected to my
powerbook running SL. This is a feature that is available with Switchres X
which I don't have running in my powerbooks.
Because of this I went looking this weekend for some opensource application that could do
this.
I found DisableMonitor from Eun ( props to him forhis hard work )
DisableMonitor is available at


It's a Statusbar App that allows you to disable
the displays attached to your system and also to change display modes ( even those not
available in system preferences ).
It didn't build on SL so I "fixed" it to build and run.

It still needs some small cosmetic adjustments but it's fully functional so
I'm posting it here if someone wants/needs something similar.

Best regards,
voidRunner
 

Attachments

  • DisableMonitor.zip
    21.3 KB · Views: 13

vddrnnr

macrumors 6502
Jan 23, 2017
463
677
Hi all,

Some good news I have bluetooth fully working :D

Until now we thought the problem was only with the blued binary but
using the version from 10.5 only removed the 100% CPU utilization and we
still couldn't pair/use any devices.

So today I finally tried to fix the issue. For now I still have an error
at the very end after adding a new device but the device is added to the paired devices
and is working.

The steps I did were:

0. If you haven't done it before replace /usr/sbin/blued with the one from Leopard

1. Replace the IOBluetoothFamily.kext and IOBluetoothHIDDriver.kext in
/System/Library/Extensions with the ones from Leopard.

2. Replace the IOBluetooth.framework and IOBluetoothUI.framework in
/System/Library/Frameworks with the ones from Leopard

3. Replace the Bluetooth Setup Assistant.app in /System/Library/CoreServices
with the one from Leopard

It's done. Just reboot and it will be working.

Best regards,
voidRunner
 

ojfd

macrumors newbie
Oct 20, 2020
2
12
Hi all,

I keep getting this from Pacifist. ( I have already re-downloaded and tred also version 2.6.4
which show a similar error )
Does it happen to you too?

Best regards,
voidRunner

View attachment 911229
Hello everyone, a long time lurker here, who finally decided to register.
I like what you're doing here, so, I'll be glad to provide an input as much as I can. My only OSX machine is mid 2010 Intel MBP running SL 10.6.8, so that input of course will be somewhat limited.

Now, to the Pacifist.

The last version with PPC code in it is 3.0.10. I've tried to run it in "forced PPC mode" by thinning down the binary to PPC and forcing it to use Rosetta. It produced the same result as above.
The same experiment with 3.0.6 and 2.6.4 produced no errors on my machine (which is modern 10.6.8 SL, of course).
Moving _CodeSignature folder out of app bundle triggers the error on all 2.6.4 - 3.0.10 builds. Stripping LC_CODE_SIGNATURE from PPC binaries does the same. Usually, stripping signature has no ill effect under SL, so it looks to me that Pacifist is not only signed, but it also checksums the whole app bundle and/or is dependent on some libs that are not present in 10A96/10A190.

Hope this helps somehow.

P.S. Regarding OnyX - the last build with PPC code is 2.2.5. Feel free to add it to post #1.
(I have 2.1.1, 2.1.3, 2.1.4, 2.1.8, 2.1.8b1, 2.1.8b2, 2.1.8b3, 2.1.9, 2.2.0, 2.2.3, 2.2.4 and 2.2.5 archived.)
 
Last edited:

B S Magnet

macrumors 6502a
Dec 5, 2018
632
715
no don’t read my status message
Hello everyone, a long time lurker here, who finally decided to register.
I like what you're doing here, so, I'll be glad to provide an input as much as I can. My only OSX machine is mid 2010 Intel MBP running SL 10.6.8, so that input of course will be somewhat limited.

Now, to the Pacifist.

The last version with PPC code in it is 3.0.10. I've tried to run it in "forced PPC mode" by thinning down the binary to PPC and forcing it to use Rosetta. It produced the same result as above.
The same experiment with 3.0.6 and 2.6.4 produced no errors on my machine (which is modern 10.6.8 SL, of course).
Moving _CodeSignature folder out of app bundle triggers the error on all 2.6.4 - 3.0.10 builds. Stripping LC_CODE_SIGNATURE from PPC binaries does the same. Usually, stripping signature has no ill effect under SL, so it looks to me that Pacifist is not only signed, but it also checksums the whole app bundle and/or is dependent on some libs that are not present in 10A96/10A190.

Hope this helps somehow.

P.S. Regarding OnyX - the last build with PPC code is 2.2.5. Feel free to add it to post #1.
(I have 2.1.1, 2.1.3, 2.1.4, 2.1.8, 2.1.8b1, 2.1.8b2, 2.1.8b3, 2.1.9, 2.2.0, 2.2.3, 2.2.4 and 2.2.5 archived.)

Nice find re: OnyX! Welcome! 👍

When testing OnyX (I updated the wiki for that), I searched everywhere for any version between 2.2.1 and 2.2.5, but ultimately gave up. If you know where to find 2.2.5 (i.e., Internet Archive or somewhere off the beaten path), or you’re able to upload it somewhere (like on Archive.org) and link to it from here, that would be fantastic. :)

With respect to Pacifist: I will have to find a working copy of 3.0.6 and try it out the next time I’m able to get my test machine back up and running again. Perhaps someone else here might be able to try 3.0.6 in the meanwhile and verify whether the same error continues.
 

B S Magnet

macrumors 6502a
Dec 5, 2018
632
715
no don’t read my status message
Hi all,

Some good news I have bluetooth fully working :D

Until now we thought the problem was only with the blued binary but
using the version from 10.5 only removed the 100% CPU utilization and we
still couldn't pair/use any devices.

So today I finally tried to fix the issue. For now I still have an error
at the very end after adding a new device but the device is added to the paired devices
and is working.

The steps I did were:

0. If you haven't done it before replace /usr/sbin/blued with the one from Leopard

1. Replace the IOBluetoothFamily.kext and IOBluetoothHIDDriver.kext in
/System/Library/Extensions with the ones from Leopard.

2. Replace the IOBluetooth.framework and IOBluetoothUI.framework in
/System/Library/Frameworks with the ones from Leopard

3. Replace the Bluetooth Setup Assistant.app in /System/Library/CoreServices
with the one from Leopard

It's done. Just reboot and it will be working.

Best regards,
voidRunner

This is excellent news! I won’t be able to test it anytime soon, unless I move my SL-PPC testing to a different machine, but that’s a pretty big breakthrough all the same.
 

ojfd

macrumors newbie
Oct 20, 2020
2
12
If you know where to find 2.2.5 (i.e., Internet Archive or somewhere off the beaten path)..
There you go https://www.pcworld.pl/ftp/producent/mac/joel-barriere.html
It's a online PC mag in Polish. (Who would have thought it). Just keep clicking on red buttons with download logo.

Also, to add to the current 10.6 SDK discussion - take a look at Pacifist's plist and at DTSDKName specifically ;)

I also assume you guys are familiar with these:
 

Attachments

  • Pacifist 3010 plist.png
    Pacifist 3010 plist.png
    61.9 KB · Views: 20
Last edited:

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Hi all,

I've spent the last couple of days looking through a large pile of Apple Developer Connection CDs and DVDs that came bundled with a copy of an old student developer membership kit that i purchased a few months ago. I have found a number of things very useful, especially considering that Apple removes legacy information, documentation and SDKs from the Apple Developer website, and unfortunately the WayBackMachine doesn't have stored pages for everything that we may need to reference. I didn't however have any DVDs from 2008-2009 which could be seen as the most important for our purposes - these are upon investigation available for download from the Macintosh Garden.

Macintosh Garden - Apple Developer Connection

I've only downloaded a few images so far but have managed to find the kernel_debug_kit_10.6_10a432 which contains a debug kernel as well as a symbol generation tool for the retail 10.6 10A432 Kernel. I haven't tested it with a SLPPC build yet, but as expected the architectures supported includes PPC, when checked using the command line tool 'file'.

Here is a link to the .dmg for those interested, as it is too large to add to the thread as an attachment.

Kernel Debug Kit 10.6 10A432

On the earlier CDs and DVDs i have found installable versions of OS X, many SDKs, software updates and reference documents, so it's certainly possible that the 2008-2009 collection may contain some useful 'gems' worth exploring.
 

ChrisCharman

macrumors member
May 10, 2020
56
109
Bournemouth, UK
Hi all,

I've spent the last couple of days looking through a large pile of Apple Developer Connection CDs and DVDs that came bundled with a copy of an old student developer membership kit that i purchased a few months ago. I have found a number of things very useful, especially considering that Apple removes legacy information, documentation and SDKs from the Apple Developer website, and unfortunately the WayBackMachine doesn't have stored pages for everything that we may need to reference. I didn't however have any DVDs from 2008-2009 which could be seen as the most important for our purposes - these are upon investigation available for download from the Macintosh Garden.

Macintosh Garden - Apple Developer Connection

I've only downloaded a few images so far but have managed to find the kernel_debug_kit_10.6_10a432 which contains a debug kernel as well as a symbol generation tool for the retail 10.6 10A432 Kernel. I haven't tested it with a SLPPC build yet, but as expected the architectures supported includes PPC, when checked using the command line tool 'file'.

Here is a link to the .dmg for those interested, as it is too large to add to the thread as an attachment.

Kernel Debug Kit 10.6 10A432

On the earlier CDs and DVDs i have found installable versions of OS X, many SDKs, software updates and reference documents, so it's certainly possible that the 2008-2009 collection may contain some useful 'gems' worth exploring.

I've now managed to track down the Kernel Debug Kit for 10a190. It is listed on the Macintosh Repository for download, or for convenience there's a hyperlink via mega upload below:

kernel_debug_kit_10.6_10a190
 

vddrnnr

macrumors 6502
Jan 23, 2017
463
677
Hi all,

Some updates on my endeavors.
After building DisableMonitor app I did some testing using other display
modes to see if it would affect display performance on non QE/CI machines.
What I found is that using 16bit color mode in my DLSD ( 1440x960 res )
makes very smooth almost all the user interface transitions like changing
between workspaces, going into exposé and the workspace grid.

I could not find a "detectable" loss of quality by changing this.
You must zoom in the image to notice it perfectly

But I did found two drawbacks:

1. Font smoothing seems to turn off on new windows
2. Banding/low quality window titlebars opened after changing color depth

Regarding the first issue I have not looked into it but maybe there is some way to reactivate it.
I say this because for example if you open Terminal before changing color depth and then
change it font smoothing is not removed on already opened windows.

Regarding the second issue if you change color depth after opening a window it
seems to keep the quality with some slight dithering effect so I think it's related to
the components inside the Sartfile.bin and Artfile.bin being 32bit color.

I want to try and edit them as it was done for Leopard Rebirth but I have not been
able to find the required tools that work in PPC Leopars/Snow Leopard.

Does anyone have some more info on this?

I also did some more tests on software built with Homebrew and was able to copy
the necessary binaries/libraries to have it working on SL_PPC :D

I'll post a zipfile later with all the binaries/libraries I have right now copied from a Leopard
install if you want to try them.

Best regards,
voidRunner
 

vddrnnr

macrumors 6502
Jan 23, 2017
463
677
Hi all,

Sorry for the delay.
Here is the package with the binaries I copied from a Leopard install of
Homebrew.
Create if it does not exist the /opt/local folder and then extract
the zip inside and change permissions for root:admin.
Right now I've copied curl, git and mplayer.
I'll try to copy more packages and I'll post a new package when I have
more.


Best regards,
voidRunner
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.