nvk: add warning on non-nouveau drm driver
authorThomas H.P. Andersen <phomes@gmail.com>
Wed, 25 Jan 2023 21:53:15 +0000 (22:53 +0100)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:32:04 +0000 (21:32 +0000)
Check that the drm kernel driver in use is nouveau, and
add a short description of the issue.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

src/nouveau/winsys/nouveau_device.c

index 1a26f55..2cc9ad5 100644 (file)
@@ -195,11 +195,19 @@ nouveau_ws_device_new(drmDevicePtr drm_device)
    if (!ver)
       goto out_err;
 
+   if (strncmp("nouveau", ver->name, ver->name_len) != 0) {
+      fprintf(stderr,
+              "DRM kernel driver '%.*s' in use. NVK requires nouveau.\n",
+              ver->name_len, ver->name);
+      goto out_err;
+   }
+
    uint32_t version =
       ver->version_major << 24 |
       ver->version_minor << 8  |
       ver->version_patchlevel;
    drmFreeVersion(ver);
+   ver = NULL;
 
    if (version < 0x01000301)
       goto out_err;
@@ -260,6 +268,8 @@ nouveau_ws_device_new(drmDevicePtr drm_device)
    return device;
 
 out_err:
+   if (ver)
+      drmFreeVersion(ver);
    FREE(device);
    close(fd);
    return NULL;