I have now installed ‘xine’ on my Linux tablet.

In this earlier posting, I had written that I’ve installed Linux on an older tablet of mine, that being my Samsung Galaxy Tab S, First Generation, with only 16GB of storage.

In order to do so, I used the (non-rooted) applications from Google Play, ‘GNURoot’ and ‘XSDL’.

One feature which the author of ‘XSDL’ pointed out, is the fact that we may download a shared library to run under Linux, which when preloaded, makes the shared-memory extension available, for the purpose of running one application. By default pure X-server protocol does not have this, even though any half-decent Linux system has shared memory extension, X-Video extension, and beyond that, ‘vdpau‘, to allow fast video playback.

One Linux application which I had been using this way, was ‘gnome-mplayer’ , for which I had also written a shell-script, that preloads the shared-memory library. The video-player application was launching and running fine, but I’m no longer convinced that it was ever benefiting from shared memory. More specifically, we can set in the preferences of the player application, to use ‘X11′ as its video output-mode, and ‘pulseaudio’ as its audio output-mode.

Literally, selecting X11 in this way, does not mean shared memory as the output-mode, although the player could have bee negotiating with the (fake) X-server over this parameter…

So. To make sure I’d be obtaining the full benefit of shared memory, when playing back video-streams more seriously, I next proceeded to install ‘xine-ui’. It is highly-configurable, in that we can choose shared memory video-output explicitly.

And of course, the only way to get the full benefit of Xine, is to install ‘ffmpeg’ as well!

What I found was that on start-up, the Xine UI would just crash – but of course, I’ve explained why by now: The application was seeking an output-software-interface that didn’t exist.

To prevent Xine from crashing at start-up, I needed to go into the following configuration file, and edit that with a text-editor:


In two places,

(Updated 10/02/2017 : )

  1. audio.driver:pulseaudio
  2. video.driver:xshm

Now, if I was just to try launching Xine again, let’s say from the Menu, of course it would just crash again, because it has no Shared Memory. So here, I needed to copy the shell-script I had created for ‘gnome-mplayer’ , and, create an analogous script for Xine, where each script preloads the externally-supplied library.

Then, activating this new shell-script brought up the full Xine UI, which did not crash this time, and I got to watch video that was much more smooth than before. Interestingly, near the beginning of the video, Xine showed me a warning, to the effect that some frames had been dropped, and that might be a hint to a misconfigured Linux system. No kidding! I dismissed that message, and watched the rest of my video, full-screen.

One observation I made again about the Xine UI, was that by default, it has a boom-box-like controller-window, which I had disabled on my Linux laptop. The reason I had disabled it there, was the fact that it just seemed overdone, and the fact that we can always right-click on the playback-window, to specify what we want, including changes to settings in turn. But of course, we must first obtain a stable playback-window, before we can right-click on it, and before we can change settings, due to which the UI could crash on start-up again…

The controller-overlay can be enabled / disabled with Right-Click -> Show Controller (1st entry in the pop-up menu).


On my Linux tablet, I find this controller-overlay to be a benefit, simply because its buttons are much bigger – and thus easier to select – than the tiny font in which menus and text appear…



Print Friendly, PDF & Email

One thought on “I have now installed ‘xine’ on my Linux tablet.”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>