My thoughts on Slackware, life and everything

Month: December 2013 (Page 1 of 2)

A journey into recording sound & video in Slackware

ssr When it comes to audio and sounds in Slackware, we’re happy to have ALSA as the sound subsystem. It works reliably, and has done so ever since it replaced OSS in Slackware all those years ago. In due course ALSA got capable of dynamically mixing multiple sound sources – which is basically what a sound server does, too. We were never plagued with the issues of other distros when they abandoned ALSA for PulseAudio.
When the Arts sound daemon of KDE was deprecated and finally removed with the release of KDE4, Slackware was left without a sound “server” that ran out of the box. We still have ESD, the Enlightened Sound Daemon but that one has limited use because of the wrapper programs it needs.
There are however scenarios where you wish Slackware had some sort of audio server. Until now, the only times when that thought crossed my mind it was related to streaming audio over a network – think of remote desktop sessions and virtual machines. I may write some more about that topic in a future post because I think I have the solution now – read on.

A more immediate need arose when I went looking for software that can record videos of my Slackware desktop – individual program windows and gameplay footage. My son is a huge Minecraft fan and wants to be able to do in Slackware what he already does with Fraps in Windows. My intention is to task him with creating some Slackware “end-user” videos to attract newcomers to the distro 🙂

It turns out that there really is not all that many good desktop video recording software in Linux land. I have tried recordmydesktop and like it well enough (that is how it ended up in Slackware’s “/extra” section) but it does not deliver stellar videos, in particular I don’t think it is suited for recording gameplay. It also produces OGG video only, which is OK since that gives you the only free and open video format and codecs… but I believe this design decision limits my options too much.

I read up on ArsTechnica’s attempts to record gameplay footage on SteamOS. To this day, the ArsTechnica folk have not found a way to record the audio of a game… apparently it is not as easy as you might think, to record OpenGL games. Programs like FFMPEG and VLC are able to record (parts of) your desktop but it is cumbersome and also does not deliver high-quality video with properly synced audio. These programs are not capable of intercepting OpenGL renders either, which limits their use.
So I went looking… and came across GLC, an ALSA & OpenGL recording software for Linux which was inspired by Fraps and Yukon, but it seems mostly abandoned by its author. Then there also is SimpleScreenRecorder, a relatively new piece of work by Maarten Baert. The program uses FFMPEG’s codecs to allow you to record audio and video into any format supported by the locally installed version of ffmpeg. It supports the recording of ALSA sound sources (think of a microphone). The word “simple” in its name only characterizes the ease-of-use, not the featureset! And it has a Qt-based GUI which nicely blends into my KDE desktop. By means of an OpenGL injection library it also supports direct recording of OpenGL renders (read: games). That should produce superior videos compared to merely recording the desktop window (because that produces lower frame rate videos or lower quality).

Unfortunately it turned out that SimpleScreenRecorder was not capable of recording my Slackware desktop’s sound, and therefore game videos are silent.
That is a show stopper… apparently you need a sound server like PulseAudio in order to record the audio as well. I am not prepared to install PulseAudio on Slackware – as you are well aware, this is a personal issue I have with the PA author and the way he writes code. So I investigated further, and found out that the unreleased GIT sources of SimpleScreenRecorder support JACK as a new sound source next to ALSA (and PulseAudio). I built the program from its GIT sources and then went on to learn about JACK Audio Connection Kit. I knew that JACK is primarily used by audio professionals and musicians because of its low-latency core design. But as it goes with versatile programs, it is inherently difficult to grasp its concepts and complex to configure. But I persevered and ultimately found a way to configure JACK on my desktop, and reconfigure my ALSA setup so that all the programs that I use can still emit sound, and SimpleScreenRecorder is now capable of recording video and audio! I put a demo video online which I recorded for the intro sequence from the Metro: Last Light game.

