Announcement

Collapse
No announcement yet.

Linux 4.7-rc6 Released, Bigger Than The Earlier RCs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux 4.7-rc6 Released, Bigger Than The Earlier RCs

    Phoronix: Linux 4.7-rc6 Released, Bigger Than The Earlier RCs

    Linus Torvalds has released the sixth weekly test version to the Linux 4.7 kernel...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    May not be surprising, but I can't get the latest Nvidia(367) drivers to load on this kernel. Makes alot of calls the kernel doesn't recognize. Seems power management has been altered drastically and the module just craps itself on insmod/modprobe.

    Comment


    • #3
      Originally posted by ThoreauHD View Post
      May not be surprising, but I can't get the latest Nvidia(367) drivers to load on this kernel. Makes alot of calls the kernel doesn't recognize. Seems power management has been altered drastically and the module just craps itself on insmod/modprobe.
      Hm, i can't see your problems here.

      Code:
      ~
      towo:Defiant> inxi -xxSG
      System:    Host: Defiant Kernel: 4.7.0-rc6-siduction-amd64 x86_64 (64 bit gcc: 6.1.1)
                 Desktop: Cinnamon 3.0.4 (Gtk 3.20.6) dm: lightdm
                 Distro: siduction 13.2.0 December - xfce - (201312310323)
      Graphics:  Card: NVIDIA GM107 [GeForce GTX 750 Ti] bus-ID: 01:00.0 chip-ID: 10de:1380
                 Display Server: X.Org 1.18.3 driver: nvidia Resolution: [email protected]
                 GLX Renderer: GeForce GTX 750 Ti/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.27 Direct Rendering: Yes
      Kernel 4.7-rcX only needs little patching:
      Code:
      diff -ruN NVIDIA-Linux-x86_64-367.27/kernel/nvidia-drm/nvidia-drm-fb.c NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-drm/nvidia-drm-fb.c
      --- NVIDIA-Linux-x86_64-367.27/kernel/nvidia-drm/nvidia-drm-fb.c    2016-06-10 02:38:43.000000000 +0200
      +++ NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-drm/nvidia-drm-fb.c    2016-06-13 18:40:49.915398269 +0200
      @@ -20,6 +20,7 @@
        * DEALINGS IN THE SOFTWARE.
        */
       
      +#include <linux/version.h>
       #include "conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
       
       #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
      @@ -114,7 +115,11 @@
            * We don't support any planar format, pick up first buffer only.
            */
       
      +    #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
           gem = drm_gem_object_lookup(dev, file, cmd->handles[0]);
      +    #else
      +    gem = drm_gem_object_lookup(file, cmd->handles[0]);
      +    #endif
       
           if (gem == NULL)
           {
      diff -ruN NVIDIA-Linux-x86_64-367.27/kernel/nvidia-drm/nvidia-drm-gem.c NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-drm/nvidia-drm-gem.c
      --- NVIDIA-Linux-x86_64-367.27/kernel/nvidia-drm/nvidia-drm-gem.c    2016-06-10 02:38:43.000000000 +0200
      +++ NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-drm/nvidia-drm-gem.c    2016-06-13 18:33:02.080694923 +0200
      @@ -20,6 +20,7 @@
        * DEALINGS IN THE SOFTWARE.
        */
       
      +#include <linux/version.h>
       #include "conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
       
       #if defined(NV_DRM_AVAILABLE)
      @@ -408,7 +409,11 @@
       
           mutex_lock(&dev->struct_mutex);
       
      +    #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
           gem = drm_gem_object_lookup(dev, file, handle);
      +    #else
      +    gem = drm_gem_object_lookup(file, handle);
      +    #endif
       
           if (gem == NULL)
           {
      diff -ruN NVIDIA-Linux-x86_64-367.27/kernel/nvidia-uvm/uvm8_gpu.c NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-uvm/uvm8_gpu.c
      --- NVIDIA-Linux-x86_64-367.27/kernel/nvidia-uvm/uvm8_gpu.c    2016-06-10 02:37:08.000000000 +0200
      +++ NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-uvm/uvm8_gpu.c    2016-06-13 18:35:10.922001304 +0200
      @@ -21,6 +21,7 @@
       
       *******************************************************************************/
       
      +#include <linux/version.h>
       #include "nv_uvm_interface.h"
       #include "uvm8_api.h"
       #include "uvm8_channel.h"
      @@ -638,7 +639,11 @@
                          gpu->id, uvm_gpu_retained_count(gpu));
       
           // All channels should have been removed before the retained count went to 0
      +    #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
           UVM_ASSERT(radix_tree_empty(&gpu->instance_ptr_table));
      +    #else
      +    UVM_ASSERT(radix_tree_empty_nv(&gpu->instance_ptr_table));
      +    #endif
       
           // Remove the GPU from the table.
           uvm_spin_lock_irqsave(&g_uvm_global.gpu_table_lock);
      diff -ruN NVIDIA-Linux-x86_64-367.27/kernel/nvidia-uvm/uvm_linux.h NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-uvm/uvm_linux.h
      --- NVIDIA-Linux-x86_64-367.27/kernel/nvidia-uvm/uvm_linux.h    2016-06-10 02:37:08.000000000 +0200
      +++ NVIDIA-Linux-x86_64-367.27.patched/kernel/nvidia-uvm/uvm_linux.h    2016-06-13 18:33:31.394326324 +0200
      @@ -29,6 +29,7 @@
       //
       //
       
      +#include <linux/version.h>
       #ifndef _UVM_LINUX_H
       #define _UVM_LINUX_H
       
      @@ -563,7 +564,11 @@
           INIT_RADIX_TREE(tree, GFP_NOWAIT);
       }
       
      +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
       static bool radix_tree_empty(struct radix_tree_root *tree)
      +#else
      +static bool radix_tree_empty_nv(struct radix_tree_root *tree)
      +#endif
       {
           void *dummy;
           return radix_tree_gang_lookup(tree, &dummy, 0, 1) == 0;
      No issues for me so far.
      Last edited by towo2099; 06 July 2016, 02:47 AM.

      Comment


      • #4
        I tested it on 4.7-rc6, not 4.6-rcX. I went back to 4.6.3, and it works fine. Driver source is Phoronix's own Graphics Drivers on launchpad.net/PPA on Linux Mint 18/Ubuntu 16. I'll just wait for the driver or kernel to get sorted in the repositories. I stopped doing out of band patching because I can't remember all the crap I'll break with a apt-get dist-upgrade if I don't.
        Last edited by ThoreauHD; 06 July 2016, 02:49 AM.

        Comment


        • #5
          Sorry, 4.6-rcX was a typo, i mean 4.7-rcX. But as you can see, i have 4.7-rc6 running with the patched driver.

          Comment

          Working...
          X