ryanrudolfoba / SteamDeck-Clover-dualboot

Script to install Clover - a graphical boot manager for the Steam Deck.
https://www.youtube.com/watch?v=HDnxOw6j3EY&t=975s
447 stars 26 forks source link

No Clover menu with Batocera v39 (beta) due to Secure Boot compatibility enhancements #44

Closed joerg-knitter closed 7 months ago

joerg-knitter commented 8 months ago

Since I already have a Steam Deck OLED, I started testing this new hardware with Batocera v39, because only with this version and up, you are going to get working WLAN, Bluetooth and audio drivers.

However, when testing v39, I recognized, that everytime I boot up Batocera, a "Boot Option Restoration" screen is being shown that "fixes" the boot process. So in all subsequent reboots, Batocera is booted directly, without showing the Clover boot menu anymore. If you don´t know the efi boot trick with Power & + , you are stuck with Batocera. See https://www.youtube.com/watch?v=nLl5NW3GvrQ as an example.

The reason for this is, that a new boot process is being introduced with Batocera v39 that adds Secure Boot compatibility enhancements - see https://wiki.batocera.org/secureboot. This results in a change of the boot order on every Batocera start-up, with Batocera always getting the first place.

Please see https://github.com/batocera-linux/batocera.linux/issues/10493 and especially the summarizing comment by n2qz at https://github.com/batocera-linux/batocera.linux/issues/10493#issuecomment-1858483041 who helped me a lot on this topic investigating this problem.

There is a manual fix I was told by n2qz that worked for me - see https://github.com/batocera-linux/batocera.linux/issues/10493#issuecomment-1846244311

Do you see any way to adjust your script, maybe checking the Batocera version upon installation of Clover, or any other solution to avoid this manual editing?

Thanks a lot in advance!

ryanrudolfoba commented 8 months ago

This is useful info. I have an OLED too and my v38 batocera sdcard doesn't work properly on OLED. I wanted to try v39 but haven't had the chance to do it yet. Gonna poke around the next few days.

joerg-knitter commented 8 months ago

I just updated to the current beta (2023-12-15) and can confirm that the drivers now really work out-of-the-box on Steam Deck OLED (before, I used a special development build from 2023-12-02). More details at: https://github.com/batocera-linux/batocera.linux/issues/10478.

ryanrudolfoba commented 8 months ago

Yes i pulled the latest beta and it seems to work on the current script without issues. I also tried the recommendation to load it via esp\batocera\grubx64.efi and that works fine too. I'll push an updated config tomorrow

ryanrudolfoba commented 8 months ago

config.plist updated. It works although I think v39 is quite buggy sometimes it hangs on a blank screen for me with / without clover.

joerg-knitter commented 8 months ago

Great, thanks a lot. It also happened to me that I got a black screen, also in SteamOS when switching from desktop mode to game mode - as long as you know that you have to keep the power button pressed, no problem... ;)

EDIT: I just saw that you in fact just changed the EFI file in the Batocera config section. In the ticket of the Batocera project, n2qz meant that simply changing the EFI file in the config will break the compatibility to Batocera <v39 if I understood him right. That´s why I meant above that the Batocera version might have to be checked.

XtremerPT commented 8 months ago

Has anyone tried installing Batocera 39 on an External HDD? I have installed the same version on MicroSD and HDD, the MicroSD boot on the Steam Deck Oled with no problem but the HDD is not booting. Makes no sense to me maybe is something the the hardware of the Steam Deck Oled that is blocking boot from HDD?

ryanrudolfoba commented 8 months ago

Has anyone tried installing Batocera 39 on an External HDD? I have installed the same version on MicroSD and HDD, the MicroSD boot on the Steam Deck Oled with no problem but the HDD is not booting. Makes no sense to me maybe is something the the hardware of the Steam Deck Oled that is blocking boot from HDD?

i've tried Batocera v38 on an external HDD and it works ok on my LCD. Havent tried v39 on external HDD

joerg-knitter commented 8 months ago

Apparently, you reverted the changes. Just temporarily until v39 final is out? Or are you working on a fix that supports both, Batocera below v39 and newer?

ryanrudolfoba commented 7 months ago

ive pushed a minor change to easily change the config between v39 or v39.

by default its at v38 (since v38 is the stable one). if you want to change to v39 config just launch Clover Toolbox -

Select Batocera image

Select v39 or v38 image

Config will be updated based on user selection - image

image