Jump to content
11 posts in this topic

Recommended Posts

Hey,

 

my old/new G3 iBook will be arriving within the next few days and I can't wait! I've always wanted an iBook!

I just wanted to ask, could someone tell me why Leopard will not run on a G3? I understand Apple has chosen not to have it work, but I want to know exactly what does not work properly and precisely why, or the best explanation anyone has!

 

I'd like to get to the bottom of this and perhaps eventually find a solution!

 

The processor's lack of altivec instructions could be to blame, but I find it stupid that a Powermac G4 at 400 mhz can run this OS and a G3 iBook at 800 or 900 mhz (mine's an 800 mhz!) cannot. The processor instructions should not matter to this extent: the higher clockspeed G3s should be able to run the OS better than the G4s simply because they are more powerful, even taking Altivec into account.

 

But this might not even be the problem... anyone with technical info able to fill me in on why the whole OS can install but programs like safari don't work?

 

-An eager Urby

Link to comment
https://www.insanelymac.com/forum/topic/30794-the-g3-processor/
Share on other sites

I'd like to get to the bottom of this and perhaps eventually find a solution!

 

The processor's lack of altivec instructions could be to blame, but I find it stupid that a Powermac G4 at 400 mhz can run this OS and a G3 iBook at 800 or 900 mhz (mine's an 800 mhz!) cannot. The processor instructions should not matter to this extent: the higher clockspeed G3s should be able to run the OS better than the G4s simply because they are more powerful, even taking Altivec into account.

 

But this might not even be the problem... anyone with technical info able to fill me in on why the whole OS can install but programs like safari don't work?

 

-An eager Urby

 

AltiVec is indeed the problem. If an application tries to execute any AltiVec instructions on a G3 Mac, it will crash. Even if the G3 had 3GHz it would still crash, because the chip simply doesn't understand these instructions. That's why a well-written application always checks if the chip supports AltiVec and falls back to the slower standard instructions if it doesn't. Now Apple has decided to remove this fall-back code from parts of the OS and/or the applications, and so some applications crash. It's certainly possible that the final version of Leopard will not even boot anymore (e.g. if they add AltiVec-only instructions to the Finder).

 

You're right that a G3/900MHz should be faster overall than a G4/400MHz, even if it has to use the fall-back code sometimes while the G4 can use AltiVec. But if the fall-back code is removed, the G3 will crash while the G4 will still work.

 

The only way around this would be an AltiVec emulator. This emulator would intercept any "illegal instruction" exceptions, check if the illegal instruction was an AltiVec one, and if that's the case it would convert the AltiVec instruction to standard instructions and run those instead. This would be hard to develop, but it's technically possible. However, emulating AltiVec code would be a lot slower than simply running the usual fall-back code, so the G3 would become extremely slow everytime it had to execute AltiVec code.

 

If noone writes an AltiVec emulator, then Leopard will not run properly on G3 Macs, period. Maybe you can hack the installer, maybe you can get it to work somehow, but it will never run stable.

AltiVec is indeed the problem.

...

Now Apple has decided to remove this fall-back code from parts of the OS and/or the applications, and so some applications crash.

...

the G3 would become extremely slow everytime it had to execute AltiVec code.

Thanks for the informative reply!

 

This is what I thought it was, and what I was afraid of. I've heard some people say it's a videocard problem, but now I know it is indeed Altivec.

That Apple is deiberately removing the fall-back code, as you put it, is pretty sad, since a good number of G3s would be faster than a number of G4s!

Finally, an emulator is certainly the answer. And i'm not sure it would really be that hard, for someone who knew assembly and has read and understood some code from other emulators. There are a few PPC emulators that do indeed emulate Altivec and this would be a great starting point for such an emulator. It is very similar to replacing SSE3 in our osx86, but that focusses a lot on remaking the kernel, and as you said, if they stop it from booting all together, we would need to patch the kernel and finder before an emulator could be launched, and that would take so much work that it would probably be easier to keep Tiger on there. But hey, maybe they'll leave in that fall-ack code at the last minute, just like they did with iLife '06!

 

Still, my guess is the G4 machines and G3s will drop in price enough so that an iBook G3 now (from ebay) will be able to get you a G4 in a few months. I think unless Leopard comes out supporting the G3, this is the death of the G3.

Ah well, c'est la vie!

The only way around this would be an AltiVec emulator. This emulator would intercept any "illegal instruction" exceptions, check if the illegal instruction was an AltiVec one, and if that's the case it would convert the AltiVec instruction to standard instructions and run those instead. This would be hard to develop, but it's technically possible. However, emulating AltiVec code would be a lot slower than simply running the usual fall-back code, so the G3 would become extremely slow everytime it had to execute AltiVec code.

 

MASH, XLABS PROJECT!!!! PROJECT NOW!!!! NOW NOW NOW NOW NOW NOW NOW

 

And maybe a cool name like RosettAltivec (although I don't know nearly enough about coding to even try such a thing)

×
×
  • Create New...