Category Archives: Linux Stuff

Linux Stuff

Partial Workaround For Black / Distorted Battle.net UI On Linux (Wine) With Intel Graphics

Blizzard’s Battle.net tool was updated recently, probably in preparation for the upcoming WoW expansion called Warlords of Draenor, resulting in either a black screen or distorted / scrambled graphics on Linux (with Wine) with Intel graphics.
It looks like this is not a Wine or Battle.net bug but an Intel graphic drivers bug, at least that’s what the Wine developers suggest.

There is a partial workaround that you can use to get Battle.net to work under Linux (Wine) with Intel graphics – launching Battle.net with “LIBGL_ALWAYS_SOFTWARE=1”.
Unfortunately, using this workaround isn’t a solution if you use Battle.net to launch Blizzard’s games because they will use software rendering and the performance will be awful. That’s why the title says “partial workaround”.
This tweak should only be used if you want to install or update Blizzard’s games via Battle.net. Of course, if you only want to update games and you’ve enabled automatic updates, you won’t need this, because Battle.net may look broken, but it actually works and it will install the updates (but you won’t be able to see the update progress, obviously).

After you’ve successfully installed a game, you can launch it manually, by double clicking the game executable or via command line – see our World of Warcraft article for how to run WoW using a script (with some performance tweaks).

Here’s how Battle.net looks like on my laptop (with Intel graphics) before using this tweak:

And after:

To launch Battle.net with “LIBGL_ALWAYS_SOFTWARE=1”, use the following command:
LIBGL_ALWAYS_SOFTWARE=1 wine ~/.wine/drive_c/Program*/Battle.net/"Battle.net Launcher.exe"
Note that the command above assumes you’ve installed Battle.net in the default location (~/.wine/drive_c/…) but if you’ve used a different location, you need to change the path for the command above.

Note: instructions tested with Wine 1.7.28 and World of Warcraft.

Read More

Artificial intelligence designs websites, uses open technology stack

It’s been years since AI was supposed to take over dirty bits of work and let humanity get on with creating amazing art, exploring the universe and generally enjoying life. The Grid, a San Francisco based company, recently made a contribution to the matter. Their AI-based web publishing tool designs and maintains websites, and it’s based on a slew of free/libre software projects. But will it actually automate boring work or will it swap creative humans with robot overlords?

The way to Ordnung

Let’s be clear about one thing: humans are a mess. We make up your minds, yet we are never truly satisfied with what we get, so we start introducing tiny changes here and there, and thus our creations follow our whims, with loose ends untied. Websites aren’t an exception, and The Grid is here to fix this. Or so its creators claim.

The idea behind this publishing tool is that it’s your 365/24/7 web designer, programmer, and content manager rolled into a single entity living on the cloud. It starts with designing the initial layout of the website for your content by asking you questions you would expect from an actual designer, such as:

  • What are the purposes of your website?
  • Would you like the website to feature content we find about your site (social media posts, articles)?
  • What color scheme do you want to apply to this layout?

After constructing the layout, The Grid will adapt user-submitted graphic elements to the general style and keep mutually readjusting content and layout as your vision of the website changes over time. E.g. you will be able to switch from blog to ecommerce by simply going through easily accessible layout filters.

This original slightly cheesy definition of the idea behind The Grid suddenly might not sound all that cheesy anymore.

New web publishing medium designed to order the chaos of web information and release your passion through the creative act of publishing.

And initial reaction ranges from dismissal to this:

What The Grid is made of

The most important part of The Grid, the AI, is built on top of NoFlo, a JavaScript-based open framework for flow-based programming (FBP) for server (Node.js) and browser.

Flow-based programming is an old idea of building applications by connecting components like nodes in an FX compositing app. It used to be mocked for years, and now it appears to work in a whole variety of use cases.

The team that works on this project released a rather impressive amount of code under the MIT license. What’s even more interesting is that the developers created all the back-end code with Flowhub, a graph-based programming environment, which was successfully crowdfunded a year ago:

Most image processing is done with GEGL, GIMP’s old/new graphs-based engine, that is interfaced to imgflo-server via an HTTP front-end written in Node.js.

Jon Nordby, who did the majority of the work making GEGL accessible to The Grid through imgflo-server, explains the reason for picking GEGL:

