Warning, /multimedia/kaffeine/README.md is written in an unsupported language. File is not indexed.
0001 Installing Kaffeine
0002 ===================
0003
0004 Installing Prerequisites
0005 ------------------------
0006
0007 The following tools are needed to build Kaffeine:
0008
0009 * GNU c++
0010 * GNU make
0011 * cmake >= 2.8
0012 * cmake ECM (extra-cmake-modules)
0013
0014 The following development headers are needed (recommended versions):
0015
0016 * Qt >= 5.4
0017 * KF5 >= 5.11
0018 * libX11
0019 * libXss
0020 * libqt-sql-sqlite
0021 * libvlc
0022 * libdvbv5
0023
0024 If you also want language translations you also need:
0025
0026 * gettext
0027
0028 If you also want the Kaffeine Handbook, you also need:
0029
0030 * KF5DocTools
0031
0032 For runtime translations of the ISO 639 language codes, you also need:
0033
0034 * iso-codes
0035
0036 Debian and Ubuntu
0037 -----------------
0038
0039 The needed packages for Debian/Ubuntu should be installed with:
0040
0041 apt-get install kdelibs5-dev libvlc-dev libxss-dev vlc \
0042 libkf5coreaddons-dev libkf5i18n-dev libqt5x11extras5-dev \
0043 libkf5windowsystem-dev \
0044 libkf5solid-dev libkf5widgetsaddons-dev kio-dev \
0045 qt5-default libdvbv5-dev \
0046 cmake extra-cmake-modules make g++ gettext
0047
0048 And, to build the optional Kaffeine Handbook documentation:
0049
0050 apt-get install kdoctools-dev
0051
0052 PS.: The above was tested with Debian SID and Ubuntu Xenial (16.04).
0053 Other versions may have different requirements.
0054
0055 Fedora
0056 ------
0057
0058 On Fedora, you need a repository that provides VLC.
0059
0060 For stable fedora releases, you could use the rpmfusion repository.
0061 For Fedora 22 and later, it can be installed with:
0062
0063 sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
0064
0065 See <http://rpmfusion.org/Configuration/> for more details.
0066
0067 For Fedora rawhide and beta releases, you could use, instead the
0068 Unitedrpms repository: <https://unitedrpms.github.io/>. Please read
0069 at <https://github.com/UnitedRPMs/unitedrpms.github.io/blob/master/README.md>
0070 for instructions about how to set up.
0071
0072 Once the repository with VLC is set, install the needed packages
0073 with:
0074
0075 dnf install kf5-kcoreaddons-devel libXScrnSaver-devel \
0076 qt5-qtx11extras-devel libdvbv5 \
0077 kf5-kwindowsystem-devel kf5-solid-devel kf5-kio-devel \
0078 kf5-kdbusaddons-devel kf5-ki18n-devel vlc-devel gettext-devel \
0079 cmake extra-cmake-modules make gcc-c++ gettext
0080
0081 And, to build the Kaffeine Handbook documentation:
0082
0083 dnf install kf5-kdoctools-devel
0084
0085 openSUSE
0086 --------
0087
0088 If you run openSUSE Tumbleweed, you can find an up-to-date package with the
0089 latest state of git in the KDE:Unstable:Extra repository.
0090
0091 zypper ar obs://KDE:Unstable:Extra KDE_Unstable_Extra # add repository
0092 zypper in -r KDE_Unstable_Extra kaffeine
0093
0094 If you are using openSUSE Leap or openSUSE 13.2, you will need to compile from
0095 sources instead. You need to be using at least OpenSUSE version 13.2, in order to have
0096 KF5 and Qt 5.5 at their repositories.
0097
0098 The first step is to install the needed dependencies:
0099
0100 zypper install extra-cmake-modules vlc-devel make gcc gcc-g++ cmake \
0101 libqt5-qtbase-devel libqt5-qtx11extras-devel \
0102 kdbusaddons-devel solid-devel kio-devel ki18n-devel
0103
0104 If you're running OpenSUSE version 13.2, you'll need to compile the
0105 libdvbv5 by hand, as it is not provided there. OpenSUSE Leap
0106 (version 42.1) seem to have it already packaged as libdvbv5-devel.
0107
0108 Before compiling libdvbv5, some packages are needed:
0109
0110 zypper install autoconf automake libjpeg-devel
0111
0112 Compiling libdvbv5 (as normal user):
0113
0114 wget https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.10.0.tar.bz2
0115 tar xvf v4l-utils-1.10.0.tar.bz2
0116 cd v4l-utils
0117 ./bootstrap.sh && ./configure && make
0118
0119 Installing the library (as root):
0120
0121 make install
0122
0123 And, to build the optional Kaffeine Handbook documentation:
0124
0125 zypper install kdoctools-devel
0126
0127 PS.: The above was tested with openSUSE 13.2.
0128 Other versions may have different requirements.
0129
0130 Gentoo
0131 ------
0132
0133 Kaffeine is already packaged on Gentoo. Installing it is as
0134 simple as:
0135
0136 emerge kaffeine
0137
0138 Arch Linux
0139 ----------
0140
0141 Kaffeine is already packaged on Arch Linux. Installing it is as
0142 simple as:
0143
0144 pacman -S kaffeine
0145
0146 How to build Kaffeine
0147 =====================
0148
0149 Create an empty build directory and do the following steps:
0150
0151 $ cmake <path/to/kaffeine> <options>
0152 $ make
0153
0154 Where `path/to/kaffeine` is usually the current dir, e. g., the
0155 following command is usually enough:
0156
0157 $ cmake . && make
0158
0159 Useful `options` include:
0160
0161 * -DCMAKE_BUILD_TYPE=<type> (Debug or Release)
0162 * -DCMAKE_INSTALL_PREFIX=<path> (installation prefix for Kaffeine, e.g. /usr)
0163 * -DBUILD_TOOLS=1 (also compile some tools needed by developers)
0164
0165 You may also use `ccmake` if you want to see all Kaffeine's build
0166 options, and set them using an interactive interface.
0167
0168 For further information look for generic KF5 / cmake instructions.
0169
0170 The install should be done as root user with:
0171
0172 # make install
0173
0174 How to produce a Debian/Ubuntu package
0175 ======================================
0176
0177 If you want to create a Debian or Ubuntu package from Kaffeine's sources,
0178 you need to install the needed tools with:
0179
0180 apt-get install fakeroot dpkg-dev pkg-kde-tools debhelper
0181
0182 And run the following commands:
0183
0184 rm -rf deb-build # Just in case it were created before
0185
0186 git clone https://salsa.debian.org/qt-kde-team/extras/kaffeine.git deb-build && \
0187 cd deb-build && \
0188 rsync -ua --exclude '.git*' --exclude deb-build .. . && \
0189 rm CMakeCache.txt && \
0190 cat Changelog |grep Version|head -1|perl -ne 'if (m/Version\s*(\S+)/) { print "kaffeine ($1-1) unstable; urgency=medium\n\n * New upstream release.\n" }' >debian/changelog && \
0191 echo " -- root <root@localhost> $(date -R)" >>debian/changelog && \
0192 fakeroot debian/rules binary && \
0193 cd ..
0194
0195 This will produce both binary and debug packages, like:
0196
0197 kaffeine_*_amd64.deb kaffeine-dbgsym_*_amd64.ddeb
0198
0199 Installing it is as simple as:
0200
0201 sudo dpkg -i kaffeine_*_amd64.deb
0202
0203 Running Kaffeine from Docker
0204 ============================
0205
0206 It is now possible to run kaffeine from Docker without installing it
0207 on your machine by using Docker. You need to have Docker already
0208 installed and configured.
0209
0210 Installing Docker
0211 -----------------
0212
0213 The prodedures for installing Docker vary from Distribution. It usually
0214 involves using the distro package manager to install it from the
0215 usual repositories:
0216
0217 sudo dnf install docker # Fedora
0218 sudo apt install docker.io # Debian/Ubuntu
0219 sudo zypper install docker docker-compose # SUSE
0220 sudo emerge app-emulation/docker # Gentoo
0221 sudo pacman -S docker # Arch Linux
0222
0223 (some distros like Gentoo may require additional steps)
0224
0225 Then add the current user into a docker group, in order to allow
0226 itr to run the docker command without sudo:
0227
0228 sudo groupadd docker # if the docker group doesn't exist yet
0229 sudo gpasswd -a $USER docker
0230 newgrp docker # or close the session and re-open
0231
0232 Finally, ask systemd to enable dockerd at boot time and to (re)start it:
0233
0234 sudo systemctl enable docker
0235 sudo systemctl restart docker
0236
0237 In case of doubts, please seek at the Internet for a guide especific
0238 for the distro you're using.
0239
0240 Running Kaffeine's docker image
0241 -------------------------------
0242
0243 Once you have docker installed, you can download the Kaffeine's
0244 Docker image from:
0245
0246 - <https://cloud.docker.com/u/maurochehab/repository/docker/maurochehab/kaffeine/general>
0247
0248 This can easily be done by running:
0249
0250 docker pull maurochehab/kaffeine
0251
0252 Note: docker pull will also update the image to the newest one, in
0253 case you have download it already.
0254
0255 The updated instructions about how to download and use the Docker
0256 image it will be pointed there.
0257
0258 Please notice that Docker works by running an image created from the
0259 Dockerfile packaged with Kaffeine. Such image is executed inside
0260 a container, so it needs permission to open files, sockets and
0261 devices from the host machine.
0262
0263 Getting the right mapping for volumes, groups and devices is tricky.
0264 So, we have a script that should hopefully do what it is expected
0265 (tested with Docker version 1.13):
0266
0267 ./kaffeine-docker.sh
0268
0269 There are some limitations when running Kaffeine via a docker
0270 container:
0271
0272 1) The container runs with a non-root user (user ID is 1000). This
0273 is a requirement, as libVlc refuses to run as root. The user ID
0274 1000 is usually the default for the first user on most modern
0275 distros. If your user is different, the container won't get the
0276 right permissions to read files from your home dir and will fail.
0277 So, if you use a different user ID, you may need to re-generate
0278 the container locally.
0279
0280 2) In order to avoid legal discussions, the docker image hosted at
0281 docker.io doesn't contain the packages that are needed for DVD
0282 navigation and for decrypt DVD streams. If you need such features,
0283 you need to add the packages `libdvdread4` and `libdvdnav` to
0284 the Dockerfile and re-generate the container locally.
0285
0286 3) As the device map happens before starting the container,
0287 Kaffeine's capability of auto-detecting device hot-plug won't
0288 work.
0289
0290 Generating the Kaffeine container locally
0291 -----------------------------------------
0292
0293 Building a Kaffeine's container should be as easy as running this command:
0294
0295 docker build -t "mykaffeine" .
0296
0297 It should take a while for it to download the base image and the
0298 needed packages, before starting build the container.
0299
0300 When using a local container, you need to tell the script to use the
0301 new docker image you created. You do that by passing one parameeter to
0302 the `kernel-docker.sh` script with the name of the image you created, e. g.:
0303
0304 ./kaffeine-docker.sh "mykaffeine"
0305
0306 Known video output issues
0307 =========================
0308
0309 There are a few known issues related to video output that may require
0310 some special setup for Kaffeine to work on certain environments.
0311
0312 Remote Access and Kaffeine
0313 --------------------------
0314
0315 Accessing Kaffeine remotely via X11/ssh/vnc can be a problem, as Qt5 will
0316 try, by default, to use hardware acceleration and DRI3.
0317
0318 There is a known bug, present on Fedora 23 to 25, and likely on other distros,
0319 at mesa-libGL/dri-drivers that cause it to wait forever when it is started
0320 from a X11 section. Such bug causes Kaffeine windows to not open:
0321
0322 * <https://bugzilla.redhat.com/show_bug.cgi?id=1174257>
0323
0324 A workaround is to start Kaffeine with:
0325
0326 LIBGL_DRI3_DISABLE=1 kaffeine
0327
0328 Another solution is to use a vnc server.
0329
0330 Changing the libVLC output plugin
0331 ---------------------------------
0332
0333 By default, libVLC will try to use hardware acceleration on the machine with
0334 Kaffeine, with obviously with won't work via remote access. It may also not
0335 detect properly the best video output plugin for some hardware settings.
0336
0337 For such scenarios, you may try to change the arguments passed to libVLC via
0338 the `Settings` --> `Configure Kaffeine` --> `libVLC`, changing the libVLC
0339 arguments to:
0340
0341 --no-video-title-show -V xcb_glx
0342
0343 or:
0344
0345 --no-video-title-show -V xcb_xv
0346
0347 and re-start Kaffeine.
0348
0349 Setting VDPAU acceleration
0350 --------------------------
0351
0352 By default, libVlc will try to use vdpau hardware acceleration in order to
0353 decode the video stream at GPU. However, sometimes it may not get the right
0354 acceleration module, trying to always use NVidia module, even when the
0355 hardware is AMD or Intel. That happens, for example on Fedora 25 and 26, as
0356 reported at:
0357
0358 * <https://bugzilla.redhat.com/show_bug.cgi?id=1305699>
0359 * <https://bugs.kde.org/show_bug.cgi?id=376893>
0360
0361 For Radeon GPU, the vdpau driver can be forced with:
0362
0363 export VDPAU_DRIVER=r600
0364
0365 The VA-GL driver can be used for Intel GPUs. It can be forced with:
0366
0367 export VDPAU_DRIVER=va_gl
0368
0369 Note: you may need to install mesa-vdpau-drivers and/or libvdpau-va-gl
0370 packages for vdpau to work.
0371
0372 Please notice that, depending on your hardware, for example, if your
0373 GPU vdpau driver can't decode the compression standard used by the
0374 broadcasters, it could be better to disable VDPAU backend.
0375 That can be done by passing an invalid driver name, like:
0376
0377 export VDPAU_DRIVER=none
0378
0379 Using xmltv for EPG data
0380 ========================
0381
0382 As described at Kaffeine's documentation, xmltv files are now supported.
0383
0384 In order to use it, you need to have a xmltv grabber. For example, you
0385 may use the tv_grab_eu_dotmedia grabber, from xmltv project.
0386
0387 Kaffeine's internal logic will map the channels obtained by the grabber
0388 into the channel names it has stored internally. The Kaffeine names
0389 can be obtained with the following command:
0390
0391 $ echo 'select name from Channels;' | sqlite3 ~/.local/share/kaffeine/sqlite.db
0392
0393 At the xmltv file format, the channel names can be obtained with:
0394
0395 $ grep display-name some_file.xmltv
0396
0397 If the names don't match, you'll need to use an external script to do the
0398 map. There's an example about how to do it at:
0399
0400 tools/map_xmltv_channels.sh
0401
0402 Please notice that you need to have `xmlstarlet` installed for it to work.
0403
0404 Assuming that you modified the script for your needs and copied to your
0405 `~/bin` directory, a typical usage of obtaining the xmltv tables would be to
0406 have a script like this running on a shell console:
0407
0408 $ while :; do tv_grab_eu_dotmedia > eu_dotmedia.xmltv; \
0409 ~/bin/map_xmltv_channels.sh eu_dotmedia.xmltv eu_dotmedia-new.xmltv; \
0410 sleep 3600; done
0411
0412 And configure Kaffeine to use the `eu_dotmedia-new.xmltv` file produced by
0413 the script (or whatever other name you use), disabling EPG MPEG-TS table
0414 reads.
0415
0416 Please also notice that as soon as Kaffeine detects a change on a file, it
0417 will re-read. So, even if you don't need to do any map, you should
0418 first generate the xmltv file and then move it to the right place, e. g:
0419
0420 $ while :; do tv_grab_eu_dotmedia > eu_dotmedia.xmltv; \
0421 mv eu_dotmedia.xmltv eu_dotmedia-new.xmltv; \
0422 sleep 3600; done
0423
0424 For more details, please read Kaffeine's manual.
0425
0426 Homepage
0427 ========
0428
0429 <https://www.kde.org/applications/multimedia/kaffeine/>
0430
0431 Authors
0432 =======
0433
0434 Maintainer since KF5/Qt5 port (version 2.x):
0435
0436 * Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
0437
0438 Former maintainers:
0439
0440 * Lasse Lindqvist <lasse.k.lindqvist@gmail.com>
0441 * Christoph Pfister
0442 * Christophe Thommeret
0443 * Jürgen Kofler
0444
0445 Thanks to various contributors, translators, testers ...