Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[gentoo-user] nvidia driver missing symbols

531 views
Skip to first unread message

Daniel Frey

unread,
Jan 5, 2017, 12:00:03 AM1/5/17
to
So I updated my nvidia driver and got the following:

[ 75.557567] nvidia-nvlink: Nvlink Core is being initialized, major
device number 247
[ 75.557583] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 375.26
Thu Dec 8 18:36:43 PST 2016 (using threaded interrupts)
[ 75.701289] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver
for UNIX platforms 375.26 Thu Dec 8 18:04:14 PST 2016
[ 75.769472] nvidia_drm: Unknown symbol
drm_atomic_helper_plane_destroy_state (err 0)
[ 75.769479] nvidia_drm: Unknown symbol drm_kms_helper_poll_fini (err 0)
[ 75.769491] nvidia_drm: Unknown symbol drm_kms_helper_poll_disable
(err 0)
[ 75.769497] nvidia_drm: Unknown symbol drm_kms_helper_poll_init (err 0)
[ 75.769514] nvidia_drm: Unknown symbol
drm_atomic_helper_disable_plane (err 0)
[ 75.769527] nvidia_drm: Unknown symbol
drm_atomic_helper_cleanup_planes (err 0)
[ 75.769531] nvidia_drm: Unknown symbol drm_helper_hpd_irq_event (err 0)
[ 75.769538] nvidia_drm: Unknown symbol
drm_atomic_helper_crtc_destroy_state (err 0)
[ 75.769565] nvidia_drm: Unknown symbol drm_atomic_helper_check (err 0)
[ 75.769567] nvidia_drm: Unknown symbol
drm_atomic_helper_connector_destroy_state (err 0)
[ 75.769573] nvidia_drm: Unknown symbol
drm_atomic_helper_plane_duplicate_state (err 0)
[ 75.769603] nvidia_drm: Unknown symbol drm_atomic_helper_plane_reset
(err 0)
[ 75.769606] nvidia_drm: Unknown symbol
drm_atomic_helper_prepare_planes (err 0)
[ 75.769610] nvidia_drm: Unknown symbol drm_helper_mode_fill_fb_struct
(err 0)
[ 75.769622] nvidia_drm: Unknown symbol drm_atomic_helper_set_config
(err 0)
[ 75.769624] nvidia_drm: Unknown symbol
drm_atomic_helper_connector_duplicate_state (err 0)
[ 75.769630] nvidia_drm: Unknown symbol drm_atomic_helper_crtc_reset
(err 0)
[ 75.769636] nvidia_drm: Unknown symbol drm_kms_helper_hotplug_event
(err 0)
[ 75.769644] nvidia_drm: Unknown symbol drm_atomic_helper_swap_state
(err 0)
[ 75.769646] nvidia_drm: Unknown symbol drm_atomic_helper_page_flip
(err 0)
[ 75.769648] nvidia_drm: Unknown symbol
drm_atomic_helper_connector_reset (err 0)
[ 75.769653] nvidia_drm: Unknown symbol
drm_atomic_helper_crtc_duplicate_state (err 0)
[ 75.769656] nvidia_drm: Unknown symbol drm_atomic_helper_update_plane
(err 0)

I've traced this to needing KMS helper support in the kernel.

For the life of me, I can't find it to enable it. When searching the
kernel, it shows up but doesn't say exactly where it is.

Surely someone else has run across this and has a way to enable:

CONFIG_DRM_KMS_HELPER
CONFIG_DRM_KMS_FB_HELPER
CONFIG_DRM_FBDEV_EMULATION

??

I am thinking it needs something as a prerequisite but I can't grok that
line in the kernel.

Dan

wabe

unread,
Jan 5, 2017, 1:10:02 AM1/5/17
to
Make sure that you have also enabled CONFIG_DRM.

CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y

If you use "make menuconfig" you can activate these settings by selecting:

Device Drivers -> Graphics support -> Direct Rendering Manager -> Enable legacy fbdev support for your modesetting driver

--
Regards
wabe

Nikos Chantziaras

unread,
Jan 5, 2017, 4:10:03 AM1/5/17
to
On 01/05/2017 08:05 AM, wabe wrote:
> Make sure that you have also enabled CONFIG_DRM.
>
> CONFIG_DRM=y
> CONFIG_DRM_KMS_HELPER=y
> CONFIG_DRM_KMS_FB_HELPER=y
> CONFIG_DRM_FBDEV_EMULATION=y

Eh, no. For nvidia, these need to be all disabled. Disable all KMS and
DRM options. Then it should work.

Corbin Bird

unread,
Jan 5, 2017, 9:20:03 AM1/5/17
to
More info, please.

Question #1 : is this a (U)EFI based system?
Question #2 : which FB(s) are enabled?

Daniel Frey

unread,
Jan 5, 2017, 11:00:03 AM1/5/17
to
No, it's an old BIOS based system.

> Question #2 : which FB(s) are enabled?
>

I just looked, the EFI-based one is the only one selected. nvidia
doesn't like the nvidia framebuffer, so I had to deselect it.

Dan

J. Roeleveld

unread,
Jan 5, 2017, 12:30:03 PM1/5/17
to
Actually. Nvidia complains about all framebuffers.
I do use the EFI framebuffer as I want to be able to fall back to the text consoles when necessary.

I have not encountered any major issues with this. Might occur if I switch between X and text regularly. Which I generally don't.

--
Joost
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Nikos Chantziaras

unread,
Jan 5, 2017, 4:50:03 PM1/5/17
to
On 01/05/2017 07:28 PM, J. Roeleveld wrote:
> Actually. Nvidia complains about all framebuffers.
> I do use the EFI framebuffer as I want to be able to fall back to the text consoles when necessary.
>
> I have not encountered any major issues with this. Might occur if I switch between X and text regularly. Which I generally don't.