GEGL has a very good, general C API, because it is mostly just about manipulating a graph of image processing operations (data-flow). Imgflo exposes this in the Flowhub visual IDE, so that non-technical users can create new image processing pipelines.

Because there is no code generation involved in a custom pipeline, it is much easier to safely and securely allow 3rd-party pipelines to run on our infrastructure. From initial prototyping it also looks suitable for animated images and videos, which is part of our roadmap.

GEGL is also high bit depth capable, has architecture suitable for color management, and comes with tons of useful operations out-of-the-box. Finally, I also have some faith that once GIMP 2.10 is released it will improve even more. And improvements we make for GEGL in imgflo will then also benefit GIMP.

Having prior experience hacking on GEGL, Jon contributed to GEGL’s code base even more during the work on imgflo-server by both improving already available features and adding new ones like a gradient-map operation, support for JPEG files with CMYK data, and an image comparison command-line tool. Further contributions might involve GIF load/save support, including animations, and HTTP URL support for JPEG/PNG/GIF load operations (using GIO).

imgflo

Jon is also considering moving the .json graph serialization from inside imgflo to upstream GEGL and implementing meta-operation loading from such graphs. That would allow using Flowhub or other visual tools to create GEGL operations which could be used in GIMP like any other GEGL op.

Image analytics like face recognition and color extraction are partly based on JavaScript libraries like jsfeat and color-thief, with some customizations and additions.

The layout is done with grid stylesheets — a layout engine based on the Cassowary constraint solver. If you think that’s just another marginal hipster technology, think again: Apple uses that solver in Cocoa Autolayout.

Early prototypes made use of Jekyll for rendering the actual HTML code of the website, but now this is a custom codebase. However The Grid still uses the same type of format for storing user content, i.e. Markdown + Frontmatter, after it has been imported, measured, and normalized by the machinery. Users have access to this as a Git repo, so that they are in control over their content. E.g. here’s The Grid’s launch website on GitHub.

I, for one, welcome our robot… oh, wait!

The really interesting question is how much manual control the user would have over AI. Jon Nordby explains:

Our approach to the AI designer is user-in-the-loop. So while it will go and try different site variations (A/B testing etc.), it will ask the user if they want the proposed change. Much like a regular designer would do.

We use the AI metaphor on two levels. First, the intelligence in the technical bits of auto-designing a website (content analysis, testing variations, constraint solving, machine learning etc.). Then, that of a personal designer which helps you with your website. The two personas even have names.

Alas, no robot overlords to rule us wisely just yet. But once The Grid launches, some of us might have to figure out, if there’s some good use that the newly acquired spare time could be put to. There’s no AI to make that decision for us.

The Grid is currently available as pre-order (at $96 a year) with a discount to early bird users whom the developers reverentially call founding members (over 2000 of them at the moment of publishing this article). Once fully launched next year, it will available at a higher price, all AI machinery and data storage included.

Read More

Stylish Image Viewer `PhotoQt` Sees New Release

After more than a year since the previous release, a new PhotoQt version was released today – 1.1 -, which introduces some interesting changes such as per-session rotation/flipping, new Quick Settings widget, improved fake transparency and more. Also, with this release, PhotoQt switched to Qt5 and Phonon.

PhotoQt

PhotoQt is a fast, stylish Qt image viewer for Linux and Windows, which uses GraphicsMagick under the hood, meaning that it supports 80+ file types. The application features basic image manipulation (flip, rotate, zoom) and file management (rename, delete, move, copy), customizable keyboard and mouse shortcuts, thumbnail cache, can display EXIF information, image slideshow and more.

PhotoQt looks somewhat similar to the “Lightbox” Javascript plugins available on many websites: it uses a semi-transparent background (this is configurable) with cached image thumbnails (by default, image thumbnails use autohide but you can make them permanently visible from the app settings) at the bottom of the screen which can be used to easily navigate through the images available in the current folder.

Changes in PhotoQt 1.1:

  • PhotoQt is now based on Qt5;
  • Phonon was replaced by QMultimedia;
  • Rotations/Flipping is now stored per session (nothing is saved permanently in any files);
  • Filter images in current directory by filename/extension;
  • Images ca now be scaled (permanent change);
  • Fade-in starts at the top of the screen;
  • New Quick Settings widget (fade-in widget on the right);
  • Fake Transparency (background) is now supported for any number of screens;
  • fix: restore from system tray preserves fullscreen;
  • fix: context menu converted to ‘normal’ shortcut;
  • fix: possible to select background image;
  • fix: saving settings no longer corrupts session wide list of known file formats.

By default, the PhotoQt Quick Settings, General functions and file info panes/widgets are displayed on mouse over and since this is a bit confusing, here’s how to access them:
  • Quick Settings -> right edge of the app window
  • General functions -> top-right (top edge of the app window, near right)
  • File / Exif info -> left edge of the app window

Also, the application runs in full screen by default but you can set it to run in window mode from the Quick Settings (see above), by enabling “Window mode” and optionally, “Widow decorations”.

Install PhotoQt in Ubuntu 14.04 / 14.10 or Linux Mint 17 / 17.1

Important: in my test, the 32bit version of PhotoQt from the PPA below didn’t work!

Ubuntu 14.04 / 14.10 and Linux Mint 17 / 17.1 users can install the latest PhotoQt by using Sam Rog’s PPA (for Ubuntu 12.04, there’s a older PhotoQt version – 1.0). Add the PPA and install PhotoQt using the following commands:
sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install photoqt
If you don’t want to add the PPA, you can simply grab the PhotoQt deb from HERE.

For other Linux distributions, see the PhotoQt downloads page.

Report any issues you may find @ GitHub.

Read More

Free RTS Game `0 A.D.` Alpha 17 Available For Download

Wildfire Games has released the seventeenth alpha version of 0 A.D., which includes some important changes, such as a major gameplay rebalance, units on wall, improved mod support and more.

0 A.D. alpha 17

For those not familiar with 0 A.D., this is an open source, historical war and economy RTS game developed by Wildfire Games which features several ancient civilizations at their prime, from Greece and Rome to Carthage and Persia. The game is available for Linux, Windows and Mac OS X.
While it features great sound and graphics and has both single-player and multi-player functionality, the game still lacks some features, such as no matchmaking service (multi-player uses peer-to-peer networking, without a central server), that’s why the game is still considered “alpha”.

Notable changes in 0 A.D. Alpha 17 “Quercus”:

  • Major Core Combat Rebalance:
    • if you send only one unit type to battle, it fares poorly against regiments of the same size that mix more than one type, e.g. melee and ranged units;
    • technologies as a whole have been made more expensive and unrelated technologies have been “unpaired”;
    • some stats have been adjusted to make training some units viable
    • buildings are now a bit easier to destroy;
    • formations were removed temporarily, but they will be reimplemented again some point, in a more balanced way.
  • Naval map support: the computer opponent now uses transport ships to colonize other islands and attack enemy bases, but naval combat (i.e. ships against ships) is not yet implemented;
  • Units On Walls: Units can be garrisoned in wall segments, and appear on the walls at predefined prop points;
  • Users can now view profiles of other players from within the lobby;
  • 2 new maps: a Oasis (skirmish map) and Schwarzwald (random map);
  • Implemented triggers: A “trigger” makes an action occur in the game if a specified event takes place;
  • A new Mod Selector allows users to enable or disable mods, save them or just restart into them to test them out. This way, it is a lot easier to test and play mods. This can be reached at: Main Menu -> Tools & Options -> Mod Selection. Also, modders can now easily make small changes to the game without having to copy and modify many files.

Those are just the most important changes in the latest 0 A.D. alpha 17 but there were many other improvements added with this release, such as better performance, improved fog of war, better AI as well as various graphical and user interface improvements like new Hellenistic ranged siege animations, replaced Iberian barracks, new Iberian tower models (screenshot above) and much more.
Below you can watch the 0 A.D. Alpha 17 trailer, which presents some of these changes:

(direct video link)

If you can contribute to 0 A.D. (programming, art, sound, documentation and more), see the programmers getting started page and join #0ad-dev on QuakeNet on IRC.
It’s also worth mentioning that the Council of Modders are hosting a map making contest. Check out THIS forum post for details.

Install 0 A.D. in Ubuntu / Linux Mint

0 A.D. is available in the official Debian / Ubuntu / Linux Mint repositories however, if you want to play the latest version, you must use a PPA. To add the official 0 A.D. PPA and install the latest 0 A.D. in Ubuntu / Linux Mint, use the following commands:
sudo add-apt-repository ppa:wfg/0ad
sudo apt-get update
sudo apt-get install 0ad

Download 0 A.D.

Download 0 A.D. (binaries available for Linux, Windows and Mac OS X and source code)

Read More

Blender returns to VIEW Conference 2014

Next week Blender will be featured again at VIEW Conference in Turin, Italy. On October 13, 16, and 17, Alfonso Annarumma will lead a workshop called “Architectural Previsualization of Interior Design with Blender 3D and Cycles Rendering”.

Blender was prominently featured at VIEW in both 2012 and 2013, but for some reason got dropped in 2013 despite of initial plans (event organizers wouldn’t say, why).

The workshop will led by Alfonso Annarumma who is probably best known for his many productivity-centered Blender addons, such as Path Editor, Layer Manager, Layer Groups, Fast Textures Editor, and others.

Date/time:

  • Monday October 13  |  h. 9.30 – 11.30  | Sala Antonelli
  • Thursday October 16 | h 9.00 – 11.00 | Sala Giolitti
  • Friday October 17 | h 9.00 – 11.00 | Sala Einaudi

Entry fee:

  • 10 euro for students;
  • 20 euro for professionals.

You will need to register to attend the workshop.

Read More

LightDM GTK+ Greeter Settings GUI

LightDM GTK+ Greeter is the default Xubuntu (screenshot below) and Lubuntu LightDM greeter (login screen UI). For how to switch to it in Ubuntu (w/ Unity), etc., see THIS Ubuntu wiki article.

Xubuntu 14.04 LightDM GTK greeter
Default Xubuntu 14.04 LightDM GTK+ Greeter

LightDM GTK+ Greeter Settings is a small GUI written in Python which lets you modify various LightDM GTK+ Greeter settings, such as the theme, font, background, window position and more, settings which otherwise can only be set by modifying the greeter configuration files.

The tool was supposed to be added by default in Xubuntu 14.10 Utopic Unicorn but it was postponed, most probably because LightDM GTK+ Greeter Settings is not yet available in the official Ubuntu repositories (though a bug for this was submitted back in March, 2014). Hopefully, it will make it in Xubuntu with the release after Utopic – 15.04.

LightDM GTK+ Greeter Settings gives users access to the following settings:
  • Appearance: change LightDM GTK+ Greeter theme, icons, font (with DPI/antialias/subpixel rendering and hinting settings), change the background image or set it to a color, enable user wallpaper if available or change the default user image;
  • Panel: change the clock format and redefine indicators (enable/disable indicators or reorder them);
  • Window position: change the login dialog window position
  • Misc: enable/disable onscreen keyboard, set the timeout until the screen blanks.

Here are a some LightDM GTK+ Greeter Settings screenshots:

LightDM GTK+ Greeter Settings

LightDM GTK+ Greeter Settings

LightDM GTK+ Greeter Settings

LightDM GTK+ Greeter Settings

Install LightDM GTK+ Greeter Settings In (X,L)Ubuntu

Xubuntu and Lubuntu use LightDM GTK+ Greeter by default but of course, you can use this tool with any Ubuntu or Linux Mint flavor, if you’ve switched to LightDM GTK+ Greeter. To add the PPA and install the tool in (X,L)Ubuntu 14.04 or 14.10, use the commands below:
sudo add-apt-repository ppa:kalgasnik/ppa
sudo apt-get update
sudo apt-get install lightdm-gtk-greeter-settings

Arch Linux users can install LightDM GTK+ Greeter Settings via AUR: stable | bzr.

To grab the source code, report bugs, etc. see the LightDM GTK+ Greeter Settings Launchpad page.

Read More

How To Add Launchpad PPAs In Debian Via `add-apt-repository` Command

“add-apt-repository” is an Ubuntu-specific script to add or remove repositories which, among others, automatically imports the public GPG key. For more information, see its man page.
You can use “add-apt-repository” in Debian to add Launchpad PPAs however, there are a few things that you should know. Read on to find out how to use “add-apt-repository” in Debian.
Important: many Launchpad PPAs are not compatible with Debian, because the packages are built against specific Ubuntu libraries. Some Launchpad PPAs work in Debian though – for example, the WebUpd8 Java and Atom PPAs. So make sure you know what you’re doing before adding a Launchpad PPA in Debian!

