Difficulty: ★☆☆☆☆
If you are attempting to change driver selection through Manjaro Settings Manager or mhwd
and you receive a message similar to
error: failed to prepare transaction (could not satisfy dependencies)
:: removing XXXXX breaks dependency 'xxxxx' required by nnnnn
Error: pacman failed!
Error: script failed!
then there are 2 things to keep in mind.
-
It is usually easier to install a new profile than attempting to remove one first.
(especially if is a related upgrade, such asnvidia-440xx > nvidia-450xx
) -
Any blocking packages, especially ‘umbrella’ packages such as ‘linux-latest’ can be removed temporarily.
Realistic example
$ sudo mhwd -i pci video-hybrid-intel-nvidia-450xx-prime
Removing video-hybrid-intel-nvidia-440xx-prime…
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/local/pci/video-hybrid-intel-nvidia-440xx-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
checking dependencies…
error: failed to prepare transaction (could not satisfy dependencies)
:: removing linux57-nvidia-440xx breaks dependency ‘linux57-nvidia-440xx’ required by linux-latest-nvidia-440xx
Error: pacman failed!
Error: script failed!
So the proper procedure would be:
$ sudo pacman -R linux-latest-nvidia-440xx
$ sudo mhwd -i pci video-hybrid-intel-nvidia-450xx-prime
NOTES
-
Dont forget about the ‘force’ (
-f
) flag which can be useful. Example:
$ sudo mhwd -f -i pci video-hybrid-intel-nvidia-450xx-prime
-
If you experience a bug where mhwd hangs or fails after a message similar to
Dependencies to install: video-modesetting
Proceed with installation? [Y/n]
Then check for and install the profile dependency through mhwd. Example:
$ sudo mhwd -i pci video-modesetting
-
To use all of the above together, as shown by recent upgrades to 450xx-prime. Example:
$ sudo pacman -R linux-latest-nvidia-440xx
$ sudo mhwd -i pci video-modesetting
$ sudo mhwd -f -i pci video-hybrid-intel-nvidia-450xx-prime
Helpful Links:
https://wiki.manjaro.org/index.php?title=Configure_Graphics_Cards