I saw massive differences in window managers. Every Linux machine I have beats windows in battery life by a very large margin iff I use i3. With default (‘nicer looking’ depending on taste) they do far less. Like my 2011 x220 still does 15 hours on i3, gpd pocket 1 similar, Pandora gets 20 hours, etc. The ones that run Windows, like the pocket and x220, barely make 4 hours. Note that I did optimise the Linux and did nothing to the windows installs, but still. I have a stack of laptops with dual boot from Dell, Acer etc and I have the same results there; far shorter than the above go to machines, but windows less than half of Linux for anything I do.
How many batteries does your x220 have attached to it? You’re probably running the extended one and the one that attaches to the bottom right? Mine won’t last 2hs on its own with the portable battery that doesn’t stick out. I think it’s the i5.
So I wonder if "using fewer GPU calls" is the solution to Linux's battery problems, or if you've just found a parallel way to cut battery usage that counteracts it...