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

Issue is still in 364.15 but only happens when using hdmi.
Downgrading to 361.42 fixes it.

hi devs
please fix suspend and ctl+alt+F7 …
great thankx
mounir

using ubuntu kernel 4.3

Ok, it turns out this only happens when I have Samsung magicbright dynamic contrast enabled.
But this was not a problem under the 361.42 driver so it is still a regression in the nvidia xorg driver.
But now at least we know how to reproduce it. Can nvidia now take a look?
Thank you.

Also disabling Dithering significantly mitigates the problem.
Was Dithering always enabled by default?

Aaron,

Do I understand correctly that the nvidia-modeset/drm drivers are supposed to set my text console to a native graphical mode?

Well, it does not do that here:

[  213.351501] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=none,decodes=none:owns=io+mem
[  213.351595] nvidia-nvlink: Nvlink Core is being initialized, major device number 253
[  213.351615] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  364.12  Wed Mar 16 21:11:26 PDT 2016
[  213.364365] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  364.12  Wed Mar 16 20:44:12 PDT 2016
[  213.367003] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[  213.968088] nvidia-modeset: Allocated GPU:0 (GPU-XXX) @ PCI:0000:01:00.0
[  214.025933] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[  214.025937] [drm] No driver support for vblank timestamp query.

My text console is still in 80x25 text mode. My GPU is NVIDIA GTX 660.

My kernel cmd line is:

Command line: root=/dev/sda1 ro nvidia-drm.modeset=1

Edit: I should have read the beginning of the thread.

You don’t yet provide fbdev implementation. Hopefully it’s coming soon.

I wonder if these support will be added in the future. In the meantime Valve adding support for these tech these week sometime for Dota 2 and probably whole source 2 engine. So if Ubuntu current (tested) driver is not supporting Vulkan officially I can’t run Dota 2 Vulkan DLC on my old machine? It probably give me a message that my system is not officially supported these features in the driver as well as these was being like when nvidia present their lib gl vnd firt release driver.

Do I have to held any hopes that these support will be added in future or should forget about it?

Hi!

I’m developing a real time graphics application on an embedded linux platform using DRM and EGL.
The platform uses a special linux based operating system without X-server support and no GUI.

I can build and run applications just fine, however, I’m facing the issue that VSYNC is always enabled and the framerate can not exceed 60fps (This is the refresh rate of the connected monitor in fullHD resolution).

Usually, with x-Server, one would open the nvidia-settings app and force VSYNC off, or, alternatively, directly edit the config file. I can not do that on my embedded platform because I do not have X-Server support.

I have tried to disable VSYNC using EGL in my egl setup source code by setting “eglSwapInterval” to 0, as well as passing EGL_MIN_SWAP_INTERVAL as 0 in the eglconfig array. Even though the swap intervall function call returns no error, VSYNC remains active and fps are locked. I have also tried to edit several environment variables that are supposed to disable vsync, but again those only seem to work with X.

So my question is, how can I force VSYNC off without having access to the nvidia-settings app and the X-Server?
Am I missing something in my EGL setup routine, or do I need to configure the driver somehow?

I have enable kms for nvidia with the latest stable driver. I get these error message in dmesg.
[ 47.233586] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object
[ 47.312051] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object
[ 47.326385] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object
[ 47.327470] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object
[ 47.354485] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object
[ 47.355577] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object

I get these messages in dmesg:

[   60.142913] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000200] Failed to import NVKMS memory to GEM object
[   60.307910] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000200] Failed to import NVKMS memory to GEM object
[   60.447397] [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000200] Failed to import NVKMS memory to GEM object

Sysinfo:

OS: Arch Linux
Kernel: x86_64 Linux 4.6.4-1-ARCH
Resolution: 3440x1440
DE: GNOME
WM: GNOME Shell
CPU: Intel Core i7-4790K CPU @ 8x 4.4GHz
GPU: GeForce GTX 980 Ti, GeForce GTX 980 Ti
DRIVER: nvidia 367.35-1

I am getting the same error message as above.

Sysinfo:
OS: Arch Linux
Kernel: x86_64 Linux 4.7.2-1-ARCH
DE: Gnome
WM: Gnome Shell
CPU: Intel i7 6700k
CPU: GTX 1060
Driver: NVIDIA 370.23

Is there any progress in resolving this?

Sorry, I got late to reply here.

‘VSYNC off’ mode is not yet supported by nvidia-drm driver, work is in progress to get it supported.