It only complains when the graphics card was initialized using BIOS.
This is true even in UEFI mode. It's recommended to disable the CSM
(Compatibility Support Module) in the BIOS setup. Not all mainboards
have that option though. But if you disable it, the graphics card will
be initialized by UEFI on startup, which is fully supported by the
driver (and the warning message will disappear.)

Corbin Bird

unread,
Jan 5, 2017, 8:40:03 PM1/5/17
to
Link : https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers

Quotes from the Wiki :
> Be warned that enabling /efifb/ support in kernel (|CONFIG_FB_EFI=y|)
> causes intermittent problems with the initialization of the NVIDIA
> drivers.
> Device Drivers --->
> Graphics support --->
> Frame buffer Devices --->
> <*> Support for frame buffer devices --->
> < > nVidia Framebuffer Support
> < > nVidia Riva support
> Device drivers --->
> Graphics support --->
> < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

The standard "old" VESA VGA not enabled?

You have a BIOS based system. You might want to enable it and recompile.
If memory is correct ... the console and X terminals need it ( or the
EFI variant for UEFI based systems ).

It should not interfere with the nvidia drivers.

Look for this option as well :
> Bus options (PCI etc.) --->
> [*] Mark VGA/VBE/EFI FB as generic system framebuffer

Nvidia has really changed since my last Nvidia based card.

Daniel Frey

unread,
Jan 5, 2017, 11:00:03 PM1/5/17
to
No, I don't think I ever had it enabled. We're talking years (maybe even
more than a decade) here. I probably turned all that off when installing
the Nvidia drivers for the first time.

>
> You have a BIOS based system. You might want to enable it and recompile.
> If memory is correct ... the console and X terminals need it ( or the
> EFI variant for UEFI based systems ).
>
> It should not interfere with the nvidia drivers.
>
> Look for this option as well :
>> Bus options (PCI etc.) --->
>> [*] Mark VGA/VBE/EFI FB as generic system framebuffer
>
> Nvidia has really changed since my last Nvidia based card.
>
>

I think I fixed it by accident. I couldn't find the KMS helpers to
enable for an external module in the kernel, so I built the Intel driver
with KMS support and it dragged in the KMS helper bits (confirmed by
grepping .config). Why can't we just turn that option on directly in
menuconfig for external modules? This is in gentoo-sources.

I've rebooted and the problem has gone away, go figure.

Dan

Nikos Chantziaras

unread,
Jan 6, 2017, 5:20:04 AM1/6/17
to
On 01/06/2017 05:51 AM, Daniel Frey wrote:
> I think I fixed it by accident. I couldn't find the KMS helpers to
> enable for an external module in the kernel, so I built the Intel driver
> with KMS support and it dragged in the KMS helper bits (confirmed by
> grepping .config). Why can't we just turn that option on directly in
> menuconfig for external modules? This is in gentoo-sources.
>
> I've rebooted and the problem has gone away, go figure.

I don't know if you missed my other post, but for nvidia, it's
recommended to disable DRM and KMS.

Daniel Frey

unread,
Jan 6, 2017, 10:40:02 AM1/6/17
to
I did miss that. I'll change & rebuild my kernel later to see if it has
the same effect.

Dan

Corbin Bird

unread,
Jan 6, 2017, 11:00:03 AM1/6/17
to
In my case, I have "i915" & "intel" in make.conf, added to the video
cards. That seems to drag the rest of the DRI components in. Even for
the "xf86-video-amdgpu" driver.

Glad to hear its fixed.

Daniel Frey

unread,
Jan 7, 2017, 12:50:02 AM1/7/17
to
On 01/06/2017 02:18 AM, Nikos Chantziaras wrote:
So I just recompiled DRM/KMS from the kernel, recompiled, redid the
initramfs (just in case) and rebooted.

The errors are also gone but I now have this:

[ 31.918334] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver
for UNIX platforms 375.26 Thu Dec 8 18:04:14 PST 2016
[ 31.918704] nvidia-modeset: Allocated GPU:0
(GPU-14e248cf-aecd-cf7a-31f4-113e6d075ece) @ PCI:0000:01:00.0

...which I didn't have before.

I know how this happened, now that I think about it. I was using nouveau
for the longest time and enjoying the nice hires tty, but when I
upgraded to plasma5 (reluctantly) plasma was crashing all the time... so
I went back to nvidia proper (forgetting to completely disable DRM/KMS.)

Now that all that crap is sorted out, the only couple annoying things
left are alt+tab switching in plasma, and the slowness of dolphin. Task
switching is slow as f*** and it's irritating. I tried to make it a bit
better but most times I have to hit alt+tab 3-4 times before plasma
realizes I want to change windows. No matter what I set in task switcher
settings, it doesn't help. It's quite frustrating. Dolphin seems to be
slower processing keyboard input now, I use shortcuts when I have to
rename a few files and am very fast at it, but it missed keystrokes a
couple times and the second time it was dangerous: it started deleting
all files from the top of the tree, and I didn't notice until over 1 TB
was gone. Argh. Neither of these were issues in 4.x and am in some
disbelief how they could ship it like that.

That's for another day though, I don't really want to mess with those now.

Dan

Philip Webb

unread,
Jan 7, 2017, 2:30:02 AM1/7/17
to
170106 Daniel Frey wrote:
> the only couple annoying things left are ... + the slowness of dolphin.

Give Krusader a try : it's very powerful. 2.4.0 worked well,
but there was 1 bug in 2.5.0 which I reported & they've fixed in Git,
so the new version may need a bit of patience at first.

