Trisquel Media center: building libdvdcss and libbluray
Hello everyone,
I'm making a media center PC under Trisquel as a Christmas/Gravmass gift for my sister who's waiting a child and I have until the 14 to finish it, she's going away and I won't be able to see her for a very very long time after that.
And I have been having trouble, not for DVDs
https://trisquel.info/en/wiki/enable-dvd-playback
I have updated the documentation, partly, I was able to follow the installation guide provided by VLC for their libdvdcss code and I thus I added it as sadly part of the documentation isn't working anymore.
I have tried following the documentation for libbluray
https://www.videolan.org/developers/libbluray.html
https://code.videolan.org/videolan/libbluray/-/blob/master/README.md?ref_type=heads
And I'm confronted with a few issues.
I need to install dependencies "libxml2-dev freetype2-dev fontconfig-dev" but "freetype2-dev fontconfig-dev" aren't in the trisquel repository ? Even for Trisquel 12 it seems.
I also need to install the java jdk ? So I guess it's the package "openjdk-25-jre" ?
So after dependencies hunting, even tho incomplete, by curiosity I wanted to see what would happen to "meson setup" in the build directory and then "meson install".
It surprisingly built, but I guess menus will be broken.
Surprisingly VLC has a better time now reading the bd-r but it doesn't decode anything and it seems it also requires.
https://www.videolan.org/developers/libaacs.html
and most probably https://www.videolan.org/developers/libbdplus.html
Also the keys database that need to be put into ~/.config/aacs/ but that's not legal to post where to get them on the forum and I don't want to bring trouble (isn't DRM wonderful :DDD ?).
Currently gonna explore the libaacs README/INSTALL. But can someone help me with the previous dependencies requirement for libbluray ?
| Attachment | Size |
|---|---|
| Capture du 2025-12-09 05-11-17.png | 189.74 KB |
| Capture du 2025-12-09 05-15-15.png | 176.44 KB |
I also need to install the java jdk ? So I guess it's the package "openjdk-25-jre" ?
openjdk-25-jdk for, well, the JDK (not JRE).
In the screenshot, Ant is said missing although required. It is in Trisquel's repository too.
Oof, thank you very much :)
--Ant is said missing although required. It is in Trisquel's repository too.--
Oh I missed that one too.
"Ant is a Java library and command-line tool whose mission is to drive processes described in build files"
OK so I'm also adding this
So far I've listed libxml2-dev libfontconfig-dev libfreetype-dev openjdk-25-jdk ant cmake build-essential meson git ninja-build.
They're not missing, freetype2-dev was renamed to libfreetype-dev, and fontconfig-dev was renamed to libfontconfig-dev.
https://packages.trisquel.org/search?keywords=libfreetype
https://packages.trisquel.org/search?keywords=libfontconfig
Thank you sally.
I'm curious why the renaming ?
Your guess is as good as mine and it's something the Debian maintainers can explain.
I could speculate that it has to do with keeping multiple versions of the same library distributed during upgrade periods, that is for example a bunch of programs use the new library, so they begin distributing it with a new name while keeping the old one with the original name, which is a dependency for the rest of those programs, until everything gets upgraded to use the new dependencies, then the old one gets removed.
I see. Thank you for your answer.
Note: I updated the documentation.
Also adding libudfread-dev for the dependency list but I'm getting --Dependency libudfread found: NO found 1.1.2 but need : >=1.2.0--
Great I hope this doesn't throw me into dependency and conflict hell.
Edit: https://code.videolan.org/videolan/libudfread
Edit 2:
git clone https://code.videolan.org/videolan/libudfread.git
cd libudfread
meson setup build
cd build
ninja
meson install
After that reconfiguring libbluray with meson setup --reconfigure remove the NO for libudfread as now it's on 1.2 (I hope this doesn't create conflicts).
The last 2 errors left I have in the meson setup are:
"Has header "sys/dl.h": NO (cached)
and
"Checking for function "getfsstat": NO (cached)
Seems that all the packages I need are already there
https://packages.trisquel.org/search?keywords=libaacs
https://packages.trisquel.org/search?keywords=libbdplus
https://packages.trisquel.org/search?keywords=libbluray
Idk how I missed those. Sorry. I think it's because libdvdcss isn't an already package binary so I assumed it's the same for libbluray and friends.
Anyway that was a good experience and maybe what I posted might help someone.
I haven't got it to work yet fully, vlc is crashing but it's rendering the first second but that's most probably because of my own previous doing.
Gonna do a clean installation, test it with the already available trisquel software (again sorry) then I'll add this to the documentation. But I'll not that the key file ~/.config/aacs/KEYDB.cfg is case sensitive and has to be in capital letters.
K3b didn't complain about DRM this time when I asked it to backup the BD into an iso. I'll see if it imported the drm or not by attempting to play it on another machine when it's done dumping.
Thank you both for your help :)
Edit:
So as the vlcsnap shows the iso does work (it's the movie "The Miser" By Molière with De Funes in it), but still requires the AACS keys.
In the end I installed the packet libaacs0 libbdplus0 libbluray2 libaacs0 libbdplus0 libbluray-bdj libbluray-bin on Trisquel 11 and it worked.
note: all the previous work was one on Trisquel 12. Again I'll confirm if it properly works after a clean install.
Now to understand why k3b imported the drm to get rid of this unethical piece.