As you can see, the game stutters a bit, but that is not caused by the recording software – it’s my desktop PC which is just not fast enough for the game.

ssr_qtui

My next post will be about how I built and configured JACK, and what I had to change in my ALSA configuration so that for instance Steam games (using SDL for audio) and MineCraft (using OpenAL for audio) would still make sounds.

In the meantime, if you want to try SimpleScreenRecorder, there’s a couple of dependencies you need to install as well. SimpleScreenRecorder was built against ffmpeg (version 2.1 to be precise – please note that upgrades of ffmpeg will usually break a lot of applications that depend on it due to a change in library versions). Also, the package which I released has been built against jack – even if you do not plan on using it, you’ll have to install it… or you can rebuild SimpleScreenRecorder yourself.
If you want to use SimpleScreenRecorder to record 32-bit OpenGL programs (Steam games, WINE based games) and are running a 64-bit Slackware, it will have to be a multilib system and you will have to use the “convertpkg-compat32″ script (part of my compat32-tools package) to convert and install the 32-bits “compat32” versions of the simplescreenrecorder, ffmpeg and jack packages as well as the 64-bit versions.
If you want to try and record a Steam game without the Steam windows being visible (those are also rendered in OpenGL), you’ll definitely have to read these instructions: http://www.maartenbaert.be/simplescreenrecorder/recording-steam-games/#native-steam-for-linux because currently it involves some manual tweaking to get this working (I expect that this will get easier in time). Judging by his Wiki, Maarten is responsive to the users of his program and is able to write meaningful documentation.

Get packages (and sources) here:

Have fun! Eric

LibreOffice 4.1.4 for Slackware 14.0 and newer

Quite by accident I noticed that LibreOffice 4.1.4 was released yesterday, even before the DocumentFoundation’s blog post was up. The official stance for 4.1.4 is that it is “the first also suggested for corporate deployments“. Well that is good news! So I quickly cleaned up the KDE 4.12 virtual machines and started with compiling some packages.

What I also did was read this page, suggested to me by my pal Heinz: http://dilfridge.blogspot.nl/2013/12/libreoffice-kde-integration.html . This post mentions the exact issues that were also reported by Slackware users of my earlier LO packages on KDE: slowness in the “File” dialogs for opening and saving; and crashes in LO Sheets when selectiong some cells and then moving them (this would actually freeze the complete KDE desktop, not just LO). I checked out the Gentoo bug reports which are mentioned by Andreas Hüttel and extracted the patches he backported from LibreOffice 4.2. It seems (and I asked some friends to check) that these patches do indeed fix the issues on KDE.

Another change in the SlackBuild is that I switched it to use a private version of poppler, this should hopefully fix the broken PDF import in Slackware 14.1 and -current, because of a change in libpoppler library version since Slackware 14.

The LibreOffice 4.1.4 packages for Slackware are available in my 14.0 package repository – I just uploaded them. Remember, they will work on Slackware 14.1 and current just as well. Note that I ship my LibreOffice 4.1 packages with additional “libreoffice-dict-<language>” packages, containing dictionary and spellchecker support!

If you are still running Slackware 13.37 you should stick with LibreOffice 3.6.7 for which I also have packages.

At this point, I used to request that you select one of the mirrors as your preferred download location, in order to spare the master site at slackware.com. However with the launch of SLackware 14.1 the server has been placed behind the Akamai cache infrastructure, so that downloading from slackware.com will no longer hurt us;

You can subscribe to the repository’s RSS feed if you want to be the first to know when new packages are uploaded.

Cheers, Eric

Freedom of Choice 2013

LinuxQuestions.org Members Choice Awards

LinuxQuestionsFellow Slackers and other friends!

It’s that time of the year again where Jeremy calls upon the masses to enter the poll for the 2013 LinuxQuestions.org Members Choice Awards. Remember last year, when Slackware made it to Desktop Distro of 2012 and was beaten to a hair-width by Debian for Server Distro of the year?

Please have a look at this year’s poll, it’s full of interesting choices. And make a honest selection! I don’t really care if Slackware ends up on top, it is more important that you experience that moment of realization that there is a wealth of Open Source Software out there which allows us to succeed in doing the things we like most. Freedom of choice usually comes at a high price, but Open Source Software & Standards allow you to make your choices for free and in freedom.

Please, take a moment to consider if there are ways for you to contribute back – it does not have to cost you money out of your pocket. If you are poor or can’t spare the money, your give-back can still be trememdously valuable. For instance, by helping friends with their adoption of Open Source, or by writing down your knowledge so that others can in turn advance their own knowledge; maybe you could check at your children’s school to see if there is room for a “Linux college” of sorts or prepare a hack-fest where everyone brings their computer and you bring a bunch of Slackware install CD’s 😉 Or perhaps this is the perfect time to start coding on some cool program so that we can forget about SystemD!

Realize that the Open Source (and Open Standards) ecosystem is about respect, sharing, growth and advancement. You and I, we are both part of this ecosystem. By working together without artificial boundaries or constraints and treating each other as equals, we can try to make this world a better place for all.

It’s like the spirit of Christmas which your Granny keeps talking about, but then without the turkey and the tree.

Happy polling! Happy holidays! Eric

tux-xmas

KDE 4.12 is available

The new release cycle of KDE has commenced today with the revealing of KDE SC 4.12.0!

KDE Software Compilation 4.12.0 will be mainly about improving and polishing KDE Applications. The Plasma Workspace has been feature-frozen at the end of the 4.11 cycle. There is no new source tarball labeled “4.12” for kde-worlspace anymore, the KDE folk have stuck to the 4.11 tarball for inexplicable reasons… you may recall that the basis on which all of KDE is built, the KDE Platform, has been feature-frozen since 4.9 already. New features in the Platform are being implemented for the future KDE Frameworks 5.0 but nevertheless, a 4.12 tarball has been made available. I guess they are too smart for me, I do not understand this difference in versioning choice.

Anyway, KDE SC 4.12 (with kde-workplace 4.11) runs smoothly here.  I sure hope that KDE 4.12 will soon be added to Slackware-current (Slackware skipped 4.11 entirely). In the meantime, I built packages for you, on Slackware-current. I have not tested them on Slackware 14.1 and although they will probably just work, my focus for new KDE releases will be slackware-current as usual. If you want to be on the bleeding edge of KDE, you’ll have to follow Slackware’s bleeding edge as well.

What’s new in KDE 4.12?

KDE keeps an up-to-date feature plan page for the 4.12 release, as they do for every release past and future. Since the Workspace and Platform have been frozen, much activity is showing in the KDE Applications. Looking at that overview page, I want to check out Okular and Dolphin in any case. The graphical text editor Kate has been improved in areas of code completion and python support, which could make it an interesting choice for code developers. Especially so, since these Kate improvements trickle through in KDevelop which uses the Kate engine. I did not add kdevelop-4.6.0, anyone interested in case Slackware-current does not move soon?

And reading about Kwebkit, I guess I will have to renew the kwebkitpart package sometime soon because I seem to have missed a release.

The PIM suite had a lot of improvements (in speed and functionality) but to be honest I do not use KDE’s PIM software. Interesting to know in any case: According to a mailing list post by Vishesh Handa: there is a chance that Nepomuk will be replaced by Baloo, which performs better and avoids the data duplication currently seen in KDE (copies of the same data, think of emails, get replicated between nepomuk, akonadi and virtuoso leading to large homedirectory storage needs).

How to upgrade to KDE 4.12 ?

You will find all the installation/upgrade instructions that you need in the accompanying README file. That README also contains basic information for KDE recompilation using the provided SlackBuild script.

You are strongly advised to read and follow these installation/upgrade instructions!

Where to find packages for KDE 4.12 ?

