Why Is Linux Notebook Battery Life Still Poor?
Ganty writes "I recently purchased a Lenovo W500 notebook, and after 'downgrading' to XP and creating a dual partition, I found that I had a battery life of nearly three hours using the long-life battery, at this point I was a happy camper because it means that I can watch a DVD during a flight. I then tried various Linux distributions and found the battery life under FOS to be very disappointing, with an average of 45 minutes before a warning message. After settling on Ubuntu I then spent three days trying various hardware tweaks but I only managed to increase the battery life to one and a half hours. Unwanted services have been disabled, laptop mode has been enabled, the dual core CPU reduces speed when idle and the hard drive spins down when not needed. Obviously Apple with their X86 hardware and BSD based OS have got it right because the MacBooks last for hours, and a stock install of MS Windows XP gives me three hours of life. Why is battery life on notebooks so poor when using Linux? Some have suggested disabling various hardware items such as bluetooth and running the screen at half brightness but XP doesn't require me to do this and still gives a reasonable battery life."
I may sound like a jerkwad here, but why waste all that battery power watching a dvd when you could watch the divx version off local storage?
I don't know how you can expect us to fix your problems when you won't even take the time to read the documentation provided with the release.
In order to solve your problem, you need to set the RANDOMLY_DISCHARGE_BATTERY flag in the kernel source to "0" at compile time. Ubuntu, as well as other "desktop" distributions, set this flag to "1" by default for some reason, but simply installing the source packages and recompiling your kernel will fix the issue.
Honestly, a simple well-tailored Google search and a few measly days of sifting through the docs would have given you this answer without having to waste everyone else's time.
I was able to get my X41 tablet to have good battery life (a bit better than windows actually), but it took some doing. Powertop is a godsend, it pointed me to the i915 intel drivers as the culprit. Disabling DRI made a huge difference.
If you're running on an Intel platform, try running powertop. I can easily gain over an hour of battery life by disabling the services it recommends and reducing the screen brightness.
Here's some concrete evidence. Take a look at http://event.asus.com/eeepc/comparison/eeepc_comparison.htm in which Asus compares their different eee netbooks. Go to the battery life column and observe how, unfortunately, XP consistently outperforms Linux :(
And I have plenty of anecdotal evidence that power management works really well with whatever OS the computer was intended to run, and is alright-to-crappy with any other OS.
My MacBook Pro runs decently in OSX, and drains quickly in WinXP.
My HP Compaq laptop runs really long in Vista, though its still alright in Linux. (haven't done a comparison, though... But Linux still whines when battery #1 is almost dead, even if I have battery #2 available, installed, and at 100%)
The crux of the problem is that Linux is *rarely* the "intended OS" for any of these platforms, so the hardware manufacturer never invests any effort to make sure Linux power management drivers work correctly on them.
He only wasted you time and informed me and about everyone else who didn't know this. Thanks eln!!
On my Samsung NC10, Windows gives me about 6.5 to 7 hours of battery life, Ubuntu about 4.5 to 5.
Linux is a popular choice for netbooks, where battery life is paramount.
You mean "was", until Microsoft decided to keep Windows XP alive in the North American market for a few more years at bargain-basement prices per copy.
This really is an issue, and hardware support varies. Your notebook seems to include an ATI graphics card. That's probably your problem. Last I looked neither the open source, nor the ATI graphics drivers supported power savings on the ATI cards. I have an Asus F8Sv, which actually gets longer battery life in Linux, about 10 minutes, even though when running Linux, I have an external hard drive connected. It's got an Nvidia Geforce 8600 graphics card, with Nvidia's drivers. (Mind you, this is with OpenGL composting enabled, under Kubuntu (both 9.04 and 9.10) The other big one is Intel cards, which are supported for most of their power management features under the driver Intel helped write.
This is just the same problem Noted in XKCD.
Good battery life is not cool. Open source software, especially a mutt like linux, is all about cool.
Good battery life requires annoyingly huge amounts of microoptimizations and chipset-dependent tricks. Which is most definatly NOT cool.
Test your net with Netalyzr
I get 10 hours on winxp on my eeepc, and 7.5-ish on eeebuntu.
I'd love to know what to do to optimize eeebuntu more, since that's what I need for work.
Is the kernel compiled to be tickless? http://kerneltrap.org/node/6750
Some have suggested disabling various hardware items such as bluetooth and running the screen at half brightness but XP doesn't require me to do this and still gives a reasonable battery life
Are you sure? My netbook dims the screen when I pull the power cord on both XP and Win7... though it might be the BIOS doing that.
Anyway my suggestion is checking if ACPI works as it should. AFAIK laptops are notorious for buggy ACPI implementations that are only tested with Windows. Linux now pretends to be Windows XP when doing ACPI stuff, before that they noped out some part of the BIOS to make it work with Linux but that wasn't reliable. Look into if you can change how Linux does ACPI and try that.
kernel developers are smarter than that, and know that would be impossible to support. The real flag is PSEUDO_RANDOMLY_DISCHARGE_BATTERY.
"National Security is the chief cause of national insecurity." - Celine's First Law
We need a -1 TrollFeeder option
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
And people expect an average computer user to want to use Linux when they have to make sure their kernel is compiled right to do basic power management?
While I can't say that my Dell laptop's power management has been piss-poor under Windows (I can't really say that I used Windows on THIS particular computer that much, but I did on previous Dell models) and the power management was pretty excellent especially when the Intel speedstep software was running. If it helps, I run Fedora and Fedora and Dell laptops have been getting along fabulously for at least the past 6 or 7 version releases.
But one thing about running Windows that has always been a complaint and that's it's estimation for "time remaining." Whether looking at file transfers or remaining battery life, Microsoft ALWAYS seems to over-estimate "time remaining" or has at least reported the most optimistic figure possible. What I'm getting at is that it is QUITE possible that the Windows battery life you are reading is either untrue or unrealistically optimistic.
I know on my Dell Mini 9 running XP and watching video on battery power initially claims I have like 3 or 4 hours battery remaining, but before the two hour movie is complete, it wants to die.
The biggest source of battery drain on my netbook is CPU processing. No doubt with my other notebook, it would be hard drive usage followed closely by processor/gpu usage. This leads me to the next suggestion when using Linux -- use the graphics driver provided by nvidia or ati. They manage power better because they have the "secrets" that the GPL drivers don't have access to. Remember that a GPU is still a processor and eats power when processing.
Power management on laptops is all about paying attention to everything that draws power and being aware of it. For example, if it generates heat, it's using power... usually lots of it and cooling systems draw even more power as a consequence. Dial that speedstep down WAY low when unplugged.
This is, of course a vast simplification, but it gets the point across. The linked to article also shows how to use laptop mode to address these issues and extend batterly life (although, it seems to me that there is a trade off in the ability of journaled file systems to perform correctly).
XP's default file system is NTFS, and NTFS is journaled, so I don't think Linux gets an easy out there...
I'm surprised, my experience with Ubuntu 9.04 is very good on similar Thinkpad hardware. After upgrading from a decrepit IBM T42p to a Lenovo T61p (UXGA->WUXGA = similar screen size/power demands to the hi-res W500), I still get ~4:00 out of the Thinkpad extended battery.
Some ideas; perhaps these will be useful: .45A Seagate, and my experience was dramatic: 30-45min more battery time from that change alone. When I upgraded the recent hdd, I made sure to select one with less than .5A consumption.
- There is a bios setting on the Lenovo-era Thinkpads where you can force the screen to high brightness. My Ubuntu install manages this correctly (i.e. turns it on when on line power, off when on battery). However if yours does not kick the brightness to the normal range off line power, it'll kill the battery faster than any other factor. On high display brightness, you will be lucky to get more than 90min on battery.
- Hard drive power consumption does make a significant difference, and for that, Windows does tend to spin down the drive more frequently. With a high-load drive the difference can be pretty dramatic, but a more efficient drive closes the performance gap even if Linux isn't as aggressive with drive power management. For example, with the last upgrade to the T42, I replaced the old 1.1A IBM drive with a
- Check your display drivers. On the T61 with the default Ubuntu installation, the CPU load increased with the open-source video driver, because it's compensating for certain unknowns in the GPU by offloading to the CPU/being more inefficient. Loading the Nvidia driver not only increased performance (a lot), but (again) noticeably reduced power consumption.
In short, optimize, optimize, optimize.... and sometimes that means installing the right driver, not stripping things down.
I think not...(*poof*)
What do you mean? I just turned on my laptop linux and it always lasts ove
It's sadly true that almost all Linux applications / distributions have not taken writing-to-disk into account to reduce power. On the other hand, video / 2G / 3G graphics acceleration in hardware makes a huge difference, which is why I would really like to see more companies offering more in terms of stable hardware acceleration.
Agreed. Simple web browser usage used to compare Linux and XP shows a 25% _increase_ in battery life under Linux. This was mostly doing research and reading emails. Flash sites tend to draw down the battery so I hold off on those until back on AC power. this was with a work issued laptop from Dell. I don't recall the model.
Yep, I never spell check.
More incorrect spellings can be found he
I've personally experienced issues with my laptop BIOS. It works properly in Windows, but a lot of the ACPI functions just flat out don't work in Linux. This is due to a compiler that lets the code compile with errors (Mainly functions that don't return a value when they should). This allows the BIOS programmers to be lazy, and write half assed power functions that don't work properly.
You can fix a lot of these issues by following the instructions in one of the links below to decompile that portion of the BIOS, and recompile it using the Intel compiler. It isn't easy, and certainly isn't something an user should ever have to do. It did fix a lot of the power issues with my HP laptop though (Running hot, not booting on battery power unless a key was pressed, hibernation).
See
http://www.osnews.com/thread?230516
http://ubuntuforums.org/showthread.php?t=1036051
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/272247?comments=all
In this instance, you can blame MS's poor compiler for Linux's poor battery life.
Because linux is fucking terrible for desktop use.
The battery life on my desktop is just fine.
As one of those non-techies who enjoys reading /. for the brilliant article summaries, insightful commentary and the sterling sense of humor of many posters, this little tale explains exactly why I am not willing to switch away from a mainstream operating system. I think I'm reasonably tech savy for someone who's never taken a computer programming class, but wow -- none of this makes the slightest degree of sense to someone like me. Can anyone explain why my initial gut sense is an over-reaction? Should my replacement computer (another laptop) be Linux (other than Apple)?
There are very few modern models where battery life is given as different from XP. In those cases the difference is rather small (not like what the article poster is experiencing). In at least one of those cases, the Linux hardware configuration is different than the XP hardware configuration. (Different flash drive size, there may be other changes such as a different WLAN card. For example, the Dells that have Ubuntu preinstalled have a different hardware configuration than non-Ubuntu Dells of the exact same model number.)
For example:
1101HA is given as being available with either XP or Linux. Only two battery life numbers are given, one for each possible battery configuration.
The 1002H is XP-only and seems to be one of the worst performers in the 10" class (5 hours)
In my experience, the most common causes of lower battery life under Linux:
NVidia chipsets. The power management in their driver is one of their lowest priorities. If you want games, you're going to have to sacrifice battery life.
Sometimes the "ondemand" cpu speed governor can be a little flaky and step to high speed way too quickly.
Keep in mind that's Asus's own Linux distro which most people regard as not being that hot. It may be missing some power tweaks available to other users. With the exception of Nvidia-graphics based laptops, I've usually been able to get much better real-world battery life on a machine with Linux than Windows. (Exception being that I haven't gotten FSB clock changing working on the Ubuntu partition of my Eee 1000HE yet - downclocking the FSB is the core component of Asus's "Super Hybrid Engine" power management scheme.)
retrorocket.o not found, launch anyway?
Because linux is fucking terrible for desktop use.
The battery life on my desktop is just fine.
Really? Battery life on my desktop sucks. It dies as soon as I remove the power cord.
Ding Ding Ding. We have a winner folks. This is the answer. You need to have a tickless kernel otherwise the tick timer keeps the CPU from ever making it to those deep C states for any decent amount of time. In effect, the kernel keeps asking everything,"got anything for me". The CPU equivalent of "are we there yet" or "can you hear me know".
Who are you? The new #2 Who is #1? You are #617565. I am not a number, I am a free man! Muhahaha.
Well, DUH, it HAS to be perfectly optimized for the hardware.
Battery management requires checking every single pin on your hardware and ensuring that you've set the i/o correctly for sleep mode.
If you have even one pin with a pull-up resistor set as an output, then you'll get lower battery life than the nominal case. If you have just random I/O on unused pins, then you're going to get greater drain than ideal.
I'll qualify that statement by saying I'm an Electrical Engineer with embedded experience. One of the products I worked on was a GPS / VHF tracker with a 12uA standby current. Another was a VHF tracker with an 8uA standby current. Slight modifications to the firmware would bring the standby current up to 50-100 mA. That's more than 1000x more standby current.
My experience dealing with Linux developers (and realistically, software developers in general) is that they're all terrible at determining the link between hardware and software. Look at the derision you get online towards C. Linux devs are worse -- if you're not running their exact hardware on a machine you bought in the last month, then it's your problem, not theirs. "Weird, it works here. Have you tried recompiling the drivers?"
It's fairly easy to map these pins, BTW. All you have to do is set everything to an output, set it to 0, and then turn everything to an input. Everything that's high has a pullup resistor. Do the same with 1 and everything that's low has a pull-down resistor. Now you know which pins must be inputs when you're not using them.
Of course, since you taught yourself programming with Ruby on Rails, you know all this, right? It's not like you'd have to have some low-level knowledge of the hardware in order to effectively make a complete synergistic hardware and software package.~
---
ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
And people expect an average computer user to want to use Linux when they have to make sure their kernel is compiled right to do basic power management?
No, you expect the average computer user to install the mobile or laptop version on a laptop, which come premade specifically with optimizations like these.
One size does NOT fit all.
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
But why should the average user have to worry about tickless
after all other OSs figure out your hardware and install the right options. A distribution could worry about the user experience and take care of this automatically or, at worst, ask you if you are installing on a battery powered system.
There is utility in having one entity responsible for the ease of installation and not punting it to the varying knowledge/skill levels of the user.
If Microsoft and Apple can do it....
A quick Google search shows that the basic kernel for all versions of Ubuntu has been tickless since 7.10. /boot/config-`uname -r`
http://www.ubuntu.com/news/ubuntu-server710
I know my system (karmic) does. You can check with:
$ grep CONFIG_NO_HZ
CONFIG_NO_HZ=y
Why is it so hot? Where am I going? What am I doing in this handbasket?
It is notoriously hard to work with power management features of notebooks, because it is hard to find a really ACPI-compatible BIOS. Most of them are broken in some way, or require undocumented voodoo and magic values to behave. There is really no solution to this unless: a) Manufacturers get their shit together and ship functioning hardware, not hardware that accidentally happens to work under Windows (systemic approach); b) Linux gets more mindshare and those issues get sorted out on a per-device basis (band-aid approach). a) is very unlikely, since shipping functioning hardware brings no obvious reward to the manufacturer. Therefore we can only hope for b).
Note that this is not limited to ACPI. In almost every area, there are hardware products that do not comply with specifications they are supposed to comply with, lie about supported features when probed, have bogus device descriptors, reuse the product ID of a different device, do stupid things when supplied valid commands it doesn't expect, etc.
Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
Would you? Really? Cause I have been using Linux exclusively for my servers, desktops and notebooks for years and I didn't know there was a "laptop" ubuntu. Or suse. Or redhat.
Actually, I still don't know that. But I will take your word for it that something like that exists in some niche under a rock. Everything does. Linux distros are like porn on the net, if you can think of it, someone has done it. And heck, there are probably even supported ones from the three distros above maybe. Just I never heard of them because I haven't cared enough to look.
Which brings us to the odds of "the average computer user" having heard of them: Zero. Zip. None, Nil.
Plus, they have absolutely no conditioning for it, coming from either Mac or Win, where you don't need a magic special install to make your laptop work with your OS. You just do it.
So basically this isn't negating the OP's point, but instead reinforcing it. It is just another reason for people who aren't geeks to say: linux, I tried that but my battery life cut in half, so I put Win back on my machine.
7. What we cannot speak about we must pass over in silence.
I'm running a stock Ubuntu install (except Nvidia drivers) and my battery life is great. The sleep mode works, too. The key to running Linux is using compatible hardware and it works very well. Ubuntu really has made the user experience better than Windows. I'm not saying that Linux offers the same breadth of software but on compatible hardware is really is slick. I was at my brothers and wanted to print a file. I plugged the USB cable in and the selected the printer while printing from the application. No downloading drivers, no loading crapware from a CD, just plug in and print.
"Linux is dead, long live Windows 7!"
er, don't know about dead, and I wouldn't say "long live windows 7", but I will admit the battery power options are very impressive on Windows 7. Not only can you change the obvious like cpu speed, but you can go all the way down and adjust how long the CPU fan should be on if you're on battery, and it can change according to which battery profile you choose. It has more options than I've ever seen on any program, even more than NHC.
my karma will be here long after I'm gone
guy@guy-desktop:~$ grep CONFIG_NO_HZ /boot/config-`uname -r`
CONFIG_NO_HZ=y
guy@guy-desktop:~$
That's Intrepid on a desktop. We're tickless by default, laptop or desktop.
The GP who asked if the kernel is tickless asked a valid question, but it's been turned into a FUD campaign by the Linux bashers.
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
I think many of the posters here, who all have great ideas and suggestions, are missing the point of the OP.
Why is an out-of-the-box XP machine performing better than an out-of-the-box Linux machine?
The Linux community shouldn't be saying "try this" or "tweak that" or "install this device driver" or "switch your hardware"... they should be working on building those into the next revs of the OS and making them part of the default configuration (or at least an easy prompt like XP offers).
-David
First, Microsoft doesn't "do it". Without specific drivers provided by the OEM, the power-save functionality doesn't work well on Win either. The fact that all OEMs provide these is simply a matter of scale, Windows is 90% of the market, after all.
Secondly, Apple controls the hardware. They can do what they like and make sure it works because it's a limited subset. You pay extra for that too.
What you're basically asking for is "why can't this free software made by volunteers be as instantly capable with any hardware on the planet as the big corporate monopoly that spends zillions on the same thing"?
Do you now see the idiocy of the question?
Hey, the fact that it works at all is the miracle here. Okay, so you might have to tweak it. Generally speaking, you don't have to, but there's always edge cases.
Also, the existence of differing distributions reflects different needs. There's stuff in any install of Windows that people often don't need. So why install it? Linux being customizable for the task at hand is a feature, not a drawback.
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
Total agreement - I get a little more battery life from stock Ubuntu, and once I've locked the CPU at 800 MHz and turned off Compiz I can get two to three times more battery life for comparable activities - and six to eight hours of film watching on a 15" screen is not bad from a single charge.
Be smart, help people!
The last time I installed XP on my laptop I had lost some, but not all, of the OEM-supplied driver disks, and it ended up taking me a total of about eighteen hours of solid graft to get it to work. Incidentally, I grew up on Windows, and have only really gotten into FOSS stuff in the last three or four years, and the last time I installed Ubuntu (which took about twenty minutes) it had already configured my screen to the right resolution, got the wi-fi and bluetooth working, got the frickin' bog standard ethernet adapter working, and suggested that I might want to download the right drivers for my GPU by clicking OK and typing my password.
When people say these things, I always have to wonder whether they have ever actually installed Windows. Maybe it's just me, but it takes longer for XP or Vista to simply copy the base installation to the hard drives than it does for me to set up Ubuntu, and I still have to look up which packages I need to install to listen to MP3s or watch DVDs.
Be smart, help people!
Good old Linux community, where posting "I have this problem..." gets you the response "YOU DO NOT HAVE A PROBLEM! POST PROOF OR RETRACT!"
What you're basically asking for is "why can't this free software made by volunteers be as instantly capable with any hardware on the planet as the big corporate monopoly that spends zillions on the same thing"?
Do you now see the idiocy of the question?
No, I don't see the idiocy of the question. The answer gives an important insight into one reason why Linux isn't more successful on the desktop.
Users of computers don't care that Linux is partly made by volunteers. They want their computers to last as long as possible on a battery. They don't want to hear excuses about how Apple and Microsoft have better access to the hardware suppliers than the Linux developers. The fact is they do have better access and that leads to better power management.
I'm afraid you just have to find a way to deal with it. In fact, bleating that it's not fair because Linux developers are volunteers may make things worse. You're basically saying Linux is amateur. People want their software to be professional.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
My biggest objection to using Linux (and a major reason why I tell less technical friends/family to avoid Linux) is because of posts exactly like this.
My first Linux install was Slackware (if I remember correctly)...back in 1998. That's 10 years. And for all 10 of those years, my experience with Linux has been like this...
Linux Community: 'This new version of Linux is totally great. Easy to use, great hardware support, best Linux ever. Totally better than Windows!'
Me: "Ummm, that's cool and all - but I have a problem with X"
Linux Community: "*I* don't have a problem with X! I don't even believe you have a problem. Where is your proof? It's totally not a problem with Linux, if it's even a real problem at all."
Me: "Umm...okay. Well...all I want to do is be able to X (where X was get on the internet, hear sound, use a wireless network card, have decent battery life - all of which were or are problems). Here's more information....
Linux Community: "You are using Y? Y is worthless. Everyone knows Y isn't supported in Linux because of XYZ. You either need to write your own driver or get a real Y."
Me: "Can you tell me, specifically, what Y I should buy?"
Linux Community: "*I* have ABC and it works great. But it's more than just what is on the box, it's the chipset and stuff. It's kind of hit or miss.'
Me: 'Wtf? This sucks....I'm going to run Windows'
Linux Community: 'N0ob.'
*six months later*
Linux Community: "Great news! We've totally made it so you can do X"
Me: 'Wait, last time you told me you could do X, and that it was easy, and free, and better than Windows. When I said I had problem doing X, you all told me I was crazy and to RTFM!'
Linux Community: 'Oh well....yeah...in the past, we've had some problems with X. Some users couldn't do X at all, but now we've totally fixed it! Now Linux is is totally great. Easy to use, great hardware support, best Linux ever. Totally better than Windows!''
--------
You get the idea. Months after getting flamed for complaining about how my wireless network adapter doesn't work in Linux, the Linux community raves about how they've improved wireless support.
I've had plenty of problems with Windows....but when I have a problem with Windows, at the very least, people *believe me*.
Actually, I've had the same exact issue you detailed here with Windows, OSX, BSD, AIX, Solaris, and Linux.
Nothing works right 100% of the time - to quote three dead trolls in a baggie "It ain't the hardware guys, it just that every OS sucks".
Everyone knows that every app works on the developer's machine...
An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
I have no idea what you are talking about. I don't have problems getting support on Linux from the Linux community.. Debian Ubuntu has the greatest and friendliest support people in the world.
Can you prove you got poor or non-existing support for Linux? Show us screen-shots, chat logs, and e-mail exchanges, or we won't believe you.
You want to hear about poor support? Try calling Microsoft tech support. They completely suck. I once called Microsoft tech support and I was on hold for 13 hours, and then I got connected to some loser who can't speak English. Of course I only called to swear at him, so I yelled abuse at him and hung up. But I had to wait 13 hours first. That sucks. If you want to yell abuse at a Linux support person, you can call Linus himself any time of the day or night, and he'll thank you for your suggestion.
The Linux community is great. I think you don't have any problems getting support for Linux, or if you do, it is because you are rude, stupid, and useless.
I hate it when I make a joke and I get modded "+5 insightful". Mod the stupid comments "funny", not "insightful", pleas
Sounds like you are simplifying the situation alot. Yes thats how you do power management on tiny microcontrollers, but that has nothing to do with power management on a typical PC.
Video card have ways to stop clocks in certain areas of the chips, this is the main way power is saved, same with CPU's. These devices don't have I/O pins in the same way microcontrollers do, usually all the buses are tri-state and there is no need at all to 'set' something to input or output or high or low, you simply high impedance the whole bus connection.
What you are talking about has nothing to do with programming on modern computers, you can't just tell your video card what pins to set as output and input, you have to talk to it over a bus, and it runs its own firmware/bios that may have calls that make it disable clocks in certain parts of its chips and high empedance certain bus lines etc. Knowing what these commands are and how to talk to chip when the manufacturer doesn't release any details, just a windows binary driver is the whole problem in the first place.