Modifying power limit on Apollo lake x86 tablet

Hello everyone, welcome to my first topic!

I’ve got this pretty interesting chinese x86 based tablet, a Teclast X4, and got Manjaro with Plasma running on it with working touchscreen and accelerometer based auto-rotation. It all works well enough, except for the CPU power. I know this type of CPU ain’t the fastest available, but right now it’s apparent more can be had from it. I’ll explain why.

Out of the box, a Geekbench5 benchmark would make it shut down from heat, reaching 97C then shutting down. After opening the device up, replacing the thermal pad on the CPU with proper paste, bending the copper cold plate for better contact, and applying thermal pads between the cold plate and the devices’ casing solved that issue. Now max temps are 60C under full synthetic load from s-tui (stress with a terminal gui), and Unigine Heaven running at the same time.

S-tui shows CPU package power draw is never more than 6W, a typical power limit for these chips. On Windows, there’s apparently an application for modifying the factory set power limit. Sadly this does not work in Linux, as shown in this thread. Similar chips can gain a lot of performance from increasing the power limit as shown by TechTablets.

On this tablet the BIOS appears to be unlocked, as all options are visible, but modifying the power limit or even disabling it does nothing, so I guess the BIOS is not actually unlocked at all.

Would anyone know what other options may be left in gaining more performance on this device? Is there still a way to increase the power limit?

Thanks for your time! I hope you find these passively cooled thin devices as interesting as I do! :slight_smile:

You can use msr-tools (rdmsr/wrmsr) for that on Linux. Might have to load the msr module first (modprobe msr) or recompile the kernel.

Not sure if Apollo Lake allows you to modify TDP/TPL, especially after Plundervolt - Intel locked that option on many processors with the newest microcode updates.

1 Like

Hey @jotm!

Sorry for the late-ass reply, circumstances prevented me from replying earlier…

I have yet to look at msr-tools on the tablet. The tablet now does duty as a music controller (Spotify) and monitoring screen (htop/nmon/s-tui over ssh) for my desktop, which the 6 watts of power limit does not hinder. Once I find the time I’ll look into it though, just for the fun of it.

What I did find is that switching the compositor from OpenGL to xrender improved UI responsiveness massively, making the increase in cpu power limit much less of a necessity. I guess software based rendering is just faster, or OpenGL/hardware accelerated compositing has some ways to go before it’s ready for general usage. (I fully intend to jest with that statement. It is unexpected though, as software based rendering in anything else is usually the slowest option)

I might just use xrender from now on on every computer I own. Even my rather powerful desktop quickly starts chugging (stuttery scrolling, slow opening of UI things, general feel of responsiveness) once more than a few Firefox tabs and other programs are opened. I really like blurred transparency on my Konsole though…
I feel this might be an Nvidia/Intel GPU related issue, as this chugging is not present on my work desktop which runs the same software (Manjaro+Plasma) as my tablet, laptop and desktop (and phone haha), but uses an old AMD GPU. Too bad I need CUDA for one of my hobbies (Photogrammetry).

At the very least, I do not experience any such slowdowns on my laptop (blue’n’green, Ice Lake), which is running regular Ubuntu (Ubuntu Focal Fossa, GNOME 3.36), on both the Wayland and X11 sessions. Maybe the iGPU is just severely underpowered? If so, raising the power limit should help.

You could also just try running an Ubuntu Focal LiveUSB. GNOME Shell cannot run without 3D hardware acceleration (LLVMpipe handles software rendering when there is no suitable hardware available by essentially emulating a suitable GPU), so you should be able to definitively tell whether or not it is due to the iGPU not receiving enough power.

Post Scriptum
If this is the tablet which you are talking about, then it seems that the APU is a bit newer than Apollo Lake.

Have a nice day!

1 Like

Hey @elsandosgrande & @jotm

Well, I just found the fix for the stuttery chugging on my desktop & laptop! Kwin-lowlatency.
No dice for the tablet though, but the github page warns that kwin-lowlatency is really only for fast machines. Now the hard stutters once every ~0.2-0.7 seconds are replaced with consistent mini stutters, which is… better? Oh well, I just bought a 2-in-one (HP Envy x360, Ryzen 4700U), installed kwin-lowlatency and damn, so smooth. The tablet now serves as a WiFi router too, so I’ll still get my moneys’ worth out of it.

