Nvidia 364.12

Luca Boccassi luca.boccassi at gmail.com
Tue Mar 22 23:01:37 UTC 2016


On Mon, 2016-03-21 at 23:21 +0000, Luca Boccassi wrote:
> On Mon, 2016-03-21 at 23:07 +0100, Floris wrote:
> > Dear maintainers,
> > 
> > you already probably know there is a cool new (beta) version!
> > https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/
> > 
> > I hope we can test this version soon in Debian.
> 
> Hi Floris,
> 
> Yes I've seen the news, it's pretty big release. Also it is not marked
> as a beta, but as a stable release. Vulkan, Wayland and atomic KMS in
> one go is surely quite exciting!

Ah, today the flag on the Nvidia website changed. It was stable
yesterday, but today 364.12 has been marked as a beta release.

> Andreas,
> 
> I've branched 364 from 361, and committed all needed changes to build
> this new release. Fairly small set, usual symbols/ids/patch refresh, and
> the infrastructure for the new drm kernel module.
> 
> This module is not needed by other modules, and in turn it depends only
> on the nvidia-modeset module, so I've updated the modprobe rules
> accordingly. Also it's source-only, there's no binary blobs like for the
> others.
> 
> I haven't enabled modeset=1 by default, because when I try to enable it
> manually the following error appears:
> 
> Mar 21 22:50:40 luca-desktop gdm-Xorg-:0[996]: removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 /dev/dri/card0
> Mar 21 22:50:40 luca-desktop gdm-Xorg-:0[996]: (II) config/udev: Adding drm device (/dev/dri/card0)
> Mar 21 22:50:40 luca-desktop gdm-Xorg-:0[996]: (II) xfree86: Adding drm device (/dev/dri/card0)
> Mar 21 22:50:40 luca-desktop kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
> Mar 21 22:50:40 luca-desktop kernel: [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> Mar 21 22:50:40 luca-desktop kernel: [drm] No driver support for vblank timestamp query.
> Mar 21 22:50:40 luca-desktop kernel: [drm:nvidia_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab NVKMS ownership
> Mar 21 22:50:40 luca-desktop gdm-Xorg-:0[996]: removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-DVI-I-1 (null)
> 
> Upstream does not enable it either by default, which is a sign that it's
> not completely stable yet.
> 
> DKMS builds fine for all architectures on all kernels, but the source
> build does not work which is strange, but I don't think I've fully
> tested it for the 361 release either so it's probably something to do
> with the new kernel modules. I'll investigate in the next couple of
> days.

Ah, it's only one source build that's failing. Obviously it's the only
one I tried yesterday :-)
All the sources and dkms builds are fine, apart from the arm + 4.5.0-rc7
which is failing

It's quite a weird one, as the problem is that conftest.sh is not
enabling a define where it should:

        drm_init_functions_have_name_arg)
            #
            # Determine if these functions:
            #   drm_universal_plane_init()
            #   drm_crtc_init_with_planes()
            #   drm_encoder_init()
            # have a 'name' argument, which was added by these commits:
            #   drm_universal_plane_init:   2015-12-09
b0b3b7951114315d65398c27648705ca1c322faa
            #   drm_crtc_init_with_planes:  2015-12-09
f98828769c8838f526703ef180b3088a714af2f9
            #   drm_encoder_init:           2015-12-09
13a3d91f17a5f7ed2acd275d18b6acfdb131fb15
            #
            CODE="
            #include <drm/drmP.h>
            int conftest_drm_init_functions_have_name_arg(void) {
                return
                    drm_universal_plane_init(
                            NULL,  /* struct drm_device *dev */
                            NULL,  /* struct drm_plane *plane */
                            0,     /* unsigned long possible_crtcs */
                            NULL,  /* const struct drm_plane_funcs
*funcs */
                            NULL,  /* const uint32_t *formats */
                            0,     /* unsigned int format_count */
                            DRM_PLANE_TYPE_PRIMARY,
                            NULL)  /* const char *name */
                        &&
                    drm_crtc_init_with_planes(
                            NULL,  /* struct drm_device *dev */
                            NULL,  /* struct drm_crtc *crtc */
                            NULL,  /* struct drm_plane *primary */
                            NULL,  /* struct drm_plane *cursor */
                            NULL,  /* const struct drm_crtc_funcs *funcs
*/
                            NULL)  /* const char *name */
                        &&
                    drm_encoder_init(
                            NULL,  /* struct drm_device *dev */
                            NULL,  /* struct drm_encoder *encoder */
                            NULL,  /* const struct drm_encoder_funcs
*funcs */
                            DRM_MODE_ENCODER_NONE, /* int encoder_type
*/
                            NULL); /* const char *name */
            }"

            compile_check_conftest "$CODE"
"NV_DRM_INIT_FUNCTIONS_HAVE_NAME_ARG" "" "types"

With 4.5.0-rc7 on amd64/i386 this define is correctly added, but not on
arm. But I verified that the definitions of those functions are
identical in all headers package, there's no discrepancy in the armmp
one. But conftest.sh does not agree, and disables the flag on arm,
causing a module build failure.

I'll dig deeper in the next few days.

> I've run quick tests on my desktop (not on the laptop) and all seems
> good, which is good news given the last releases where not very stable!
> Ran a few games just fine, VLC + VDPAU and a WebGL page on Chrome. Will
> try optimus + bumblebee tomorrow.
> 
> Do you think we could move experimental to 358 (and up) soon? Given how
> many goodies came with this release, it's bound to attract a lot of
> interest :-)
> 
> Kind regards,
> Luca Boccassi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-nvidia-devel/attachments/20160322/cffba754/attachment.sig>


More information about the pkg-nvidia-devel mailing list