I recently bought a Gateway/MPC tablet (E-295C, equivalent of C-140-something). Whoever designs these should probably quit while they’re ahead. They’re one of the worst computers to open up that I’ve ever seen. While nominally they’re designed to allow easy access opening it is always a struggle between applying just enough force to unclip a piece while not breaking it. Although that isn’t the point here.
My tablet kept overheating, I had to set up a script to balance the CPU throttling vs the temperature. Not fun. Then there was another problem, the GPU. Any time it would come out of powersave mode, like when fglrx starts, the tablet would turn off seconds later. It was also responsible for many of the heating shutdowns the CPU would be at a cool 85 degrees Celsius and the BIOS would turn things off because the GPU had reached 125 degrees.
So I sat down yesterday and opened it up in order to see what’s going on, what I found was downright ridiculous. The first thing that struck me is that the heatpad, which covers the CPU and GPU, wasn’t tightened properly. This meant that when it was facing downwards, like in normal operation, it would hang creating a tiny gap between it and the GPU. But then it got worse. So I took the headpad off. Of course I found a CPU and a GPU with plenty of therm.. Yeah, right, I hope you didn’t think that’s where this story was going. Neither the CPU nor the GPU had any termal compound on them. The surface was extremely rough, I’ve never seen a heatsink of this low quality before. This is probably a good time to mention the scratch marks on the heatpad. So I got some Arctic Silver and put the headpad on correctly. The result? No more heating issues. Not only can I start the GPU now, I can run CPU-intensive and GPU-intensive tasks at the same time. Thankfully the CPU is ok with working at 93 degrees…
Fixing this motivated me to get the Windows driver for those pesky tablet screen buttons that weren’t working. An hour or so later in IDA and now there’s a Linux daemon that will execute commands on button presses. If you have a Gateway/MPC tablet and want button support you can get it here. I much later found out about a kernel module that does the same but sadly it’s never worked for me.