Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

netsrot39

macrumors 6502
Original poster
Feb 7, 2018
360
502
Austria
Hello :), so long story short: I really enjoy using my Late 2005 PowerMac G5 and could use it is a DD if it wasn’t for its browsing limitations. I know about the remarkable efforts of @wicknix and his great browser builds (Arctic Fox, IceWeasel, InterWeb just to name a few) which really get the job done in most cases. Nevertheless, I came across a few sites that just don't really work anymore on PowerPC (mostly partially broken but even that renders those sites unusable). In addition to more compatibility, I wanted better speeds when it comes to web browsing. I came up with an idea that involves a Raspberry Pi 3 and Browservice or/and WRP (effectively transferring the processing power required for web browsing to the Raspberry Pi 3 and getting the results on the G5 on Mac OS X. This approach (web browsing proxy) is nothing new but it served as the base for my idea. For me it was important to have an all internal solution (i.e. having everything that is involved with this mod in one case) and not having to rely on additional devices (which I do if we are exact but I don't really consider it additional if all the parts needed are inside the computer case, I'd consider them internal in that case). What I eventually ended up doing was hacking a Raspberry Pi 3 into my PowerMac G5 which acts as sort of co-processor for web browsing. The Raspberry Pi 3 inside my G5 is stealth, meaning from the outside you can’t tell that there is another small computer inside. Below you can find a list of all the parts necessary I’ve need in order to achieve this:

  • Raspberry Pi 3 (runs the latest Raspberry Pi OS, Browservice and WRP is installed and I made a bash script that launches them on startup, VNC, Samba and SSH enabled)
  • SATA Y-Splitter (to create an additional power source)
  • SATA to USB cable (power delivery to the Raspberry Pi)
  • a T-shaped Micro-USB, USB-C and USB-A adapter (to adapt the SATA to USB cable to Micro-USB)
  • some generic 2x2.5“ to 3.5“ bay adapter (some additional adjustments necessary - see picture)
  • a PCIe-Card that features an internal USB-port (a Sonnet Tango Express 800 in my case)
  • a USB to Ethernet adapter (I’ve used one from Hama for Nintendo Wii, must be AX88772 based, if so it works OOTB in Leopard)
  • a rather short and thin Ethernet cable (about 50 cm; in order to share the WiFi connection of my G5 with the Raspberry Pi 3, also for linking the two devices together)
Let me explain my mad tinkering with the aid of some pictures:

Below you can see how I mounted the Raspberry Pi 3 inside the upper hard drive bay of the G5. I am using a 2x2,5" drive to 3,5" drive adapter. One side of the adapter carries the main operating system SSD, the other side carries the Raspberry Pi (I had to get creative with zip ties and tape but the mounting is pretty firm):

IMG_5365.JPG


This is what it looks like after sliding it into the G5:

IMG_5371.JPG


This is how the Raspberry Pi gets power:

IMG_5368.JPG


This is how the Raspberry Pi talks to the G5 and vice versa (Ethernet cable from the Raspberry Pi to a USB to Ethernet adapter plugged into the rear USB port of a PCIe USB2 card):

IMG_5369.JPG


The Raspberry Pi can't get online via its own internal WiFi or Bluetooth since it is more or less enclosed in a Faraday cage. It gets the internet connection from the G5s airport antennas (in System Settings I set up Internet Sharing):

Bild 4.png


Over SSH and VNC I can still control the Raspberry Pi in case I have to reboot it or restart WRP or Browservice (which has to be done from time to time since both sporadically hang up):

Bild 2.png


Bild 3.png


Some pictures of browsing on the G5 using both Browservice and WRP:

Bild 1.png


Bild 5.png


In summary (TLDR): I took the idea of WRP and Browservice and adjusted it to my liking (not having to rely on additional devices, or to be more specific, having all the additional hardware required to use a web rendering proxy sit in one computer case).

It works pretty well for the most part. There are only 4 disadvantages I can think of so far:
  • while the browsing works for even somewhat demanding websites, the proxies do tend to freeze from time to time (easily mitigated by killing and restarting the process on the Raspberry Pi)
  • streaming audio and video does not work in a practical way (or in other words, for YouTube one has still to rely on PPCMC or other hacks)
  • the browsing experience is not as immersive as natively browsing on the G5 (Browservice is way more immersive than WRP but still not perfect; pretty damn good nevertheless 👍)
  • hibernation is broken (the Raspberry Pi does power on with the PowerMac G5 but for some reason hibernation on the G5 is broken if I don't remove the USB to Ethernet adapter before putting it to sleep which I can't easily do since I'd have to open the case and detach the USB cable; I tried to mitigate it somehow by adding a USB on and off switch with data lines, sleeping does work then but after waking up the G5 it does not find the Raspberry Pi anymore) – for me honestly I can live without the hibernation function since the G5 eats to much power anyway even when it is sleeping
What are the main advantages though?
  • the CPU of the G5 is hardly stressed when in fact the Raspberry Pi is doing all the work
  • very modern and complex sites do work now
  • second computer inside the G5 in a stealthy way (could be used for more than just a web browsing proxy)
Please tell me what you think and feel free to ask if you wanna know anything about this mod ;)
 
This is fantastic. I love this mod! It kinda reminds me of those funky Quadra 6xx/Power Mac 6100 variants that shipped with built-in 486DX2 NuBus cards for DOS compatibility. My only quibble would be that I'd love to see a 3D-printed case so the mounting of the Pi and the cables would be cleaner, but that's really a minor complaint. I could also see this setup being a viable option for G4 owners and Core Duo/Solo Mac owners too.
 
