Missing AppImage Game Icons

The title probably says it all, but ever since I’ve been using G Develop 5, I’ve never had a compiled AppImage show an icon (I’m referring to AppImages of games made in the engine, not G Develop’s icon itself.)
While I usually manually compile my stuff (faster), the time I did use the build service still didn’t render an Icon. Am I missing an important step somewhere…?
(running G Develop 5 on amd64 Ubuntu, in-case that’s helpful!)

I believe the only step is to press the button to generate the icons from a file.


Are you using a standard 512*512 image file?
Which builds did you try?

1 Like

I Double-checked that the ‘icon.png’ I was using to generate the Icons is indeed 512x512, and It is. I usually manually compile everything with Yarn with ‘–Arm64’ as the arch target via the terminal. I may be wrong, but I suspect that there’s something missing from the generated main.js and package.json that’s needed, I’m just not sure what / where, if that makes sense.

According to the wiki, you should be using Cordova for manual builds.
Do you have a good reason for not following the wiki?
https://wiki.gdevelop.io/gdevelop5/publishing/android_and_ios_with_cordova

Also, try the online build. This should tell us if the issue is related to your build method or your project.

On the contrary, the wiki says to use yarn, which uses electron-builder, for PC targets, which an AppImage is. Cordova is recommended for Android and iOS only.

I don’t think so, though I think I remember such a bug in the past, are you on an up-to-date version of GDevelop?

1 Like

Yeah, I’m not building for those platforms.
And also, I can build far faster on my own system than using the online build, which doesn’t support Arm64 Linux at all.

Yep, I update every time it prompts me to, and am running the current build.

Oops, I saw arm64 and assumed this was for mobile. :see_no_evil:

We need to know if the problem is related to your setup or your project, so please try an online build and tell us if the icon shows.

Both the Death Comes Knocking entry and the G Develop 5 entry you see in this screenshot, are AppImages, the build for my game I did with the online builder.

So the icon works with the online builder?
I don’t know if this is a generic Ubuntu icon. :grin:

It does not work with the online builder, the thing I’m illustrating here is that my OS shows AppImage’s Icons just fine, The G Develop Icon, and the balena Etcher Icon are both AppImages, neither of which were made with the online builder (both were downloaded from their respective sites).
The Death Comes Knocking Icon (the blank one with a gear) was made with the online builder.
And that’s indeed the default Icon for the G Develop5 AppImage in the downloads section here.

Allright, not working then.
I tried on my side and confirm the issue.
I’ll forward to the devs, thanks for your cooperation. :blush:

1 Like

I found a solution. You have to add this code to main.js

then put your icon in icon/icon.png

let path = require(‘path’)
// Keep a global reference of the window object, if you don’t, the window will
// be closed automatically when the JavaScript object is garbage collected.

let mainWindow = null;

function createWindow() {
// Create the browser window.
mainWindow = new BrowserWindow({
width: 1280,
height: 720,
useContentSize: true,
title: “Game Name”,
icon: path.join(`${__dirname}/icon/icon.png`),
backgroundColor: ‘#000000’,
webPreferences: {
// Allow Node.js API access in renderer process, as long
// as we’ve not removed dependency on it and on “@electron/remote”.
nodeIntegration: true,
contextIsolation: false,
}
});