For error messages “Failed to import NVKMS memory to GEM object”, can I get to know how can I reproduce them? With which application you are seeing these error? From configuration information, you are using gnome-shell, but as far as know gnome don’t have support for eglstreams yet.

I get the same “Failed to import NVKMS memory to GEM object” error. I’m booting via UEFI and trying to get early KMS working for a boot screen / virtual console at native resolution. I don’t think Gnome-Shell is the culprit here as we’re all having problems before the display server even starts (whether it be X or Wayland… doesn’t matter).

As per the ArchWiki article (https://wiki.archlinux.org/index.php/NVIDIA#DRM_kernel_mode_setting), I have the necessary modules loaded into my initramfs: nvidia, nvidia_modeset, nvidia_uvm and nvidia_drm. I also have nvidia-drm.modeset=1 as a kernel command line option. The initramfs has been rebuilt after adding all of the above.

Hi All,
For issue " [drm:nvidia_drm_gem_import_nvkms_memory [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to import NVKMS memory to GEM object"

Please start the separate forum thread to avoid confusion. Also provide details reproduction steps and nvidia bug report so that we can internally reproduce this issue and investigate.

libGLX_nvidia.so.0 from 32bits compat libs included in the x64 drivers, include support for vulkan (in 32bits)?

greetings

Yes, 32-bit vulkan should work with the x86_64 NVIDIA driver package: the nvidia_icd.json file lists “libGLX_nvidia.so.0” as the library, and the run-time loader should pick up the correct 32-bit or 64-bit libGLX_nvidia.so.0. If that doesn’t work for you, please let me know.

oh. then not need aditional nvidia_icd.json file points directly to /usr/lib32/libGLX_nvidia.so.0?

Good to know

greetings

I’ve been trying this intermittently since the first release, when it worked. I figured someone broke something and it would be fixed, but seemingly not. Anyway, for a long time, launching weston just goes to a completely black screen, but is seemingly reactive to input. I get the following kernel messages at that time:

[   25.886961] usercopy: kernel memory overwrite attempt detected to ffff8804290b7ce0 (<process stack>) (8 bytes)
[   25.886985] ------------[ cut here ]------------
[   25.886986] kernel BUG at mm/usercopy.c:75!
[   25.886987] invalid opcode: 0000 [#1] PREEMPT SMP
[   25.886987] Modules linked in: snd_hda_codec_hdmi msr cfg80211 snd_hda_codec_realtek snd_hda_codec_generic iTCO_wdt iTCO_vendor_support nvidia_drm(PO) nvidia_modeset(PO) nls_iso8859_1 nls_cp437 vfat fat nvidia(PO) intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm eeepc_wmi asus_wmi sparse_keymap rfkill mxm_wmi irqbypass joydev evdev crct10dif_pclmul mousedev input_leds crc32_pclmul crc32c_intel mac_hid ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd drm_kms_helper snd_emu10k1 drm snd_util_mem snd_ac97_codec ac97_bus i2c_i801 syscopyarea intel_cstate snd_rawmidi sysfillrect sysimgblt emu10k1_gp psmouse intel_rapl_perf snd_seq_device fb_sys_fops gameport pcspkr i2c_smbus lpc_ich fan thermal snd_hda_intel battery snd_hda_codec e1000e mei_me
[   25.887005]  snd_hda_core mei ptp tpm_infineon video fjes snd_hwdep button tpm_tis pps_core acpi_pad tpm_tis_core shpchp wmi tpm sch_fq_codel vboxnetflt(O) vboxnetadp(O) pci_stub vboxpci(O) vboxdrv(O) snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore ip_tables x_tables ext4 crc16 jbd2 fscrypto mbcache hid_roccat_konepure hid_roccat hid_roccat_common hid_generic hid_sony ff_memless led_class usbhid hid sr_mod sd_mod cdrom serio_raw atkbd libps2 ahci libahci libata xhci_pci ehci_pci scsi_mod firewire_ohci ehci_hcd xhci_hcd firewire_core crc_itu_t usbcore usb_common i8042 serio
[   25.887022] CPU: 0 PID: 609 Comm: weston Tainted: P           O    4.8.13-1-ARCH #1
[   25.887022] Hardware name: ASUS All Series/Z97-A, BIOS 2601 08/18/2015
[   25.887023] task: ffff88042aa51c80 task.stack: ffff8804290b4000
[   25.887024] RIP: 0010:[<ffffffff81205e1f>]  [<ffffffff81205e1f>] __check_object_size+0x13f/0x1d6
[   25.887027] RSP: 0018:ffff8804290b7c88  EFLAGS: 00010282
[   25.887028] RAX: 0000000000000062 RBX: ffff8804290b7ce0 RCX: 0000000000000000
[   25.887028] RDX: 0000000000000000 RSI: ffff88043ec0dba8 RDI: ffff88043ec0dba8
[   25.887029] RBP: ffff8804290b7ca8 R08: 00000000000d88b1 R09: 0000000000000005
[   25.887030] R10: ffff88042a796c00 R11: 000000000000031d R12: 0000000000000008
[   25.887030] R13: 0000000000000000 R14: ffff8804290b7ce8 R15: ffff88042a796c00
[   25.887031] FS:  00007f884d43be80(0000) GS:ffff88043ec00000(0000) knlGS:0000000000000000
[   25.887032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   25.887032] CR2: 00007f884c7fa4a0 CR3: 000000042903d000 CR4: 00000000001406f0
[   25.887033] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   25.887034] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   25.887034] Stack:
[   25.887035]  ffff8804290b7ce0 0000000000000008 00007fffe9770b50 00000000ffffffea
[   25.887036]  ffff8804290b7cd0 ffffffffa08a94f1 ffff8804290b7dd0 0000000001fe0000
[   25.887037]  ffff88042ac1d000 ffff88042969f608 ffffffffa0910e49 ffffea00106a42c0
[   25.887039] Call Trace:
[   25.887049]  [<ffffffffa08a94f1>] nvkms_copyin+0x21/0x50 [nvidia_modeset]
[   25.887057]  [<ffffffffa0910e49>] _nv000272kms+0x69/0x120 [nvidia_modeset]
[   25.887060]  [<ffffffffa06587d6>] ? nvidia_drm_gem_import_nvkms_memory+0x76/0x110 [nvidia_drm]
[   25.887065]  [<ffffffffa05a1d40>] ? drm_ioctl+0x200/0x4f0 [drm]
[   25.887066]  [<ffffffffa0658760>] ? nvidia_drm_dumb_create+0x190/0x190 [nvidia_drm]
[   25.887068]  [<ffffffff81208844>] ? __vfs_write+0xe4/0x140
[   25.887069]  [<ffffffff8121c2f3>] ? do_vfs_ioctl+0xa3/0x5f0
[   25.887070]  [<ffffffff810c7c37>] ? percpu_up_read+0x17/0x40
[   25.887072]  [<ffffffff81227567>] ? __fget+0x77/0xb0
[   25.887073]  [<ffffffff8121c8b9>] ? SyS_ioctl+0x79/0x90
[   25.887074]  [<ffffffff815f8032>] ? entry_SYSCALL_64_fastpath+0x1a/0xa4
[   25.887075] Code: 87 91 81 48 0f 45 d0 48 c7 c6 38 a5 92 81 48 c7 c0 b3 43 93 81 48 0f 45 f0 4d 89 e1 48 89 d9 48 c7 c7 f0 0c 93 81 e8 97 02 f7 ff <0f> 0b 48 89 df e8 97 76 e6 ff 84 c0 0f 84 f8 fe ff ff b8 00 00 
[   25.887088] RIP  [<ffffffff81205e1f>] __check_object_size+0x13f/0x1d6
[   25.887089]  RSP <ffff8804290b7c88>
[   25.887090] ---[ end trace 5902a84152de0ed4 ]---
[   37.103245] sysrq: SysRq : Keyboard mode set to system default

And weston says:

[16:22:34.376] DRM: DPMS: failed property set for DP-1

nvidia-bug-report.log.gz (245 KB)

Are you doing development work? Your kernel version is new. What kernel level was it last working on? I have been using a 4.6.5 and 4.8.5 for a while and recently upgraded to 4.8.6. I plan to upgrade to 4.8.8 or 4.8.12 by next week.

What is in: /proc/driver/nvidia/version? It looks like 375.20

What is on your kernel boot line: Remove nomodeset if present. It is not present in the logs.
What other kernels do you have on this system?

Can someone PLEASE help me. I have a laptop with an Intel GPU and an Nvidia GTX 970m. I’m trying to turn off the power to the Nvidia GPU when using the Intel GPU in order to save power. To do this, I need to unload the Nvidia modules, but I’m stuck on nvidia_drm - it just doesn’t unload:

$ sudo rmmod nvidia_drm
rmmod: ERROR: Module nvidia_drm is in use

I’m sing the 375.20 driver, and am running kernel 4.9.

You will need to recompile the kernel with CONFIG_HARDENED_USERCOPY=n