Introduction to VLC

VLC is a media player, streamer, and encoder. It can play from many inputs, such as files, network streams, capture devices, desktops, or DVD, SVCD, VCD, and audio CD. It can use most audio and video codecs (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC, etc.), and it can also convert to different formats and/or send streams through the network.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

Additional Downloads

VLC Dependencies


Optional features and packages

dbus-1.14.10, libidn-1.42, and libssh2-1.11.0

Optional input plugins

libarchive-3.7.2, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.4.3, libdvdread-6.1.3, libdvdnav-6.1.1, opencv-4.9.0, Samba-4.19.5, v4l-utils-1.26.1, libbluray, libdc1394, libnfs, libproxy, libraw1394, Live555, and VCDImager (requires libcdio-2.1.0)

Optional mux/demux plugins

libogg-1.3.5, Game Music Emu, libdvbpsi, libshout, libmatroska (requires libebml), libmodplug, Musepack, and sidplay-libs

Optional codec plugins

FAAD2-2.11.1, FLAC-1.4.3, libaom-3.8.1, libass-0.17.1, libmpeg2-0.5.1, libpng-1.6.42, libva-2.20.0, libvorbis-1.3.7, Opus-1.4, Speex-1.2.1, libvpx-1.14.0, x264-20240216, aribb24, dav1d, Dirac, FluidLite, FluidSynth, libdca, libkate, libthora, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame, and Zapping VBI

Optional video plugins

AAlib-1.4rc5, Fontconfig-2.15.0, FreeType-2.13.2, FriBidi-1.0.13, libplacebo-6.338.2 (currently broken), librsvg-2.57.1, libvdpau-1.5, sdl12-compat-1.2.68, libcaca, libmfx

Optional audio plugins

PulseAudio-17.0, libsamplerate-0.2.2, spatialaudio, and JACK

Optional interface plugins

(Qt-5.15.12 or qt-alternate-5.15.12) (required for the graphical user interface), libtar, libvncclient, LIRC, and freerdp

Optional visualisations and video filter plugins

Goom, libvsxu, and projectM

Optional service discovery plugins

Avahi-0.8, libmtp and libupnp

Miscellaneous options

GnuTLS-3.8.3, libnotify-0.8.3, libxml2-2.12.5, taglib-2.0, xdg-utils-1.2.1 (runtime), AtmoLight, libmicrodns, protobuf, and Srt

Installation of VLC

First, add a correction for problems of taglib-2.0 and later:

patch -Np1 -i ../vlc-3.0.20-taglib-1.patch

Install VLC by running the following commands:

BUILDCC=gcc ./configure --prefix=/usr --disable-libplacebo &&

To test the results, issue: make check.

Now, as the root user:

make docdir=/usr/share/doc/vlc-3.0.20 install


This package installs icon files into the /usr/share/icons/hicolor hierarchy and desktop files into the /usr/share/applications hierarchy. You can improve system performance and memory usage by updating /usr/share/icons/hicolor/index.theme and /usr/share/applications/mimeinfo.cache. To perform the update you must have GTK+-3.24.41 installed (for the icon cache) and desktop-file-utils-0.27 (for the desktop cache) and issue the following commands as the root user:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Command Explanations

--disable-libplacebo: This switch is required to disable support for using libplacebo as a rendering pipeline because VLC is incompatible with the latest version of libplacebo.

--disable-vpx: Use this switch to disable libvpx.

--disable-mad: Use this switch if you don't have libmad installed.

--disable-avcodec --disable-swscale: Use these switches if you don't have FFmpeg installed.

--disable-a52: Use this switch if you don't have liba52 installed.

--disable-xcb: Use this switch if you don't have X Window System installed.

--disable-alsa: Use this switch if you don't have ALSA installed.

--disable-libgcrypt: Use this switch if you don't have libgcrypt installed.

--disable-sftp: The default is to build the sftp module if libssh2-1.11.0 is installed. Use this switch if you do not want to build this module.



There are many options to VLC's configure command. Check the configure --help output for a complete list.


Installed Programs: cvlc, nvlc, qvlc, rvlc, svlc, vlc and vlc-wrapper
Installed Libraries: libvlccore.so, libvlc.so, and many plugins in /usr/lib/vlc/plugins
Installed Directories: /usr/{include,lib,share}/vlc, /usr/share/kde4, and /usr/share/doc/vlc-3.0.20

Short Descriptions


is a script to run VLC with the dummy interface


is a script to run VLC with the ncurses interface


is a script to run VLC with the Qt interface


is a script to run VLC with a command line interface


is a script to run VLC with the skins interface


is the VLC media player


is a wrapper to drop privileges with VLC