Kernel – 4.20-rc3 Released, OK with latest VMware, Still no NVIDIA Fix..

Kernel 4.20-rc3 is out, and brief details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1811.2/01363.html

VMware 15.0.1 is still OK, but there is still no solution for NVIDIA.   I posted details of my testing to the NVIDIA Forum over a week ago, but there has been no response, so far..

Robert Gadsdon.  November 18, 2018.

NVIDIA – 4.20-rc1 Fix? – More Work Needed..

I created a combo runtime patch for NVIDIA 410.73 on Kernel 4.20-rc1, by combining the changes identified in my previous article ( see http://rglinuxtech.com/?p=2426 ) with the pm patch (see http://rglinuxtech.com/?p=2421 ).

The result ran – eventually – after blanking/refreshing the display, with garbage characters at top/bottom, so all was obviously not OK..

...........................
[ 121.826292] [drm] [nvidia-drm] [GPU ID 0x00000200] Loading driver
[ 121.972324] resource sanity check: requesting [mem 0x000c0000-0x000fffff], which spans more than PCI Bus 0000:00 [mem 0x000d8000-0x000dbfff window]
[ 121.972471] caller _nv001126rm+0xe3/0x1d0 [nvidia] mapping multiple BARs
[ 125.546191] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[ 125.565592] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 125.565593] [drm] No driver support for vblank timestamp query.
[ 125.646943] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:02:00.0 on minor 0
[ 135.550609] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[ 138.805999] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[ 142.181899] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[ 199.227105] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[ 202.773576] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[ 206.041776] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
...........................

The (KDE/Plasma) screen seemed to be OK after that, but this is obviously not an ideal solution!

Robert Gadsdon.   November 5, 2018.

Kernel – 4.20-rc1 Released – OK with VMware, not with NVIDIA, and possible fix?

Kernel 4.20-rc1 is out, and brief details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1811.0/02531.html

VMware 15.0 installs OK, but the latest NVIDIA fails.. (410.73 with the pm patch, if needed):

........................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia/linux_nvswitch.c:1582:5: error: implicit declaration of function ‘time_to_tm’; did you mean ‘time64_to_tm’? [-Werror=implicit-function-declaration]
time_to_tm(time_nsec / NVSWITCH_NSEC_PER_SEC, 0, &t);
^~~~~~~~~~
time64_to_tm
.....................

I made the change to linux_nvswitch.c, and then:

............................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c:348:11: error: implicit declaration of function ‘vm_insert_pfn’; did you mean ‘vmf_insert_pfn’? [-Werror=implicit-function-declaration]
ret = vm_insert_pfn(vma, address, pfn + page_offset);
^~~~~~~~~~~~~
vmf_insert_pfn
...........................

Made that change, as well, and then the driver compiled/loaded OK:

..................................
ld -r -o /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset/nv-modeset-interface.o /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset/nvidia-modeset-linux.o
Building modules, stage 2.
MODPOST 4 modules
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-drm.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-drm.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia.ko
make[2]: Leaving directory '/usr/src/linux-4.20-rc1'
make[1]: Leaving directory '/usr/src/linux-4.20-rc1'

But…   the compilation threw a lot of repeated ‘warnings’:

.......................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_linux.h:270:2: warning: #warning "atomic64_t unavailable, demoting to atomic_t!" [-Wcpp]
#warning "atomic64_t unavailable, demoting to atomic_t!"
^~~~~~~
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_kvmalloc_test.o
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_common.h:48,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_kvmalloc_test.c:24:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_linux.h:270:2: warning: #warning "atomic64_t unavailable, demoting to atomic_t!" [-Wcpp]
#warning "atomic64_t unavailable, demoting to atomic_t!"
^~~~~~~
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_pmm_test.o
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_common.h:48,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_pmm_test.c:24:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_linux.h:270:2: warning: #warning "atomic64_t unavailable, demoting to atomic_t!" [-Wcpp]
#warning "atomic64_t unavailable, demoting to atomic_t!"
^~~~~~~
..............  etc...

More testing will be needed!

Robert Gadsdon.  November 4, 2018.

NVIDIA – 410.xx Runtime Segfault – Solved..

Solved:    After more investigation, reinstalling the Xorg driver fixed the problem..  # dnf reinstall xorg-x11-server-Xorg

After successfully patching the NVIDIA 410.73 driver (see previous article), I encountered another problem at runtime, after # startx :

.....................................
[ 145.489] (II) Initializing extension GLX
[ 145.489] (II) AIGLX: Screen 0 is not DRI2 capable
[ 145.489] (EE) AIGLX: reverting to software rendering
[ 145.627] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[ 145.628] (EE)
[ 145.628] (EE) Backtrace:
[ 145.629] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x13d) [0x55839d3650ed]
[ 145.629] (EE) 1: /lib64/libpthread.so.0 (funlockfile+0x50) [0x7fdda5197fbf]
[ 145.630] (EE) 2: /usr/lib64/xorg/modules/extensions/libglx.so (GlxSetVisualConfigs+0x38b) [0x7fdda4923a6b]
[ 145.630] (EE) 3: /usr/lib64/xorg/modules/extensions/libglx.so (_init+0x1ac1d) [0x7fdda493d91d]
[ 145.630] (EE) 4: /usr/lib64/xorg/modules/extensions/libglx.so (_init+0x1a06d) [0x7fdda493c21d]
[ 145.630] (EE) 5: /usr/libexec/Xorg (InitExtensions+0x89) [0x55839d273d19]
[ 145.630] (EE) 6: /usr/libexec/Xorg (InitFonts+0x1f3) [0x55839d208c33]
[ 145.630] (EE) 7: /lib64/libc.so.6 (__libc_start_main+0xf3) [0x7fdda4fe3413]
[ 145.630] (EE) 8: /usr/libexec/Xorg (_start+0x2e) [0x55839d1f27be]
[ 145.630] (EE)
[ 145.630] (EE) Segmentation fault at address 0x7fdda34d3c18
[ 145.630] (EE)
Fatal server error:
[ 145.630] (EE) Caught signal 11 (Segmentation fault). Server aborting
[ 145.630] (EE)
[ 145.630] (EE)
Please consult the Fedora Project support
at http://wiki.x.org
for help.
[ 145.630] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 145.630] (EE)
[ 145.878] (EE) Server terminated with error (1). Closing log file.

