NVIDIA 364.12 release: Vulkan, GLVND, DRM KMS, and EGLStreams

Hi devs
Ctl+Alt+F1 works
Ctl+Alt+F7 does not . it hangs on black screen .

wakeup from suspend does not work .
PS : with the driver 355-11 everything works .

another issue /
trying to stop X with “sudo service lightdm stop” i got this message /
nvidia-modeset : ERROR: GPU-0:Idling EVO timedout :0x0000907d:0:0:0x00000
NMI watchdog: BUG: Softlockup …

cannot switch to old driver 355-11 because of this Bug .

Anyhelp please ?

Thank you

Mounir

I have the same problem when stoping lightdm.
You can bypass that by uninstalling drivers with “sudo nvidia-uninstall”, then reboot the system, get into TTY, stop lightdm and install the drivers. I know that is not the solution, but for now it is like that. I had that problem with every 36x.xx driver.

thank U Milos_SD ,
I installed the 355-11 via synaptic . it works like a charm .

Oh, that’s nice to hear. I figured nvidia has no reason to care about fbdev. But if you implement it, it’ll for sure make some people happy.

Yes this is quite weird as there’s no real feedback but it works (through kernel parameter nvidia-drm.modeset=1 for me). Keep in mind this is a very barebones KMS support so there’s no high resolution console or flicker-free VT switch.
I found out the only way to know KMS is enabled is if these lines are present in the journal :

[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.

As they don’t appear if I boot without nvidia-drm.modeset=1.

Anyways I managed to run the patched weston and a few Wayland applications so I guess I got it right.
Here’s a screenshot : http://i.imgur.com/skSQjd7.png

I also tried to run X with the modesetting driver. It works but is quite slow and buggy (KDE plasma crashes).

this driver fixed the the screen shifting to the right problem that all drivers since 352 series had thanks nvidia ubuntu install

Hello.

I have a GTX 260.

I’m not asking for Vulkan, I know it’s a feature that really requires present hardware.

But do you plan to release Wayland support on legacy driver for some GPU chips?

No, we have no plans to backport the new support to the legacy branches. The legacy branches get critical fixes and support for new kernels and X servers only.

After nvidia-drm has been loaded with modeset=1, attempting to run weston-launch outputs the following error in the journal:

[ 5338.262318] vgaarb: device changed decodes: PCI:0000:02:00.0,olddecodes=none,decodes=none:owns=io+mem
[ 5338.262416] nvidia-nvlink: Nvlink Core is being initialized, major device number 250
[ 5338.262437] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  364.12  Wed Mar 16 21:11:26 PDT 2016
[ 5338.263459] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  364.12  Wed Mar 16 20:44:12 PDT 2016
[ 5338.263950] [drm] [nvidia-drm] [GPU ID 0x00000200] Loading driver
[ 5338.824705] nvidia-modeset: Allocated GPU:0 (GPU-595b3d36-aaea-d916-d4ce-4efa80c7c223) @ PCI:0000:02:00.0
[ 5338.886475] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 5338.886476] [drm] No driver support for vblank timestamp query.
[ 5350.257392] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000200] Failed to import NVKMS memory to GEM object

Failed to import NVKMS memory to GEM object – What could I have missed?

This looks like an impressive release. I’m having a hard time following a lot of the new features, but by any chance is the xrandr 1.5 support for display port 1.2 MST monitors included in this release?

Thanks.

Did you apply the necessary patches to weston to support the interfaces NVIDIA uses for buffer sharing (EGLStreams)? Did you launch weston as “weston --use-egldevice”?

I was using weston-launch which wasn’t sufficient. Your question drove me to launch weston with full options and it’s working now. Very slick job NVidia.

Will now figure out how to get google-chrome to run in it. Thanks.

with GLVND, how is libglx.so (the X-server extension, not libGLX) supposed to be handled? The X-Server comes with its own version of it, and nvidia driver provides one as well. Which one should be used?

Strange, my current setup has a modprobe.d file that sets the modeset option to 1. When I boot with kernel parameter 3 so that I start into TTY1 I can run the eglstreams-kms-example. When I boot normally which starts the GDM Login and then switch to TTY2 and stop gdm, I can’t run the example anymore. I confirmed that no instance of Xorg or anything is running anymore. In that case I have to modeprobe -r nvidia-drm and then load it again with modeset=1.

GLVND only applies to GLX clients at the moment. You still need the NVIDIA libglx.so in the X server in order to use OpenGL with the NVIDIA driver.

Just so I understand this correctly: Even if mesa some day gets glvnd support, the only benefit is that both mesa and nvidia driver won’t overwrite each others’ libGL, but I still need to point the x-server
to the nvidia libglx if I want to render on the quadro (and use the x-server provided libglx.so for rendering on the intel)?
Or am I missing the point of the libglx.so extension entirely?

Right. The client-side glvnd allows multiple vendor libraries to coexist and for the correct one to be loaded automatically based on information sent by the X server. So it eliminates some of the tricks needed for things like Bumblebee to switch the client-side runtime by playing games with the loader search path.

Ideally, there would be similar functionality on the server side, but that’s not implemented yet.

This driver was causing a slightly different refresh rate on my monitor than the one set in Gnome which caused thin vertical lines. The gnome developer suggested I remove ~/.config/monitors.xml but it didn’t help.
This is a HDMI cable.
Reverting to 361.28 fixed it. I didn’t want to accidentally damage my monitor.

Regarding the last post, this is a nvidia-bug-report log Dev Insider - Business and Tech News on the Daily from the stable driver.
Please take a look before releasing the final version of the driver since I’m not sure if this kind of thing is safe for monitors.

8 hours now on old driver 361.28 and I can confirm it didn’t have this bug.

I’m trying to get Vulkan to work on a Nvidia optimus laptop, but apparently neither “vkcube” or “vulkaninfo” see the Nvidia GPU, only the Intel one.

It seems like “vkEnumeratePhysicalDevices” only return the Intel GPU.