MichaIng / DietPi

Lightweight justice for your single-board computer!
https://dietpi.com/
GNU General Public License v2.0
4.81k stars 494 forks source link

DietPi-Software | Kodi: Video playback freezes after few seconds on Odroid XU4 #2584

Closed awtur closed 2 years ago

awtur commented 5 years ago

Required Information

Additional Information

Steps to reproduce

  1. Install Kodi
  2. Attempt playback of any video file or stream on Kodi

Expected behaviour

Video should be playing smoothly with audio.

Actual behaviour

Video starts playing for a few seconds, then stutters and freezes, but the file is still being processed (the timer continues). No audio is heard.

Extra details

Tested on Vizio P55-F1 (TV) via HDMI Tested multiple video file formats and codecs, all with the same result Tested video stream from CBC News video add-on Tested files on NTFS and EXT4-formatted drives, both microSD and external USB drives Uninstalled Kodi and re-installed with no change.

Kodi video playback problems on XU4 have been reported on the forum by multiple users with no resolutions: https://dietpi.com/phpbb/viewtopic.php?t=3916 https://dietpi.com/phpbb/viewtopic.php?t=2920 https://dietpi.com/phpbb/viewtopic.php?t=5539

MichaIng commented 5 years ago

@autur Thanks for your report.

Just to assure: You installed Kodi from dietpi-software, right?

When starting Kodi from console and closing again after running into this issue, are there any error outputs that might help? I will also have a look into your bug report.

awtur commented 5 years ago

Yes, installed Kodi via dietpi-software. And no, I don't get any error outputs, unfortunately (I imagine that's the case because the timer continues, even when the video freezes or stutters, so something is still being processed).

MichaIng commented 5 years ago

@autur Your /var/log/Xorg.0.log is full of:

[   165.797] (WW) ARMSOC(0): flip queue failed: Device or resource busy
[   165.797] (EE) ARMSOC(0): ERROR: swap 13465 ARMSOC_SWAP_FAIL on swap complete
[   165.797] (EE) ARMSOC(0): [DRI2] DRI2SwapBuffers: driver failed to schedule swap
[   165.803] (WW) ARMSOC(0): WARNING: Flip is called too fast
[   165.803] (WW) ARMSOC(0): WARNING: Flip isn't in order

I just see there is a very tiny swap file on your system (~50M), which is expected on fresh DietPi on 2G RAM devices, but might be not sufficient for Kodi + other processes... At least worth to check memory consumption (free -m) and in case increase the swap file to e.g. 2G via dietpi-config or dietpi-drive_manager.

... but actually that errors are definitely not about the swap file 🤣.

What I stumbled over:

[    56.694] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)
[    56.694] (EE) AIGLX: reverting to software rendering
[    56.755] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
awtur commented 5 years ago

Thanks for investigating. I did find duplicates of the libEGL files in /usr/lib/arm-linux-gnueabihf/ and moved them to a different directory, then ran ldconfig and restarted. However, video playback on Kodi has not changed--videos still freeze.

MichaIng commented 5 years ago

@autur Do you actually start Kodi from desktop, via dietpi-autostart choice or from command line? If from command line, with which command?

awtur commented 5 years ago

From the command line using startkodi

MichaIng commented 5 years ago

@autur Okay it must be something with the Xorg/mali/mesa... Can you please paste: cat /etc/X11/xorg.conf Run:

apt-get dist-upgrade # Assure everything is up-to-date
apt-get install --reinstall xf86-video-armsoc-odroid

And then again paste: cat /etc/X11/xorg.conf

awtur commented 5 years ago

Here is the before and after output requested:

BEFORE REINSTALL----------------------------------------------------------------------------------

root@DietPi:~# cat /etc/X11/xorg.conf
Section "Device"

        Identifier      "Mali-Fbdev"
        Driver          "armsoc"
        Option          "fbdev"                 "/dev/fb0"
        Option          "Debug"                 "false"
        Option          "DPMS"                  "false"
        Option          "Fimg2DExa"             "true"
        Option          "DRI2"                  "true"
        Option          "DRI2_PAGE_FLIP"        "false"
#       Option          "Fimg2DExaSolid"        "false"
#       Option          "Fimg2DExaCopy"         "false"
        Option          "Fimg2DExaComposite"    "true"
    Option          "SWcursorLCD"           "false"

EndSection

Section "Screen"

        Identifier   "Default Screen"
        Device       "Mali-Fbdev"
        DefaultDepth 24

EndSection

Section "DRI"

        Mode 0666

EndSection

AFTER REINSTALL---------------------------------------------------------------------------------

root@DietPi:~# cat /etc/X11/xorg.conf
Section "Device"

        Identifier      "Mali-Fbdev"
        Driver          "armsoc"
        Option          "NoG2D"                 "false"
        Option          "NoHardwareMouse"       "true"
        Option          "NoFlip"                "true"
        Option          "fbdev"                 "/dev/fb0"
        Option          "Debug"                 "false"
        Option          "DPMS"                  "false"
        Option          "Fimg2DExa"             "true"
        Option          "DRI2"                  "true"
        Option          "DRI2_PAGE_FLIP"        "false"
#       Option          "Fimg2DExaSolid"        "false"
#       Option          "Fimg2DExaCopy"         "false"
        Option          "Fimg2DExaComposite"    "true"
    Option          "SWcursorLCD"           "false"

