Zabrimus / VDRSternELEC

4 stars 2 forks source link

problem about amlogic-ng box [BUG] #50

Closed mich2200 closed 4 months ago

mich2200 commented 8 months ago

hi Zabrimus .

thanks for your hardwork . i tried your firmware and i couldnt get vdr to work i got only black screen my box specs : amlogic s905d - 1gb ram - mali-450 i tried every script even i built the project and nothing changed i only got black screen when running vdr . kodi is working fine . there is no error message when running scripts frome console except this one

CoreELEC:~ # /usr/local/bin/start_vdr_easy.sh killall: splash-image: no process killed /usr/local/bin/start_vdr_easy.sh: line 37: 5469 Segmentation fault sh -c "LD_PRELOAD=$LD_PRELOAD_MALI LD_LIBRARY_PATH=$LIB_DIR:$LIB_DIR/vdr:$LD_LIBRARY_PATH ${BIN_DIR}/$arg"

any help appreciated thanks

Zabrimus commented 8 months ago

The script start_vdr_easy.sh depends on the VDR plugin easyvdr and needs special configuration. Therefore it's better to use the more simple version: /usr/local/bin/start_vdr.sh

The default configuration uses the satip plugin and needs a satip server in the network, otherwise you see only a black screen. It's possible to add DVB devices (like USB) but i don't have experiences and i know that some users at vdr-portal.de knows more.

Could you please show me the following files:

/storage/.profile
/storage/.config/vdropt/enabled_plugins

And we can try to start VDR from console to get better log entries:

systemctl stop kodi
systemctl stop vdropt
/usr/local/bin/start_vdr.sh

and then journalctl -u vdr*

mich2200 commented 8 months ago

thanks for replying it turns out that mali driver problem .i faced that problem before with vdr and i had never solved it here is the log :

Feb 05 17:35:07 CoreELEC systemd[1]: Started vdropt.service. Feb 05 17:35:07 CoreELEC start_vdr.sh[3796]: /storage/.profile: line 2: warning: setlocale: LC_ALL: cannot change locale (de_DE.UTF-8) Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] VDR version 2.6.4 started Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] switched to user 'root' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] codeset is 'UTF-8' - known Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] found 28 locales in /usr/local/vdrshare/locale Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'alb,sqi' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'bos' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'bul' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'chi,zho' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'eus,baq' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'iri,gle' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'jpn' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'lav' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'ltz' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'mlt' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'por' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] no locale for language code 'smi' Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] loading plugin: /usr/local/lib/vdr/libvdr-softhdodroid.so.2.6.3 Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] ERROR: /usr/local/lib/vdr/libvdr-softhdodroid.so.2.6.3: undefined symbol: glGenVertexArrays Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] exiting, exit code 2 Feb 05 17:35:08 CoreELEC systemd[1]: vdropt.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Feb 05 17:35:08 CoreELEC systemd[1]: vdropt.service: Failed with result 'exit-code'. standard input lines 1-23

mich2200 commented 8 months ago

and sorry here is the content of files you mentioned

enabled plugins :

softhdodroid satip

.profile:

export LANG="de_DE.UTF-8" export LC_ALL="de_DE.UTF-8" START_PRG=vdr

Zabrimus commented 8 months ago

Yes. It looks like a problem with libmali: Feb 05 17:35:08 CoreELEC vdr[3818]: [3818] ERROR: /usr/local/lib/vdr/libvdr-softhdodroid.so.2.6.3: undefined symbol: glGenVertexArrays

Which CoreELEC version do you have installed. I will ask the developer of softhdodroid, if he knows a solution or workaround.

mich2200 commented 8 months ago

I'm using coreelec 20.3 kernel 4.9.269 I will wait for any news and thanks for your help I really appreciate it.

Zabrimus commented 8 months ago

The softhdodroid plugin uses OpenGL 3 functions, but your device (and libMali) supports only OpenGL 2. That's the main problem. Another user mentioned, that he already transformed another output device from OpenGL 3 to OpenGL 2, but he uses LibreELEC and don't want to support binary blobs.

It seems to be possible to rewrite parts of the openglosd code to support OpenGL 2 only, but I don't have any experiences with OpenGL at all. For me it's something like magic.

ref: https://www.vdr-portal.de/forum/index.php?thread/134744-video-treiber-f%C3%BCr-odroid-n2-softhdodroid/&postID=1367348#post1367348

mich2200 commented 8 months ago

thanks for your help i will play around may be i get lucky to get it work

Zabrimus commented 7 months ago

@jojo61 was so kind to port his output device to OpenGL 2. I did not haved tested it now, but i want to give you the possibility.

Copy the attached file to packages/vdr/_vdr-plugin-softhdodroid/patches/sofhdodroid-opengl2.patch and rebuild.

I'm curious to see if it's working as desired.

sofhdodroid-opengl2.patch.txt

Zabrimus commented 7 months ago

I've added a new plugin softhdodroid-gxl which contains the patches attached in the previous message. Now it should be easy to switch and test both versions of softhdodroid. In /storage/.config/vdropt/enabled_plugins change only softhdodroid to softhdodroid-gxl and vice versa to test both versions.

mich2200 commented 4 months ago

Im terribly sorry for late answer i saw your comment just now. You both kind thats encourages me to speak with you in first place i really appreciated it and i will try and see if it work and give you feedback thanks again

mich2200 commented 4 months ago

the code need a little more fix i tried it and i got error about this symbol : glBindVertexArray i assume its binding and unbinding still using gl3 symbol i reaaly apologize about replying after months because i thought the thread is closed so i didn't check back

Zabrimus commented 4 months ago

