New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Odroid C2 Unable to load shared library #35

Open
rgainza opened this Issue Sep 5, 2018 · 13 comments

Comments

5 participants
@rgainza

rgainza commented Sep 5, 2018

19:33:54.179 T:3975140208 ERROR: AddOnLog: InputStream Adaptive: Unable to load widevine shared library (/storage/.kodi/cdm/libwidevinecdm.so)

Your script downloads the widevine module. No problem there, but for some reason I can't get that module to work. The macleod script worked for it without any problems so I thought it was the same structure as the RPi.

Which recovery OS image is the best for the Odroid C2?

@deorder

This comment has been minimized.

Show comment
Hide comment
@deorder

deorder Sep 5, 2018

Temp fix for the ARM version. 7zip or another archive tool that supports filesystem images required.

Go to: https://cros-updates-serving.appspot.com/#speedy

Click 67 on the line with the codename Spring. It will download an older version of Chrome OS.
Direct link: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

Open the .zip archive, open the .bin file and then open the ROOT-A.img file. You will see several directories.

Go to opt/google/chrome/. In there you will find the file libwidevinecdm.so.

Extract the file libwidevinecdm.so and copy it to your Kodi home directory in ~/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm or similar (instead of overwriting you can backup the already existing one).

Restart Kodi

deorder commented Sep 5, 2018

Temp fix for the ARM version. 7zip or another archive tool that supports filesystem images required.

Go to: https://cros-updates-serving.appspot.com/#speedy

Click 67 on the line with the codename Spring. It will download an older version of Chrome OS.
Direct link: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

Open the .zip archive, open the .bin file and then open the ROOT-A.img file. You will see several directories.

Go to opt/google/chrome/. In there you will find the file libwidevinecdm.so.

Extract the file libwidevinecdm.so and copy it to your Kodi home directory in ~/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm or similar (instead of overwriting you can backup the already existing one).

Restart Kodi

@rgainza

This comment has been minimized.

Show comment
Hide comment
@rgainza

rgainza Sep 5, 2018

Thank you!

rgainza commented Sep 5, 2018

Thank you!

@rspierenburg

This comment has been minimized.

Show comment
Hide comment
@rspierenburg

rspierenburg Sep 8, 2018

I download the file, extract the zip to a .bin, but when I try to extract the .bin file it tells me there is an error in the file. I've downloaded both from the direct link and the actual page. Is there anywhere else I can get the libwidevinecdm.so file?

rspierenburg commented Sep 8, 2018

I download the file, extract the zip to a .bin, but when I try to extract the .bin file it tells me there is an error in the file. I've downloaded both from the direct link and the actual page. Is there anywhere else I can get the libwidevinecdm.so file?

@rgainza

This comment has been minimized.

Show comment
Hide comment
@rgainza

rgainza Sep 8, 2018

I don't think it's allowed to share the .so file openly according to the license (copying not allowed)?

Just use the SSH and follow the instructions.
https://help.vivaldi.com/article/raspberry-pi/#drm-and-flash

You could create a bash script:

#!/bin/sh
CHROMEOSR="https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip"
wget $CHROMEOSR
unzip $(basename $CHROMEOSR)
LOOPD=$(losetup -f)
sudo losetup -P $LOOPD $(basename $CHROMEOSR .zip)
mkdir chromeos
sudo mount -o ro ${LOOPD}p3 chromeos
cp chromeos/opt/google/chrome/libwidevinecdm.so ~/.kodi/cdm
sudo umount chromeos
rmdir chromeos
sudo losetup -d ${LOOPD}
rm -vi $(basename $CHROMEOSR) $(basename $CHROMEOSR .zip)

Somebody else can probably make it better.

rgainza commented Sep 8, 2018

I don't think it's allowed to share the .so file openly according to the license (copying not allowed)?

Just use the SSH and follow the instructions.
https://help.vivaldi.com/article/raspberry-pi/#drm-and-flash

You could create a bash script:

#!/bin/sh
CHROMEOSR="https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip"
wget $CHROMEOSR
unzip $(basename $CHROMEOSR)
LOOPD=$(losetup -f)
sudo losetup -P $LOOPD $(basename $CHROMEOSR .zip)
mkdir chromeos
sudo mount -o ro ${LOOPD}p3 chromeos
cp chromeos/opt/google/chrome/libwidevinecdm.so ~/.kodi/cdm
sudo umount chromeos
rmdir chromeos
sudo losetup -d ${LOOPD}
rm -vi $(basename $CHROMEOSR) $(basename $CHROMEOSR .zip)

Somebody else can probably make it better.

@deorder

This comment has been minimized.

Show comment
Hide comment
@deorder

deorder Sep 8, 2018

This is now fixed. The latest Milhouse LibreELEC testbuild already has the fix. You should restore the windevine .so file to the latest version. If you deleted it, it is inside the latest chromeos archive: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10718.88.2_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

deorder commented Sep 8, 2018

This is now fixed. The latest Milhouse LibreELEC testbuild already has the fix. You should restore the windevine .so file to the latest version. If you deleted it, it is inside the latest chromeos archive: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10718.88.2_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

@holzfuss