EndSection

Section "Screen"

        Identifier   "Default Screen"
        Device       "Mali-Fbdev"
        DefaultDepth 24

EndSection

Section "DRI"

        Mode 0666

EndSection
MichaIng commented 5 years ago

@autur Okay nice that matches to what I read on Meverics repo/image thread what should it be with the new driver: https://forum.odroid.com/viewtopic.php?t=30552&start=50

Option "NoFlip" "true" looks like it should solve the error outputs I found in your X.org log.

Option "NoHardwareMouse" "true" not sure if this is wanted or what it means according to the mouse.

Please test Kodi now with this new xorg.conf. If it runs smoother and not freezing now, we need to update the xorg.conf which dietpi-software places accordingly: https://github.com/MichaIng/DietPi/blob/dev/.conf/dps_6/xorg_xu4.conf

MichaIng commented 5 years ago

Possibly related: https://github.com/MichaIng/DietPi/issues/2351

Fourdee commented 5 years ago

Commit to resolve: https://github.com/MichaIng/DietPi/commit/8633f623320e1f32c03e924ecf96811a8c6770be Requires testing to verify.

Fourdee commented 5 years ago

Testing:

MichaIng commented 5 years ago

@Fourdee Thanks for this. How does the fresh xorg.conf looks like? With existing xorg.conf the package obviously only adds:

        Option          "NoG2D"                 "false"
        Option          "NoHardwareMouse"       "true"
        Option          "NoFlip"                "true"
Fourdee commented 5 years ago

@MichaIng

Looks good 👍

root@DietPi:~# cat /etc/X11/xorg.conf
# X.Org X server configuration file for xf86-video-armsoc-odroid

Section "Device"
        Identifier      "Mali-Fbdev"
        Driver          "armsoc"
        Option          "fbdev"                 "/dev/fb0"
        Option          "Debug"                 "false"
        Option          "DPMS"                  "false"
        Option          "NoFlip"                "true"
        Option          "NoHardwareMouse"       "true"
        Option          "NoG2D"                 "false"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Mali-Fbdev"
        DefaultDepth    24
EndSection

Section "DRI"
        Mode 0666
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        Option          "DPMS"                  "Off"
EndSection

## disable automatic HDMI turn off
Section "ServerLayout"
        Identifier      "DefaultLayout"
        Option          "BlankTime"             "0"
        Option          "StandbyTime"           "0"
        Option          "SuspendTime"           "0"
        Option          "OffTime"               "0"
EndSection
awtur commented 5 years ago

@MichaIng Apologies for the late reply! I wanted to try a different monitor+cable to be absolutely sure those weren't the issue and had to wait for a shipment.

To pick up where I left off a week ago: after reinstalling (--reinstall xf86-video-armsoc-odroid) playback still freezes--there are no changes at all. I hope we can continue to investigate, and I'll be sure to reply within hours.

MichaIng commented 5 years ago

@autur Can you please try to use the very default xorg.conf, just in case: wget https://raw.githubusercontent.com/MichaIng/DietPi/dev/.conf/dps_6/xorg_xu4.conf -O /etc/X11/xorg.conf

And before starting Kodi, please clear the X.org log: > /var/log/Xorg.0.log

When it freezes, paste cat /var/log/Xorg.0.log

awtur commented 5 years ago

Here is the output. Note that cat /var/log/Xorg.0.log was run after exiting kodi.

root@DietPi:~# cat /var/log/Xorg.0.log
[   168.097]
X.Org X Server 1.19.2
Release Date: 2017-03-02
[   168.097] X Protocol Version 11, Revision 0
[   168.097] Build Operating System: Linux 4.9.0-8-armmp-lpae armv7l Debian
[   168.097] Current Operating System: Linux DietPi 4.14.66+ #1 SMP PREEMPT Thu Aug 23 05:59:33 UTC 2018 armv7l
[   168.097] Kernel command line: console=tty1 console=ttySAC2,115200n8 root=UUID=3032ee2a-4efc-40b6-9c1f-2839a840144d rootwait ro fsck.repair=yes net.ifnames=0 drm_kms_helper.edid_firmware=edid/1920x1080.bin smsc95xx.macaddr=00:1e:06:61:7a:72 governor=performance hdmi_tx_amp_lvl=31 hdmi_tx_lvl_ch0=3 hdmi_tx_lvl_ch1=3 hdmi_tx_lvl_ch2=3 hdmi_tx_emp_lvl=6 hdmi_clk_amp_lvl=31 hdmi_tx_res=0 HPD=true vout=hdmi  s5p_mfc.mem=16M
[   168.097] Build Date: 03 November 2018  05:53:43AM
[   168.097] xorg-server 2:1.19.2-1+deb9u5 (https://www.debian.org/support)
[   168.097] Current version of pixman: 0.34.0
[   168.097]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[   168.097] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   168.098] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Mar  5 15:42:58 2019
[   168.100] (==) Using config file: "/etc/X11/xorg.conf"
[   168.100] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   168.100] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   168.101] (==) ServerLayout "ServerLayout0"
[   168.101] (**) |-->Screen "Default Screen" (0)
[   168.101] (**) |   |-->Monitor "<default monitor>"
[   168.102] (**) |   |-->Device "Mali-Fbdev"
[   168.102] (==) No monitor specified for screen "Default Screen".
        Using a default monitor configuration.
