href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-7/26/2015, referencing rEFInd 0.9.0</p>
+10/9/2016, referencing rEFInd 0.10.4</p>
<p>This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
<input type="hidden" name="amount" value="1.00">
<input type="hidden" name="item_name" value="rEFInd Boot Manager">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</td>
<input type="hidden" name="amount" value="2.50">
<input type="hidden" name="item_name" value="rEFInd Boot Manager">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</td>
<input type="hidden" name="amount" value="5.00">
<input type="hidden" name="item_name" value="rEFInd Boot Manager">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</td>
<input type="hidden" name="amount" value="10.00">
<input type="hidden" name="item_name" value="rEFInd Boot Manager">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</td>
<input type="hidden" name="amount" value="20.00">
<input type="hidden" name="item_name" value="rEFInd Boot Manager">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</td>
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" value="rEFInd Boot Manager">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</td></tr>
</table>
<ul>
- <li>The support for booting legacy (BIOS) OSes on UEFI-based PCs
- currently has a number of limitations. Most importantly, it works
- off of the list of boot devices stored in the computer's NVRAM. I'd
- prefer to have it scan disks and partitions, as the Mac's legacy
- boot support does. Also, the UEFI legacy boot code presents empty
- optical drives and uses generic icons rather than OS-specific
- icons.</li>
+ <li>As described in reference to version 0.9.2 on the <a
+ href="revisions.html">Revisions</a> page, rEFInd includes a
+ delicate and hackish workaround to a problem introduced by Shim
+ 0.8. Developing a better solution to that problem is a high
+ priority.</li>
- <li>Currently, rEFInd can detect whether it's compiled for <i>x</i>86
- or <i>x</i>86-64 systems and displays this information in its
- "About" screen (<tt>AboutrEFInd()</tt> in <tt>main.c</tt>). I'd
- like to add detection for Itanium and ARM systems, but I have no
- way to test such changes.</li>
+ <li>rEFInd's <tt>Makefile</tt>s and, to a lesser extent, C code,
+ support <i>x</i>86, <i>x</i>86-64, and ARM64 CPUs. EFI is also
+ available for Itanium (IA-64) and ARM32 CPUs, so I'd like to add
+ this support.</li>
+
+ <li>Currently, rEFInd can detect whether it's compiled for <i>x</i>86,
+ <i>x</i>86-64, or ARM64 systems and displays this information in
+ its "About" screen (<tt>AboutrEFInd()</tt> in <tt>main.c</tt>). I'd
+ like to add detection for Itanium and 32-bit ARM systems, but I
+ have no way to test such changes.</li>
<li>Further to the preceding, rEFInd's GPT-scanning code (used to
extract partition names) includes assumptions about byte order, and
probably require identifying unique features of each version's boot
loader files or boot sector code.</li>
+ <li>The support for booting legacy (BIOS) OSes on UEFI-based PCs
+ currently has a number of limitations. Most importantly, it works
+ off of the list of boot devices stored in the computer's NVRAM. I'd
+ prefer to have it scan disks and partitions, as the Mac's legacy
+ boot support does. Also, the UEFI legacy boot code presents empty
+ optical drives and uses generic icons rather than OS-specific icons.
+ This said, BIOS support is becoming increasingly unimportant as the
+ transition from BIOS to EFI continues, so I'm unlikely to put effort
+ into this issue myself.</li>
+
</ul></li> <!-- Improvements -->
<li><b>Known bugs that need squashing:</b>
removing rEFInd's drivers has caused the problem to go into
remission.</li>
- <li>The <a href="http://www.rodsbooks.com/gb-hybrid-efi/">Gigabyte
- Hybrid EFI</a> has a bug that causes the allegedly case-insensitive
+ <li>Another Mac-specific display problem relates to "retina" displays:
+ Some users report that rEFInd comes up in a lower resolution than
+ the screen supports, and that this setting persists into the running
+ OS X instance, and can't be adjusted using the usual OS X means.
+ Unfortunately, I lack the hardware necessary to experiment and find
+ a solution to this problem within rEFInd. Thus, a fix will have to
+ wait for me to get my hands on such hardware (which is not on my
+ immediate purchase list) or until somebody with such hardware and
+ the necessary skills submits a fix. (Note that a fix could
+ conceivably involve passing options to the OS X boot loader or
+ something else that would require trivial or no changes to
+ rEFInd.)</li>
+
+ <li>Some EFIs have bugs that cause the allegedly case-insensitive
<tt>StriCmp()</tt> function to perform a case-sensitive comparison.
This causes any number of bugs in file matching. For instance:
Changing the case of icon filename extensions (or various other
"generic" ones; and rEFInd sometimes appears in its own menu (the
firmware sometimes returns an all-caps version of the filename, but
other times returns the filename with the correct case, causing a
- mismatch if the path includes lowercase elements). Some of these
- problems can be overcome by converting both strings to be compared
- to one case before doing the comparison, but others aren't so easy,
- since I think <tt>StriCmp()</tt> is being called internally to the
- EFI. In any event, it'd be nice to fix some of these problems.
- OTOH, this is a workaround for a bug on just one EFI
- implementation, and a dismal one at that, so I'm inclined to just
- let it go.</li>
+ mismatch if the path includes lowercase elements). This problem is
+ worse when compiling rEFInd with GNU-EFI than with Tianocore.
+ Version 0.9.1 has made improvements on this score, but some issues
+ may continue to lurk.</li>
<li>The Shutdown option works correctly on Macs, but not on many UEFI-based
PCs. On such systems, Shutdown reboots the computer. This should be
<ul>
- <li>There's currently no way to create a manual boot stanza for a
- BIOS-booted OS. This isn't a big priority for me personally, but I
- can see how it could be for some people.</li>
+ <li>Currently, debugging rEFInd requires adding <tt>Print()</tt>
+ statements to the code. Adding a logging facility that supports
+ multiple log levels and writes the output to a file would help with
+ debugging, especially when dealing with problem reports from
+ users.</li>
<li>I'd like to find a way to enable users to enter customizations for
boot options and then save them to the <tt>refind.conf</tt> file.
detected boot programs and create a set of manual boot stanzas for
them, so that they can be modified manually.</li>
- <li>Support for touchscreens and/or configurable buttons for rEFInd's
- actions would enable use of rEFInd on tablet computers that lack
- complete keyboards.</li>
+ <li>Better support for touchscreens and/or configurable buttons for
+ rEFInd's actions would enable use of rEFInd on tablet computers that
+ lack complete keyboards. (Version 0.10.4 supports <i>some</i>
+ touchscreens, but this feature relies on support in the firmware,
+ which is not universally present.)</li>
<li>The ability to rotate the display for users who rotate their
monitors or who use tablets would be helpful.</li>
GUI toolkit, so that a single code base can be used on any of the
major OSes.</li>
+ <li>The ability to produce audio output (at least a simple "beep") to signal
+ to visually impaired users when rEFInd is ready to accept input would be
+ helpful.</li>
+
+ <li>There's currently no way to create a manual boot stanza for a
+ BIOS-booted OS. This isn't a big priority for me personally, but I
+ can see how it could be for some people.</li>
+
</ul></li> <!-- New features -->
<li><b>Improvements to the EFI drivers:</b>
</ul></li> <!-- Drivers -->
-<li><b>Improvements to <tt>gptsync</tt>, <tt>install.sh</tt>, or other
+<li><b>Improvements to <tt>gptsync</tt>, <tt>refind-install</tt>, or other
support tools:</b>
<ul>
<hr />
-<p>copyright © 2012–2015 by Roderick W. Smith</p>
+<p>copyright © 2012–2016 by Roderick W. Smith</p>
<p>This document is licensed under the terms of the <a href="FDL-1.3.txt">GNU Free Documentation License (FDL), version 1.3.</a></p>