This comment has been minimized.

Show comment
Hide comment
@holzfuss

holzfuss Sep 9, 2018

LibreElec 8.25 with inputstream.adaptive 2.0.20 on RPi2.

I downloaded libwidevinecdm.so v10718.88.2 and v10575.58.0 from spring- and elm-tree, but all four files did not work.

Lib has 7,9 MB instead of 4,9 MB.
Kodi tells me (after reboot) that some (3?) libs are missing.
I checked chmod and links twice, everything is OK.

Does the fix only work on LibreElec 9 beta with inputstream.adaptive 2.0.27?

holzfuss commented Sep 9, 2018

LibreElec 8.25 with inputstream.adaptive 2.0.20 on RPi2.

I downloaded libwidevinecdm.so v10718.88.2 and v10575.58.0 from spring- and elm-tree, but all four files did not work.

Lib has 7,9 MB instead of 4,9 MB.
Kodi tells me (after reboot) that some (3?) libs are missing.
I checked chmod and links twice, everything is OK.

Does the fix only work on LibreElec 9 beta with inputstream.adaptive 2.0.27?

@matthuisman

This comment has been minimized.

Show comment
Hide comment
@matthuisman

matthuisman Sep 10, 2018

@holzfuss

Widevine appears to no longer work in KODI 17 at all.
You will need to update to KODI 18 (LibreELEC Alpha)

matthuisman commented Sep 10, 2018

@holzfuss

Widevine appears to no longer work in KODI 17 at all.
You will need to update to KODI 18 (LibreELEC Alpha)

@holzfuss

This comment has been minimized.

Show comment
Hide comment
@holzfuss

holzfuss Sep 10, 2018

It did work on Kodi 17, LE 8.2.5, I.A 2.0.20, so why doesn't it work any more?
Did DAZN and SKY change anything? Otherwise this would make no sense...

holzfuss commented Sep 10, 2018

It did work on Kodi 17, LE 8.2.5, I.A 2.0.20, so why doesn't it work any more?
Did DAZN and SKY change anything? Otherwise this would make no sense...

@rgainza

This comment has been minimized.

Show comment
Hide comment
@rgainza

rgainza Sep 10, 2018

Widevine versions were blacklisted by Google. The newer versions aren't supported by the inputstream that the Kodi v17 is using. Simple as that.

rgainza commented Sep 10, 2018

Widevine versions were blacklisted by Google. The newer versions aren't supported by the inputstream that the Kodi v17 is using. Simple as that.

@holzfuss

This comment has been minimized.

Show comment
Hide comment
@holzfuss

holzfuss Sep 11, 2018

So Google did change something. Thanks for this clear explanation.
Waiting for a fix by peak3d for Kodi 17 :-)

holzfuss commented Sep 11, 2018

So Google did change something. Thanks for this clear explanation.
Waiting for a fix by peak3d for Kodi 17 :-)

@matthuisman

This comment has been minimized.

Show comment
Hide comment
@matthuisman

matthuisman Sep 11, 2018

@holzfuss
There isn't a "fix" for KODI 17.

It simply needs a later version of the inpustream.adaptive add-on to run.
However, later versions of that add-on require code changes in KODI itself.
These changes are only in KODI 18.
They won't be back-ported as there are no-more KODI 17 versions to be released.

The fix is to switch to KODI 18 Beta or wait for KODI 18 Stable

matthuisman commented Sep 11, 2018

@holzfuss
There isn't a "fix" for KODI 17.

It simply needs a later version of the inpustream.adaptive add-on to run.
However, later versions of that add-on require code changes in KODI itself.
These changes are only in KODI 18.
They won't be back-ported as there are no-more KODI 17 versions to be released.

The fix is to switch to KODI 18 Beta or wait for KODI 18 Stable

@holzfuss

This comment has been minimized.

Show comment
Hide comment
@holzfuss

holzfuss Sep 11, 2018

Well, I have no idea how much time it would take to backport the necessary code to KODI 17.
But as long as KODI 18/LE 9 is that far away from being stable, it would not be the worst idea...

Waiting for KODI 18/LE 9 to get stable... :/

holzfuss commented Sep 11, 2018

Well, I have no idea how much time it would take to backport the necessary code to KODI 17.
But as long as KODI 18/LE 9 is that far away from being stable, it would not be the worst idea...

Waiting for KODI 18/LE 9 to get stable... :/

@matthuisman

This comment has been minimized.

Show comment
Hide comment
@matthuisman

matthuisman Sep 11, 2018

Even if you did back-port the code yourself, they aren't releasing any more versions of KODI (no 17.7).
So you'd need to compile your own LE using your modified KODI source.

I don't think 18 is that far away.
I'd guess one more Beta.
Then RC1 and RC2.
Then 18.0.
Then you need to wait for LE to go stable.

matthuisman commented Sep 11, 2018

Even if you did back-port the code yourself, they aren't releasing any more versions of KODI (no 17.7).
So you'd need to compile your own LE using your modified KODI source.

I don't think 18 is that far away.
I'd guess one more Beta.
Then RC1 and RC2.
Then 18.0.
Then you need to wait for LE to go stable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment