|
|
| (15 intermediate revisions by one other user not shown) |
| Line 1: |
Line 1: |
| Trisquel Release 6.0 (toutatis) GStreamer Build Instructions<br>
| | Moved to: https://gitorious.org/openvideo_reference_build |
| Tested on 15-April-2013 by GChriss<br>
| |
| <br>
| |
| Prepare live USB key as documented:<br>
| |
| wget "http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent"<br>
| |
| transmission-gtk trisquel_6.0_amd64.iso.torrent &<br>
| |
| dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M<br>
| |
| sync<br>
| |
| cd /media/trisquel\ 6.0\ amd64/<br>
| |
| md5sum -c md5sum.txt<br>
| |
| <br>
| |
| Boot USB key in BIOS -> Install to disk -> Manual partition<br>
| |
| Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions<br>
| |
| <br>
| |
| Run through install prompts and reboot<br>
| |
| <br>
| |
| Trisquel Menu -> System Settings -> Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations<br>
| |
| <br>
| |
| Open Terminal:<br>
| |
| sudo su<br>
| |
| <br>
| |
| Get this stuff outta here...<br>
| |
| /etc/init.d/apparmor stop<br>
| |
| update-rc.d -f apparmor remove<br>
| |
| apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0<br>
| |
| <br>
| |
| apt-get update<br>
| |
| <br>
| |
| apt-get dist-upgrade<br>
| |
| <br>
| |
| apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev<br>
| |
| <br>
| |
| chmod 0755 /usr/bin/cpufreq-selector<br>
| |
| <br>
| |
| Create this file and add the line that follows:<br>
| |
| vi /etc/modprobe.d/thinkpad_acpi.conf <br>
| |
| options thinkpad_acpi fan_control=1<br>
| |
| <br>
| |
| vi /etc/rc.local --> add the following:<br>
| |
| chmod 666 /proc/acpi/ibm/fan<br>
| |
| <br>
| |
| exit<br>
| |
| <br>
| |
| indicator-multiload &<br>
| |
| <br>
| |
| <br>
| |
| Optional but helpful step for realtime audio processing<br>
| |
| sudo su<br>
| |
| cd /usr/src<br>
| |
| wget "http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2"<br>
| |
| tar -xvjf linux-libre-3.8.6-gnu.tar.bz2<br>
| |
| cd linux-3.8.6/<br>
| |
| cp /boot/config-3.2.0-38-generic .config<br>
| |
| make oldconfig -> hold down enter key to accept defaults<br>
| |
| make gconfig<br>
| |
| 'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'<br>
| |
| CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &>gsc_make-deb-pkg.log<br>
| |
| dpkg -i ../*.deb<br>
| |
| <br>
| |
| <br>
| |
| reboot and check for PREEMPT in 'uname -a':<br>
| |
| Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux<br>
| |
| <br>
| |
| <br>
| |
| sudo su<br>
| |
| mkdir -p /packages/openvideopro && mkdir -p /packages/openvideopro/lib && mkdir -p /packages/openvideopro/bin<br>
| |
| mkdir -p /packages/openvideopro/lib/pkgconfig<br>
| |
| chown -R gchriss:users /packages<br>
| |
| exit<br>
| |
| rm -Rf ~/.gstreamer-0.10<br>
| |
| vi ~/.bashrc -> add the following:<br>
| |
| export GST_PLUGIN_SYSTEM_PATH="/packages/openvideopro/lib"<br>
| |
| export GST_PLUGIN_PATH="/packages/openvideopro/lib"<br>
| |
| export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig<br>
| |
| export PATH=/packages/openvideopro/bin:$PATH<br>
| |
| <br>
| |
| <br>
| |
| cd /packages<br>
| |
| git clone git://repo.or.cz/nasm.git nasm_14april2013 && cd nasm_14april2013<br>
| |
| ./autogen.sh --no-configure &>gsc_autogen.log<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| YASM is optional:<br>
| |
| cd /packages<br>
| |
| git clone git://github.com/yasm/yasm.git yasm_14april2013 && cd yasm_14april2013<br>
| |
| ./autogen.sh --no-configure &>gsc_autogen.log<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages<br>
| |
| git clone git://code.entropywave.com/git/orc.git orc_14april2013 && cd orc_14april2013<br>
| |
| ./autogen.sh &>gsc_autogen.log<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz"<br>
| |
| tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz && cd jack-audio-connection-kit-0.121.3<br>
| |
| ./configure --enable-optimize --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| sudo su<br>
| |
| vi /etc/security/limits.conf -> add the following line:<br>
| |
| @audio - rtprio 99<br>
| |
| <br>
| |
| vi /etc/security/limits.d/audio.conf -> create file with the following line:<br>
| |
| @audio - rtprio 95<br>
| |
| @audio - memlock unlimited<br>
| |
| <br>
| |
| usermod -a -G audio gchriss --> subsitute 'gchriss' for your username<br>
| |
| exit<br>
| |
| <br>
| |
| At this point UI volume controls are missing/non-functional, but alsamixer works.<br>
| |
| Build pulseaudio if needed, but otherwise optional:<br>
| |
| rm -rf ~/.pulse* /tmp/.esd*<br>
| |
| sudo -rf /tmp/pulse*<br>
| |
| cd /packages && wget "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz"<br>
| |
| tar -xvJf pulseaudio-3.0.tar.xz<br>
| |
| PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| sudo make install &>gsc_install.log<br>
| |
| mkdir -p /packages/openvideopro/var/run/pulse && mkdir -p /packages/openvideopro/var/lib/pulse<br>
| |
| <br>
| |
| Also optional:<br>
| |
| cd /packages && wget "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz"<br>
| |
| tar -xvzf gstreamer-0.10.36.tar.gz && cd gstreamer-0.10.36<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| Optional:<br>
| |
| cd /packages && wget "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz"<br>
| |
| tar -xvzf gst-plugins-base-0.10.36.tar.gz && cd gst-plugins-base-0.10.36<br>
| |
| ./configure --enable-orc --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log <br>
| |
| <br>
| |
| Optional:<br>
| |
| cd /packages && wget "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz"<br>
| |
| tar -xvzf gst-plugins-good-0.10.31.tar.gz && cd gst-plugins-good-0.10.31<br>
| |
| See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012<br>
| |
| --> Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'<br>
| |
| PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &>gsc_configure.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| Optional:<br>
| |
| cd /packages && wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2<br>
| |
| tar -xvjf gnome-media-2.91.2.tar.bz2 && cd gnome-media-2.91.2<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| <br>
| |
| TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)<br>
| |
| TODO: The following builds but fails to connect to pulseaudio... debug needed?<br>
| |
| git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 && cd pavucontrol_15april2013<br>
| |
| ./bootstrap.sh &>gsc_bootstrap.log<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| <br>
| |
| TODO: Rebuild Totem + PiTiVi<br>
| |
| <br>
| |
| cd /packages && wget "http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz"<br>
| |
| tar -xvzf libogg-1.3.0.tar.gz && cd libogg-1.3.0<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz"<br>
| |
| tar -xvzf libvorbis-1.3.3.tar.gz && cd libvorbis-1.3.3/<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2"<br>
| |
| tar -xvjf libtheora-1.1.1.tar.bz2 && cd libtheora-1.1.1<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_config.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| Open abrowser, download:<br>
| |
| http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download<br>
| |
| cd /packages && tar -xvzf libjpeg-turbo-1.2.90.tar.gz && cd libjpeg-turbo-1.2.90<br>
| |
| ./configure --prefix=/packages/openvideopro --with-jpeg8 &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2"<br>
| |
| tar -xvjf libebml-1.2.2.tar.bz2 && cd libebml-1.2.2<br>
| |
| make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &>gsc_make.log<br>
| |
| <br>
| |
| cd /packages && wget "http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2"<br>
| |
| tar -xvjf libmatroska-1.3.0.tar.bz2 && cd libmatroska-1.3.0/<br>
| |
| CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &>gsc_make.log<br>
| |
| <br>
| |
| cd /packages && wget "http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz"<br>
| |
| tar -xvzf libshout-2.3.1.tar.gz && cd libshout-2.3.1<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz"<br>
| |
| tar -xvJf glib-2.34.3.tar.xz && cd glib-2.34.3<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| 'make check' failures are "OK"<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2"<br>
| |
| tar -xvjf alsa-lib-1.0.27.tar.bz2 && cd alsa-lib-1.0.27<br>
| |
| ./configure --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz"<br>
| |
| tar -xvJf gstreamer-1.0.6.tar.xz && cd gstreamer-1.0.6<br>
| |
| ./configure --enable-failing-tests --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make check &>gsc_check.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz"<br>
| |
| tar -xvJf gst-plugins-base-1.0.6.tar.xz && cd gst-plugins-base-1.0.6<br>
| |
| ./configure --enable-orc --prefix=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make check &>gsc_check.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| cd /packages && wget "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz"<br>
| |
| tar -xvJf gst-plugins-good-1.0.6.tar.xz && cd gst-plugins-good-1.0.6<br>
| |
| PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &>gsc_configure.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| Optional but really helpful:<br>
| |
| cd /packages && wget "http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz"<br>
| |
| tar -xvzf qjackctl-0.3.10.tar.gz && cd qjackctl-0.3.10<br>
| |
| ./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &>gsc_config.log<br>
| |
| make V=1 &>gsc_make.log<br>
| |
| make install &>gsc_install.log<br>
| |
| <br>
| |
| <br>
| |
| <br>
| |
| ===<br>
| |
| Create the following block entries for automatic execution @ user login<br>
| |
| The first two entries are specific to managing Thinkpad-series laptops<br>
| |
| <br>
| |
| <br>
| |
| gsc@host:~$ cat ~/.config/autostart/cpufreq-selector.desktop <br>
| |
| <br>
| |
| [Desktop Entry]<br>
| |
| Type=Application<br>
| |
| Exec=sh -c "/usr/bin/cpufreq-selector -c 0 -g performance & /usr/bin/cpufreq-selector -c 1 -g performance & /usr/bin/cpufreq-selector -c 2 -g performance & /usr/bin/cpufreq-selector -c 3 -g performance"<br>
| |
| Hidden=false<br>
| |
| NoDisplay=false<br>
| |
| X-GNOME-Autostart-enabled=true<br>
| |
| Name[en_US]=cpu-freq-selector<br>
| |
| Name=cpufreq-selector<br>
| |
| Comment[en_US]=Set 2.4GHz (x4)<br>
| |
| Comment=Set 2.4GHz (x4)<br>
| |
| <br>
| |
| <br>
| |
| gsc@host:~$ cat ~/.config/autostart/echo.desktop <br>
| |
| <br>
| |
| [Desktop Entry]<br>
| |
| Type=Application<br>
| |
| Exec=sh -c "echo level 7 > /proc/acpi/ibm/fan"<br>
| |
| Hidden=false<br>
| |
| NoDisplay=false<br>
| |
| X-GNOME-Autostart-enabled=true<br>
| |
| Name[en_US]=Spin up x201i Fan<br>
| |
| Name=Spin up x201i Fan<br>
| |
| Comment[en_US]=Substitute 'disengaged' for '7' for max speed<br>
| |
| Comment=Substitute 'disengaged' for '7' for max speed<br>
| |
| <br>
| |
| <br>
| |
| gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop <br>
| |
| <br>
| |
| [Desktop Entry]<br>
| |
| Type=Application<br>
| |
| Exec=gnome-terminal<br>
| |
| Hidden=false<br>
| |
| NoDisplay=false<br>
| |
| X-GNOME-Autostart-enabled=true<br>
| |
| Name[en_US]=GNOME Terminal<br>
| |
| Name=GNOME Terminal<br>
| |
| Comment[en_US]=Just to get things started...<br>
| |
| Comment=Just to get things started...<br>
| |
| <br>
| |
| <br>
| |
| gsc@host:~$ cat ~/.config/autostart/qjackctl.desktop <br>
| |
| <br>
| |
| [Desktop Entry]<br>
| |
| Type=Application<br>
| |
| Exec=sh -c "PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl"<br>
| |
| Hidden=false<br>
| |
| NoDisplay=false<br>
| |
| X-GNOME-Autostart-enabled=true<br>
| |
| Name[en_US]=qjackctl<br>
| |
| Name=qjackctl<br>
| |
| Comment[en_US]=Launch openvideopro qjackctl / -GChriss<br>
| |
| Comment=Launch openvideopro qjackctl / -GChriss<br>
| |
| <br>
| |
| ===<br>
| |
| <br>
| |
| <br>
| |
| sudo updatedb<br>
| |
| <br>
| |
| Stress-test CPU temperature stability (often necessary, proceed at own risk):<br>
| |
| burnMMX & burnMMX & burnMMX & burnMMX<br>
| |
| <br>
| |
| <br>
| |
| network-manager can sometimes be flaky, issue on an as-needed basis:<br>
| |
| service network-manager restart<br>
| |
| <br>
| |
| <br>
| |
| Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.<br>
| |
| <br>
| |
| <br>
| |