I’ve been working on a GUI for Framework Laptop ECs, and I wanted to show it off.
I’ve seen a few other GUIs, but they’ve all been a wrapper around ectool. YAFI uses my own CrOS_EC_Python library to communicate directly with the EC, on both Linux and Windows (either using Framework’s official driver, or PawnIO).
Here’s some screenshots showcasing what it can do:
Yeah, GTK only seems to support integer scaling. You might be able to run set GDK_SCALE="2" in cmd before running YAFI from the same cmd. I’ll also write a patch soon that rounds the scaling instead of flooring it.
Cool, thanks. set GDK_SCALE=2 did it. The high DPI scaling settings also worked (check “Override high DPI scaling behavior” and set “Scaling performed by” to “System”), this got me 150% scaling, although upscaled of course (so not pixel perfect)
find it really cool that you are working on a control center for the FW laptops been looking for one. Didn’t had much time to check all the function etc. but noticed a visual bug. If you limit the battery discharge it wont show the limit. See pic attached, yuo can slide where you want it always stays a 0.
Oh whoops, Framework’s minimum limit isn’t actually implemented in the EC, it’s just a field in the command. So it’s not a visual bug, the code is doing exactly as it’s designed to; the EC just replies 0. I believe it’s possible to use the official Chrome OS commands to set a minimum limit, but that can fight with the Framework limit. I’ll remove the discharge limit in the next release.
@Steve-Tech Great work! I think this thread is more suitable in the Creators & Developers category rather than the General category. What do you think?
Edit: I changed this thread’s category from General to Creators & Developers. I hope you like it.
Okey I understand. Do you got some more info on how this all works and how you should use it and what all you can adjust. I’m not the most technical guy so some help would be nice.
Your laptop has an embedded controller that controls a lot of the physical elements of the laptop. YAFI interacts with the EC and let’s you view and configure your temperature sensors and fan speed, LEDs, your battery stats and its limiter, and some other stuff.
I will admit that the discharge limit being there at all was a bug, but everything else should be able to be changed. The advanced LED options are more of a party trick if your laptop supports it, but it’ll reset to its normal behaviour once it’s set to Auto.
I would like to think of a new name since YAFI was more of a temporary name, but also I feel like I’m stuck with it now.
Design a proper logo.
Fan curves, but I can’t make something I like with my current knowledge of GTK. This would also require a daemon/background mode.
I would like to pretty up the battery statistics page with a nice looking battery percentage, but same reason above with GTK.
If I implement the daemon mode for fan control, I would like to let people set the charge LEDs to correspond with temperatures, battery levels, or maybe other events. Though I’m not sure how I’d detect sleep, to reset the LEDs.
Potentially port python portio to other platforms (e.g. the BSDs), as that will allow CrOS_EC_Python to work on those platforms (currently FreeBSD is only supported through /dev/io).
Edit:
Settings often get reset by the BIOS initialisation so they don’t stay after a reboot.
Add MEC EC support to PawnIO since Windows Intel 11-13th gen Framework Laptops require it. Relevant Issue, (LMK where I can acquire an MEC mainboard for cheap!).
Sounds really cool. Unfortunately this all is a bit beyond my knowledge so I can’t really help you. But will for sure keep in touch with you and the project to see where it will go in the future.
I haven’t played around with the tool at all yet, but I will for sure soon since it looks useful. I hope these ideas can help you to think of what to name/logo your project.
Here are the SVGs in case you want to modify them yourself. I created them using Inkscape and then used Paint.net to add the white outlines and shadows.
I like this one! It’s got hints of the Framework logo, but seems different enough to be legally distinct.
I’m not too sure about the names. If we go for an acronym like DASH, I’d prefer to have Framework in there, since I am only supporting Frameworks, and DASH is a little too generic. ECtoplasm is pretty good though!