Steam Native Runtime

Dear Arch Linux users,

After nurturing it for several months in the AUR, Levente Polyak (a.k.a. anthraxx) and I finally got to promoting the native steam runtime in [community] and [multilib] as an optdep of steam.

pacman -Syu steam-native-runtime

You should notice additional steam-native executable and desktop files in the steam package with which you give the new runtime a spin.

Please note that it is not complete yet, if one of your games doesn’t start using the native runtime, don’t panic! Try launching it in a terminal and file a bug report containing the output you get. We will make sure your game starts in no time.

In any case, this should solve many issues you might have had in the past, and overall it is a cleaner solution to using the included runtime.

Who said unsupported distros couldn’t have the best possible steam?

RetroArch Linux

Dear Arch Linux (ARM) users,

You can now enjoy RetroArch directly from the official repositories, there’s even a dedicated group:

pacman -S libretro

A reasonable number of cores are already available in [community], don’t hesitate to request those that haven’t been added yet.

Note that you can also download cores (and all sorts of things) from the online updater included in the latest RetroArch, but you can’t mix downloaded cores with those from [community] as RetroArch will only search a single directory for cores.

Happy retro-gaming!

pyanimenc becomes pyhenkan

New name, new icon, new website, a lot has been going on in my pet project. Back when I started, I had only begun learning Python and had written close to nothing except shell scripts. Since then I got my first job in IT as Java developer and learned about objects, which led me to rewrite almost all of my code to use them.

Changes include:

  • analyze input files using pymediainfo
  • treat files, tracks, codecs and VapourSynth plugins as objects
  • switch to using ffmpeg exclusively instead of dedicated binaries for each codec
  • video pixel format and color matrix manipulation
  • audio channel and sample rate conversion
  • automatically trim audio when video is trimmed (only works with CFR videos)
  • add a preview to the script creator
  • add notifications using libnotify

TODO:

  • add codecs, containers and plugins upon request
  • ditch vspipe and load vapoursynth directly to feed ffmpeg
  • use pointers to preview directly instead of generating temporary images

If like me you miss MeGUI or StaxRip on Linux, feel free to give pyhenkan a spin and let me know what you think!

Free yourself from the Plex claws

Are you a happy Plex user? Or more of an unhappy user like me? Either way, Emby (formerly MediaBrowser) is there for all you media server needs.

Before anyone asks, yes it is, open-source that is. Sources are hosted on our beloved Github. Luke Pulverenti, who appears to be the lead dev, is very active on GitHub and on the forums, meaning you can actually reach upstream, no corporate wall. Also his avatar is a picture of Sheldon Cooper, if that counts for something. Now if that’s not reason enough for you to cross over to the bright side, here are a few more:

  • You can have multiple libraries of the same kind, e.g. you can separate your series and anime instead of having a big melting pot.
  • Speaking of anime, there is a plugin to add AniDB to the metadata fetchers, simply awesome. Apart from a few exceptions, it did a pretty good job of matching my anime library, whose titles all are romanized.
  • You can store all metadata and posters, artwork and whatnot alongside your content instead of a centralized database. Meaning you can replace those by hand if you so desire, and don’t have to download everything again should you lose the database.
  • The web interface is not designed for toddlers, and comes with a real dashboard as well as a reports tab if you’re into this kind of thing. Big plus, user management is entirely local, you don’t need an account like with Plex, and access is granular enough.
  • It has Last.FM and Trakt scrobblers (haven’t tried the latter yet) and also Live TV (PVR) support for those interested.
  • It has had SSL out of the box with a self-signed cert for a while, and unlike Plex (which got SSL only recently), you can use your own cert in case you have one. Please note that self-signed certs won’t work with the Android client application, a limitation of the Android SSL implementation itself I’m told. I’m currently using Firefox when outside of my LAN.
  • Only a few specific plugins are behind a paywall, which you will most likely be able to live without.
  • As for the clients, there’s an official kodi add-on, as well as native clients for a wide variety of devices.
Emby Dashboard

Now that you’re fully convinced, you can head over to my GitHub and grab the latest emby-server PKGBUILD. There’s also a pre-built x86_64 package on my  [alucryd] repo.

I’ve played with it for a full week and it only crashed on me once, although in its defense I was asking too much of it at the time. I now feel confident enough to push it to [community], all I need to do things the right way is one more vote on the AUR package, so head over there and click that vote button!