I found that the same happened with driver 410.57, and then tried older driver 396.54 – with the patch for Kernel 4.19 support – and that version worked correctly..  (Fedora 29, Kernel 4.19.0).

More research is needed, and I suspect it might be something ‘stale’ remaining from the F28-F29 upgrade?

Robert Gadsdon.  November 3, 2018.

NVIDIA – 410.73 PM Gotcha, for Some..

I just encountered a problem installing the latest NVIDIA driver 410.73 on my ‘Main’ system, having successfully tested it on my ‘Test’ system:

........................
 MODPOST 4 modules
WARNING: "nv_pmops_suspend" [/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73/kernel/nvidia.ko] undefined!
WARNING: "nv_pmops_resume" [/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73/kernel/nvidia.ko] undefined!
WARNING: "nv_pmops_thaw" [/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73/kernel/nvidia.ko] undefined!
WARNING: "nv_pmops_poweroff" [/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73/kernel/nvidia.ko] undefined!
WARNING: "nv_pmops_restore" [/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73/kernel/nvidia.ko] undefined!
WARNING: "nv_pmops_freeze" [/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73/kernel/nvidia.ko] undefined!
.......................

It appears that NVIDIA now assume that everyone has power management enabled in their compiled kernel, although many (such as myself, on a ‘tower’ workstation) don’t need it.

Thanks to dinosaur_ on the NVIDIA Forums, there is a solution for this:   https://devtalk.nvidia.com/default/topic/1043346/linux/nvidia-driver-v410-73-fails-to-build-functional-modules/

NVIDIA really should fix this, as it is wrong to make the assumption that non-laptops need all the PM functionality..

Robert Gadsdon.   November 3, 2018.

Kernel – 4.19 Released – OK with latest NVIDIA and VMware..

Apologies for the late arrival of this article, due to extended trip overseas, and hardware failure on return!   RG.

Kernel 4.19 is out, and brief details are here:   http://lkml.iu.edu/hypermail/linux/kernel/1810.2/05220.html  The info here is worth reading, as it includes more on the Linus kernel handover – and ‘hand-back’..

It is worth mentioning that some issues have already been reported with this version – see later messages on the LKML..  http://lkml.iu.edu/hypermail/linux/kernel/1810.3/index.html

As expected, this kernel version is OK with the latest NVIDIA (410.73) and Vmware (15.0)

Robert Gadsdon.   October 26, 2018.

VMware – Workstation 15 Released – OK with Kernel 4.19..

VMware Workstation Pro 15.0.0 has been released, and details are here:  https://docs.vmware.com/en/VMware-Workstation-Pro/15/rn/workstation-15-release-notes.html

As expected, this compiles/loads/runs OK with Kernel 4.19 (tested with 4.19-rc5).     The UI seems – IMHO – to have a slightly retro look, but this is probably supposed to look more ‘Windows10’-like..

Robert Gadsdon.   September 27, 2018.

Kernel – New Home for Release Candidates..

Updated Sept 24, to give specific location (from 4.19-rc5 release)

In case you had previously been accessing the work-in-progress -rc version of the Kernel at https://github.com/torvalds/linux, then – after 4.19-rc4 – it can be found here:  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/

To get the latest source:
# git clone -b master --single-branch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Tarballs can be found here (under ‘Download‘): https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/

Robert Gadsdon.  September 24, 2018

NVIDIA – New 4XX Driver, OK with Kernel 4.19..

NVIDIA have version-bumped their driver, and new driver 410.57 is now available, and details are here:  https://www.nvidia.com/Download/driverResults.aspx/138279/en-us

Tested with Kernel 4.19-rc4, and this version compiles/loads OK, without any need for a patch..

........................
ld -r -o /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-modeset/nv-modeset-interface.o /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-modeset/nvidia-modeset-linux.o
Building modules, stage 2.
MODPOST 4 modules
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-drm.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-drm.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-modeset.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-modeset.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-uvm.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia-uvm.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.57/kernel/nvidia.ko
make[2]: Leaving directory '/usr/src/linux-4.19-rc4'
make[1]: Leaving directory '/usr/src/linux-4.19-rc4'

Robert Gadsdon.  September 21, 2018.

Kernel – 4.19-rc2 – OK with Latest VMware, and Patched NVIDIA

Kernel 4.19-rc2 is out, and details of changes from -rc1 are here:  http://lkml.iu.edu/hypermail/linux/kernel/1809.0/00713.html

As with -rc1, the latest VMware (14.1.3) compiles/loads OK, and the latest NVIDIA (396.54 and 390.87) with the patch mentioned in a previous article ( http://rglinuxtech.com/?p=2391 ) compiles and loads OK.    The patch is applicable to both versions..

Robert Gadsdon.    September 2, 2018.