Translation(s): English


JessieReleaseGoal

Introduction

A lot of games are often not well integrated into the user's desktop environment. On the 17th of August 2013 the idea was born to pursue an inofficial release goal for Jessie. Everyone is welcome to join the effort and help with improving the desktop integration of games packages in Debian.

In short: Every game shall have a desktop and menu file, debtags and icons.

With this game specific release goal, the features and advantages of both: The XDG Desktop Entry Specification and the Debian Menu System shall be supported.

The Debian Menu System still provides an unified appearance and interface across window managers and is a lightweight solution for pure window manager setups and for efficient graphical environments while the Freedesktop Specification is a popular choice of leading desktop environments such as GNOME, KDE, Xfce and LXDE.

The goal is to improve the visibility of games on all supported platforms of the Debian distribution.

How to file a bug report

Bug reports should be filed with severity "wishlist" against every game package that does not ship valid desktop and menu files and corresponding icons for those files.

A bug report with special usertags could look like this one (see also bugs.debian.org/usertags):

Package: asc
Version: 2.5.0.0-1
Severity: wishlist
User: pkg-games-devel@lists.alioth.debian.org
Usertags: desktop-integration goals

Dear Maintainer,

currently asc does not supply a desktop or menu icon hence the
game is not visible on desktop environments such as Gnome 3. Please add
an icon entry to asc.menu and a new high resolution icon for making it
easier for users to spot the game.

Status

Bug reports filed

All games packages in Debian main have been reviewed.

Solutions

Here is a short overview how you can fix the reported bugs.

The menu icon is not displayed. You need to provide the absolute path to your menu icon instead of a relative one.

menu file is missing an icon entry

Debian Menu System

Every menu file consists of different entries or fields. A complete menu file with an icon entry:

?package(ballz):needs="X11" \
  section="Games/Action" \
  title="B.A.L.L.Z." \
  longtitle="B.A.L.L.Z. - platform/puzzle game where you control a rolling ball" \
  icon="/usr/share/pixmaps/ballz.xpm" \
  command="/usr/games/ballz"

desktop or/and menu file is missing

Please provide a desktop and menu file, so that the game will be visible on the user's desktop. You can use the desktop-file-validate tool from the desktop-file-utils package to verify if your desktop files are valid. An example desktop file:

[Desktop Entry]
Version=1.0
Type=Application
Name=FreeOrion
GenericName=Turn-based space strategy game
Comment=turn-based space empire and galactic conquest computer game (client)
Comment[de]=Rundenbasierendes Weltraum-Strategiespiel
Exec=freeorion
TryExec=freeorion
Icon=freeorion
StartupNotify=false
Terminal=false
Categories=Game;StrategyGame;
Keywords=space;strategy;empire;galaxy;turn-based;aliens;species;planets;fleet;research;resources;

converting icons

Freedesktop menu (desktop files)

For an optimal user experience icons for desktop files should be provided with a resolution of at least 64x64 pixel. Other recommended resolutions are 96x96, 128x128 and 256x256. Scalable icons are recommended as well. Please install your icons to

/usr/share/icons/hicolor/$resolution/apps

or

/usr/share/icons/hicolor/scalable/apps

Debian menu (menu files)

Every menu icon should be provided in the xpm file format and with a resolution of 32x32 pixel. Some window managers can also display png files but the resolution of 32x32 is crucial.

  1. You can easily convert an existing png icon with Gimp or MTpaint and add this file to your debian directory.
  2. If you prefer to build icons from source, your tool of choice is imagemagick.
    • Add imagemagick to Build-Depends-Indep.
    • Override your dh_auto_build-indep target. (requires debhelper >=9 and dh)

    • Don't forget to add the resulting xpm file to your clean file.

override_dh_auto_build-indep:
convert -monitor -resize 32x32 $(CURDIR)/desktop/ballz.png $(CURDIR)/ballz.xpm

Please install your menu icons to

/usr/share/pixmaps

Debtags

Debtags is a set of categories and keywords to describe Debian packages. By tagging your packages you provide additional meta information which makes it trivial to sort games into subcategories like "implemented-in-language", "played-with-joystick" or "works-with-audio".

You can also search quickly for sport games or other categories on the command-line and limit the results to certain conditions.

debtags search 'game::sport'

debtags search 'game::sport && implemented-in::c' 

If your games are properly tagged creating task lists for a Debian Games Blend is straightforward. Please go debtagging!

Frequently Asked Questions

Questions

Answers

Do I really have to provide a (desktop|menu) file for console games?

No, since this is a wishlist bug but it doesn't hurt and it doesn't prevent anybody from just using the terminal. Though please consider the following: Most people use some kind of graphical desktop environment to play computer games. Depending on their preferences they expect games to be displayed in their Debian or Freedesktop menu or otherwise they might ask: "Did I really install the game?" A menu entry will help them to launch the game quickly (they don't have to figure out complex start parameters because you provided a sane default start up command in your desktop|menu file), it will remind them about installed games and if you supply a nice icon, this will also improve the overall impression of your game (think about attract mode and eye candy). Both menu systems in Debian provide mechanisms (XDG menu: Terminal=true , Debian menu: needs:text field) to launch a console game from the menu directly. Please refer to the empire, nettoe or matanza packages for example desktop and menu files.