Pantheon update

Been a while since I wrote anything about Pantheon, or about anything at all, and I feel the latest changes are worth mentioning.

It is happening, the nice devs over at eOS have begun ditching Ayatana indicators in favor of their in-house indicators. The new wingpanel-rewrite-x11-bzr and all currently available wingpanel-indicator-*-bzr are already up on the usual repo. Apart from weird icon sizes in the panel, it already works quite good. I am one step closer to bringing Pantheon in our [community] repository.

New wingpanel
New wingpanel

In the meantime, more switchboard plugs have popped here and there, replacing gnome-control-center entirely will soon be possible. The latest addition is the network plug, I still need to patch it to use iproute2 instead of net-tools, but all in all it is working fine.

You might have noticed that the MantisBT bug tracker is gone. After several weeks of hunting CVS after CVS, I decided that it would be safer to avoid this whack-a-mole game. Please report any issue on GitHub instead.

Finally, I have been working on a nice little page for my unofficial repositories, using the timeless Arch Linux look and feel. I plan to add a package description column, and maybe highlight out-of-date/unbuildable packages and provide a link to the build log for you to know what is going on. Note that the page is completely static and generated by some python magic after each nightly build.

Pantheon for Arch: Bug Tracker

Since Pantheon is not yet ready for inclusion in our official repos, we can’t use the Arch Linux bug tracker. Therefore I have set up a dedicated bug tracker (MantisBT) so that people can report bugs, file requests, tell me they hate me because something doesn’t work, etc… It will also serve as a nice TODO.

The bug tracker is located here. A few reports have already been filed, feel free to register and complete the list.

bugtracker
Bug Tracker

On another note, the `lightdm-pantheon-greeter-bzr` now supports `granite-bzr`, have a screenshot.

greeter
Pantheon Greeter

Introducing pyanimenc

For a long time I’ve felt that Linux lacked  Windoze tools like MeGUI, as well as a good AviSynth alternative. I regularly encode anime, usually in batches which is very time consuming, and I’ve grown tired of having to boot into Windoze to do that.

Enter VapourSynth, a native linux frameserver. There aren’t nearly as many filters as on AviSynth yet, but it’s growing fast. Incidentally, VapourSynth scripts are written in Python, so I started (slowly) learning Python 3.

This got me thinking that I could automate all those encoding tasks using Python instead of my Z shell scripts, and eventually I started writing a set of tools not unlike MeGUI.

pyanimenc
pyanimenc

It’s still at an early stage, and since it’s the first time ever I write a program at all, it’s probably a huge mess of heretical nonsenses, so please bear with me. Right now, it can encode videos using x264 (8 or 10bit) and audio using fdkaac or lame, one by one. Adding other encoders is trivial, those happen to be the one I use. There is also an automation tab, which can encode a whole bunch of files using predefined settings, please note that it only accepts MKVs as source files (for now?). The output is also MKVs only. You can’t queue more than one batch ATM because I had the bright idea of using non local variables which will have the wrong data by the time the threaded worker reads them, I’m working on that. Also, please disregard the status bar at the bottom, and the log tab for now. You will need to run pyanimenc in a terminal to monitor what it’s actually doing.

There is a basic VapourSynth script creator, however preview is not ready yet, because VS is written mostly in C. The Python bindings only provide access to a pointer, which I have no idea how to handle, you will have to use vsviewer for now. The script creator can do cropping, resizing (internal filters) and debanding (using the excellent f3kdb). There seems to be only one denoising filter for VS, TemporalSoften which I will probably add in the future, as for deinterlacing, there is a nnedi3 port, but it’s not quite there yet apparently.

I have also written a Matroska chapters editor, but instead of asking for timecodes like other editors, it feeds on  frame numbers, which makes much more sense when you have a frameserver at hand IMHO. The editor will calculate timecodes for you based on the video FPS. This however rules out VFR, but it’s rather uncommon, and pyanimenc encodes in CFR anyway. You can make chapters from scratch or import a simple YAML chapter definition file (example included), importing existing XML or TXT chapters is also planned.

For the brave souls out there who are interested and don’t fear that their computer will explode, sources are hosted on my GitHub: https://github.com/alucryd/pyanimenc
I have also created an AUR package for Arch users: https://aur.archlinux.org/packages/pyanimenc-git/

Enjoy 🙂