Is there any way to disable somehow the mhwd? For me, it causes more problems than it solves.
It is always a pain in the ass, to upgrade or switch the nvidia driver version/branch. Today, for instance, I didn’t even notice, that the nvidia-455xx was out, and I lost a considerable amount of time fixing the “missing nvidia-utils/unresolvable dependencies” problem that you can find all around the forum now.
Can’t we just use pacman for updating the drivers/kernels?
I understand today’s problem. My actual problem is, that I didn’t even notice, that the 455xx (which always had all it’s dependencies in place) is out, and in my opinion that upgrade should have been taken cared of by pacman.
Regardless of today’s hiccup, it would be interesting to know if MHWD can be removed without wrecking the system. I don’t actively use it, and it seems to get in the way more than helping. But perhaps it’s doing useful things in the background that I am not aware of.
If anyone can answer OP’s question, “Can’t we just use pacman for updating the drivers/kernels?”, it would be appreciated.
The problem is not mhwd, the problem is that people have
the option TO WAIT when they don’t understand/see something not working 100% (basic user)
the option to press YES when asked Do you want to skip the above packages for this upgrade? [y/N] y (advanced user), you won’t have the newest NVidia drivers, but everything else, big deal! (more advanced user that checks packages)
the option to wait for an announcement when there is a Stable update imminent (basic user)
the option to wait a few days until minor hiccups are being reported and resolved (basic user)
and instead of those they just press a key and flood the forum with 10 posts a minute about the same thing without even caring searching. Manjaro is very convenient and easy in some aspects but it is still Linux!
Well your mhwd needs to get updated to list the new 455 driver. So once you skip the nvidia packages with the dependency problem and still update the system, including mhwd, you will see the new 455 drivers. In an ideal case, 450 utils would get updated and then you could choose to switch over to the new 455 version.
This is not done automatically, I guess because 455 might not support some older cards which 450 does. So automatically updating it to 455 would cause problems.
Since the 450 utils werent updated for the stable branch, it broke the driver update, and everyone got errors. 455 utils are , however, updated and that’s why the workaround is to switch to 455. This doesn’t solve the problem of outdated 450 utils. The devs will do it soon, I am sure since it is already present in other branches.
So, most people can just wait for the new 450 utils and then update. And then choose to switch over to 455.
people can switch to another version which has updated utils.
As I said, this isn’t my problem. I understood that there is a missing package, I rolled back, system was working again. And I am also aware, that the the dependency issue is solved by now [manjaro-packages] [BoxIt] Memo (x64).
You are right, that the issue from today was not the best example of my problem with mhwd. My actual problem was, that I didn’t even notice, that the 455xx branch is out. Because as I said, in my opinion, such upgrade should have been done by pacman. And to be honest, I’ve had issues with every nvidia upgrade so far.
So my REAL question is: is there a way to use only pacman for updating the drivers/kernels (like in Arch)?
I am coming from Arch, because I got tired of the endless updates and changes. And so far my only problem with Manjaro is the presence of mhwd.
PS: I understand, that mhwd is a work in progress piece of software, but IMHO it is nothing but ‘Enjoy the simplicity’ in it’s current state.
Try to see the way is working, not the way you expect it to work.
There are plenty of people that prefer to keep using the 440 drivers, even tho they could use 450 or 455 now. How would MHAD “know” to switch to what the user wants from what is available?
Of course there is. After all, mhwd just installs the particular packages using pacman/pamac and creates some configuration files. You can simply ignore its existence. Note, however, that there is no nvidia, nvidia-utils package (as in Arch Linux), nvidia drivers are versioned.
Well for the kernel there is, kind of. There are metapackages pointing to the latest linux kernel.
Just install linux-latest and possible modules like linux-latest-nvidia-455xx.
The problem ist that this does conflict with the mhwd driver part. Every time you want to update the nvidia driver, let’s say from 450 to 455, you have to first remove the old one, also manually remove the metapackage, to afterwards manually install the new driver and metapackage. If you have to do this on multiple machines like me, this isn’t enjoyable anymore.
Also, as you pointed out, you can miss that a new driver is out, which will cause problems, because all the packages comming from arch are compiled against the latest nvidia driver, causing things like nvenc and cuda to not work when using an older driver.
So the current situation is not optimal, especially for nvidia users. That’s why I created this thread:
Maybe you can contribute an idea or even some code on how to solve it.
My idea so far is to add another mhwd profile, which is rolling, which always contains the latest nvidia driver.
Of course, completely removing mhwd would be another. But actually I think it is not too bad. Is is nice to be able to install older kernels or drivers. Even if it is rarely needed.
The only thing missing for mhwd is a true rolling release option for everything.
Also 455 is not an update to 450. As you wrote, so you know it, this is another branch of the driver, and you can select the driver branch you want and each driver branch receive different updates. So I don’t see a problem with the current way it works. As suggested there are the metapackages for you if you want to have the “latest everything”, but some people don’t want to automatically switch driver branches every time a new one is out. That would be better for you, probably not for everyone.
//EDIT: actually no, linux-latest-nvidia-XXX metapackages are versioned so it wouldn’t help here for you to stay always on the latest nvidia driver available. Maybe a new metapackage could be created just called linux-latest-nvidia, the same as for the kernels.
Manjaro is built with mhwd.
Removing it is ‘unsupported’ territory.
But it should be possible.
I dont recommend it … for a number of reasons … like building the proper modules for your kernel.
But you probably can.
You described my problem perfectly in your thread and I totally agree with your opinion there!
An nvidia-latest metapackage would be great.
The discussion can be continued there. My thread can be closed.
You can remove mhwd - no problem - after all it is only a database.
But as @cscs point to - you loose some convenience - but I highly doubt the system will break - though you must expect that solutions involving mhwd and mhwd-kernel will not be applicable for your system.
I wouldn’t get rid of it altogether. It seems to be needed by some applications.
What I notice is if I go into the GUI ‘System Settings’ and look at the ‘Kernel’ section, only the currently running one is shown as “installed” until I go into a Terminal and enter mhwd-kernel -li and then all installed kernels show as such in the GUI settings window thereafter, following closing and re-opening the GUI settings.