Using “add-apt-repository” in Debian

To be able to use the “add-apt-repository” command in Debian Wheezy and newer, you need to install the “python-software-properties” or “software-properties-common”, depending on the Debian version you’re using package. To simplify things, use the command below to install both packages:
sudo apt-get install software-properties-common python-software-properties

Then you’ll be able to use “add-apt-repository” in Debian. However, “add-apt-repository” doesn’t work exactly the same in Debian as it works in Ubuntu, so here’s what you need to do to use it properly in Debian.

“add-apt-repository” can be used to add PPAs/repositories in two ways:

A. Adding Launchpad PPAs in Debian as “add-apt-repository ppa:some/ppa”

Debian add-apt-repository

Notes about this method of adding Launchpad PPAs in Debian:

  • the PPA GPG key is automatically imported;
  • it adds a separate source list file under /etc/apt/sources.list.d/;
  • you need to replace your Debian version with an Ubuntu version (such as “trusty” or “precise”) in the PPA source list file;
  • it only works with Launchpad PPAs.

To add a Launchpad PPA in Debian, use the following command:

sudo add-apt-repository ppa:some/ppa

(obviously, replace “ppa:some/ppa” with the PPA you want to add)

However, if you add a PPA under this form (for example: “add-apt-repository ppa:webupd8team/java), the PPA source file will use your current Debian version (for example, “wheezy”) and it won’t work, because you need to use an Ubuntu version here.

To get it to work properly, after using the “add-apt-repository ppa:some/ppa” command, you need to edit the PPA source file which is located under the /etc/apt/sources.list.d/ folder, and replace your Debian version (for instance “wheezy”) with an Ubuntu version – I recommend using a LTS version such as “trusty” or “precise” because non-LTS Ubuntu version are only supported for 9 months.

Here’s an example. Let’s say you’ve added ppa:webupd8team/java in Debian Wheezy (using “add-apt-repository ppa:webupd8team/java” and as a result, the /etc/apt/sources.list.d/webupd8team-java-wheezy.list file was created, which looks like this:

deb http://ppa.launchpad.net/webupd8team/java/ubuntu wheezy main 
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu wheezy main

To get the PPA to work in Debian, you need to edit the source .list file and replace “wheezy” with either “trusty” or “precise” (Ubuntu LTS versions). After editing the file, it should look like this:

deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main 
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main

To make this easier, you can use sed to automatically replace your Debian version with an Ubuntu version. For instance, if you’re using Debian Wheezy, you can use the command below to replace “wheezy” with “trusty” in the PPA .list file:

sudo sed -i 's/wheezy/trusty/g' /etc/apt/sources.list.d/some-ppa-wheezy.list

(of course, replace “some-ppa-wheezy.list” with the .list file for the PPA you’ve added)

B. Adding the full PPA/repository source entry

Another way of using “add-apt-repository” to add a PPA in Debian (it’s the same in Ubuntu) is to use the full source entry.

Differences from the first method:

  • the GPG key isn’t automatically imported;
  • the repository is added at the end of the /etc/apt/sources.list file and not as a separate file under /etc/apt/sources.list.d/;
  • this can be used for any repository, not just Launchpad PPAs.

To get the full Launchpad PPA source list entry, visit the PPA page (I’ll use the WebUpd8 Java PPA as an example below) and:

  • click on “Technical details about this PPA” (it’s a green link under “Adding this PPA to your system” – “1” in the screenshot below)
  • then select an Ubuntu version from the drop-down (I recommend using a LTS version – either Trusty or Precise; “2” in the screenshot below) 

… and the PPA source.list entries should be displayed below (“3” in the screenshot below).  Here’s a screenshot:

To add the PPA in Debian, use “add-apt-repository” followed by the first entry (“3” from the screenshot above). Example:

sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main"

This command adds the repository to the /etc/apt/sources.list file and not as a separate .list file under /etc/apt/sources.list.d/

Next, you need to import the PPA GPG key. On a Launchpad PPA, you’ll find the key under “Signing key” (it’s below the PPA source entries – “4” in the screenshot above) – copy the key after “/” (so for the WebUpd8 Java PPA which was used as an example above, copy “EEA14886”) and import it like this:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY

(replace “KEY” with the PPA key – for instance “EEA14886” if you’re adding the WebUpd8 Java PPA)

Read More