--
========================,,============================================
SUPPORT ___________//___, Philip Webb
ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
TRANSIT `-O----------O---' purslowatchassdotutorontodotca

Nikos Chantziaras

unread,
Jan 7, 2017, 10:40:02 AM1/7/17
to
On 01/07/2017 07:49 AM, Daniel Frey wrote:
> So I just recompiled DRM/KMS from the kernel, recompiled, redid the
> initramfs (just in case) and rebooted.
>
> The errors are also gone but I now have this:
>
> [ 31.918334] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver
> for UNIX platforms 375.26 Thu Dec 8 18:04:14 PST 2016
> [ 31.918704] nvidia-modeset: Allocated GPU:0
> (GPU-14e248cf-aecd-cf7a-31f4-113e6d075ece) @ PCI:0000:01:00.0
>
> ...which I didn't have before.

Yep. The nvidia KMS module conflicts with the in-kernel KMS
implementation. It doesn't get loaded if in-kernel KMS is enabled, and
then you get errors because of that.

Btw, if you pay attention to the initial emerge messages when emerging
nvidia-drivers, they actually tell you to disable DRM/KMS in the kernel
;-) The ebuild checks your current kernel config, and if it sees that
stuff enabled, it warns you that you will most probably run into issues.


> Now that all that crap is sorted out, the only couple annoying things
> left are alt+tab switching in plasma, and the slowness of dolphin. Task
> switching is slow as f*** and it's irritating.

I get that too, but only the first time I press alt+tab. After the task
switch effect has been displayed once, it seems it gets cached and then
it's fast.

But overall, KDE (and KWin in particular) doesn't play well with the
nvidia driver. I was able to fix most of my issues by following some
advice from a KWin developer:

* Enable triple buffering in xorg. nvidia-drivers requires a conf file
anyway to work correctly. I have it in /etc/X11/xorg.conf.d/nvidia.conf,
and the contents are:

http://pastebin.com/raw/0y3NMndp

This enables triple buffering and disables twinview.

* Set some KWin environment variables. Instead of setting them globally,
use a script named "kwin_x11" in a location that appears before /usr/bin
in PATH. /usr/local/bin does that, so I have a /usr/local/bin/kwin_x11
file (it must be executable: chmod +x kwin_x11) with this in it:

KWIN_TRIPLE_BUFFER=1 __GL_YIELD="USLEEP" exec /usr/bin/kwin_x11 $@

(/usr/local/bin *must* be before /usr/bin in your PATH variable,
otherwise this doesn't work.)

* Configure kwin to think it must use a higher refresh rate than your
monitor's refresh rate. For 60Hz, your ~/.config/kwinrc must contain:

[Compositing]
MaxFPS=70
RefreshRate=70

(There's other stuff in the [Compositing] section, don't delete those.)

* See if disabling vsync in the nvidia-settings control panel helps.

After doing all that, KDE is quite usable for me. However, it's far from
perfect. But if you don't want to switch from KDE to some other desktop
environment, and can't deal with the performance issues of the nouveau
driver, then you have not much choice here.

Daniel Frey

unread,
Jan 7, 2017, 11:40:03 AM1/7/17
to
Thanks for the tips! Currently I'm taking the lazy way out and doing
`emerge -e world`. I don't think that'll fix the alt+tab situation, but
maybe it'll fix other stuff. If not I'll try krusader as Philip posted.

I ran `emerge -e system` last night and it was finished when I woke up,
so now I'll let it chug @world for the day.

For me, 1 out of 5 times alt+tab works on the first try. The other 4 out
of 5 tries I have to press alt+tab as much as 4 times to get it to
respond. :-(

I haven't updated my laptop yet and was stunned at how fluid kde4 was,
hence my comment about shipping buggy code.

Dan

Dale

unread,
Jan 7, 2017, 1:00:03 PM1/7/17
to
Just me thinking this over. Could it be a hardware problem? Maybe the
alt or tab key is not always working correctly? I use ctrl alt L to
lock my screen. Sometimes I have to do it a few times. Thing is, I
know this old keyboard has its moments and fails to work, since other
keys do the same thing. Just thought I would mention it.

Dale

:-) :-)

Daniel Frey

unread,
Jan 7, 2017, 10:20:02 PM1/7/17
to
No, it's not a hardware problem, I also have Mate installed and it
doesn't exhibit this behaviour.

Dan

Dale

unread,
Jan 7, 2017, 11:40:02 PM1/7/17
to
Sounds good. I'd hate for you to be chasing a software problem when it
is bad hardware. LOL

That eliminates that.

Dale

:-) :-)

Daniel Frey

unread,
Jan 8, 2017, 12:00:03 AM1/8/17
to
Yeah, been there, done that. Remember my "won't wake up from sleep"
problem from a couple years ago? I was looking at software and it was a
bad cap in the PSU. ROFL.

Dan

Daniel Frey

unread,
Jan 8, 2017, 12:00:03 AM1/8/17
to
Well, it seems that the `emerge -e world` has fixed the apparent
slowness in Dolphin, but the alt+tab still is wonky. I was reading about
a bug in kde5 that requires multiple alt+tab keypresses to get it to
switch so I guess it's not me. But it's still damn annoying...


Dan

Dale

unread,
Jan 8, 2017, 1:00:03 AM1/8/17
to
Daniel Frey wrote:
>
> Well, it seems that the `emerge -e world` has fixed the apparent
> slowness in Dolphin, but the alt+tab still is wonky. I was reading about
> a bug in kde5 that requires multiple alt+tab keypresses to get it to
> switch so I guess it's not me. But it's still damn annoying...
>
>
> Dan
>
>

Just thought of something. When I lock my screen, the alt key is in
that sequence too. Interesting. Maybe it is not my keyboard either. I
may have to go dig out another keyboard and test the theory.

Dale

:-) :-)

P. S. I've had emerge -e world fix issues in the past too. Weird how
that works. :/

Nikos Chantziaras

unread,
Jan 8, 2017, 9:00:02 AM1/8/17
to
On 01/08/2017 07:49 AM, Dale wrote:
> P. S. I've had emerge -e world fix issues in the past too. Weird how
> that works. :/

Gentoo packagers are not wizards. They cannot know which packages need a
rebuild when a dependency changes. They know some of them, but not all.
So over time, packages start misbehaving because some of their deps have
been upgraded and the maintainer of the ebuild doesn't know about the
need for a rebuild.

Dale

unread,
Jan 8, 2017, 9:30:03 AM1/8/17
to
True. I haven't had to run emerge -e world in a good long while. I
think it does much much better now than it did in the past. It is
amazing given all the options we have that pretty much anything works.
Think about all the USE flag options we have on Gentoo. There are tons
of them. It would be impossible to test them all and even then, it
still wouldn't take into account the different versions of packages.
Heck, I have over 1,000 packages installed here. Even with just a
average of four USE flag options each, that's a lot of testing. I
wouldn't do it for sure. I been using Gentoo for well over a decade.
Portage/emerge has come a very long ways.

Since it is winter here, I may run a emerge -e world later tonight after
my sync up. Just for some extra heat and giggles.

Dale

:-) :-)

Philip Webb

unread,
Jan 9, 2017, 3:20:03 AM1/9/17
to
170105 Nikos Chantziaras wrote:
> On 01/05/2017 08:05 AM, wabe wrote:
>> Make sure that you have also enabled CONFIG_DRM.
>> CONFIG_DRM=y
>> CONFIG_DRM_KMS_HELPER=y
>> CONFIG_DRM_KMS_FB_HELPER=y
>> CONFIG_DRM_FBDEV_EMULATION=y
> For nvidia, these need to be all disabled. Then it should work.

I had a previous thread re Kernel 4.9.0 + Nvidia 375.26 (now stable).
I tried recompiling that kernel with DRM disabled,
& remerged Nvidia 375.26 , but X won't start.
Here are the last lines of Xorg.0.log :

(**) ModulePath set to "/usr/lib64/opengl/nvidia,/usr/lib64/xorg/modules"
(II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
(II) Loader magic: 0x809c80
(II) Module ABI versions:
X.Org ANSI C Emulation: 0.4
X.Org Video Driver: 20.0
X.Org XInput driver : 22.1
X.Org Server Extension : 9.0
(--) PCI:*(0:1:0:0) 10de:104a:1043:8496 rev 161, Mem @ 0xfd000000/16777216, 0xf0000000/134217728, 0xf8000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/131072
(II) LoadModule: "glx"
(II) Loading /usr/lib64/opengl/nvidia/extensions/libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
compiled for 4.0.2, module version = 1.0.0
Module class: X.Org Server Extension
(II) NVIDIA GLX Module 375.26 Thu Dec 8 17:59:51 PST 2016
(==) Matched nouveau as autoconfigured driver 0
(==) Matched nv as autoconfigured driver 1
(==) Matched modesetting as autoconfigured driver 2
(==) Matched fbdev as autoconfigured driver 3
(==) Matched vesa as autoconfigured driver 4
(==) Assigned the driver to the xf86ConfigLayout
(II) LoadModule: "nouveau"
(WW) Warning, couldn't open module nouveau
(II) UnloadModule: "nouveau"
(II) Unloading nouveau
(EE) Failed to load module "nouveau" (module does not exist, 0)
(II) LoadModule: "nv"
(WW) Warning, couldn't open module nv
(II) UnloadModule: "nv"
(II) Unloading nv
(EE) Failed to load module "nv" (module does not exist, 0)
(II) LoadModule: "modesetting"
(II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
(II) Module modesetting: vendor="X.Org Foundation"
compiled for 1.18.4, module version = 1.18.4
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 20.0
(II) LoadModule: "fbdev"
(WW) Warning, couldn't open module fbdev
(II) UnloadModule: "fbdev"
(II) Unloading fbdev
(EE) Failed to load module "fbdev" (module does not exist, 0)
(II) LoadModule: "vesa"
(II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
(II) Module vesa: vendor="X.Org Foundation"
compiled for 1.18.4, module version = 2.3.4
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 20.0
(II) modesetting: Driver for Modesetting Kernel Drivers: kms
(II) VESA: driver for VESA chipsets: vesa
(--) using VT number 7

(EE) open /dev/dri/card0: No such file or directory
(WW) Falling back to old probe method for modesetting
(EE) open /dev/dri/card0: No such file or directory
vesa: Ignoring device with a bound kernel driver
(WW) Falling back to old probe method for vesa
(EE) Screen 0 deleted because of no matching config section.
(II) UnloadModule: "modesetting"
(EE) Screen 0 deleted because of no matching config section.
(II) UnloadModule: "vesa"
(EE) Device(s) detected, but none match those in the config file.
(EE)
error:
(EE) no screens found(EE) -- final lines snipped

Does anyone have any suggestions ?

Corbin Bird

unread,
Jan 9, 2017, 7:40:03 AM1/9/17
to
Questions, more info please.

What are your local / global USE flags for "x11-drivers/nvidia-drivers"?

Did you try setting up a "*|/etc/X11/xorg.conf.d/nvidia.conf|*" file?

------------

Reference Link : https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers

Nikos Chantziaras

unread,
Jan 9, 2017, 3:20:02 PM1/9/17
to
On 01/09/2017 10:09 AM, Philip Webb wrote:
> 170105 Nikos Chantziaras wrote:
>> On 01/05/2017 08:05 AM, wabe wrote:
>>> Make sure that you have also enabled CONFIG_DRM.
>>> CONFIG_DRM=y
>>> CONFIG_DRM_KMS_HELPER=y
>>> CONFIG_DRM_KMS_FB_HELPER=y
>>> CONFIG_DRM_FBDEV_EMULATION=y
>> For nvidia, these need to be all disabled. Then it should work.
>
> I had a previous thread re Kernel 4.9.0 + Nvidia 375.26 (now stable).
> I tried recompiling that kernel with DRM disabled,
> & remerged Nvidia 375.26 , but X won't start.

The nvidia driver isn't "automatic". It's not used by X.Org by default.
X.Org only uses its own drivers by default.

For the nvidia driver, you need a conf file. Something like this in
/etc/X11/xorg.conf.d/nvidia.conf:

http://pastebin.com/raw/0y3NMndp

Daniel Frey

unread,
Jan 9, 2017, 3:20:03 PM1/9/17
to
The nvidia driver has a tool to help with this too, it's called
`nvidia-xconfig`.

Dan

Nikos Chantziaras

unread,
Jan 9, 2017, 4:00:02 PM1/9/17
to
Which creates a global config IIRC. It's better to use a xorg.conf.d
file instead of a global one. Let X.Org do auto-configuration for
everything else, and just use xorg.conf.d/nvidia.conf for the nvidia
driver only.

Philip Webb

unread,
Jan 10, 2017, 4:10:03 AM1/10/17
to
170109 Nikos Chantziaras wrote:
> On 01/09/2017 10:09 AM, Philip Webb wrote:
>> I had a previous thread re Kernel 4.9.0 + Nvidia 375.26 (now stable).
>> I tried recompiling that kernel with DRM disabled,
>> & remerged Nvidia 375.26 , but X won't start.
> The nvidia driver isn't "automatic". It's not used by X.Org by default.
> X.Org only uses its own drivers by default.
> For the nvidia driver, you need a conf file.
> Something like this in /etc/X11/xorg.conf.d/nvidia.conf:
> http://pastebin.com/raw/0y3NMndp

I didn't need this with earlier versions of Nvidia-drivers,
but I've copied your template & am willing to give it a try.
It looks as if there are several lines which wouldn't fit my machine.

> The nvidia driver has a tool to help with this too,
> it's called `nvidia-xconfig`.

It doesn't seem to be available on my machine :

root:515 xorg.conf.d> which nvidia-xconfig
which: no nvidia-xconfig in (/sbin:/usr/sbin:/usr/local/sbin::/bin:/usr/bin:/usr/local/bin:)
root:517 xorg.conf.d> nvidia-xconfig
bash: nvidia-xconfig: command not found

Thanks to the others who replied. One asked for USE flags : here they are :

root:518 xorg.conf.d> eix nvidia-drivers
...
Installed versions: 361.28^msd{tbz2}([2017-01-09 02:41:57])(X driver gtk3 kms -acpi -multilib -pax_kernel -static-libs -tools -uvm KERNEL="linux -FreeBSD")

Those are for the version which works & which I've had to restore,
but I didn't change them for 375.26 .

Further suggestions are very welcome.

J. Roeleveld

unread,
Jan 10, 2017, 5:30:02 AM1/10/17
to
Add the "tools" USE flag to get nvidiasettings and similar.

Am going to try a later version of drivers and kernel myself later.

Corbin Bird

unread,
Jan 10, 2017, 11:40:04 AM1/10/17
to
You might want to add "static-libs" to the use flags as well. Another
useful utility gets built by it.

J. Roeleveld

unread,
Jan 10, 2017, 11:50:03 AM1/10/17
to
Which one would that be?
I would not expect any tools or utilities to be added when selecting static libraries.

Nikos Chantziaras

unread,
Jan 10, 2017, 1:00:03 PM1/10/17
to
On 01/10/2017 11:01 AM, Philip Webb wrote:
> 170109 Nikos Chantziaras wrote:
>> On 01/09/2017 10:09 AM, Philip Webb wrote:
>>> I had a previous thread re Kernel 4.9.0 + Nvidia 375.26 (now stable).
>>> I tried recompiling that kernel with DRM disabled,
>>> & remerged Nvidia 375.26 , but X won't start.
>> The nvidia driver isn't "automatic". It's not used by X.Org by default.
>> X.Org only uses its own drivers by default.
>> For the nvidia driver, you need a conf file.
>> Something like this in /etc/X11/xorg.conf.d/nvidia.conf:
>> http://pastebin.com/raw/0y3NMndp
>
> I didn't need this with earlier versions of Nvidia-drivers,
> but I've copied your template & am willing to give it a try.
> It looks as if there are several lines which wouldn't fit my machine.

The file is generic. The only thing specific to me is "G2770PF", which
my monitor's model name. Which is not parsed anyway.

Corbin Bird

unread,
Jan 10, 2017, 1:40:03 PM1/10/17
to
I can't remember the specific name of it, had to do with ?OpenCL? or ?CUDA?
Other posters on this list using "x11-drivers/nvidia-drivers" could tell
you exactly why.
I should have saved those e-mails, but didn't. :(

-----------------------------
The link has the whole list all libs && utilities that are built /
installed.

Reference / Doc Link :
ftp://download.nvidia.com/XFree86/Linux-x86/375.26/README/README.txt

Dale

unread,
Jan 10, 2017, 2:00:03 PM1/10/17
to
Somewhat lengthy post but here is a file listing for mine. It is a
somewhat older version since my card is a bit older. I'm also adding
the version and USE flags for it at the bottom. All in one paste tho.


root@fireball / # equery f nvidia-drivers
* Searching for nvidia-drivers ...
* Contents of x11-drivers/nvidia-drivers-340.101:
/etc
/etc/OpenCL
/etc/OpenCL/vendors
/etc/OpenCL/vendors/nvidia.icd
/etc/X11
/etc/X11/xinit
/etc/X11/xinit/xinitrc.d
/etc/X11/xinit/xinitrc.d/95-nvidia-settings
/etc/conf.d
/etc/conf.d/nvidia-persistenced
/etc/config_examples
/etc/config_examples/x11-drivers
/etc/config_examples/x11-drivers/nvidia-drivers ->
/usr/share/doc/nvidia-drivers-340.101/html
/etc/init.d
/etc/init.d/nvidia-persistenced
/etc/init.d/nvidia-smi
/etc/modprobe.d
/etc/modprobe.d/nvidia.conf
/etc/nvidia
/etc/nvidia/nvidia-application-profiles-rc
/lib
/lib/modules
/lib/modules/4.5.2-gentoo
/lib/modules/4.5.2-gentoo/video
/lib/modules/4.5.2-gentoo/video/nvidia.ko
/lib/udev
/lib/udev/nvidia-udev.sh
/lib/udev/rules.d
/lib/udev/rules.d/99-nvidia.rules
/opt
/opt/bin
/opt/bin/nvidia-cuda-mps-control
/opt/bin/nvidia-cuda-mps-server
/opt/bin/nvidia-debugdump
/opt/bin/nvidia-modprobe
/opt/bin/nvidia-persistenced
/opt/bin/nvidia-smi
/opt/bin/nvidia-xconfig
/usr
/usr/bin
/usr/bin/nvidia-bug-report.sh
/usr/bin/nvidia-modprobe -> /opt/bin/nvidia-modprobe
/usr/bin/nvidia-settings
/usr/lib32
/usr/lib32/OpenCL
/usr/lib32/OpenCL/vendors
/usr/lib32/OpenCL/vendors/nvidia
/usr/lib32/OpenCL/vendors/nvidia/libOpenCL.so -> libOpenCL.so.1
/usr/lib32/OpenCL/vendors/nvidia/libOpenCL.so.1 -> libOpenCL.so.1.0.0
/usr/lib32/OpenCL/vendors/nvidia/libOpenCL.so.1.0.0
/usr/lib32/libcuda.so -> libcuda.so.1
/usr/lib32/libcuda.so.1 -> libcuda.so.340.101
/usr/lib32/libcuda.so.340.101
/usr/lib32/libnvidia-compiler.so -> libnvidia-compiler.so.1
/usr/lib32/libnvidia-compiler.so.1 -> libnvidia-compiler.so.340.101
/usr/lib32/libnvidia-compiler.so.340.101
/usr/lib32/libnvidia-eglcore.so -> libnvidia-eglcore.so.1
/usr/lib32/libnvidia-eglcore.so.1 -> libnvidia-eglcore.so.340.101
/usr/lib32/libnvidia-eglcore.so.340.101
/usr/lib32/libnvidia-glcore.so -> libnvidia-glcore.so.1
/usr/lib32/libnvidia-glcore.so.1 -> libnvidia-glcore.so.340.101
/usr/lib32/libnvidia-glcore.so.340.101
/usr/lib32/libnvidia-glsi.so -> libnvidia-glsi.so.1
/usr/lib32/libnvidia-glsi.so.1 -> libnvidia-glsi.so.340.101
/usr/lib32/libnvidia-glsi.so.340.101
/usr/lib32/libnvidia-ifr.so -> libnvidia-ifr.so.1
/usr/lib32/libnvidia-ifr.so.1 -> libnvidia-ifr.so.340.101
/usr/lib32/libnvidia-ifr.so.340.101
/usr/lib32/libnvidia-ml.so -> libnvidia-ml.so.1
/usr/lib32/libnvidia-ml.so.1 -> libnvidia-ml.so.340.101
/usr/lib32/libnvidia-ml.so.340.101
/usr/lib32/libnvidia-opencl.so -> libnvidia-opencl.so.1
/usr/lib32/libnvidia-opencl.so.1 -> libnvidia-opencl.so.340.101
/usr/lib32/libnvidia-opencl.so.340.101
/usr/lib32/libnvidia-tls.so -> libnvidia-tls.so.1
/usr/lib32/libnvidia-tls.so.1 -> libnvidia-tls.so.340.101
/usr/lib32/libnvidia-tls.so.340.101
/usr/lib32/libvdpau_nvidia.so -> libvdpau_nvidia.so.1
/usr/lib32/libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.340.101
/usr/lib32/libvdpau_nvidia.so.340.101
/usr/lib32/opengl
/usr/lib32/opengl/nvidia
/usr/lib32/opengl/nvidia/lib
/usr/lib32/opengl/nvidia/lib/libEGL.so -> libEGL.so.1
/usr/lib32/opengl/nvidia/lib/libEGL.so.1 -> libEGL.so.340.101
/usr/lib32/opengl/nvidia/lib/libEGL.so.340.101
/usr/lib32/opengl/nvidia/lib/libGL.so -> libGL.so.1
/usr/lib32/opengl/nvidia/lib/libGL.so.1 -> libGL.so.340.101
/usr/lib32/opengl/nvidia/lib/libGL.so.340.101
/usr/lib32/opengl/nvidia/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1
/usr/lib32/opengl/nvidia/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.340.101
/usr/lib32/opengl/nvidia/lib/libGLESv1_CM.so.340.101
/usr/lib32/opengl/nvidia/lib/libGLESv2.so -> libGLESv2.so.2
/usr/lib32/opengl/nvidia/lib/libGLESv2.so.2 -> libGLESv2.so.340.101
/usr/lib32/opengl/nvidia/lib/libGLESv2.so.340.101
/usr/lib64
/usr/lib64/OpenCL
/usr/lib64/OpenCL/vendors
/usr/lib64/OpenCL/vendors/nvidia
/usr/lib64/OpenCL/vendors/nvidia/libOpenCL.so -> libOpenCL.so.1
/usr/lib64/OpenCL/vendors/nvidia/libOpenCL.so.1 -> libOpenCL.so.1.0.0
/usr/lib64/OpenCL/vendors/nvidia/libOpenCL.so.1.0.0
/usr/lib64/libcuda.so -> libcuda.so.1
/usr/lib64/libcuda.so.1 -> libcuda.so.340.101
/usr/lib64/libcuda.so.340.101
/usr/lib64/libnvcuvid.so -> libnvcuvid.so.1
/usr/lib64/libnvcuvid.so.1 -> libnvcuvid.so.340.101
/usr/lib64/libnvcuvid.so.340.101
/usr/lib64/libnvidia-cfg.so -> libnvidia-cfg.so.1
/usr/lib64/libnvidia-cfg.so.1 -> libnvidia-cfg.so.340.101
/usr/lib64/libnvidia-cfg.so.340.101
/usr/lib64/libnvidia-compiler.so -> libnvidia-compiler.so.1
/usr/lib64/libnvidia-compiler.so.1 -> libnvidia-compiler.so.340.101
/usr/lib64/libnvidia-compiler.so.340.101
/usr/lib64/libnvidia-eglcore.so -> libnvidia-eglcore.so.1
/usr/lib64/libnvidia-eglcore.so.1 -> libnvidia-eglcore.so.340.101
/usr/lib64/libnvidia-eglcore.so.340.101
/usr/lib64/libnvidia-encode.so -> libnvidia-encode.so.1
/usr/lib64/libnvidia-encode.so.1 -> libnvidia-encode.so.340.101
/usr/lib64/libnvidia-encode.so.340.101
/usr/lib64/libnvidia-fbc.so -> libnvidia-fbc.so.1
/usr/lib64/libnvidia-fbc.so.1 -> libnvidia-fbc.so.340.101
/usr/lib64/libnvidia-fbc.so.340.101
/usr/lib64/libnvidia-glcore.so -> libnvidia-glcore.so.1
/usr/lib64/libnvidia-glcore.so.1 -> libnvidia-glcore.so.340.101
/usr/lib64/libnvidia-glcore.so.340.101
/usr/lib64/libnvidia-glsi.so -> libnvidia-glsi.so.1
/usr/lib64/libnvidia-glsi.so.1 -> libnvidia-glsi.so.340.101
/usr/lib64/libnvidia-glsi.so.340.101
/usr/lib64/libnvidia-ifr.so -> libnvidia-ifr.so.1
/usr/lib64/libnvidia-ifr.so.1 -> libnvidia-ifr.so.340.101
/usr/lib64/libnvidia-ifr.so.340.101
/usr/lib64/libnvidia-ml.so -> libnvidia-ml.so.1
/usr/lib64/libnvidia-ml.so.1 -> libnvidia-ml.so.340.101
/usr/lib64/libnvidia-ml.so.340.101
/usr/lib64/libnvidia-opencl.so -> libnvidia-opencl.so.1
/usr/lib64/libnvidia-opencl.so.1 -> libnvidia-opencl.so.340.101
/usr/lib64/libnvidia-opencl.so.340.101
/usr/lib64/libnvidia-tls.so -> libnvidia-tls.so.1
/usr/lib64/libnvidia-tls.so.1 -> libnvidia-tls.so.340.101
/usr/lib64/libnvidia-tls.so.340.101
/usr/lib64/libvdpau_nvidia.so -> libvdpau_nvidia.so.1
/usr/lib64/libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.340.101
/usr/lib64/libvdpau_nvidia.so.340.101
/usr/lib64/opengl
/usr/lib64/opengl/nvidia
/usr/lib64/opengl/nvidia/extensions
/usr/lib64/opengl/nvidia/extensions/libglx.so -> libglx.so.1
/usr/lib64/opengl/nvidia/extensions/libglx.so.1 -> libglx.so.340.101
/usr/lib64/opengl/nvidia/extensions/libglx.so.340.101
/usr/lib64/opengl/nvidia/lib
/usr/lib64/opengl/nvidia/lib/libEGL.so -> libEGL.so.1
/usr/lib64/opengl/nvidia/lib/libEGL.so.1 -> libEGL.so.340.101
/usr/lib64/opengl/nvidia/lib/libEGL.so.340.101
/usr/lib64/opengl/nvidia/lib/libGL.so -> libGL.so.1
/usr/lib64/opengl/nvidia/lib/libGL.so.1 -> libGL.so.340.101
/usr/lib64/opengl/nvidia/lib/libGL.so.340.101
/usr/lib64/opengl/nvidia/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1
/usr/lib64/opengl/nvidia/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.340.101
/usr/lib64/opengl/nvidia/lib/libGLESv1_CM.so.340.101
/usr/lib64/opengl/nvidia/lib/libGLESv2.so -> libGLESv2.so.2
/usr/lib64/opengl/nvidia/lib/libGLESv2.so.2 -> libGLESv2.so.340.101
/usr/lib64/opengl/nvidia/lib/libGLESv2.so.340.101
/usr/lib64/xorg
/usr/lib64/xorg/modules
/usr/lib64/xorg/modules/drivers
/usr/lib64/xorg/modules/drivers/nvidia_drv.so
/usr/share
/usr/share/applications
/usr/share/applications/nvidia-settings.desktop
/usr/share/doc
/usr/share/doc/nvidia-drivers-340.101
/usr/share/doc/nvidia-drivers-340.101/NVIDIA_Changelog.bz2
/usr/share/doc/nvidia-drivers-340.101/README.bz2
/usr/share/doc/nvidia-drivers-340.101/html
/usr/share/doc/nvidia-drivers-340.101/html/README.gentoo
/usr/share/doc/nvidia-drivers-340.101/html/acknowledgements.html
/usr/share/doc/nvidia-drivers-340.101/html/addressingcapabilities.html
/usr/share/doc/nvidia-drivers-340.101/html/addtlresources.html
/usr/share/doc/nvidia-drivers-340.101/html/appendices.html
/usr/share/doc/nvidia-drivers-340.101/html/audiosupport.html
/usr/share/doc/nvidia-drivers-340.101/html/commonproblems.html
/usr/share/doc/nvidia-drivers-340.101/html/configlaptop.html
/usr/share/doc/nvidia-drivers-340.101/html/configmultxscreens.html
/usr/share/doc/nvidia-drivers-340.101/html/configtvout.html
/usr/share/doc/nvidia-drivers-340.101/html/configtwinview.html
/usr/share/doc/nvidia-drivers-340.101/html/depth30.html
/usr/share/doc/nvidia-drivers-340.101/html/displaydevicenames.html
/usr/share/doc/nvidia-drivers-340.101/html/dma_issues.html
/usr/share/doc/nvidia-drivers-340.101/html/dpi.html
/usr/share/doc/nvidia-drivers-340.101/html/editxconfig.html
/usr/share/doc/nvidia-drivers-340.101/html/faq.html
/usr/share/doc/nvidia-drivers-340.101/html/flippingubb.html
/usr/share/doc/nvidia-drivers-340.101/html/framelock.html
/usr/share/doc/nvidia-drivers-340.101/html/glxsupport.html
/usr/share/doc/nvidia-drivers-340.101/html/gpunames.html
/usr/share/doc/nvidia-drivers-340.101/html/i2c.html
/usr/share/doc/nvidia-drivers-340.101/html/index.html
/usr/share/doc/nvidia-drivers-340.101/html/installationandconfiguration.html
/usr/share/doc/nvidia-drivers-340.101/html/installdriver.html
/usr/share/doc/nvidia-drivers-340.101/html/installedcomponents.html
/usr/share/doc/nvidia-drivers-340.101/html/introduction.html
/usr/share/doc/nvidia-drivers-340.101/html/knownissues.html
/usr/share/doc/nvidia-drivers-340.101/html/minimumrequirements.html
/usr/share/doc/nvidia-drivers-340.101/html/newusertips.html
/usr/share/doc/nvidia-drivers-340.101/html/nvidia-debugdump.html
/usr/share/doc/nvidia-drivers-340.101/html/nvidia-ml.html
/usr/share/doc/nvidia-drivers-340.101/html/nvidia-persistenced.html
/usr/share/doc/nvidia-drivers-340.101/html/nvidia-smi.html
/usr/share/doc/nvidia-drivers-340.101/html/nvidiasettings.html
/usr/share/doc/nvidia-drivers-340.101/html/openglenvvariables.html
/usr/share/doc/nvidia-drivers-340.101/html/optimus.html
/usr/share/doc/nvidia-drivers-340.101/html/powermanagement.html
/usr/share/doc/nvidia-drivers-340.101/html/procinterface.html
/usr/share/doc/nvidia-drivers-340.101/html/profiles.html
/usr/share/doc/nvidia-drivers-340.101/html/programmingmodes.html
/usr/share/doc/nvidia-drivers-340.101/html/randr14.html
/usr/share/doc/nvidia-drivers-340.101/html/sdi.html
/usr/share/doc/nvidia-drivers-340.101/html/selectdriver.html
/usr/share/doc/nvidia-drivers-340.101/html/sli.html
/usr/share/doc/nvidia-drivers-340.101/html/supportedchips.html
/usr/share/doc/nvidia-drivers-340.101/html/vdpausupport.html
/usr/share/doc/nvidia-drivers-340.101/html/xcompositeextension.html
/usr/share/doc/nvidia-drivers-340.101/html/xconfigoptions.html
/usr/share/doc/nvidia-drivers-340.101/html/xineramaglx.html
/usr/share/doc/nvidia-drivers-340.101/html/xrandrextension.html
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/nvidia-cuda-mps-control.1.bz2
/usr/share/man/man1/nvidia-modprobe.1.bz2
/usr/share/man/man1/nvidia-persistenced.1.bz2
/usr/share/man/man1/nvidia-settings.1.bz2
/usr/share/man/man1/nvidia-smi.1.bz2
/usr/share/man/man1/nvidia-xconfig.1.bz2
/usr/share/nvidia
/usr/share/nvidia/nvidia-application-profiles-340.101-key-documentation
/usr/share/pixmaps
/usr/share/pixmaps/nvidia-settings.png
root@fireball / # emerge -vp nvidia-drivers

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] x11-drivers/nvidia-drivers-340.101:0/340::gentoo
USE="X acpi multilib tools -pax_kernel -static-libs -uvm" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
root@fireball / #


Hope that helps.

Dale

:-) :-)

Dale

unread,
Jan 10, 2017, 2:30:04 PM1/10/17
to
Dale wrote:
> Corbin Bird wrote:
>> On 01/10/2017 10:46 AM, J. Roeleveld wrote:
>>> Which one would that be?
>>> I would not expect any tools or utilities to be added when selecting static libraries.
>>>
>>> --
>>> Joost
>> I can't remember the specific name of it, had to do with ?OpenCL? or ?CUDA?
>> Other posters on this list using "x11-drivers/nvidia-drivers" could tell
>> you exactly why.
>> I should have saved those e-mails, but didn't. :(
>>
>> -----------------------------
>> The link has the whole list all libs && utilities that are built /
>> installed.
>>
>> Reference / Doc Link :
>> ftp://download.nvidia.com/XFree86/Linux-x86/375.26/README/README.txt
>>
>>
>
> Somewhat lengthy post but here is a file listing for mine. It is a
> somewhat older version since my card is a bit older. I'm also adding
> the version and USE flags for it at the bottom. All in one paste tho.
>
>
> root@fireball / # equery f nvidia-drivers
> * Searching for nvidia-drivers ...
> * Contents of x11-drivers/nvidia-drivers-340.101:
> /etc<<< SNIP >>>
> root@fireball / # emerge -vp nvidia-drivers
>
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
> [ebuild R ] x11-drivers/nvidia-drivers-340.101:0/340::gentoo
> USE="X acpi multilib tools -pax_kernel -static-libs -uvm" 0 KiB
>
> Total: 1 package (1 reinstall), Size of downloads: 0 KiB
> root@fireball / #
>
>
> Hope that helps.
>
> Dale
>
> :-) :-)
>


And I just noticed I have static-libs disabled which means this post
won't likely do a bit of good.

< Dale slaps hand >

Dale

:-) :-)

Nikos Chantziaras

unread,
Jan 10, 2017, 2:40:03 PM1/10/17
to
On 01/10/2017 06:31 PM, Corbin Bird wrote:
> You might want to add "static-libs" to the use flags as well. Another
> useful utility gets built by it.

There doesn't seem to be anything installed by it, except a static lib
(libXNVCtrl.a) and some header files (/usr/include/NVCtrl). No executables.

Corbin Bird

unread,
Jan 10, 2017, 8:50:03 PM1/10/17
to
Thanks for that info. You did jog the memory.

"sys-apps/hwloc" USE = gl ... is dependent on that lib being built
static. ( NVCtrl )

USE = gl : Enable GL display device discovery (NVCtrl)
USE = opencl : Enable OpenCL device discovery (AMD only)
0 new messages