Hallo,
die API_Version wurde auf 2.6.1 erhöht, d.h. alle Plugins müssen neu kompiliert werden ?
Hallo,
die API_Version wurde auf 2.6.1 erhöht, d.h. alle Plugins müssen neu kompiliert werden ?
lässt sich mit diesem Patch kompilieren.
war auch schon das Problem mit streamdev-server
ok, über die beiden Links kommt man dran.
im kernel-headers-5.14.0-300 Paket sind die header-Dateien wieder enthalten.
$ rpm -ql kernel-headers-5.14.0-300.fc35.x86_64 |grep "/usr/include/linux/dvb/"
/usr/include/linux/dvb/audio.h
/usr/include/linux/dvb/ca.h
/usr/include/linux/dvb/dmx.h
/usr/include/linux/dvb/frontend.h
/usr/include/linux/dvb/net.h
/usr/include/linux/dvb/osd.h
/usr/include/linux/dvb/version.h
/usr/include/linux/dvb/video.h
Wieso kopierst du die Dateien nicht einfach dorthin, wo sie bisher waren, anstatt VDR zu patchen?
natürlich könnte ich die fehlenden Headerdateien einfach wieder dort hin kopieren, wo sie vorher waren,
aber bei einer rpm Paketierung ist das nicht so einfach, deshalb kopiere ich sie einfach in die vdr sourcen, dann sind sind sie mit dabei.
Ich würde an deiner Stelle einfach die Header-Files von einer früheren Kernelversion nehmen.
"upstream in vdr" wird sich da nichts tun, denn das ist Treiber- bzw. Kernelsache. Ausserdem sind FF-Karten (leider) "legacy" und neu gar nicht mehr zu bekommen. Die Onboard-Grafik auf einem modernen Intel-Board z.B. ist deutlich flexibler und weniger problematisch (keine Firmware).
das mit den separierten Headerdateien aus einem älteren Kernel muss ich mal versuchen.
Vielleicht erstelle ich eine Unterpaket (vdr-dvbhdheaders-2.4.7-4.fc35), mit den zuvor enthaltenen
Kernel-header Dateien, das könnte dann so aussehen (Vorschläge sind willkommen)
habe gerade eine Antwort von Bugzilla erhalten, weis nicht was ich denen antworten soll ???
QuoteCode(In reply to MartinKG from comment #3) > I need the 3 files (audio.h, osd.h and video.h) for the 2 included VDR > plugins (dvbhddevice and dvbsddevice) to compile it, > see error messages above. Can you disable the functionality that depends on those include files because the functionality in the kernel is only supported on the av7110 driver/HW. If there's other functionality that is used on other HW that is tied into this driver/includes it should probably be reviewed upstream in vdr. It will be very unlikely the header files will come back.
Am besten die drei header in den Plugin Source kopieren und diese Zeilen ändern
#include <linux/dvb/audio.h>
#include <linux/dvb/dmx.h>
#include <linux/dvb/video.h>in
#include "audio.h"
#include "dmx.h"
#include "video.h"
werde ich mal versuchen, wird aber höchstwahrscheinlich nicht klappen, da der VDR keine video.h mitliefert.
Hallo,
ich versuche gerade den vdr-2.4.7 auf der zukünftigen Fedora 35 Version für die TT DVB-S2 6400-Karte zu kompilieren.
Da schlägt das Kompiiieren der beiden Plugins dvbhddevice und dvbhddevice fehl.
+ for plugin in dvbhddevice dvbsddevice rcu skincurses
+ /usr/bin/make -O -j8 V=1 VERBOSE=1 -C PLUGINS/src/dvbhddevice VDRDIR=/builddir/build/BUILD/vdr-2.4.7 PLGCFG=/builddir/build/BUILD/vdr-2.4.7/bundled-plugins.mk all
make: Entering directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice'
g++ -O3 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/builddir/build/BUILD/vdr-2.4.7/include -c -DPLUGIN_NAME_I18N='"dvbhddevice"' -o dvbhdffdevice.o dvbhdffdevice.c
dvbhdffdevice.c:14:10: fatal error: linux/dvb/audio.h: No such file or directory
14 | #include <linux/dvb/audio.h>
| ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:64: dvbhdffdevice.o] Error 1
make: Leaving directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice'
make: *** Waiting for unfinished jobs....
make: Entering directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice'
g++ -O3 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/builddir/build/BUILD/vdr-2.4.7/include -c -DPLUGIN_NAME_I18N='"dvbhddevice"' -o hdffosd.o hdffosd.c
hdffosd.c:8:10: fatal error: linux/dvb/osd.h: No such file or directory
8 | #include <linux/dvb/osd.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:64: hdffosd.o] Error 1
make: Leaving directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice'
Display More
Seit dem Kernelwechsel auf 5.14 rc3 fehlen die Headerdateien audio.h osd.h und video.h, die normalerweise in dem Paket kernel-headers mitgeliefert wird.
rpm -ql kernel-headers-5.14.0-0.rc3.git0.1.fc35.x86_64.rpm |grep "/usr/include/linux/dvb/"
/usr/include/linux/dvb/ca.h
/usr/include/linux/dvb/dmx.h
/usr/include/linux/dvb/frontend.h
/usr/include/linux/dvb/net.h
/usr/include/linux/dvb/version.h
rpm -ql kernel-headers-5.13.3-200.fc34.x86_64.rpm |grep "/usr/include/linux/dvb/"
/usr/include/linux/dvb/audio.h
/usr/include/linux/dvb/ca.h
/usr/include/linux/dvb/dmx.h
/usr/include/linux/dvb/frontend.h
/usr/include/linux/dvb/net.h
/usr/include/linux/dvb/osd.h
/usr/include/linux/dvb/version.h
/usr/include/linux/dvb/video.h
Ist hier in diesem Beitrag bekannt gemacht worden.
QuoteDisplay MoreThe audio, video and OSD APIs are used upstream only by the
av7110 driver, which was moved to staging.
So, move the corresponding header files to it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
---
.../linux/dvb => drivers/staging/media/av7110}/audio.h | 0
drivers/staging/media/av7110/av7110.h | 7 ++++---
.../uapi/linux/dvb => drivers/staging/media/av7110}/osd.h | 0
.../linux/dvb => drivers/staging/media/av7110}/video.h | 0
4 files changed, 4 insertions(+), 3 deletions(-)
rename {include/uapi/linux/dvb => drivers/staging/media/av7110}/audio.h (100%)
rename {include/uapi/linux/dvb => drivers/staging/media/av7110}/osd.h (100%)
rename {include/uapi/linux/dvb => drivers/staging/media/av7110}/video.h (100%)
Wurde auch am 03.06.2021 auf linuxtv bekannt gegeben
Wie kann das gelöst werden ?
Hallo,
versuche gerade osd2web-0.2.54 für die zukünftige Fedora 35 Version zu kompilieren, dies scheitert aber mit der folgenden Meldung:
g++ -c -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++14 -D__STDC_FORMAT_MACROS -O2
-flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-Wunused-but-set-variable -Wunused-but-set-parameter -D__STL_CONFIG_H -DOSD2WEB
-DLOG_PREFIX='"osd2web: "' -DVDR_PLUGIN -DUSEJSON -DUSEGUNZIP
-DPLUGIN_NAME_I18N='"osd2web"'
-DGIT_REV='""' -o dia.o dia.c
In file included from /usr/include/c++/11/bits/char_traits.h:39,
from /usr/include/c++/11/string:40,
from lib/common.h:19,
from lib/config.h:11,
from config.h:16,
from dia.c:19:
/usr/include/c++/11/bits/stl_algobase.h: In instantiation of 'void
std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 =
__gnu_cxx::__normal_iterator<cUpdate::ImageFile*, std::vector<cUpdate::ImageFile>
>; _ForwardIterator2 = __gnu_cxx::__normal_iterator<cUpdate::ImageFile*,
std::vector<cUpdate::ImageFile> >]':
/usr/include/c++/11/bits/stl_algo.h:3767:18: required from 'void
std::shuffle(_RAIter, _RAIter, _UGenerator&&) [with _RAIter =
__gnu_cxx::__normal_iterator<cUpdate::ImageFile*, std::vector<cUpdate::ImageFile>
>; _UGenerator = std::linear_congruential_engine<long unsigned int, 16807, 0,
2147483647>&]'
dia.c:109:19: required from here
/usr/include/c++/11/bits/stl_algobase.h:182:11: error: call of overloaded
'swap(cUpdate::ImageFile&, cUpdate::ImageFile&)' is ambiguous
182 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/stl_pair.h:59,
from /usr/include/c++/11/bits/stl_algobase.h:64,
from /usr/include/c++/11/bits/char_traits.h:39,
from /usr/include/c++/11/string:40,
from lib/common.h:19,
from lib/config.h:11,
from config.h:16,
from dia.c:19:
/usr/include/c++/11/bits/move.h:196:5: note: candidate:
'std::_Require<std::__not_<std::__is_tuple_like<_Tp> >,
std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >
std::swap(_Tp&, _Tp&) [with _Tp = cUpdate::ImageFile;
std::_Require<std::__not_<std::__is_tuple_like<_Tp> >,
std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > =
void]'
196 | swap(_Tp& __a, _Tp& __b)
| ^~~~
In file included from lib/common.h:38,
from lib/config.h:11,
from config.h:16,
from dia.c:19:
/usr/include/vdr/tools.h:63:31: note: candidate: 'void swap(T&, T&) [with T =
cUpdate::ImageFile]'
63 | template<class T> inline void swap(T &a, T &b) { T t = a; a = b; b =
t; }
| ^~~~
make: *** [Makefile:91: dia.o] Error 1
Display More
Hat jemand eine Idee, wie man das lösen kann ?
Ich muss mir mal den Artikel How to make PulseAudio run once at boot for all your users
genauer durchlesen und auf Pipewire anpassen.
Hallo,
habe mal pipewire mit der Option -D systemd-system-service=enabled kompiliert und installiert.
In der softhddevice.conf steht gerade das drin:
PLUGIN_OPTIONS="-s -g 1680x1050+200+100 -a surround51:CARD=PCH,DEV=0 -d :1.0 -v vdpau"
Mai 18 22:09:26 fc34 vdr[42324]: audio: 'alsa' output module used
Mai 18 22:09:26 fc34 vdr[42324]: audio/alsa: playback open 'surround51:CARD=PCH,DEV=0' error: Das Gerät oder die Ressource ist belegt
Mai 18 22:09:26 fc34 vdr[42324]: audio/alsa: can't open mixer 'default'
Mai 18 22:09:26 fc34 vdr[42324]: audio: 44100Hz supports 0 0 0 0 0 0 0 0 channels
Mai 18 22:09:26 fc34 vdr[42324]: audio: 48000Hz supports 0 0 0 0 0 0 0 0 channels
Mai 18 22:09:26 fc34 vdr[42324]: audio: 192000Hz supports 0 0 0 0 0 0 0 0 channels
...
Mai 18 22:09:28 fc34 vdr[42324]: audio: 2 channels unsupported
wenn
PLUGIN_OPTIONS="-s -g 1680x1050+200+100 -a surround51:CARD=PCH,DEV=0 -d :1.0 -v vdpau"
In der softhddevice.conf steht, dann bekomme ich:
Mai 18 22:14:28 fc34 vdr[42624]: audio: 'alsa' output module used
Mai 18 22:14:28 fc34 vdr[42624]: audio/alsa: playback open 'pipewire' error: Der Rechner ist nicht aktiv
Mai 18 22:14:28 fc34 vdr[42624]: audio/alsa: can't open mixer 'default'
Mai 18 22:14:28 fc34 vdr[42624]: audio: 44100Hz supports 0 0 0 0 0 0 0 0 channels
Mai 18 22:14:28 fc34 vdr[42624]: audio: 48000Hz supports 0 0 0 0 0 0 0 0 channels
Mai 18 22:14:28 fc34 vdr[42624]: audio: 192000Hz supports 0 0 0 0 0 0 0 0 channels
Hast du mal -a pipewire probiert? Das müsste ja das Alsa-Device vom PipeWire-Server sein.
ja, habe mal in der softhddevice.conf folgendes eingetragen und den vdr-Dienst neu gestartet.
dann kommen diese Meldungen im Log.
Mai 17 19:51:01 fc34 vdr[3481]: [3501] SVDRP fc34 < 127.0.0.1:43228 client connection accepted
Mai 17 19:51:01 fc34 vdr[3481]: [3501] SVDRP fc34 > 127.0.0.1:43228 server created
Mai 17 19:51:01 fc34 vdr[3481]: audio: 'alsa' output module used
Mai 17 19:51:01 fc34 vdr[3481]: audio/alsa: playback open 'pipewire' error: Der Rechner ist nicht aktiv
Mai 17 19:51:01 fc34 vdr[3481]: audio/alsa: can't open mixer 'default'
Mai 17 19:51:01 fc34 vdr[3481]: audio: 44100Hz supports 0 0 0 0 0 0 0 0 channels
Mai 17 19:51:01 fc34 vdr[3481]: audio: 48000Hz supports 0 0 0 0 0 0 0 0 channels
Mai 17 19:51:01 fc34 vdr[3481]: audio: 192000Hz supports 0 0 0 0 0 0 0 0 channels
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: VDPAU API version: 1
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: VDPAU information: NVIDIA VDPAU Driver Shared Library 465.27 Thu Apr 22 23:11:23 UTC 2021
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: highest supported high quality scaling 1
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: feature deinterlace temporal supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: feature deinterlace temporal spatial supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: attribute skip chroma deinterlace supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: 4:2:0 chroma format with 8192x8192 supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: 4:2:2 chroma format with 8192x8192 supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: 4:4:4 chroma format with 8192x8192 supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: 8bit BGRA format with 32768x32768 supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: 10bit RGBA format with 32768x32768 supported
Mai 17 19:51:01 fc34 vdr[3481]: video/vdpau: created osd output surface 1680x1050 with id 0x00000009
Mai 17 19:51:01 fc34 vdr[3481]: [3501] SVDRP fc34 < 127.0.0.1:43228 connection closed
Mai 17 19:51:01 fc34 vdr[3481]: [3501] SVDRP fc34 < 127.0.0.1:43228 server destroyed
Mai 17 19:51:01 fc34 systemd[1662]: app-glib-Start\x20VDR-3536.scope: Deactivated successfully.
Mai 17 19:51:01 fc34 vdr[3481]: [3481] switching to channel 17 S19.2E-1-1101-28106 (Das Erste)
Mai 17 19:51:01 fc34 vdr[3481]: [3547] device 1 receiver thread started (pid=3481, tid=3547, prio=high)
Mai 17 19:51:01 fc34 vdr[3481]: [3548] device 1 TS buffer thread started (pid=3481, tid=3548, prio=high)
Mai 17 19:51:01 fc34 vdr[3481]: [3481] OSD size changed to 1680x1050 @ 1.11111
Mai 17 19:51:02 fc34 vdr[3481]: audio: 2 channels unsupported
Mai 17 19:51:02 fc34 vdr[3481]: video: get hwaccel context, not supported
Mai 17 19:51:03 fc34 vdr[3481]: video/vdpau: can't render mixer: An invalid handle value was provided.
Mai 17 19:51:03 fc34 vdr[3481]: video/vdpau: missed frame (1/8)
Display More
aber ich vermute wie seahawk1986 geschrieben hat wird das warscheinlich nicht klappen, da ich mit mit dem Benutzer martin an meinem PC anmelde
und der VDR-Dienst läuft mit dem Benutzer vdr, aber nur eine Vermutung.
und ja, auf Fedora34 läuft mit der neuen Version nun pipewire
[martin@fc34 ~]$ pipewire-pulse --version -v --check
pipewire-pulse
Compiled with libpipewire 0.3.27
Linked with libpipewire 0.3.27
[martin@fc34 ~]$ systemctl --user status pipewire.service pipewire-pulse.service
● pipewire.service - Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
└─00-uresourced.conf
Active: active (running) since Mon 2021-05-17 19:47:30 CEST; 8min ago
TriggeredBy: ● pipewire.socket
Main PID: 1678 (pipewire)
Tasks: 4 (limit: 9460)
Memory: 15.8M
CPU: 1.160s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
├─1678 /usr/bin/pipewire
└─1698 /usr/bin/pipewire-media-session
Mai 17 19:47:30 fc34 systemd[1662]: Started Multimedia Service.
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2021-05-17 19:47:30 CEST; 8min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1679 (pipewire-pulse)
Tasks: 2 (limit: 9460)
Memory: 25.0M
CPU: 1.590s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─1679 /usr/bin/pipewire-pulse
Mai 17 19:47:30 fc34 systemd[1662]: Started PipeWire PulseAudio.
Display More
hw 0.0 - is this a Intel?
Try
-a front:CARD=PCH,DEV=0
-a surround51:CARD=PCH,DEV=0
The problem is that the device is already being used by another program.
I thinks it's time, that vdr-softhddevice would support pulseaudio/pipewire as sound system.
Alsa-Clients und pulseaudio können nicht parallel auf das gleiche Gerät zugreifen. Üblich ist es entweder das alsa-Plugin für pulseaudio zu nutzen (dazu muss der VDR in der selben Session wie pulseaudio laufen und als Ausgabe-Device gibt man dann pulse an bzw. setzt das als Default-Alsa Device: https://wiki.archlinux.de/title/Pulseaud…es_Alsa_Plugins) oder man muss mit einem Programm wie pasuspend dafür sorgen, dass pulseaudio das alsa-Device loslässt (das kann ansonsten bei Inaktivität passieren, dass pulseaudio das Device zum Energiesparen loslösst). Da man beim Attachen des VDR-Frontends keinen lange laufenden Prozess hatte, hat mini73 mal ein Programm geschrieben, mit dem man das gezielt an bzw. abschalten kann: https://github.com/flensrocker/yavdr-pasuspend - wichtig: andere Programme, die pulseaudio zur Ausgabe nutzen, frieren dann ein, bis pulseaudio wieder Ton ausgeben kann - wie das mit pipewire zusammenspielt, müsstest du ausprobieren.
Danke für die Info, dann muss ich halt damit leben und die Device, wenn sie belegt ist wieder freigeben.