softhdcuvid jetzt mit VAAPI und HDR support
-
-
-
Hi,
same issues with newer mesa, at least if I switch an UHD channel.
glxinfo | grep "OpenGL version"
OpenGL version string: 4.0 (Compatibility Profile) Mesa 19.1.4
i7-8550U UHD Graphics 620CU
9000h
-
Hi,
now with libva 2.5.0 Mesa 19.1.4 intel-vaapi-driver-2.3.0 intel-media-driver_19.2.1 kernel 5.0.0 ffmpeg 4.1
intel iHd SD channels are not smooth, HD seems to be ok
normal VAAPI SD channels are running smooth, HD seems to be ok
both UHD is not working due GPU hang
sometimes there is no OSD available after start.
CU
9000h
-
Hier mal ein erstes Log. Ich habe da noch einige printf´s in debug 3 geändert. Wenn das nicht gewollt ist bitte kurz meckern.
Hmm sieht soweit ganz gut aus. Aber es ist nicht normal das es Zeit braucht um das Frame zu swappen. Das lässt darauf schliessen das irgendetwas den swap verzögert. Du hast recht viele plugins laufen. Probiere es doch mal ohne all die plugins nur um auszuschliessen das da nicht doch etwa stört.
Dann mach bitte noch einen weiteren Log und setze vorher in Zeile 5664 die Swapchain_def = 3
Mal sehen ob sich dann der swap verbessert.
9000H kannst du auch mal ein Log mit der Testdatei ziehen ?
-
Hallo
ich habe nochmal eine geänderte Testversion bereitgestellt und würde mich über einen Log damit freuen. Der Link ist der alte geblieben. Siehe #59
Ich habe noch eine AMD RX460 Karte und will vaapi unbedingt zum laufen bekommen. Wenn euch die Tests aber zuviel sind dann lasst es mich wissen.
Allerdings hoffe ich dann mit Linux 5.3 auch HDR auf intel aktivieren zu können. Die Voraussetzungen dafür kommen ja dann.
Nebenbei versuche ich noch v4l2m2m zu implementieren damit mein Raspi 4 dann auch mal als vdr genutzt werden kann
mfg
jojo61
-
-
OK das erhöhen der Sawpbuffer hat nix gebracht. Probiere nun mal das neue file was ich bereitgestellt habe. Siehe #66
Ich frage mich immer noch warum das swappen so lange dauert. Könntest du noch die Ausgabe von "cat /proc/interrupts" anhängen.
-
Oh grosses Sorry, da habe ich nach dem compileren doch ein make install vergessen und dir ein Log von der gestrigen Version auch noch ohne Erhöhung des Swapbuffers gegeben. Allerdings lediglich mit epg2vdr ohne die restlichen Plugins somit wissen wir, dass diese keinen Einfluß auf das Problem haben.
Hier nun das richtige Log mit der Datei von vorhin.
-
Es ist deutlich zu sehen das der Rechner es nicht schafft das Frame in 20ms anzuzeigen. Wobei mir nicht ganz klar ist wann vulkan die berechnungen durchführt um es zu erzeugen. Rein nach den Ablauf sollte das Frame fertig sein wenn es in die swapchain eingestellt wird. Das dauert auch schon bis zu 14 ms.
Dann wird aber nicht geswappt sondern das swappen dauert nochmal bis zu 17 ms und dann sind schon 2 Frames durch die nicht zur Anzeige kommen. Die werden dann beim syncen verworfen. Ich frage mich was da faul ist. Irgendetwas beschäftigt die IGP und sie swappt nicht rechtzeitig.
Deswegen würde mich mal interessieren auf welchem Interrupt die Karte hängt und mit wem der geteilt wird (und ob sie überhaupt einen vsync Interrupt hat).Ich hoffe ich bin hier nicht auf dem Holzweg Hänge doch mal die Interupts ein. Siehe #68
-
Code
Display Moreroot@vdr-server:/plugins/softhdvaapi# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 18 0 0 0 IO-APIC 2-edge timer 1: 0 0 0 9 IO-APIC 1-edge i8042 4: 0 0 0 2070 IO-APIC 4-edge serial_ir 8: 1 0 0 0 IO-APIC 8-fasteoi rtc0 9: 0 0 0 0 IO-APIC 9-fasteoi acpi 20: 0 0 0 0 IO-APIC 20-fasteoi i801_smbus 120: 0 0 0 0 PCI-MSI 311296-edge PCIe PME 121: 0 0 0 0 PCI-MSI 313344-edge PCIe PME 122: 1 0 0 0 PCI-MSI 315392-edge PCIe PME 123: 0 0 0 0 PCI-MSI 317440-edge PCIe PME 124: 0 0 236245 0 PCI-MSI 294912-edge ahci[0000:00:12.0] 125: 5619 0 0 810160 PCI-MSI 1572864-edge enp3s0 126: 0 0 106 0 PCI-MSI 344064-edge xhci_hcd 127: 0 2813881 0 6165 PCI-MSI 32768-edge i915 128: 1340093 0 0 0 PCI-MSI 524288-edge ddbridge 129: 0 292388 0 0 PCI-MSI 229376-edge snd_hda_intel:card0 130: 0 0 1585516 0 PCI-MSI 2097152-edge ddbridge NMI: 0 0 0 0 Non-maskable interrupts LOC: 5903708 7774222 7098510 6976075 Local timer interrupts SPU: 0 0 0 0 Spurious interrupts PMI: 0 0 0 0 Performance monitoring interrupts IWI: 3348 308268 547 1226 IRQ work interrupts RTR: 0 0 0 0 APIC ICR read retries RES: 352664 192076 186570 156188 Rescheduling interrupts CAL: 6478 5380 6139 6713 Function call interrupts TLB: 7781 12999 9960 12676 TLB shootdowns TRM: 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 Threshold APIC interrupts DFR: 0 0 0 0 Deferred Error APIC interrupts MCE: 0 0 0 0 Machine check exceptions MCP: 23 24 24 24 Machine check polls ERR: 0 MIS: 0 PIN: 0 0 0 0 Posted-interrupt notification event NPI: 0 0 0 0 Nested posted-interrupt event PIW: 0 0 0 0 Posted-interrupt wakeup event
-
Danke für die Infos. Ich werde das heute abend weiter analysieren und wohl eine weitere Testversion bereitstellen. Im Moment muss ich mal etwas für meinen Chef tun
-
Ich habe mir mal intel_gpu_top installiert, keine Ahnung ob du mit der Ausgabe etwas anfangen kannst oder ob diese hilfreich ist. Das ist bei der Wiedergabe von ARD-HD, bei SD ist sie ähnlich und bei UHD ist die Auslastung geringer. Getestet allerdings mit vaapidevice !!!
Code
Display Morerender busy: 80%: ████████████████ render space: 105/16384 task percent busy CS: 79%: ███████████████▉ vert fetch: 323628 (450/sec) GAM: 78%: ███████████████▋ prim fetch: 107876 (150/sec) GAFS: 14%: ██▉ VS invocations: 0 (0/sec) VF: 0%: GS invocations: 0 (0/sec) VFE: 0%: GS prims: 0 (0/sec) VS: 0%: CL invocations: 0 (0/sec) TSG: 0%: CL prims: 0 (0/sec) CL: 0%: PS invocations: 0 (0/sec) SDE: 0%: PS depth pass: 0 (0/sec)
-
So sieht das bei mir mit ARD-HD auch aus. Ich habe mal wieder eine neue Testversion gebaut. Könntest du nochmal ein Log damit machen ?
mfg
jojo61
-
Und intel_gpu_top mit deinem Plugin, die vorherige Ausgabe war, wie gesagt, vom vaapidevice. Wieder ARD-HD, allerdings ändert sich bei SD und UHD diesmal nix, immer 100% Auslastung.
Code
Display Morerender busy: 100%: ████████████████████ render space: 1074/16384 task percent busy CS: 99%: ███████████████████▉ vert fetch: 96224 (400/sec) GAM: 75%: ███████████████ prim fetch: 48112 (200/sec) GAFS: 0%: VS invocations: 96224 (400/sec) VS: 0%: GS invocations: 0 (0/sec) CL: 0%: GS prims: 0 (0/sec) SVG: 0%: CL invocations: 48112 (200/sec) URBM: 0%: CL prims: 48112 (200/sec) PS invocations: 75660911780 (316219592/sec) PS depth pass: 75571847494 (315851078/sec)
-
Und du hast sicher das Scaling bei den verschiedenen Auflösungen auf bicubic gestellt ?
Ich vermute so langsam das die IGP mit den Placebo scalierern überfordert ist. Du hast ja ein UHD Fensehbild in der Ausgabe. Da wird dann immer scaliert.
Das vaapidevice macht das scalieren mit einer vaapi Funktion. Bei mir sind das vulkan shader. Da muss ich mal schauen ob ich das nicht auch mit vaapi machen kann.
-
Das sind meine Einstellungen
Code
Display Moresofthdvaapi.1080i.CutLeftRight = 0 softhdvaapi.1080i.CutTopBottom = 0 softhdvaapi.1080i.Deinterlace = 0 softhdvaapi.1080i.Denoise = 0 softhdvaapi.1080i.InverseTelecine = 0 softhdvaapi.1080i.Scaling = 17 softhdvaapi.1080i.Sharpen = 0 softhdvaapi.1080i.SkipChromaDeinterlace = 0 softhdvaapi.1080i_fake.CutLeftRight = 0 softhdvaapi.1080i_fake.CutTopBottom = 0 softhdvaapi.1080i_fake.Deinterlace = 0 softhdvaapi.1080i_fake.Denoise = 0 softhdvaapi.1080i_fake.InverseTelecine = 0 softhdvaapi.1080i_fake.Scaling = 17 softhdvaapi.1080i_fake.Sharpen = 0 softhdvaapi.1080i_fake.SkipChromaDeinterlace = 0 softhdvaapi.576i.CutLeftRight = 0 softhdvaapi.576i.CutTopBottom = 0 softhdvaapi.576i.Deinterlace = 0 softhdvaapi.576i.Denoise = 0 softhdvaapi.576i.InverseTelecine = 0 softhdvaapi.576i.Scaling = 17 softhdvaapi.576i.Sharpen = 0 softhdvaapi.576i.SkipChromaDeinterlace = 0 softhdvaapi.60HzMode = 0 softhdvaapi.720p.CutLeftRight = 0 softhdvaapi.720p.CutTopBottom = 0 softhdvaapi.720p.Deinterlace = 0 softhdvaapi.720p.Denoise = 0 softhdvaapi.720p.InverseTelecine = 0 softhdvaapi.720p.Scaling = 17 softhdvaapi.720p.Sharpen = 0 softhdvaapi.720p.SkipChromaDeinterlace = 0 softhdvaapi.AudioAutoAES = 0 softhdvaapi.AudioBufferTime = 0 softhdvaapi.AudioCompression = 0 softhdvaapi.AudioDelay = 0 softhdvaapi.AudioDownmix = 0 softhdvaapi.AudioDrift = 0 softhdvaapi.AudioMaxCompression = 0 softhdvaapi.AudioMaxNormalize = 0 softhdvaapi.AudioNormalize = 0 softhdvaapi.AudioPassthrough = 0 softhdvaapi.AudioSoftvol = 0 softhdvaapi.AudioStereoDescent = 0 softhdvaapi.AutoCrop.Delay = 0 softhdvaapi.AutoCrop.Interval = 0 softhdvaapi.AutoCrop.Tolerance = 0 softhdvaapi.Background = 0 softhdvaapi.BlackPicture = 0 softhdvaapi.Brightness = 0 softhdvaapi.CBlindness = 0 softhdvaapi.CBlindnessFaktor = 0 softhdvaapi.ClearOnSwitch = 1 softhdvaapi.Contrast = 100 softhdvaapi.DetachFromMainMenu = 0 softhdvaapi.EnableDPMSatBlackScreen = 0 softhdvaapi.Gamma = 0 softhdvaapi.HideMainMenuEntry = 0 softhdvaapi.Hue = 0 softhdvaapi.MakePrimary = 1 softhdvaapi.MaxSizeGPUImageCache = 128 softhdvaapi.Osd.Height = 0 softhdvaapi.Osd.Width = 0 softhdvaapi.pip.Alt.Height = 50 softhdvaapi.pip.Alt.VideoHeight = 50 softhdvaapi.pip.Alt.VideoWidth = 0 softhdvaapi.pip.Alt.VideoX = 0 softhdvaapi.pip.Alt.VideoY = 0 softhdvaapi.pip.Alt.Width = 0 softhdvaapi.pip.Alt.X = 0 softhdvaapi.pip.Alt.Y = 50 softhdvaapi.pip.Height = 18 softhdvaapi.pip.VideoHeight = 0 softhdvaapi.pip.VideoWidth = 0 softhdvaapi.pip.VideoX = 0 softhdvaapi.pip.VideoY = 0 softhdvaapi.pip.Width = 18 softhdvaapi.pip.X = 79 softhdvaapi.pip.Y = 78 softhdvaapi.Saturation = 100 softhdvaapi.SoftStartSync = 0 softhdvaapi.StudioLevels = 0 softhdvaapi.Suspend.Close = 0 softhdvaapi.Suspend.X11 = 0 softhdvaapi.TargetColorSpace = 1 softhdvaapi.UHD.CutLeftRight = 0 softhdvaapi.UHD.CutTopBottom = 0 softhdvaapi.UHD.Deinterlace = 0 softhdvaapi.UHD.Denoise = 0 softhdvaapi.UHD.InverseTelecine = 0 softhdvaapi.UHD.Scaling = 17 softhdvaapi.UHD.Sharpen = 0 softhdvaapi.UHD.SkipChromaDeinterlace = 0 softhdvaapi.Video4to3DisplayFormat = 1 softhdvaapi.VideoOtherDisplayFormat = 1
-
Hi,
QuoteAllerdings hoffe ich dann mit Linux 5.3 auch HDR auf intel aktivieren zu können. Die Voraussetzungen dafür kommen ja dann.
beim Kernel 5.3 werden neue i915 - Firmwaretreiber benötgt, sind die jemanden bekannt bzw. welche Paches muß man auf welche Quellen hier verwenden?
Codeupdate-initramfs: Generating /boot/initrd.img-5.3.0-994-generic W: Possible missing firmware /lib/firmware/i915/tgl_dmc_ver2_04.bin for module i915 W: Possible missing firmware /lib/firmware/i915/ehl_huc_ver9_0_0.bin for module i915 W: Possible missing firmware /lib/firmware/i915/ehl_guc_33.0.4.bin for module i915
Grüße
cinfo
-
Hi,
the log with the video.c from post #59
http://paste.ubuntu.com/p/48gYQkNGWq/
the last channel switch to SES UHD did not work, and it's with standard vaapi.
CU
9000h
-
Hi,
the log with the video.c from post #59
http://paste.ubuntu.com/p/4PNS6qm5g2/
this time with iHD and the last channel switch to SES UHD did also not work.
CU
9000h
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!