[   168.102] (**) Option "BlankTime" "0"
[   168.102] (**) Option "StandbyTime" "0"
[   168.102] (**) Option "SuspendTime" "0"
[   168.102] (**) Option "OffTime" "0"
[   168.102] (==) Automatically adding devices
[   168.102] (==) Automatically enabling devices
[   168.102] (==) Automatically adding GPU devices
[   168.103] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   168.103] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   168.103]    Entry deleted from font path.
[   168.103] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[   168.103]    Entry deleted from font path.
[   168.103] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[   168.103]    Entry deleted from font path.
[   168.103] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[   168.103]    Entry deleted from font path.
[   168.103] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[   168.103]    Entry deleted from font path.
[   168.103] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[   168.103]    Entry deleted from font path.
[   168.103] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        built-ins
[   168.103] (==) ModulePath set to "/usr/lib/xorg/modules"
[   168.103] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[   168.103] (II) Loader magic: 0x65ff60
[   168.103] (II) Module ABI versions:
[   168.103]    X.Org ANSI C Emulation: 0.4
[   168.104]    X.Org Video Driver: 23.0
[   168.104]    X.Org XInput driver : 24.1
[   168.104]    X.Org Server Extension : 10.0
[   168.105] (--) using VT number 2

[   168.105] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[   168.106] (II) xfree86: Adding drm device (/dev/dri/card0)
[   168.119] (II) no primary bus or device found
[   168.119]    falling back to /sys/devices/platform/exynos-drm/drm/card0
[   168.119] (II) LoadModule: "glx"
[   168.121] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   168.127] (II) Module glx: vendor="X.Org Foundation"
[   168.127]    compiled for 1.19.2, module version = 1.0.0
[   168.127]    ABI class: X.Org Server Extension, version 10.0
[   168.127] (II) LoadModule: "armsoc"
[   168.127] (II) Loading /usr/lib/xorg/modules/drivers/armsoc_drv.so
[   168.129] (II) Module armsoc: vendor="X.Org Foundation"
[   168.129]    compiled for 1.19.2, module version = 1.4.1
[   168.129]    Module class: X.Org Video Driver
[   168.129]    ABI class: X.Org Video Driver, version 23.0
[   168.129] (II) ARMSOC: Driver for ARM Mali compatible chipsets
[   168.145] (WW) Falling back to old probe method for armsoc
[   168.145] (II) No BusID or DriverName specified - opening /dev/dri/card0
[   168.145] (II) Got BusID exynos-drm
[   168.169] (II) Opened DRM
[   168.169] (II)    DeviceName is [/dev/dri/card0]
[   168.169] (II)    bus_id is [exynos-drm]
[   168.169] (II)    DriverName is [exynos]
[   168.169] (II)    version is [1.0.0]
[   168.169] (II) Screen:0,  CRTC:-1
[   168.186] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[   168.186] (II) ARMSOC(0): Creating default Display subsection in Screen section
        "Default Screen" for depth/fbbpp 24/32