Really though, wow, what a difference. No more stutters, and responsiveness seems better too. Scrolling on a webpage is now so smooth it almost feels like my display is running at a higher refresh rate than 60Hz, and dragging a window around feels precise.

I think I might have installed it on my work desktop a long time ago, but doubted it as, well, it’s my work desktop, I wouldn’t replace a core component like kwin on it due to the risk of downtime right now but back then I might have been a bit less cautious.

I’ve tried just about every major distro on the tablet, and as expected only Manjaro worked without too much weird happenings (though obviously I had issues with it still). I was really hoping Ubuntu would work as the default interface, which should be the most stable & supported, is Gnome and I’ve always thought it looked and felt like a tablet interface. I even tried Wayland, as it worked great with the touchscreen and auto rotation.
But alas, me and Ubuntu do NOT go well together once there’s a GUI involved haha. Graphical glitches and random program crashes galore, the usual for me + Ubuntu. Even generic 5 y/o office desktops of various makes and models with only an Intel cpu + gpu do not work for me. Last issue I had on such a desktop was the Calendar crashing just after booting from a live USB, along with the standard 2 or 3 “Something went wrong” messages.

That is indeed the tablet! I really thought it had an Apollo lake chip inside, though can’t remember where I got that info from now that I think about it.
Looking around on the internet, it seems like modifying just about anything is impossible with this cpu. One tip I did see is disabling Turbo, which lowers how much of the 6w budget goes to the cpu, leaving more watts for the gpu to use. But that should only help in situations where the cpu is actually being heavily loaded as well as the gpu (gaming for example), which is not the case during general web browsing. Turning off turbo did nothing for the stutters.

You too have a great day!

Hm… Now I’m even more curious as to what’s going on. I can only hope that journalctl --catalog --boot is able to shed even a bit of light on this whole situation.

Maybe it’s just a defective unit? Who knows.

Have a nice day as well!

Not a defective unit I think, I now have 2 machines that can scroll smoothly through a webpage. My work desktop, which has a not too awful i7-4785T and an AMD ATI Radeon HD 7770/8760 / R7 250X (according to Neofetch, idk), and my laptop with a R7 4700U. Seems like AMD somehow has something that makes smooth UI&webpages possible. Bare Intel with integrated gpu might not be powerful enough, and anything Nvidia… well, I can call myself a fool for thinking anything would ever go smooth when they are involved haha.

But “joking” aside, I’ve found what process specifically correlates with the stutters: kwin_x11. Cpu usage of that process seems to correlate to the stutters. I think it differs per machine what the cpu usage exactly does, but there’s a connection for sure. Too bad kwin_x11 does not seem to log to any location or journalctl. My home desktop with it’s R5 3600 and RTX2070S sees cpu spikes to 100% on that process whenever the stutters occur. Cpu usage also seems to creep up from ~5% to %60 over time.

My guess is that it’s either a Manjaro or a KDE thing. I might make a bug report but IDK, that seems bothersome. Maybe I’ll try EndeavourOS first.
I’ll see if I can remember to run that journalctl command when I get home.

So… I essentially run bare Intel every day because NVIDIA’s API for Wayland, EGLStreams, is practically not supported by any desktop environment that I’m interested in (please prove me wrong here, especially for GNOME). On Wayland, I experience no stuttering. When I switch to X11 occasionally, I experience no stuttering. Using NVIDIA graphics is also fine, but then I lose the Wayland session until I switch to the Intel PRIME profile (it completely disables the NVIDIA dGPU, including not loading its drivers).

From what I can tell, Gemini Lake is temporally roughly in line with Intel’s eighth generation of processors, so you shouldn’t be seeing any performance issues like that.

Could you go in detail as to what glitches happened when you booted into Ubuntu on the tablet? Would installing GNOME on Manjaro alongside KDE to test it out be acceptable? If not, maybe the Budgie or Deeping desktop environments?

Have a nice day!