The developer is on vacation and i've found exactly one remaining call of glBindVertexArray. My best guess implementation can be found in the updated patch. Could you please retry the new version?

mich2200 commented 4 months ago

after the patch still getting black screen but the symbol error fixed here is the new journalctl

Mai 29 21:04:36 CoreELEC systemd[1]: Started vdropt.service. Mai 29 21:04:36 CoreELEC start_vdr.sh[3807]: killall: splash-image: no process killed Mai 29 21:04:36 CoreELEC start_vdr.sh[3786]: /storage/.profile: line 2: warning: setlocale: LC_ALL: cannot change locale (de_DE Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] VDR version 2.6.7 started Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] switched to user 'root' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] codeset is 'UTF-8' - known Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] found 28 locales in /usr/local/vdrshare/locale Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'alb,sqi' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'bos' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'bul' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'chi,zho' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'eus,baq' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'iri,gle' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'jpn' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'lav' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'ltz' Mai 29 21:04:36 CoreELEC vdr[3808]: [3808] no locale for language code 'mlt' Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/p Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/c Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/r Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/r Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/c Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/c Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/r Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: creating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/e Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/e Mai 29 21:12:40 CoreELEC start_vdr.sh[3831]: inflating: storage/.config/vdropt-sample/plugins/skinflatplus/icons/MVDeepBlue/e Mai 29 21:14:21 CoreELEC vdr[3779]: [3783] SATIP: Adding server '192.168.1.101|DVBS2-1|Tvheadend 661c61fe5a' Bind: default Filt Mai 29 21:14:21 CoreELEC vdr[3779]: AmlCodec: amstream version : 2.0 Mai 29 21:14:21 CoreELEC vdr[3779]: aml ApiLevel = 2 Screen 1920-1080 using OSD dma: yes H264-PIP: 1 MPEG2 PIP 1 Mai 29 21:14:21 CoreELEC vdr[3779]: Odroid New HW Decoder Mai 29 21:14:21 CoreELEC vdr[3779]: [3779] starting plugin: satip Mai 29 21:14:21 CoreELEC vdr[3779]: [3799] LIRC remote control thread started (pid=3779, tid=3799, prio=high) Mai 29 21:14:21 CoreELEC vdr[3779]: [3779] remote control LIRC - learning keys Mai 29 21:14:21 CoreELEC vdr[3779]: [3800] KBD remote control thread started (pid=3779, tid=3800, prio=high) Mai 29 21:14:21 CoreELEC vdr[3779]: [3779] [softhddev]CreateOsd: left 54, top 45, level 0, using OpenGL OSD support Mai 29 21:14:21 CoreELEC vdr[3779]: [3779] [softhddev]Trying to start OpenGL Worker Thread Mai 29 21:14:21 CoreELEC vdr[3779]: [3801] oglThread thread started (pid=3779, tid=3801, prio=high) Mai 29 21:14:21 CoreELEC vdr[3779]: [3801] [softhddev]OpenGL Context initialized Mai 29 21:14:21 CoreELEC vdr[3779]: [3801] [softhddev]:SHADER: Compile-time error: Type: 0 -

< Mai 29 21:17:39 CoreELEC vdr[4044]: [4048] SATIP: Adding server '192.168.1.101|DVBS2-1|Tvheadend 661c61fe5a' Bind: default Filt Mai 29 21:17:39 CoreELEC vdr[4044]: AmlCodec: amstream version : 2.0 Mai 29 21:17:39 CoreELEC vdr[4044]: aml ApiLevel = 2 Screen 1920-1080 using OSD dma: yes H264-PIP: 1 MPEG2 PIP 1 Mai 29 21:17:39 CoreELEC vdr[4044]: Odroid New HW Decoder Mai 29 21:17:39 CoreELEC vdr[4044]: [4044] starting plugin: satip Mai 29 21:17:39 CoreELEC vdr[4044]: [4063] LIRC remote control thread started (pid=4044, tid=4063, prio=high) Mai 29 21:17:39 CoreELEC vdr[4044]: [4044] remote control LIRC - learning keys Mai 29 21:17:39 CoreELEC vdr[4044]: [4064] KBD remote control thread started (pid=4044, tid=4064, prio=high) Mai 29 21:17:39 CoreELEC vdr[4044]: [4044] [softhddev]CreateOsd: left 54, top 45, level 0, using OpenGL OSD support Mai 29 21:17:39 CoreELEC vdr[4044]: [4044] [softhddev]Trying to start OpenGL Worker Thread Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] oglThread thread started (pid=4044, tid=4065, prio=high) Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] [softhddev]OpenGL Context initialized Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] [softhddev]:SHADER: Compile-time error: Type: 0 - < Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] [softhddev]ERROR compiling shader Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] [softhddev]Could not initiate Shaders Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] [softhddev]OglThread cleanup Mai 29 21:17:39 CoreELEC vdr[4044]: [4065] oglThread thread ended (pid=4044, tid=4065) Mai 29 21:17:39 CoreELEC vdr[4044]: [4044] [softhddev]OpenGL Worker Thread successfully started Mai 29 21:17:39 CoreELEC vdr[4044]: [4044] [softhddev]cOglOsd osdLeft 54 osdTop 45 screenWidth 1920 screenHeight 1080

and thanks for your patience

Zabrimus commented 4 months ago

after the patch still getting black screen but the symbol error fixed here is the new journalctl Black? Neither video nor OSD?

There still existed an include for GLES3. But after removing the include some other compile errors occured. I've checked the implementation in @rella vdr-plugin-softhddevice-drm-gles and tried to adapt the output device. On my N2+ the softhddevice-gxl still works as desired. But my knowledge comes to an end.

mich2200 commented 4 months ago

You did your best. it was a pleasure speaking with you