Skip to content
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

How do you compile QtWebEngine with enable proprietary codecs? #49

Open
phd21 opened this issue Jan 3, 2019 · 6 comments
Open

How do you compile QtWebEngine with enable proprietary codecs? #49

phd21 opened this issue Jan 3, 2019 · 6 comments

Comments

@phd21
Copy link

phd21 commented Jan 3, 2019

Hi gort818,

I do not know of any stand-alone application other than in a browser that can run Netflix and or other similar services on Linux, so it certainly would be nice if there was an easier way to install this in Linux systems.

I read the blog link below in addition to your instructions.
Netflix and Qt WebEngine 5.7 - Qt Blog
http://blog.qt.io/blog/2016/06/03/netflix-qt-webengine-5-7/

Is it necessary to compile QtWebEngine with enabling proprietary codecs to use qtwebflix with NetFlix even though "widvine" is installed?

If yes or no, I would still like to know what are the exact instructions for compiling QtWebEngine with enabling proprietary codecs in Linux? I am using Linux Mint 19 and Linux Neon KDE both are based on Ubuntu 18.04 Bionic. I have already installed the QtWebEngine and related components from the "Synaptic Package Manager (SPM)". I had no problem compiling "qtwebflkix" and I don't have access to Netflix at the moment to test this, but it comes up to their login screen.

This QT is on my KDE Neon system "Qt version 5.11.2 in /usr/lib/x86_64-linux-gnu"
Do I have to git clone the QtWebEngine for this specific branch version 5.11.2?

Error Message = Submodule qtwebengine-chromium does not exist. Run 'git submodule update --init'.
QtWebEngine will not be built.

So, in the qtwebengine folder I ran the "git submodule update --init" which takes a while and then ran the command you gave.
qmake WEBENGINE_CONFIG+=use_proprietary_codecs

Results of running your command:

Qt WebEngine:
Embedded build ......................... no
Pepper Plugins ......................... yes
Printing and PDF ....................... yes
Proprietary Codecs ..................... no
Spellchecker ........................... yes
Native Spellchecker .................... no
WebRTC ................................. yes
Use System Ninja ....................... yes
Geolocation ............................ yes
Use v8 snapshot ........................ yes
Use ALSA ............................... yes
Use PulseAudio ......................... yes
Optional system libraries used:
re2 .................................. no
icu .................................. no
libwebp, libwebpmux and libwebpdemux . yes
opus ................................. yes
ffmpeg ............................... no
libvpx ............................... yes
snappy ............................... no
libsrtp .............................. no
glib ................................. yes
zlib ................................. yes
minizip .............................. no
libevent ............................. no
jsoncpp .............................. yes
protobuf ............................. no
libxml2 and libxslt .................. yes
lcms2 ................................ yes
png .................................. yes
JPEG ................................. yes
harfbuzz ............................. yes
freetype ............................. yes
Required system libraries:
fontconfig ........................... yes
dbus ................................. yes
nss .................................. yes
khr .................................. yes
glibc ................................ yes
Required system libraries for qpa-xcb:
libdrm ............................... yes
xcomposite ........................... yes
xcursor .............................. yes
xi ................................... yes
xrandr ............................... yes
xtst ................................. yes

Qt is now configured for building. Just run 'make'.
Once everything is built, Qt is installed.
You should NOT run 'make install'.
Note that this build cannot be deployed to other machines or devices.

These are the end of the results after trying to run "make".

( test -e Makefile.core_generator || /usr/lib/qt5/bin/qmake -o Makefile.core_generator /home/user69/qtwebengine/src/core/core_generator.pro WEBENGINE_CONFIG+=use_proprietary_codecs ) && make -f Makefile.core_generator
Project ERROR: Unknown module(s) in QT_PRIVATE: quick-private
Makefile:63: recipe for target 'sub-core_generator-pro-make_first' failed
make[2]: *** [sub-core_generator-pro-make_first] Error 3
make[2]: Leaving directory '/home/user69/qtwebengine/src/core'
Makefile:78: recipe for target 'sub-core-make_first' failed
make[1]: *** [sub-core-make_first] Error 2
make[1]: Leaving directory '/home/user69/qtwebengine/src'
Makefile:46: recipe for target 'sub-src-make_first' failed
make: *** [sub-src-make_first] Error 2

I don't know if you are familiar with AppImages or OBS (Open Build System), but these do help developers in packaging their software for Linux systems. The people that created AppImages are willing to help developers if they contact them directly.

Best regards,
Phil (phd21)

@gort818
Copy link
Owner

gort818 commented Jan 3, 2019

@phd21 Linux Mint 19 and KDE NEON should already have qtwebengine with codecs in the repos.. You should not have to do anything.

from the readme

Ubuntu 17.04/17.10/18.04 and Linux Mint 19 - qtwebengine comes with proprietary codecs

@gort818
Copy link
Owner

gort818 commented Jan 5, 2019

@phd21 Also I built a flatpak app and everything works except watching netflix, you cannot access DRM content, so it renders it pointless. I will be building .deb files though.

@polarathene
Copy link

I built a flatpak app and everything works except watching netflix, you cannot access DRM content, so it renders it pointless.

Is that due to something with Flatpak or what causes that restriction? I guess that applies to Snaps too?(Not asking for Snap package, just curious about the limitation)

@tinywrkb
Copy link

tinywrkb commented Jan 9, 2022

@gort818 are you still interested in Flatpak packaging? I'm adding a Widevine extension for the QtWebEngine base app.
It's still WIP, but you can try it now.
You will need the latest QtWebEngine base ap test build from the WIP PR, and then build and install the Widevine extension.
The only change to an app packaging is to add the extension like this.

It would be nice to get feedback, and to know that it works for something other than qutebrowser.

@Aex12
Copy link

Aex12 commented Feb 23, 2022

I think a Flatpak would be amazing, it'll make it a lot easier to install on distros that don't ship qtwebengine with codecs and drm libs

@Hate9
Copy link

Hate9 commented Oct 11, 2022

it would be really great to have a flatpak, because personally I'd love to have qtwebflix on my steamdeck, and installing things via pacman on there can be… iffy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants