ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

Missing support for 32x32 pixel, 16-color (766 byte) ico files #6048

Open Yowlen opened 5 years ago

Yowlen commented 5 years ago

Your system information

Please describe your issue in as much detail as possible:

Games like Space Empires IV use the original version of the .ico file for their clienticon property. This version, used in the earliest versions of Windows (3.x, 9x), are 32x32 pixels in size and use a 16-color palette. They're easily spotted by their 766 byte size. Newer iterations of the .ico format added support for 256 & higher color palettes, as well as increased icon sizes. The newer iterations are supported by Steam's icon processing subroutine, but this original format is not. As a result, games like Space Empires IV will get the "Can't create shortcut" error message when trying to create a shortcut, even though the icon is properly downloaded and placed in ~/.steam/steam/games.

Steps for reproducing this issue:

  1. Install Space Empires IV or another game with a 766-byte clienticon property size and no linuxclienticon property.
  2. No shortcuts will be created.
  3. Attempt to manually create a desktop shortcut.
cgytrus commented 5 years ago

You can "remake" the icon for a game to 256-colors in online photo editor or any installed photo editor on your PC. I tried with Unturned icon (which is 766 bytes and 16 colors) and GIMP and this worked. After you create the desktop shortcut, you can copy it in ~/.local/share/applications and you will get both shortcuts in Start Menu and desktop and with proper icons.

Yowlen commented 5 years ago

I just manually created a desktop shortcut to point it to the 766-byte icon & then copied it for the Start Menu since the OS itself recognizes them just fine. It's only Steam's icon creation process that screws things up.

cgytrus commented 5 years ago

How did you explain the system where is the icon stored? I mean: what you wrote in Icon=?

Yowlen commented 5 years ago

I just pointed it directly to the .ico file in ~/.steam/steam/games.