I needed something to serve as a MythTV front-end so that I could get my mother off of cable television, something which she can no longer afford after retirement. So I thought "maybe this might be a good use of one of those Raspberry Pi things," and a quick search on the internet revealed that it supposedly works.
Of course, it was also $50 to get a Raspberry Pi 3 and a power supply (I already had an SD card left over from something else), and I hate to spend $50, so I looked up what else I might be able to do with the Pi in case the MythTV project didn't work out, to justify spending so much.
Since it runs Linux I figured I'd be able to write C code for it, so that sounded good. ...and it has that GPIO connector. However, looking into the connector, I found a major lack of documentation. The web site for the Pi says little more than "it's great for education." After some digging I found there are two libraries, one of which is GPL, and the other... Well, I forget what, but something about it pissed me off too. Strangely they were both third-party libraries. It seems the Pi manufacturer can't be bothered to provide their own library for their own GPIO connector. Probably they're too busy talking about how great the Pi is for education.
So I thought "well, I'd been wanting to make a portable audio recorder, and with Linux at its disposal and a 32 GB SD card, perhaps it could do that." However, there's no audio input connector, and while there are a couple of audio boards available, they require a custom OS and they're expensive and, well, fuck.
So it seemed the only use I'd ever find for this thing was as a MythTV front-end. So I debated whether to buy it, but ultimately decided to, as the only alternative was to acquire used computers for free, which is hard to do, and my mother's house has three televisions so I'd need three computers. If I could make the Pi work, that'd only be $150, which isn't much more than a month of cable TV, so it'd be easy enough to come up with, whereas three computers would cost probably $900, or six months of cable, which isn't so easy to come by.
So I ordered one on Ebay and, after it arrived, I began downloading several OS images to try.
The first day of attempting to get it to work was entirely wasted due to insufficient power. While I had a 3.5 A power supply, the Pi has a micro USB connector for power input, despite the fact that it can never receive this power from a computer since it requires 2.5 A, and thus it obviously does no communication with a computer over this connector either. Anyway, it took some time to figure this out, as the thing just kept doing stupid shit and the rainbow square it puts in the corner of the screen to indicate low voltage means fuck-all to someone who isn't familiar with the system and doesn't know it isn't supposed to be there, particularly when they can't get past the fucking installer and so they figure it's just a part of the installer or maybe the OS, like an activity indicator or something. Amusingly, when I finally looked it up on the internet, I found a comment that said "a lot of USB cables have wiring that's too thin." No shit, they're USB cables. They're not supposed to carry more than 500 mA.
I eventually fixed that problem by cutting a perfectly good USB cable down to 3 inches and soldering a 2.5 mm coax connector to that, so that I could connect my 3.5 A power supply over a shorter length of USB cable. This allowed it to run without displaying the "low voltage" rainbow square.
The next day I received the power supply I had ordered for it on Ebay. It was only 2.0 A, but I figured that'd be enough since some of that power was certainly meant to drive USB peripherals, right? Well, I dunno. The damn thing doesn't work with that power adapter, so it either always needs 2.5 A, that adapter can't supply 2.0 A, or the wiring in its cable is of too high a resistance to keep the Pi happy. So I switched back to my chopped-up USB cable.
I tried several ways of installing MythTV, one called "OpenELEC," another called "OSMC," and another which consisted of installing some MythTV packages onto "Raspbian."
All of these failed until I realized the Pi didn't like my SD card. It mostly worked with it, but always eventually caused filesystem errors. So I switched to a new card.
I tried the old card in other things. In my SJ4000 camera, it causes all sorts of hell, in that the camera cannot format the card, but it can write video to it, but then after you stop recording it misunderstands the sector size and displays an error about it. However, the data is on the card if I stick it in a computer to play it back. In my GoPro Hero, it seems to work just fine. ...and that's weird since my SJ4000 is currently using a card which occasionally causes my GoPro Hero to lock up, but which works just fine in the SJ4000. ...or it was, but that card is now in the Pi. As much as every manufacturer of anything likes to blame SD cards for failures, it seems to me that the problem is actually just that they don't test their devices with very many cards. All of these cards work just fine if I plug them into a computer. Anyway...
The OpenELEC approach I never got to work. In particular I wasted at least three hours trying to figure out how to install a PVR plug-in, only to eventually figure out that all I had to do was reboot the Pi so that the stupid thing would check again to see that it had some. After enabling the MythTV plug-in, I then spent another 15 minutes trying to figure out how to access it before it occurred to me to try the same reboot trick, at which point a "TV" menu suddenly appeared. However, I never was able to actually get it to play any videos.
The OSMC approach worked much better, but the player it has is quite strange. In particular, when using the arrow keys to skip around in the recording, rather than working the way that MythTV does, where the right arrow skips ahead 30 seconds and the left arrow goes back 5 seconds, in OSMC the arrow keys skipped different intervals depending on how many times they are pressed. There was a delay after I pressed them, seemingly to wait and count how many times I was going to press them, then it would skip, taking a second or so to get going again. This was going to make skipping commercials a positively miserable experience, so I decided I had to find something else.
So I tried installing MythTV in Raspbian. It's a special version of Debian, but it doesn't have MythTV packages by default. Instead you have to download them from some dude and install them. Apparently you also have to purchase an MPEG license for the Pi, which costs only $2 or so, but takes 48-72 hours to receive, so I skipped that step to see how the rest works.
It doesn't work well. When playing any recording, it immediately pops up errors about audio not working, taking them down just a few seconds later just to make sure you don't have enough time to actually read them. It said something about AOOSS failing, which I can only guess stands for "Audio Output Open Source Sound," which sounds like the last thing that should be attempted in modern Linux.
I then looked into audio settings, but after figuring the menu had locked up for about five minutes, I eventually realized that the problem was that it was simply failing to highlight buttons and stuff as I tabbed through the MythTV settings. So attempting to adjust the settings was borderline impossible.
So, I dunno, maybe if I buy that MPEG license, the audio comes out of the hardware MPEG decoder and works that way?
Well, I'm not going to find out, because of the real show-stopper problem: Once I install the MythTV package, if I reboot the Pi, it fails to get into the GUI.
The worst part of all of this is that, in figuring out the damn thing just wasn't going to work, I spent hours downloading various images, hours more copying them to SD cards, testing, trying to find instructions for doing shit, wondering how it was that apparently no one was having the problems I was having, etc. The most pain-in-the-ass aspect was that I had the MythTV back-end set up in a Linux VM on my mother's computer running Windows 7, but when I needed to write a new image to the SD card, I had to reboot to Linux, on account of there not being a disk image writing tool for Windows. ...which is a point where OSMC wins since it comes with its own "installer" that writes the image to the disk, but the others just give you binary images, one of them linking to an image writing tool which doesn't work and thankfully so as the reviews for it all indicate that it frequently fucks up and writes the image to the wrong drive. ...and then, God forbid I need to look up on the internet how to use any Pi software, as I then need to swap HDMI cables back to the PC so I can search the internet, then swap back to the Pi to test shit, then back to the PC to look for more help, etc. Honestly, monitor swapping makes the fact that the Pi has an HDMI connector feel more like a negative than a positive.
Anyway, at this point I just want to beat it to dust with a hammer. However, the cock-sucking piece of shit cost me $45, so I can't do that. That's too much money to have go to waste. Just off the top of my head I can think of four things I elected not to buy this week because I didn't really want to spend the money that would have been far more useful to have than this stupid fucking Raspberry Pi.
At this point I can't think of what else to do other than to buy that MPEG license on the off-chance that somehow the failure to boot the GUI after installing MythTV is somehow related to not having that license, but I hate to waste $2 and another day of my life on this piece of shit.
My back-up plan was to give it to my nephew to use as a computer, but from what I've seen, if I did that, he'd be calling me to come fix it every few days until finally, out of frustration, I took it from him and beat it to dust with a hammer, at which point he probably wouldn't be too happy. So I can't give it to him. At least not without "I reserve the right to confiscate it and set it on fire," but then I wouldn't expect that to turn out well either, so I can't let him have it.
So I guess if I can't make it work and I can't return it, I'll just beat it to dust with a hammer. Honestly, it's the only fitting thing I can think of to do with it. In particular since, to keep it at all for whatever dumb-fuck thing it might actually be usable, I'd have to invest in another SD card hoping to end up with one it likes.
Oh, and while the thing does have screw holes, they're not much bigger than a toothpick. I ended up mounting it to a piece of wood by drilling holes in the wood and hammering toothpicks into the holes since I couldn't find any screws that fit through those tiny fucking holes. Everything about this thing is just so damned fucking PITA.