Download locations are listed below (you will find the sources in ./source/4.12.0/ and packages in /current/4.12.0/ subdirectories). Using a mirror is preferred because you get more bandwidth from a mirror and it’s friendlier to the owners of the master server!

Have fun! Eric

Recipe: braided cinnamon wreath

aliens_cinnamon_roll

I am currently enjoying three weeks of Christmas holidays. Today was my first day, and after a successful bake of Waldkorn bread last week, I decided to have a go at a bigger version of the bread. My first attempt, creating a small bread,was met with so much approval that I did not get to eat very much of it myself. For your information, Waldkorn is a type of multi-grain bread which is quite light and very tasty. It the Netherlands, you can buy “Waldkorn mix”, containing several flours like wheat, rye, oats, barley as well as some sunflower and lineseed. You complete the bread mix by adding normal white flour, water, yeast and a bit of butter. Yummy! But my wife nudged me to create something different instead, as a holiday treat. She suggested a cinnamon roll.

What we came up with was a recipe for a braided cinnamon roll. Did not take all that much time to create (most of the time is spent waiting for the proving and baking).

Time required:

15 minutes for mixing and kneading, 1 hour for proving, 10 minutes for rolling and braiding, 35 minutes for baking.
Total: ~ 2 hours.

Ingrediënts:

Dough:

  • 125 ml lukewarm milk
  • 1 tbsp sugar
  • 7 gr fast-action yeast (one sachet)
  • 250 gr white flour
  • ½ ts salt
  • 30 gr soft butter
  • 1 eggyolk

Filling:

  • 50 gr molten butter
  • 4-5 tbsp sugar
  • 3 ts cinnamon powder

Preparation:

  • Mix the yeast with the sugar and the warm milk, Allow some time to let the yeast activate and create bubbles and foam.
  • Add the egg-yolk, softened butter, flour and salt. Stick the fingers of your hand in there, it’s fun! Mix the ingredients until the dry components have been absorbed and a dough has been formed. Dump the dough onto your work surface and knead it firmly for 10 minutes until it forms a smooth ball. You’ll feel the transformation in texture when the gluten start to develop.
  • Place the ball of dough into a large, lightly oiled, bowl. Cover with cling film or a tea-towel and place the bowl in a warm environment (room temperature is warm enough, do not put it directly over your central heating!). Leave the dough to prove until it has doubled in size (should take roughly 1 hour).
  • Pre-heat your oven to 200 centigrade.
  • Lightly cover your workspace with some flour, take the dough out of the bowl and use a rolling pin to flatten the dough to a rough rectangle of 1 mm thickness.
  • Spread the largest part of the molten butter over the dough and sprinkle generously with the sugar/cinnamon mix (keep a bit of both butter and sugar/cinnamon for the finishing).
  • Roll up the dough. Using a sharp knife, cut the roll in two halves length-wise.
  • Braid the two halves and make sure to keep the open layered side pointing up and outward (see picture). Place the braid on a baking tray lined with baking paper, and bend it into a circular shape. Tuck one end under the other.
  • Apply the remaining molten butter and sugar/cinnamon mix to the top which gives the finished bread a nice color.

Baking:

  • Bake for 30 to 35 minutes until the top is golden brown. Lower the oven temperature to 180 degrees centigrade after 5-10 minutes of baking.

 

Well folks… apparently there is nothing more attractive than a bake straight out of the oven. I think that about 10 centimeter of bread is left at the moment. This is the result of all family members sneaking into the kitchen in the evening and pinching pieces of the cinnamon bread. It tastes absolutely delightful! The picture on top is my own produce.

gevlochten_kaneelbrood_2

Original recipe found at: http://totallyloveit.com/braided-cinnamon-rolls/
Photo Credit:Ana Maria Ciolacu from Just Love Cooking

« Older posts

© 2024 Alien Pastures

Theme by Anders NorenUp ↑