[   168.186] (**) ARMSOC(0): Depth 24, (--) framebuffer bpp 32
[   168.186] (==) ARMSOC(0): RGB weight 888
[   168.186] (==) ARMSOC(0): Using gamma correction (1.0, 1.0, 1.0)
[   168.186] (==) ARMSOC(0): Default visual is TrueColor
[   168.186] (II) No BusID or DriverName specified - opening /dev/dri/card0
[   168.186] (II) Got BusID exynos-drm
[   168.219] (II) Opened DRM
[   168.219] (II)    DeviceName is [/dev/dri/card0]
[   168.219] (II)    bus_id is [exynos-drm]
[   168.219] (II)    DriverName is [exynos]
[   168.219] (II)    version is [1.0.0]
[   168.219] (II) ARMSOC(0): Chipset: Mali
[   168.219] (**) ARMSOC(0): Option "Debug" "false"
[   168.219] (**) ARMSOC(0): Option "NoFlip" "true"
[   168.219] (**) ARMSOC(0): Option "NoG2D" "false"
[   168.219] (**) ARMSOC(0): Option "NoHardwareMouse" "true"
[   168.219] (II) ARMSOC(0): Buffer Flipping is Disabled
[   168.219] (II) ARMSOC(0): umplock is Enabled
[   168.219] (II) ARMSOC(0): G2D is Enabled
[   168.219] (II) ARMSOC(0): Hardware Mouse is Disabled
[   168.220] (II) ARMSOC(0): Setting the video modes ...
[   168.220] (II) ARMSOC(0): Adding all CRTCs
[   168.220] (II) ARMSOC(0): Got CRTC: 0 (id: 33)
[   168.220] (II) ARMSOC(0): Output HDMI-1 has no monitor section
[   168.220] (II) ARMSOC(0): EDID for output HDMI-1
[   168.220] (II) ARMSOC(0): Manufacturer: LNX  Model: 0  Serial#: 0
[   168.220] (II) ARMSOC(0): Year: 2012  Week: 5
[   168.220] (II) ARMSOC(0): EDID Version: 1.3
[   168.220] (II) ARMSOC(0): Analog Display Input,  Input Voltage Level: 0.700/0.700 V
[   168.220] (II) ARMSOC(0): Sync:  Separate  CompositeSerration on. V.Sync Pulse req. if CompSync or SyncOnGreen
[   168.220] (II) ARMSOC(0): Max Image Size [cm]: horiz.: 50  vert.: 28
[   168.220] (II) ARMSOC(0): Gamma: 2.20
[   168.220] (II) ARMSOC(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
[   168.220] (II) ARMSOC(0): First detailed timing is preferred mode
[   168.220] (II) ARMSOC(0): redX: 0.642 redY: 0.349   greenX: 0.292 greenY: 0.596
[   168.220] (II) ARMSOC(0): blueX: 0.147 blueY: 0.125   whiteX: 0.312 whiteY: 0.328
[   168.220] (II) ARMSOC(0): Manufacturer's mask: 0
[   168.220] (II) ARMSOC(0): Supported standard timings:
[   168.220] (II) ARMSOC(0): #0: hsize: 1920  vsize 1080  refresh: 60  vid: 49361
[   168.220] (II) ARMSOC(0): Supported detailed timing:
[   168.220] (II) ARMSOC(0): clock: 148.5 MHz   Image Size:  500 x 281 mm
[   168.220] (II) ARMSOC(0): h_active: 1920  h_sync: 2008  h_sync_end 2052 h_blank_end 2200 h_border: 0
[   168.220] (II) ARMSOC(0): v_active: 1080  v_sync: 1084  v_sync_end 1089 v_blanking: 1125 v_border: 0
[   168.220] (II) ARMSOC(0): Serial No: Linux #0
[   168.220] (II) ARMSOC(0): Ranges: V min: 59 V max: 61 Hz, H min: 66 H max: 68 kHz, PixClock max 155 MHz
[   168.220] (II) ARMSOC(0): Monitor name: Linux FHD
[   168.220] (II) ARMSOC(0): EDID (in hex):
[   168.221] (II) ARMSOC(0):    00ffffffffffff0031d8000000000000
[   168.221] (II) ARMSOC(0):    051601036d321c78ea5ec0a4594a9825
[   168.221] (II) ARMSOC(0):    205054000000d1c00101010101010101
[   168.221] (II) ARMSOC(0):    010101010101023a801871382d40582c
[   168.221] (II) ARMSOC(0):    4500f4191100001e000000ff004c696e
[   168.221] (II) ARMSOC(0):    75782023300a20202020000000fd003b
[   168.221] (II) ARMSOC(0):    3d42440f000a202020202020000000fc
[   168.221] (II) ARMSOC(0):    004c696e7578204648440a2020200005
[   168.221] (II) ARMSOC(0): EDID vendor "LNX", prod id 0
[   168.221] (II) ARMSOC(0): Using EDID range info for horizontal sync
[   168.221] (II) ARMSOC(0): Using EDID range info for vertical refresh
[   168.221] (II) ARMSOC(0): Printing DDC gathered Modelines:
[   168.221] (II) ARMSOC(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[   168.221] (II) ARMSOC(0): Modeline "1920x1080"x60.0  172.80  1920 2040 2248 2576  1080 1081 1084 1118 -hsync +vsync (67.1 kHz e)
[   168.221] (II) ARMSOC(0): Printing probed modes for output HDMI-1
[   168.221] (II) ARMSOC(0): Modeline "1920x1080"x60.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[   168.221] (II) ARMSOC(0): Output HDMI-1 connected
[   168.221] (II) ARMSOC(0): Using exact sizes for initial modes
[   168.221] (II) ARMSOC(0): Output HDMI-1 using initial mode 1920x1080 +0+0
[   168.221] (II) ARMSOC(0): Got KMS resources
[   168.221] (**) ARMSOC(0): Display dimensions: (500, 280) mm
[   168.221] (**) ARMSOC(0): DPI set to (97, 97)
[   168.221] (II) Loading sub module "dri2"
[   168.221] (II) LoadModule: "dri2"
[   168.221] (II) Module "dri2" already built-in
[   168.221] (II) Loading sub module "exa"
[   168.221] (II) LoadModule: "exa"
[   168.222] (II) Loading /usr/lib/xorg/modules/libexa.so
[   168.224] (II) Module exa: vendor="X.Org Foundation"
[   168.224]    compiled for 1.19.2, module version = 2.6.0
[   168.224]    ABI class: X.Org Video Driver, version 23.0
[   168.224] (II) Loading sub module "fb"
[   168.224] (II) LoadModule: "fb"
[   168.224] (II) Loading /usr/lib/xorg/modules/libfb.so
[   168.226] (II) Module fb: vendor="X.Org Foundation"
[   168.226]    compiled for 1.19.2, module version = 1.0.0
[   168.226]    ABI class: X.Org ANSI C Emulation, version 0.4
[   168.226] (--) Depth 24 pixmap format is 32 bpp
[   168.246] (II) ARMSOC(0): Exynos G2D EXA mode
[   168.246] (II) EXA(0): Driver allocated offscreen pixmaps
[   168.246] (II) EXA(0): Driver registered support for the following operations:
[   168.246] (II)         Solid
[   168.246] (II)         Copy
[   168.246] (II)         Composite (RENDER acceleration)
[   168.246] (II) ARMSOC(0): G2D Initialized.
[   168.246] (II) ARMSOC(0): Setting swap chain size: 1
[   168.246] (II) ARMSOC(0): [DRI2] Setup complete
[   168.246] (II) ARMSOC(0): [DRI2]   DRI driver: armsoc
[   168.246] (==) ARMSOC(0): Backing store enabled
[   168.246] (==) ARMSOC(0): Silken mouse enabled
[   168.246] (II) ARMSOC(0): HW cursor disabled by option.
[   168.269] (II) ARMSOC(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[   168.270] (--) RandR disabled
[   168.291] (II) SELinux: Disabled on system
[   168.293] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)
[   168.293] (EE) AIGLX: reverting to software rendering
[   168.369] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[   168.370] (II) IGLX: Loaded and initialized swrast
[   168.370] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[   168.371] (II) ARMSOC(0): Setting screen physical size to 508 x 285
[   168.653] (II) config/udev: Adding input device gpio_keys (/dev/input/event0)
[   168.653] (**) gpio_keys: Applying InputClass "libinput keyboard catchall"
[   168.653] (II) LoadModule: "libinput"
[   168.653] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[   168.667] (II) Module libinput: vendor="X.Org Foundation"
[   168.667]    compiled for 1.19.0, module version = 0.23.0
[   168.667]    Module class: X.Org XInput Driver
[   168.667]    ABI class: X.Org XInput driver, version 24.1
[   168.667] (II) Using input driver 'libinput' for 'gpio_keys'
[   168.667] (**) gpio_keys: always reports core events
[   168.667] (**) Option "Device" "/dev/input/event0"
[   168.667] (**) Option "_source" "server/udev"
[   168.668] (II) input device 'gpio_keys', /dev/input/event0 is tagged by udev as: Keyboard
[   168.668] (II) input device 'gpio_keys', /dev/input/event0 is a keyboard
[   168.684] (**) Option "config_info" "udev:/sys/devices/platform/gpio_keys/input/input0/event0"
[   168.684] (II) XINPUT: Adding extended input device "gpio_keys" (type: KEYBOARD, id 6)
[   168.684] (**) Option "xkb_model" "pc105"
[   168.684] (**) Option "xkb_layout" "gb"
[   168.684] (**) Option "xkb_options" "lv3:ralt_switch"
[   168.758] (II) input device 'gpio_keys', /dev/input/event0 is tagged by udev as: Keyboard
[   168.758] (II) input device 'gpio_keys', /dev/input/event0 is a keyboard
[   170.519] (II) ARMSOC(0): EDID vendor "LNX", prod id 0
[   170.519] (II) ARMSOC(0): Using hsync ranges from config file
[   170.519] (II) ARMSOC(0): Using vrefresh ranges from config file
[   170.519] (II) ARMSOC(0): Printing DDC gathered Modelines:
[   170.519] (II) ARMSOC(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[   170.520] (II) ARMSOC(0): Modeline "1920x1080"x60.0  172.80  1920 2040 2248 2576  1080 1081 1084 1118 -hsync +vsync (67.1 kHz e)
[   170.520] (II) ARMSOC(0): EDID vendor "LNX", prod id 0
[   170.520] (II) ARMSOC(0): Using hsync ranges from config file
[   170.520] (II) ARMSOC(0): Using vrefresh ranges from config file
[   170.520] (II) ARMSOC(0): Printing DDC gathered Modelines:
[   170.520] (II) ARMSOC(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[   170.520] (II) ARMSOC(0): Modeline "1920x1080"x60.0  172.80  1920 2040 2248 2576  1080 1081 1084 1118 -hsync +vsync (67.1 kHz e)
[   216.391] (II) config/udev: Adding input device Microsoft Microsoft® 2.4GHz Transceiver v9.0 (/dev/input/mouse0)
[   216.391] (II) No input driver specified, ignoring this device.
[   216.391] (II) This device may have been added with another device file.
[   216.454] (II) config/udev: Adding input device Microsoft Microsoft® 2.4GHz Transceiver v9.0 (/dev/input/event3)
[   216.454] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: Applying InputClass "libinput keyboard catchall"
[   216.455] (II) Using input driver 'libinput' for 'Microsoft Microsoft® 2.4GHz Transceiver v9.0'
[   216.455] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: always reports core events
[   216.455] (**) Option "Device" "/dev/input/event3"
[   216.455] (**) Option "_source" "server/udev"
[   216.457] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event3 is tagged by udev as: Keyboard
[   216.457] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event3 is a keyboard
[   216.532] (II) libinput: Microsoft Microsoft® 2.4GHz Transceiver v9.0: needs a virtual subdevice
[   216.532] (**) Option "config_info" "udev:/sys/devices/platform/soc/12120000.usb/usb2/2-1/2-1:1.2/0003:045E:07A5.0003/input/input3/event3"
[   216.532] (II) XINPUT: Adding extended input device "Microsoft Microsoft® 2.4GHz Transceiver v9.0" (type: MOUSE, id 7)
[   216.532] (**) Option "AccelerationScheme" "none"
[   216.532] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: (accel) selected scheme none/0
[   216.532] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: (accel) acceleration factor: 2.000
[   216.532] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: (accel) acceleration threshold: 4
[   216.534] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event3 is tagged by udev as: Keyboard
[   216.534] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event3 is a keyboard
[   216.535] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: Applying InputClass "libinput keyboard catchall"
[   216.535] (II) Using input driver 'libinput' for 'Microsoft Microsoft® 2.4GHz Transceiver v9.0'
[   216.535] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: always reports core events
[   216.535] (**) Option "Device" "/dev/input/event3"
[   216.535] (**) Option "_source" "_driver/libinput"
[   216.535] (II) libinput: Microsoft Microsoft® 2.4GHz Transceiver v9.0: is a virtual subdevice
[   216.535] (**) Option "config_info" "udev:/sys/devices/platform/soc/12120000.usb/usb2/2-1/2-1:1.2/0003:045E:07A5.0003/input/input3/event3"
[   216.535] (II) XINPUT: Adding extended input device "Microsoft Microsoft® 2.4GHz Transceiver v9.0" (type: KEYBOARD, id 8)
[   216.535] (**) Option "xkb_model" "pc105"
[   216.535] (**) Option "xkb_layout" "gb"
[   216.535] (WW) Option "xkb_variant" requires a string value
[   216.535] (**) Option "xkb_options" "lv3:ralt_switch"
[   216.538] (II) config/udev: Adding input device Microsoft Microsoft® 2.4GHz Transceiver v9.0 (/dev/input/event1)
[   216.538] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: Applying InputClass "libinput keyboard catchall"
[   216.538] (II) Using input driver 'libinput' for 'Microsoft Microsoft® 2.4GHz Transceiver v9.0'
[   216.538] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: always reports core events
[   216.538] (**) Option "Device" "/dev/input/event1"
[   216.538] (**) Option "_source" "server/udev"
[   216.541] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event1 is tagged by udev as: Keyboard
[   216.541] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event1 is a keyboard
[   216.604] (**) Option "config_info" "udev:/sys/devices/platform/soc/12120000.usb/usb2/2-1/2-1:1.0/0003:045E:07A5.0001/input/input1/event1"
[   216.604] (II) XINPUT: Adding extended input device "Microsoft Microsoft® 2.4GHz Transceiver v9.0" (type: KEYBOARD, id 9)
[   216.604] (**) Option "xkb_model" "pc105"
[   216.604] (**) Option "xkb_layout" "gb"
[   216.604] (WW) Option "xkb_variant" requires a string value
[   216.604] (**) Option "xkb_options" "lv3:ralt_switch"
[   216.606] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event1 is tagged by udev as: Keyboard
[   216.606] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event1 is a keyboard
[   216.608] (II) config/udev: Adding input device Microsoft Microsoft® 2.4GHz Transceiver v9.0 (/dev/input/event2)
[   216.608] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: Applying InputClass "libinput pointer catchall"
[   216.608] (II) Using input driver 'libinput' for 'Microsoft Microsoft® 2.4GHz Transceiver v9.0'
[   216.608] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: always reports core events
[   216.608] (**) Option "Device" "/dev/input/event2"
[   216.608] (**) Option "_source" "server/udev"
[   216.669] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event2 is tagged by udev as: Mouse
[   216.669] (II) Device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0' set to 1000 DPI
[   216.669] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event2 is a pointer caps
[   216.708] (**) Option "config_info" "udev:/sys/devices/platform/soc/12120000.usb/usb2/2-1/2-1:1.1/0003:045E:07A5.0002/input/input2/event2"
[   216.708] (II) XINPUT: Adding extended input device "Microsoft Microsoft® 2.4GHz Transceiver v9.0" (type: MOUSE, id 10)
[   216.708] (**) Option "AccelerationScheme" "none"
[   216.708] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: (accel) selected scheme none/0
[   216.708] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: (accel) acceleration factor: 2.000
[   216.708] (**) Microsoft Microsoft® 2.4GHz Transceiver v9.0: (accel) acceleration threshold: 4
[   216.769] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event2 is tagged by udev as: Mouse
[   216.769] (II) Device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0' set to 1000 DPI
[   216.769] (II) input device 'Microsoft Microsoft® 2.4GHz Transceiver v9.0', /dev/input/event2 is a pointer caps
[   533.068] (II) ARMSOC(0): EDID vendor "LNX", prod id 0
[   533.068] (II) ARMSOC(0): Using hsync ranges from config file
[   533.068] (II) ARMSOC(0): Using vrefresh ranges from config file
[   533.068] (II) ARMSOC(0): Printing DDC gathered Modelines:
[   533.068] (II) ARMSOC(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[   533.068] (II) ARMSOC(0): Modeline "1920x1080"x60.0  172.80  1920 2040 2248 2576  1080 1081 1084 1118 -hsync +vsync (67.1 kHz e)
[   533.069] (II) ARMSOC(0): EDID vendor "LNX", prod id 0
[   533.069] (II) ARMSOC(0): Using hsync ranges from config file
[   533.069] (II) ARMSOC(0): Using vrefresh ranges from config file
[   533.069] (II) ARMSOC(0): Printing DDC gathered Modelines:
[   533.069] (II) ARMSOC(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[   533.069] (II) ARMSOC(0): Modeline "1920x1080"x60.0  172.80  1920 2040 2248 2576  1080 1081 1084 1118 -hsync +vsync (67.1 kHz e)
[   533.521] (II) UnloadModule: "libinput"
[   533.522] (II) UnloadModule: "libinput"
[   533.522] (II) UnloadModule: "libinput"
[   533.522] (II) UnloadModule: "libinput"
[   533.522] (II) UnloadModule: "libinput"
MichaIng commented 5 years ago

@autur Okay the log looks much better now. Still:

[   168.293] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)
[   168.293] (EE) AIGLX: reverting to software rendering

Please paste: dpkg -S $(find / -name armsoc_dri.so)

dpkg -S $(find /usr/lib -iname libEGL*)
dpkg -S $(find /usr/lib -iname libGLES*)

Kodi freezes still after wget https://raw.githubusercontent.com/MichaIng/DietPi/dev/.conf/dps_6/xorg_xu4.conf -O /etc/X11/xorg.conf, right?

awtur commented 5 years ago

Yes, I ran the wget code in your last reply before starting kodi and the videos still freeze.

root@DietPi:~# dpkg -S $(find / -name armsoc_dri.so)
find: ‘/mnt/427C6FF87C6FE55F’: No such device
find: ‘/proc/1137’: No such file or directory
find: ‘/proc/1156’: No such file or directory
find: ‘/proc/1612’: No such file or directory
find: ‘/proc/1687’: No such file or directory
find: ‘/proc/1756’: No such file or directory
dpkg-query: error: --search needs at least one file name pattern argument

Use --help for help about querying packages.
MichaIng commented 5 years ago

Ah lol sorry, wrong lib:

dpkg -S $(find /usr/lib libEGL*)
dpkg -S $(find /usr/lib libGLES*)

dpkg -S $(find /usr/lib -iname libEGL*)
dpkg -S $(find /usr/lib -iname libGLES*)
awtur commented 5 years ago

I'm not sure those commands are doing what they should. They output thousands of lines starting with dpkg-query: no path found matching pattern /usr/lib/ ...

See this output.txt

MichaIng commented 5 years ago

Omg, I need to go to sleep, forgot the -name option...

dpkg -S $(find /usr/lib -iname libEGL*)
dpkg -S $(find /usr/lib -iname libGLES*)

Fixed it above as well in case other users find this thread. Ah lets be even non-case-sensitive.

awtur commented 5 years ago

No worries. I really don't mind testing, but if you like it better I can give remote access to the droid for further testing (I realize there may be rules against it... just saying).

root@DietPi:~# dpkg -S $(find /usr/lib -iname libEGL*)
malit628-odroid: /usr/lib/libEGL.so.1.4
malit628-odroid: /usr/lib/libEGL.so
malit628-odroid: /usr/lib/libEGL.so.1

root@DietPi:~# dpkg -S $(find /usr/lib -iname libGLES*)
malit628-odroid: /usr/lib/libGLESv1_CM.so.1
malit628-odroid: /usr/lib/libGLESv2.so.2.0
malit628-odroid: /usr/lib/libGLESv2.so.2
malit628-odroid: /usr/lib/libGLESv1_CM.so.1.1
malit628-odroid: /usr/lib/libGLESv1_CM.so
malit628-odroid: /usr/lib/libGLESv2.so
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.1
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
malit628-odroid: /usr/lib/arm-linux-gnueabihf/libGLESv2.so
MichaIng commented 5 years ago

@autur Okay all is installed from exactly the same odroid package, so this should be correct. I even believe that the files in /usr/lib/arm-linux-gnueabihf are symlinks to the /usr/lib versions or the other way round.

Lol actually all those finally link to one single lib: /usr/lib/libMali.so malit628-odroid

Okay so this should be all fine. Okay have to sleep now, perhaps indeed remote control is the easier way to investigate.

awtur commented 5 years ago

Ok, I'd be happy to give remote access. I tried installing Remot3.it but it gives an error related to a broken link and it fails. If there's others ways, let me know.

MichaIng commented 5 years ago

@autur Jep the issue with Remot3.it is already fixed for v6.22: https://github.com/MichaIng/DietPi/issues/2551 They dropped the old weaved repo. You could try to apply the changes manually: https://github.com/MichaIng/DietPi/pull/2552/files#diff-d92a6ee04e02fd2a2dc23d5bec3e6a98R4337

awtur commented 5 years ago

Thanks, but I'm afraid I dont know which changes to apply (what code to run). Still available to test the odroid myself.

MichaIng commented 5 years ago

It's actually easier to simply do this manually:

wget https://github.com/remoteit/installer/releases/download/v2.2.5/connectd_2.2.5_armhf.deb
dpkg -i connectd_2.2.5_armhf.deb
rm connectd_2.2.5_armhf.deb

DietPi-Software does nothing else, besides grabbing the most current version for correct architecture automatically.

awtur commented 5 years ago

Ok, I set up remote access with remot3.it Let me know where I can send you the details

MichaIng commented 5 years ago

@autur I hope I find time tomorrow, some other things to do.

Btw good news for ARM Mali GPUs, the community creates a reverse-engineering FOSS driver that can be implemented into the Linux kernel natively when ready: https://www.golem.de/news/panfrost-arms-mali-gpus-bekommen-kernel-treiber-der-community-1903-139885.html (German article) This should make it easier for distros to serve proper GPU support and acceleration for ARMs.

awtur commented 5 years ago

Any chance of moving this up the list of priorities? :)

awtur commented 5 years ago

Any chance of this being resolved?

MichaIng commented 5 years ago

Could you please try:

cp /usr/local/share/setup-odroid/xorg/exynos/xorg.conf /etc/X11/

Source: https://forum.odroid.com/viewtopic.php?f=96&t=30552&start=300#p252254

ToDo: Compare installed packages and xorg.conf with ours.

awtur commented 5 years ago

I don't have any folders "setup-odroid" on the system. When looking for "xorg":

root@DietPi:~# find / -name "xorg"
/usr/lib/xorg
/usr/share/doc/xorg
/usr/share/X11/xkb/rules/xorg
/usr/share/bug/xorg
MichaIng commented 5 years ago

@autur Ah seems to be part of a APT package. Got it:

mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
cat << _EOF_ > /etc/X11/xorg.conf
# X.Org X server configuration file for xfree86-video-mali

Section "Device"
    Identifier  "Mali-Fbdev"
    Driver      "armsoc"
    Option      "fbdev"             "/dev/fb0"
    Option      "Debug"         "false"
    Option      "DPMS"          "false"
    Option      "Fimg2DExa"     "true"
    Option      "DRI2"          "true"
    Option      "DRI2_PAGE_FLIP"    "false"
#   Option      "Fimg2DExaSolid"    "false"
#   Option      "Fimg2DExaCopy"     "false"
    Option      "Fimg2DExaComposite"    "true"
        Option          "SWcursorLCD"           "false"
EndSection

Section "Screen"
    Identifier   "Default Screen"
    Device       "Mali-Fbdev"
    DefaultDepth 24
EndSection

Section "DRI"
    Mode 0666
EndSection
_EOF_

This is different (abd much older, 2015) than the xorg.conf provided by the xf86-video-armsoc-odroid driver package that is required as well 🤔.

But worth to give it a try since this is what Meveric suggested (link above).

awtur commented 5 years ago

This configuration is the exact same one that I saved as backup in February. See the Feb 26 post. It doesn't change Kodi's behavior, I'm afraid.

MichaIng commented 5 years ago

@autur Ah okay, so then we know where we got our old version from 😉. Okay then this is indeed the outdated one and the one from xf86-video-armsoc-odroid should be used instead.

Can you please try to install fbset: G_AGI fbset It was actually not required before but for Kodi 18 (available on RPi) when screen resolution is changed. Just worth to give it a try if in some circumstances also Kodi 17 uses it, especially since kodi-odroid is a custom package.

awtur commented 5 years ago

I reverted back to xf86-video-armsoc-odroid and installed G_AGI fbset but no luck. If interested I can give remote access for any further testing.

MichaIng commented 5 years ago

@autur Okay just to sum up:

I will forward this to the Odroid forum and hope that Meveric has some idea: https://forum.odroid.com/viewtopic.php?f=96&t=30552&p=254339#p254339

GulyFMG commented 5 years ago

@autur Hey guys, maybe this could help, in Dieti-Config --> Display --> GPU / RAM what is the value you have? I found that my sweet spot is 192 / under this value i have black/green screen's sometimes no sound etc, the new default value of 320 for me its to much.

awtur commented 5 years ago

Message: "This option is not available for Odroid XU3/XU4/HC1/HC2 (armv7l)"

MichaIng commented 5 years ago

Correct, GPU memory share is an RPi only thing. Actually not sure how Odroids handle this, allocate GPU memory dynamically or if their GPUs have dedicated fixed memory?

MichaIng commented 5 years ago

@autur We totally forgot to check the Kodi logs, didn't we? Please check/paste /root/.kodi/kodi.log (or similar).

Also Meveric mentioned that pulseaudio might break things. At least worth to give it a try:

G_AGP pulseaudio
G_AGA
G_AGI --reinstall alsa-utils

And Meveric mentions as well that fbset causes issues in his experience. For Kodi 18 it is required but for Kodi 17 it never was. So to avoid interferences please remove it again: G_AGP fbset

awtur commented 5 years ago

Sorry, forgot about this. I uninstalled and reinstalled the G_AG* files as requested--no changes. Kodi log is attached. kodi.log

MichaIng commented 5 years ago

Ref:

@Fourdee If you find time 😅.

szabolcs-toth commented 5 years ago

https://dietpi.com/phpbb/viewtopic.php?p=18177#p18177 My sound issue is solved this asound.conf https://pastebin.com/4XXxXDCn

But i cant solve the freeze issue. Kodi used hw acceleration, but i think this is codec issue or hw lib.

MichaIng commented 5 years ago

@Speeedfire Many thanks for reporting. Yeah so I think first we need to get rid of pulseaudio. It doesn't seem to be used anyway. Stick with ALSA and find a working asound.conf. It's configuration is a bid outside my knowledge, will compare with ours, so we find out which directives are relevant here.

About the freeze, yeah definitely some driver/codec issue, although we install the packages and ship xorg.conf (actually the packages do) that should work. Not sure which is missing. I hope Fourdee finds some time soon to contact Meveric. It's just easier to fix it when you have the SBC beside you.

awtur commented 5 years ago

@MichaIng

It's just easier to fix it when you have the SBC beside you.

Do you think remote access to the Odroid would help? Or would you like a volunteer to send in their Odroid?

awtur commented 4 years ago

@MichaIng Is there any chance that playback issues will be resolved in the near future? Without a local media player, I've basically given up on the Odroid+Dietpi :/

S10t commented 4 years ago

Dietpi V6.27 has had made a small change in performance. Kodi video playback comes to halt in 20 seconds instead of 5. Switching between audio passthrough and direct decoding temperarily bootst playback to normal, to come back to an halt after 10 seconds.

I've found this (https://forum.odroid.com/viewtopic.php?f=98&t=32173) tutorial for kodi on an odroid xu4 which describes the installation of a specifc video driver. Maybe this could be any help. I dont know how to change videodriver on dietpi installation.