DS-1 Posted February 14, 2018 Share Posted February 14, 2018 I think you've read this question tons of times, but...does mouse work in Clover boot screen?On my main system (the one with Asus P8Z77-v LX2 with UEFI bios), a optical Logitech USB wired mouse is stuck on the Clover boot screen. It moves only if I click on the left button!!! Now I have it connected to a USB 3.0 port, but I've tried it also on a USB 2.0 port without success... Link to comment Share on other sites More sharing options...
chris1111 Posted February 14, 2018 Share Posted February 14, 2018 I think you've read this question tons of times, but...does mouse work in Clover boot screen? On my main system (the one with Asus P8Z77-v LX2 with UEFI bios), a optical Logitech USB wired mouse is stuck on the Clover boot screen. It moves only if I click on the left button!!! Now I have it connected to a USB 3.0 port, but I've tried it also on a USB 2.0 port without success... config.plist <key>Mouse</key> <dict> <key>DoubleClick</key> <integer>500</integer> <key>Enabled</key> <true/> <key>Mirror</key> <false/> <key>Speed</key> <integer>8</integer> </dict> 1 Link to comment Share on other sites More sharing options...
Gigamaxx Posted February 14, 2018 Share Posted February 14, 2018 It might be in your ESP. I think your correct, I was using apfs mode. I was able to finally get a decent prelinkedkernel generated with a fresh install and I didn't sign into Apple during install. I'm in HFS+J and its working well with several reboots and no more error. APFS wants to load all your preferences for safari etc and photos etc.. it must have been in the ESp and transferred to the prelim ned kernel. I'm happily in 13.4 beta 2 with my Ryzen 1700 thanks for the reply about the ESP. The odd thing is that it doesn't happen in 13.3 just 13.4 with the new kernel security measures and file sharing. Link to comment Share on other sites More sharing options...
LockDown Posted February 14, 2018 Share Posted February 14, 2018 building clover prompts me that i need Java. Should i install it? Link to comment Share on other sites More sharing options...
Slice Posted February 14, 2018 Share Posted February 14, 2018 building clover prompts me that i need Java. Should i install it? This should not happen. Meanwhile I have java. Link to comment Share on other sites More sharing options...
Shaneee Posted February 14, 2018 Share Posted February 14, 2018 After getting update notification and rebooting with Clover 4411 I get this on system in signature. All was fine with 43xx. Can't remember the exact version. Sent from my ONEPLUS A5010 using Tapatalk Link to comment Share on other sites More sharing options...
apianti Posted February 14, 2018 Share Posted February 14, 2018 If you couldn't understand what I meant, then run it by your self This is the diff patch, try changing the LazyClover variable: Index: CloverPkg.dec =================================================================== --- CloverPkg.dec (revision 4415) +++ CloverPkg.dec (working copy) @@ -70,6 +70,8 @@ ## Include/Protocol/EmuVariableControl.h gEmuVariableControlProtocolGuid = {0x21f41e73, 0xd214, 0x4fcd, {0x85, 0x50, 0x0d, 0x11, 0x51, 0xcf, 0x8e, 0xfb }} + ## Include/Protocol/AppleKeyState.h + gAppleKeyStateProtocolGuid = {0x5b213447, 0x6e73, 0x4901, {0xa4, 0xf1, 0xb8, 0x64, 0xf3, 0xb7, 0xa1, 0x72}} #Apple's protocols gEfiConsoleControlProtocolGuid = {0xF42F7782, 0x012E, 0x4C12, {0x99, 0x56, 0x49, 0xF9, 0x43, 0x04, 0xF7, 0x21}} Index: Include/Protocol/AppleKeyAggregator.h =================================================================== --- Include/Protocol/AppleKeyAggregator.h (revision 4415) +++ Include/Protocol/AppleKeyAggregator.h (working copy) @@ -5,7 +5,8 @@ // Created by Slice on 26.10.16. // based on CupertinoNet // - +#include <Protocol/AppleKeyState.h> +#include <Protocol/AppleKeyMapDatabase.h> #ifndef _AppleKeyMapAggregator_h #define _AppleKeyMapAggregator_h Index: Protocols/AppleKeyAggregator/AppleKeyAggregator.c =================================================================== --- Protocols/AppleKeyAggregator/AppleKeyAggregator.c (revision 4415) +++ Protocols/AppleKeyAggregator/AppleKeyAggregator.c (working copy) @@ -19,7 +19,7 @@ #include <Protocol/AppleKeyState.h> #include <Protocol/AppleKeyMapDatabase.h> -#include "AppleKeyAggregator.h" +#include <Protocol/AppleKeyAggregator.h> // KeyMapGetKeyStrokesByIndex APPLE_KEY_STROKES_INFO * Index: Protocols/AppleKeyAggregator/AppleKeyAggregator.h =================================================================== --- Protocols/AppleKeyAggregator/AppleKeyAggregator.h (revision 4415) +++ Protocols/AppleKeyAggregator/AppleKeyAggregator.h (nonexistent) @@ -1,81 +0,0 @@ -// -// AppleKeyMapAggregator.h -// -// -// Created by Slice on 26.10.16. -// based on CupertinoNet -// - -#ifndef _AppleKeyMapAggregator_h -#define _AppleKeyMapAggregator_h - -#define APPLE_KEY_MAP_PROTOCOLS_REVISION 0x010000 -#define APPLE_KEY_MAP_AGGREGATOR_SIGNATURE SIGNATURE_32 ('K', 'e', 'y', 'A') - -#define APPLE_KEY_STROKES_INFO_SIGNATURE SIGNATURE_32 ('K', 'e', 'y', 'S') - -#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_AGGREGATOR(This) \ - CR ( \ - (This), \ - APPLE_KEY_MAP_AGGREGATOR, \ - AggregatorProtocol, \ - APPLE_KEY_MAP_AGGREGATOR_SIGNATURE \ - ) - -#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_DATABASE(This) \ - CR ( \ - (This), \ - APPLE_KEY_MAP_AGGREGATOR, \ - DatabaseProtocol, \ - APPLE_KEY_MAP_AGGREGATOR_SIGNATURE \ - ) - -#define APPLE_KEY_STROKES_INFO_FROM_LIST_ENTRY(Entry) \ -((APPLE_KEY_STROKES_INFO *)( \ - CR ( \ - (Entry), \ - APPLE_KEY_STROKES_INFO_HDR, \ - This, \ - APPLE_KEY_STROKES_INFO_SIGNATURE \ - ) \ -)) -/* -typedef struct _EFI_LIST_ENTRY { - struct _EFI_LIST_ENTRY *ForwardLink; - struct _EFI_LIST_ENTRY *BackLink; -} EFI_LIST_ENTRY; - -typedef EFI_LIST_ENTRY EFI_LIST; -*/ - -// APPLE_KEY_STROKES_INFO_HDR -typedef struct { - UINTN Signature; ///< - LIST_ENTRY This; ///< - UINTN Index; ///< - UINTN KeyBufferSize; ///< - UINTN NumberOfKeys; ///< - APPLE_MODIFIER_MAP Modifiers; ///< -} APPLE_KEY_STROKES_INFO_HDR; - -// APPLE_KEY_STROKES_INFO -typedef struct { - APPLE_KEY_STROKES_INFO_HDR Hdr; ///< - APPLE_KEY Keys; ///< -} APPLE_KEY_STROKES_INFO; - - -// APPLE_KEY_MAP_AGGREGATOR -typedef struct { - UINTN Signature; ///<0 - UINTN NextKeyStrokeIndex; ///<0x08 - APPLE_KEY *KeyBuffer; ///<0x10 - UINTN KeyBuffersSize; ///<0x18 - LIST_ENTRY KeyStrokesInfoList; ///<0x20 - APPLE_KEY_MAP_DATABASE_PROTOCOL DatabaseProtocol; ///<0x30 size=8*4 - APPLE_KEY_STATE_PROTOCOL AggregatorProtocol; ///<0x50 size=8*3 -} APPLE_KEY_MAP_AGGREGATOR; //size=0x68 - - - -#endif Index: Xcode/Clover/Clover.xcodeproj/project.pbxproj =================================================================== --- Xcode/Clover/Clover.xcodeproj/project.pbxproj (revision 4415) +++ Xcode/Clover/Clover.xcodeproj/project.pbxproj (working copy) @@ -1208,7 +1208,6 @@ isa = PBXGroup; children = ( 12AAF5F21DC0F03B00A52B12 /* AppleKeyAggregator.c */, - 12AAF5F31DC0F03B00A52B12 /* AppleKeyAggregator.h */, 12AAF5F41DC0F03B00A52B12 /* AppleKeyAggregator.inf */, ); path = AppleKeyAggregator; @@ -2744,6 +2743,7 @@ 2C794ADC1A0AA85900D845B0 /* Protocol */ = { isa = PBXGroup; children = ( + 12AAF5F31DC0F03B00A52B12 /* AppleKeyAggregator.h */, 2C794AD21A0AA85900D845B0 /* AppleDeviceControl.h */, 2C794AD31A0AA85900D845B0 /* AppleDiskIo.h */, 12AAF5171DBE28B800A52B12 /* AppleEvent.h */, Index: rEFIt_UEFI/Platform/Platform.h =================================================================== --- rEFIt_UEFI/Platform/Platform.h (revision 4415) +++ rEFIt_UEFI/Platform/Platform.h (working copy) @@ -65,6 +65,7 @@ #include <Protocol/EmuVariableControl.h> #include <Protocol/AppleSMC.h> #include <Protocol/AppleImageCodecProtocol.h> +#include <Protocol/AppleKeyAggregator.h> #include "../refit/lib.h" #include "string.h" Index: rEFIt_UEFI/refit/main.c =================================================================== --- rEFIt_UEFI/refit/main.c (revision 4415) +++ rEFIt_UEFI/refit/main.c (working copy) @@ -39,7 +39,6 @@ //#include "../include/Handle.h" #include "Version.h" - #ifndef DEBUG_ALL #define DEBUG_MAIN 1 #else @@ -84,6 +83,8 @@ EMU_VARIABLE_CONTROL_PROTOCOL *gEmuVariableControl = NULL; +APPLE_KEY_STATE_PROTOCOL *gAppleKeyState=NULL; + extern VOID HelpRefit(VOID); extern VOID AboutRefit(VOID); extern BOOLEAN BooterPatch(IN UINT8 *BooterData, IN UINT64 BooterSize, LOADER_ENTRY *Entry); @@ -1868,7 +1869,6 @@ RecIter++; } } - // // main entry point // @@ -1897,7 +1897,10 @@ EFI_TIME Now; BOOLEAN HaveDefaultVolume; CHAR16 *FirstMessage; - + APPLE_MODIFIER_MAP ModifyFlags; + UINTN PressedKeyCount; + APPLE_KEY *Keys=NULL; + BOOLEAN LazyClover=TRUE; // CHAR16 *InputBuffer; //, *Y; // EFI_INPUT_KEY Key; @@ -1908,7 +1911,7 @@ // get TSC freq and init MemLog if needed gCPUStructure.TSCCalibr = GetMemLogTscTicksPerSecond(); //ticks for 1second //GlobalConfig.TextOnly = TRUE; - + // bootstrap gST = SystemTable; gImageHandle = ImageHandle; @@ -2126,8 +2129,29 @@ //DBG("LoadDrivers() start\n"); LoadDrivers(); - //DBG("LoadDrivers() end\n"); - + //DBG("LoadDrivers() end\n"); + //If Clover is too lazy, he will let boot.efi handle the stuff + if(!LazyClover){ + Status=gBS->LocateProtocol(&gAppleKeyStateProtocolGuid,NULL,(VOID**)&gAppleKeyState); + if(EFI_ERROR(Status)) + { + gAppleKeyState=NULL; + } + if(Status==EFI_SUCCESS) + { + DBG("Protocol Located!\n"); + Status=gAppleKeyState->ReadKeyState(gAppleKeyState,&ModifyFlags,&PressedKeyCount,Keys); + if(Status==EFI_SUCCESS) + { + DBG("ReadKeyState Succeesful\n"); + DBG("PressedKeyCount:%d!\n",PressedKeyCount); + for(i=0;i<PressedKeyCount;i++) + { + DBG("Keys:",Keys[i],"\n"); + } + } + }} + /* if (!gFirmwareClover && !gDriversFlags.EmuVariableLoaded) { GetSmcKeys(FALSE); // later we can get here SMC information Index: rEFIt_UEFI/refit.inf =================================================================== --- rEFIt_UEFI/refit.inf (revision 4415) +++ rEFIt_UEFI/refit.inf (working copy) @@ -251,7 +251,7 @@ gMsgLogProtocolGuid gEfiPlatformDriverOverrideProtocolGuid gEmuVariableControlProtocolGuid - + gAppleKeyStateProtocolGuid [FeaturePcd] gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport This patch breaks the build, it does not work... Also it's not what needs to be done. You only need to check if there are any keys at all, if not whatever, if there are then you need to check if the auto launched entry is boot.efi. If it is not boot.efi, show the GUI, if it is boot.efi, check that the key presses aren't combinations passed to boot.efi and if so show the GUI, otherwise just continue booting automatically. sure, posting the same exactly stuff will not make sense otherwise. 17E150g? I have 17E151f ?? Downloaded from the developer center one week ago. EDIT WTH, downloaded/installed the beta on a secondary hack the same way and it show 17E150g like you. just logged now , what's going on? ..going to sleep Sometimes you get earlier releases just because of some magic when you go straight to the download in apple dev. I imagine that it is a build that was already set for release and they put it up had problems and pulled it. Since the update channel is usually behind the developer previews straight from apple site. After getting update notification and rebooting with Clover 4411 I get this on system in signature. All was fine with 43xx. Can't remember the exact version. Sent from my ONEPLUS A5010 using Tapatalk That is a general protection fault, meaning memory was accessed outside of where it was allowed. Depending on when exactly it happened, changes the causes. Just go backwards until you find the revision that works, that will be easier to trace down the issue. Link to comment Share on other sites More sharing options...
DS-1 Posted February 14, 2018 Share Posted February 14, 2018 config.plist <key>Mouse</key> <dict> <key>DoubleClick</key> <integer>500</integer> <key>Enabled</key> <true/> <key>Mirror</key> <false/> <key>Speed</key> <integer>8</integer> </dict> Already have this in my config.plist. Unfortunately it doesn't move! Link to comment Share on other sites More sharing options...
apianti Posted February 14, 2018 Share Posted February 14, 2018 Already have this in my config.plist. Unfortunately it doesn't move! Do you have a firmware that has GUI with mouse? Are you using any drivers for clover like the UsbMouse? Link to comment Share on other sites More sharing options...
Shaneee Posted February 14, 2018 Share Posted February 14, 2018 That is a general protection fault, meaning memory was accessed outside of where it was allowed. Depending on when exactly it happened, changes the causes. Just go backwards until you find the revision that works, that will be easier to trace down the issue. Yeah I went back to 4392 as I had before after booting with my recovery USB. Link to comment Share on other sites More sharing options...
DS-1 Posted February 14, 2018 Share Posted February 14, 2018 Do you have a firmware that has GUI with mouse? Are you using any drivers for clover like the UsbMouse? I've tried with and without UsbMouse, but nothing changes: the pointer moves only if I press repeatedly the left button. What do you mean for "firmware that has GUI with mouse"? Link to comment Share on other sites More sharing options...
Cyberdevs Posted February 14, 2018 Share Posted February 14, 2018 I've tried with and without UsbMouse, but nothing changes: the pointer moves only if I press repeatedly the left button. What do you mean for "firmware that has GUI with mouse"? @apianti I have the exact same problem. I've had this issue since macOS Sierra 10.12 and up to 10.13.3 I have to click on the menu bar when the OS is loaded to get the pointer to show or I have to disable the automatic login and after I log in the mouse works just fine. I have the mouse support in the UEFI and the Clover's GUI. I'm not using the UsbMouseDxe though. Update: I added the UsbMouseDxe-64.efi to the "drivers64UEFI" folder and the problem was solved. Thanks @apianti for the tip it solved an issue that I had for so long The wierd discovery: After couple of reboots, I discovered when I use the keyboard in the clover's GUI, for instance when I press return to boot into macOS, when the os is loaded I lose the mouse pointer, but if I let the clover automatically load the OS the mouse pointer is showing like it's suppose to. Why is that? I tried the UsbKBbDXE-64 as well but there was no difference the same thing happens. Link to comment Share on other sites More sharing options...
DS-1 Posted February 14, 2018 Share Posted February 14, 2018 @apianti I have the exact same problem. I've had this issue since macOS Sierra 10.12 and up to 10.13.3 I have to click on the menu bar when the OS is loaded to get the pointer to show or I have to disable the automatic login and after I log in the mouse works just fine. I have the mouse support in the UEFI and the Clover's GUI. I'm not using the UsbMouseDxe though. Update: I added the UsbMouseDxe-64.efi to the "drivers64UEFI" folder and the problem was solved. Thanks @apianti for the tip it solved an issue that I had for so long The wierd discovery: After couple of reboots, I discovered when I use the keyboard in the clover's GUI, for instance when I press return to boot into macOS, when the os is loaded I lose the mouse pointer, but if I let the clover automatically load the OS the mouse pointer is showing like it's suppose to. Why is that? I tried the UsbKBbDXE-64 as well but there was no difference the same thing happens. I have mouse issues only in the Clover GUI, while in the OS it works without problems. 1 Link to comment Share on other sites More sharing options...
Cyberdevs Posted February 14, 2018 Share Posted February 14, 2018 I have mouse issues only in the Clover GUI, while in the OS it works without problems. Opps, I misunderstood your problem. My bad! Link to comment Share on other sites More sharing options...
DS-1 Posted February 14, 2018 Share Posted February 14, 2018 Opps, I misunderstood your problem. My bad! Link to comment Share on other sites More sharing options...
Matgen84 Posted February 15, 2018 Share Posted February 15, 2018 Hi On Sourceforge, code repositories are not currently available since yesterday. So, I can't see commits. Did you have the same issue? Link to comment Share on other sites More sharing options...
DS-1 Posted February 15, 2018 Share Posted February 15, 2018 Hi On Sourceforge, code repositories are not currently available since yesterday. So, I can't see commits. Did you have the same issue? Now it should works. Link to comment Share on other sites More sharing options...
MakAsus Posted February 15, 2018 Share Posted February 15, 2018 I have mouse issues only in the Clover GUI, while in the OS it works without problems. I have a very similar motherboard, and the similar mouse. It did not react in the Clover GUI, until I put AptioInputFix.efi in the folder /CLOVER/drivers64UEFI. Now everything is working properly. At the same time, I switched to AptioMemoryFix.efi and have got a fully working nvram without EmuVariableUefi-64.efi and refused scripts. 1 Link to comment Share on other sites More sharing options...
LockDown Posted February 15, 2018 Share Posted February 15, 2018 Hi In Clover legacy, it has builtin emuvariable. Does it still need the RC script? Link to comment Share on other sites More sharing options...
Slice Posted February 15, 2018 Share Posted February 15, 2018 Hi In Clover legacy, it has builtin emuvariable. Does it still need the RC script? Yes. Link to comment Share on other sites More sharing options...
Trung_Nguyen Posted February 15, 2018 Share Posted February 15, 2018 This patch breaks the build, it does not work... Also it's not what needs to be done. You only need to check if there are any keys at all, if not whatever, if there are then you need to check if the auto launched entry is boot.efi. If it is not boot.efi, show the GUI, if it is boot.efi, check that the key presses aren't combinations passed to boot.efi and if so show the GUI, otherwise just continue booting automatically. Sometimes you get earlier releases just because of some magic when you go straight to the download in apple dev. I imagine that it is a build that was already set for release and they put it up had problems and pulled it. Since the update channel is usually behind the developer previews straight from apple site. That is a general protection fault, meaning memory was accessed outside of where it was allowed. Depending on when exactly it happened, changes the causes. Just go backwards until you find the revision that works, that will be easier to trace down the issue. Currently, I'm working to make all Apple Boot Keys works(for AMI Aptio boards, at least for laptops) even the alt key. Trying to make the AptioInputFix more useful , attempt to make it to sent modifier key like Alt for GUI, Shift for Safe Mode. 1 Link to comment Share on other sites More sharing options...
Matgen84 Posted February 15, 2018 Share Posted February 15, 2018 Now it should works. Sorry but it works partially. Code/commits and themes section don't work. https://twitter.com/sfnet_ops Link to comment Share on other sites More sharing options...
TheBloke Posted February 15, 2018 Share Posted February 15, 2018 Hi all Is it at all possible to boot Clover and macOS from an LSI SAS/SATA adapter, on a system without UEFI (using Legacy Boot)? I'm running 10.13.3 with latest Clover (4411). I'm installed on an SSD so I am using APFS. My motherboard is Gigabyte GA-X58A-UD3R, which does not have UEFI. My LSI card is an LSI 9201-8i, which uses the 2008 controller chip and has latest firmware (v20). I have this working in my macOS 10.13.3 installation using Astek drivers installed in EFI/CLOVER/kexts/Other. Once booted, I can see and use drives attached to this controller. But if possible I would like to move my main SSD to this controller and boot from it, so that I'm not using onboard SATA at all. I've tried two things: 1. I attached my macOS/Clover SSD to the LSI and set it first in the boot order. Clover started to load (I saw the cursor at top left, and then the number 6 briefly appears), but it then went to the "BIOS-like" interface where Continue is the first option, which the Clover Wiki describes as "This means that the boot file was successfully loaded and is working but it cannot find the file CloverX64.efi." 2. I also tried a new Clover install onto a USB drive. This loads Clover OK, but drives installed on the LSI don't appear in the selection. I suppose this is probably predictable - Clover can't read from the LSI controller without drivers, which don't exist. However, I know other people are booting from RAID arrays on LSI MegaRAID cards. But perhaps they can only do that if they have EFI support? (Although the posts I've seen mentioning RAID boot are a year or two old, back on 10.11 and 10.12 and before APFS, and maybe that's changing something.) Also I am able to boot other OS' direct from the LSI - Windows, Linux, etc. Windows I have confirmed I can fully boot to from the LSI, even though I originally installed it on the onboard SATA. But I suppose Clover and macOS must be a bit different, perhaps because of the need to fake EFI. I'm sorry that I don't really understand the technical details of these boot loaders yet, though I am trying to learn more. But I can imagine the Clover bootloader must be more complex than the basic one used to launch Windows, or Grub in Linux etc. Is there any way to get this to work? I suppose worst case I could have the main OS installed on a small SSD on my onboard SATA, then move /Users to the main SSD on the LSI. But it'd be nice if I could just use the LSI controller and not need to split my macOS install over two SSDs. Thanks in advance. PS. in case it's of any importance, I've noticed that since I installed the LSI controller, I always see the number '6' in the top left of the screen just before the Clover GUI appears. I saw in the FAQ that a '7' means problems, but I don't know what '6' means. This happens regardless of how I boot Clover - from onboard SATA; from USB; and from a (failed) attempt to boot direct from the LSI. Link to comment Share on other sites More sharing options...
Slice Posted February 15, 2018 Share Posted February 15, 2018 @TheBloke Installing Clover you may choose SATA driver or BiosBlockIO. In the first case you will see 6 on the screen. In the second case 7. I may propose that for LSI controller you need 7. 1 Link to comment Share on other sites More sharing options...
apianti Posted February 15, 2018 Share Posted February 15, 2018 Hi On Sourceforge, code repositories are not currently available since yesterday. So, I can't see commits. Did you have the same issue? Sourceforge is migrating servers so it will be down intermittently. Currently, I'm working to make all Apple Boot Keys works(for AMI Aptio boards, at least for laptops) even the alt key. Trying to make the AptioInputFix more useful , attempt to make it to sent modifier key like Alt for GUI, Shift for Safe Mode. I think you may be misguided. I am unsure what you are doing or trying to do but it doesn't really make a lot of sense. Or at least your explanation of it..... 2 Link to comment Share on other sites More sharing options...
Recommended Posts