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:
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):
This is what it looks like after sliding it into the G5:
This is how the Raspberry Pi gets power:
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):
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):
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):
Some pictures of browsing on the G5 using both Browservice and WRP:
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:
- 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)
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):
This is what it looks like after sliding it into the G5:
This is how the Raspberry Pi gets power:
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):
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):
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):
Some pictures of browsing on the G5 using both Browservice and WRP:
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
- 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)