I was trying to author a new theme for rEFInd today when I ran into the issue that badge icons (vol_*.{icns,png}) were being ignored in my icon_dir, and it would only detect them in the specific icns format (not PNG) and only in the original icons/ directory (thus making my upgrade path rather shaky). It also appears that os_legacy is not resolved in my icon_dir(with a PNG format again)
Is this a known deficiency, or am I doing something horribly wrong?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've just tested, and I was able to use an overridden icon (in PNG format) in the directory specified by icons_dir. Some suggestions:
The option name is icons_dir, not icon_dir (as specified in your post). If that was a typo in your post, then this isn't the cause of the problem; but if you really entered icon_dir in your refind.conf file, then that's the source of your problem.
The icons_dir line in refind.conf is commented out by default; you must uncomment that line or type another icons_dir line for it to be effective.
There are issues with icon size. IIRC, the code should crop a too-big icon, but I might be mistaken about that. The correct icon size is 128x128 pixels.
There could be issues with icon format. There are a lot of options for PNG files, and I can't guarantee that any random option you select in your graphics program will work with rEFInd. rEFInd uses the LodePNG library, so check there for details of what it supports. It might be easier to try saving your PNG with a different program or with different save options, though. I've done most of my testing using the GIMP and its default PNG options, which seem to work fine for me.
I've encountered EFIs that have buggy FAT drivers that cause some files to seem to disappear. Using an ESP that's over 512MiB or using a FAT16 ESP rather than the usual FAT32 can work around these problems.
I've encountered one EFI that has a buggy string-comparison function; it does what should be case-insensitive comparisons as if they were case-sensitive. This can cause some files to become invisible. I've incorporated some workarounds for this in the rEFInd code, but you could still be running into this if you've specified your icons_dir path in one case when in fact it uses another case on the disk.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I was trying to author a new theme for rEFInd today when I ran into the issue that badge icons (
vol_*.{icns,png}
) were being ignored in myicon_dir
, and it would only detect them in the specific icns format (not PNG) and only in the originalicons/
directory (thus making my upgrade path rather shaky). It also appears thatos_legacy
is not resolved in myicon_dir
(with a PNG format again)Is this a known deficiency, or am I doing something horribly wrong?
I've just tested, and I was able to use an overridden icon (in PNG format) in the directory specified by
icons_dir
. Some suggestions:icons_dir
, noticon_dir
(as specified in your post). If that was a typo in your post, then this isn't the cause of the problem; but if you really enteredicon_dir
in yourrefind.conf
file, then that's the source of your problem.icons_dir
line inrefind.conf
is commented out by default; you must uncomment that line or type anothericons_dir
line for it to be effective.icons_dir
path in one case when in fact it uses another case on the disk.