# Conflict between nvidia-settings and nvidia-drivers

## CPUFan

Hi,

I just tried this:

```
# emerge -qavuDN @world

[ebuild     U ] x11-drivers/nvidia-drivers-355.11-r2 [340.93-r1] USE="X acpi gtk2%* multilib tools -gtk3% -pax_kernel -uvm" 

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

x11-drivers/nvidia-drivers:0

  (x11-drivers/nvidia-drivers-355.11-r2:0/355::gentoo, ebuild scheduled for merge) pulled in by

    (no parents that aren't satisfied by other packages in this slot)

  (x11-drivers/nvidia-drivers-340.93-r1:0/340::gentoo, installed) pulled in by

    ~x11-drivers/nvidia-drivers-340.93 required by (media-video/nvidia-settings-340.58:0/0::gentoo, installed)

    ^                           ^^^^^^                                                                                                                               

```

I understand it like this:

There is a newer version of nvidia-drivers, so emerge -qavuDN @world tries to install it.

However, there is currently an older version being used by nvidia-settings

Both versions are required, but both don't specify a slot, i.e. they are in the default slot (SLOT=0)

Two versions in one slot are not allowed, which raises the error.

Can someone please answer these questions?

Is my interpretation correct?

Why is there a mask sign before the second nvidia drivers package? (it's colored red, btw)

What's a clean solution to this?

Many thanks for answers.

Johannes

P.S.: Updating nvidia-settings does not help, since there is no newer version of it.

----------

## krinn

1/ yep

2/ the ~ tells you it's unstable

3/ when two packages depend on each other, if you unmask to use unstable version of one of them, you must make sure you also unmask the other to match it.

So it tells you, that the 340.93 is need for settings-340.58 but that version is mask, either because the 340.93 is mask on your system, or because something else "mask it" for portage, in your case, 355.11 is "masking" 340.58 because they couldn't use both the same slot.

Your solve is easy, use the 340.93 and nvidia-settings-340.58

Or use 355.11 and an nvidia-settings that works with it (and it could mean you must also unmask that nvidia-settings version), that's also why if you ask portage it will not show you there's a new one until you unmask it.

And looking at https://packages.gentoo.org/packages/media-video/nvidia-settings

indeed you can see a mask nvidia-settings-355.11 exist

I don't know the reason why drivers at 355 are stable and settings are still unstable, maybe someone forget to stabilize the later or some trouble exist. But if you want that nvidia-setttings, unmask it.

----------

## CPUFan

 *krinn wrote:*   

> 
> 
> 2/ the ~ tells you it's unstable
> 
> 

 

On packages.gentoo.org could only see 340.93-r1. And this one was masked stable. Maybe 340.93 is different to 340.93-r1 and just not listed?

From checking your solutions, the only way to be able to run 

```
emerge -qavuDN @world
```

 is unmasking a package in this case?

Is there maybe a way to tell emerge to not update this one specific package "nvidia-drivers"?

----------

## krinn

 *CPUFan wrote:*   

> And this one was masked stable. Maybe 340.93 is different to 340.93-r1 and just not listed?
> 
> From checking your solutions, the only way to be able to run 
> 
> ```
> ...

 

yes solve is unmasking nvidia-settings to match the current stable drivers

but you have other solve: remove and not use nvidia-settings, mask newer nvidia-drivers to kept only 93-r1 usable, or as you asked --exclude x11-drivers/nvidia-drivers while updating a solve that you will see is clearly not as good as you think, as if you later try to update any package that depends on it, portage will again complains. There's also the solve to wait a few days to get settings stabilize or directly query its stabilization in bugs.gentoo.org

you'll see either masking newer nvidia-drivers or excluding them from update will not help, that's a sane solve for many packages, that goes into an hell solve for a critical package like an x11 drivers, because many others will depend on them, making masking or excluding an impossible task as these packages will then complains about your current version in use.

If you want the less disturbing solve, ask stabilization or wait few days for it to happen (assuming nothing prevent it).

Or unmask that nvidia-settings version or remove it (i know why people loves nvidia-settings, but it's mostly unused after you have used it one time).

----------

## CPUFan

Thanks! I now uninstalled nvidia-settings and it works. Maybe I really won't need it...

----------

## Syl20

With the "tools" USE flag set, the Nvidia settings control panel is built with the nvidia-drivers package. So you don't need to install the nvidia-settings package.

----------

## netfab

 *CneGroumF wrote:*   

> With the "tools" USE flag set, the Nvidia settings control panel is built with the nvidia-drivers package. So you don't need to install the nvidia-settings package.

 

That is not true.

(Edit to elaborate)

First, the nvidia-settings tool installed by the nvidia-drivers package is not « built » with the tools useflag. This is a pre-built binary. See bug #562910.

Second, the nvidia-settings utility is not the only file installed by the nvidia-settings package. Some packages depends directly on nvidia-settings because it also install the required XNVCtrl library. See bugs #414679 and #563718. So if you have one of these packages installed on your system, nvidia-settings may be required, depending on  your configuration.

----------

## Syl20

 *netfab wrote:*   

> First, the nvidia-settings tool installed by the nvidia-drivers package is not « built » with the tools useflag. This is a pre-built binary. See bug #562910.

 

Ok, I chose the wrong word... My bad.

 *Quote:*   

> Second, the nvidia-settings utility is not the only file installed by the nvidia-settings package. Some packages depends directly on nvidia-settings because it also install the required XNVCtrl library. See bugs #414679 and #563718. So if you have one of these packages installed on your system, nvidia-settings may be required, depending on  your configuration.

 

Good to know. Thank you for these precisions.

----------

