tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
gst-plugins-bad: patch nvidia runtime paths
Kiskae
3 years ago
d5436fa9
9b929a72
+58
2 changed files
expand all
collapse all
unified
split
pkgs
development
libraries
gstreamer
bad
default.nix
fix-paths.patch
+10
pkgs/development/libraries/gstreamer/bad/default.nix
···
1
1
{ lib
2
2
, stdenv
3
3
, fetchurl
4
4
+
, substituteAll
4
5
, meson
5
6
, ninja
6
7
, gettext
···
77
78
, mjpegtools
78
79
, libGLU
79
80
, libGL
81
81
+
, addOpenGLRunpath
80
82
, libintl
81
83
, game-music-emu
82
84
, openssl
···
106
108
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
107
109
sha256 = "sha256-ehHBO1XdHSOG3ZAiGeQcv83ajh4Ko+c4GGyVB0s12k8=";
108
110
};
111
111
+
112
112
+
patches = [
113
113
+
# Add fallback paths for nvidia userspace libraries
114
114
+
(substituteAll {
115
115
+
src = ./fix-paths.patch;
116
116
+
inherit (addOpenGLRunpath) driverLink;
117
117
+
})
118
118
+
];
109
119
110
120
nativeBuildInputs = [
111
121
meson
+48
pkgs/development/libraries/gstreamer/bad/fix-paths.patch
···
1
1
+
diff --git a/sys/nvcodec/gstcudaloader.c b/sys/nvcodec/gstcudaloader.c
2
2
+
index 4223ba1fbd..ca8bb5ceb1 100644
3
3
+
--- a/sys/nvcodec/gstcudaloader.c
4
4
+
+++ b/sys/nvcodec/gstcudaloader.c
5
5
+
@@ -135,6 +135,11 @@ gst_cuda_load_library (void)
6
6
+
return TRUE;
7
7
+
8
8
+
module = g_module_open (filename, G_MODULE_BIND_LAZY);
9
9
+
+
10
10
+
+ if (module == NULL) {
11
11
+
+ module = g_module_open("@driverLink@/lib/" CUDA_LIBNAME, G_MODULE_BIND_LAZY);
12
12
+
+ }
13
13
+
+
14
14
+
if (module == NULL) {
15
15
+
GST_WARNING ("Could not open library %s, %s", filename, g_module_error ());
16
16
+
return FALSE;
17
17
+
diff --git a/sys/nvcodec/gstcuvidloader.c b/sys/nvcodec/gstcuvidloader.c
18
18
+
index 3c7505ca36..eeb376fa80 100644
19
19
+
--- a/sys/nvcodec/gstcuvidloader.c
20
20
+
+++ b/sys/nvcodec/gstcuvidloader.c
21
21
+
@@ -85,6 +85,11 @@ gst_cuvid_load_library (guint api_major_ver, guint api_minor_ver)
22
22
+
return TRUE;
23
23
+
24
24
+
module = g_module_open (filename, G_MODULE_BIND_LAZY);
25
25
+
+
26
26
+
+ if (module == NULL) {
27
27
+
+ module = g_module_open ("@driverLink@/lib/" NVCUVID_LIBNAME, G_MODULE_BIND_LAZY);
28
28
+
+ }
29
29
+
+
30
30
+
if (module == NULL) {
31
31
+
GST_WARNING ("Could not open library %s, %s", filename, g_module_error ());
32
32
+
return FALSE;
33
33
+
diff --git a/sys/nvcodec/gstnvenc.c b/sys/nvcodec/gstnvenc.c
34
34
+
index 19637671ad..39858ccdee 100644
35
35
+
--- a/sys/nvcodec/gstnvenc.c
36
36
+
+++ b/sys/nvcodec/gstnvenc.c
37
37
+
@@ -874,6 +874,11 @@ gst_nvenc_load_library (guint * api_major_ver, guint * api_minor_ver)
38
38
+
};
39
39
+
40
40
+
module = g_module_open (NVENC_LIBRARY_NAME, G_MODULE_BIND_LAZY);
41
41
+
+
42
42
+
+ if (module == NULL) {
43
43
+
+ module = g_module_open ("@driverLink@/lib/" NVENC_LIBRARY_NAME, G_MODULE_BIND_LAZY);
44
44
+
+ }
45
45
+
+
46
46
+
if (module == NULL) {
47
47
+
GST_WARNING ("Could not open library %s, %s",
48
48
+
NVENC_LIBRARY_NAME, g_module_error ());