Reminds me of when I was running Haiku on an old Intel laptop (not mac sorry), and I taped a Raspberry Pi to the lid and tapped in to its WiFi with a tiny Ethernet cable because the onboard WiFi on that laptop was dogwater and so was Haiku's WiFi stack. It was a Pi 1 though so it didn't have high power requirements like the Pi 3 does, and is why I don't do similar mods with my Pi 3.

There is an empty space in the KING where the bum Superdrive used to be. Potential shenanigans may be had in this space.
 
Love it - web browsing coprocessor :) Absolutely going to copy your setup. I too DD a A1117 dualcore 2ghz however my hardware solutions for relative speed were SSDs and maxed out ram LOL. With this, Sorbet 10.5.9, Wicknix's InterwebPPC, IntheBox, and T5T, I am able to leverage email, youtube and general DD surfing although I do run into incompatibility from time to time and this looks like it would solve that (for example my university's website for accessing remote continuing ed classes while not complaining, freezes).

What a cool upgrade. Well done.
 
Last edited:
I could also see this setup being a viable option for G4 owners and Core Duo/Solo Mac owners too.

I'm glad you like it :) I think so too, the mod could be applied easily to a PowerMac G4 (or any other spacious Mac where you can easily add an internal USB port) but to Core Duo and Solo Macs (for example iMacs) you would have to do more tinkering. It would be more involved since you cannot easily connect the two computers together internally (or at least I can't think of any easy way expect maybe linking them together via WiFi - meaning the iMac creates a hotspot and the Raspberry Pi connects to it on startup - but then again that method would not be bullet-proof). Moreover, linking the Raspberry Pi and iMac together internally wirelessly would yield bad results because I expect the chassis of the iMac to be also shielded against radiation. I toyed with the idea of hacking a Raspberry Pi inside my iMac G5 since it would also considerably benefit from this mod and make it way more usable. I think weak G4s and G5s could tremendously benefit from this mod. Imagine a first generation PowerMac G5 that can surf most of the web realiably and rapidly. Anyways, for other machines I think there would be no way around soldering except maybe for Intel iMacs that have a mini PCIe port (there are mini PCIe to USB adapters). But you would have to ditch the WiFi card in order to use it so yeah ...

Love it - web browsing coprocessor :) Absolutely going to copy your setup.

Go for it ;) Kindly post some pictures of your version of the mod, I'd like to see how it turns out :cool:

The instant I saw the thread's title on the subforum, I thought "I bet they've mounted a Raspberry Pi inside the G5 or something like that". No kidding. With that being said, I love it!

Haha, how else would I achieve something like this? :p It all started with having the Sonnet PCIe USB & Firewire card that has an internal USB (and also FireWire port). I was thinking, what could I possibly use those ports for? Some time passed and I learnt about Browservice and WRP. I love those projects but I really don't like to have a temporary solution for better web browsing, I want a permanent one, so when I decide to carry the G5 from A to B it all has everything necessary inside it for better web browsing. In other words, I wanted something more independent. For some reason I stumbled across a USB to Ethernet adapter and that was when it all came together. It is a freaky mod but what can I say? It works and I finally get some use out of my Pi for which I didn't really have a use case before 😅
 
[…] but to Core Duo and Solo Macs (for example iMacs) you would have to do more tinkering.
My first idea would be to set up a VM that hosts the services on the Mac itself, if 2 GB is enough RAM for the OS X side of things and the VM.

It works and I finally get some use out of my Pi for which I didn't really have a use case before
There’s one use case for a Pi: running the OS it was made for. :D
 
Last edited:
I'm glad you like it :) I think so too, the mod could be applied easily to a PowerMac G4 (or any other spacious Mac where you can easily add an internal USB port) but to Core Duo and Solo Macs (for example iMacs) you would have to do more tinkering. It would be more involved since you cannot easily connect the two computers together internally (or at least I can't think of any easy way expect maybe linking them together via WiFi - meaning the iMac creates a hotspot and the Raspberry Pi connects to it on startup - but then again that method would not be bullet-proof).

Yeah, for anything other than say, an early Intel Mac Pro, you'd have to basically just have the Pi in an external case connected via Ethernet. But still, it'd be fairly elegant to have a small little box just tucked away behind your iMac or MacBook. Maybe there'd be a way to mount a Pi inside an external expansion chassis so you could package it together with an external hard drive/SSD.
 
  • Like
Reactions: Amethyst1
This is a fascinating project. Does it render the webpage as an image to deliver to the older browser? As someone with a web development background I'm curious how (if at all) JavaScript async loading works with this, as well as scroll/hover events and sticky elements like navigation bars when scrolling.
 
The OP should write a step-by-step guide on how to make these (and maybe even sell them), a lot of Power Mac G5 would want them to make their computer usable for the modern internet.
 
And over a year later... I picked up a pristine iMac G4 17". Not interested in performing surgery until I convert it to Linux (something I have not been able to make happen despite many hours (and hours) of attempts.)
So adding a Pi, externally, just might be the ticket to using the iMac for day to day work. I have a R Pi 4. I've got the utility Netsrot39 discussed from GiitHub. Have realVNC tied to the Pi from a MacBook Pro. But I don't know what the **** I'm supposed to do from here.
The GitHub utility, Browservice, won't install on the Pi (as far as I can tell) and while I have spare USB-Ethernet dongles (with the chipset the OP mentions) for the life of me (well, perhaps not my LIFE) I can't figure out where to go, what to do, next.
Anyone?
Multiple thanks.
ST, Near Bend, OR
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.