Jump to content

2,089 posts in this topic

Recommended Posts

10 minutes ago, Rodion2010 said:

 

FakeSMC built with 10.14 SDK does not work in Sierra

The same built with 10.10...10.11 SDK works for any OS (Mavericks ... Mojave)

not sure about very old OSes

Is kextload complain about any? (e.g. running a plugin built in Mojave)

Share this post


Link to post
Share on other sites
Advertisement
42 minutes ago, vector sigma said:

Is kextload complain about any? (e.g. running a plugin built in Mojave)

kextload - just failed to load

here is more detailed  kexlibs output

7 symbols not found in any library kext:

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice1Ev

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice0Ev

__ZN16IOPlatformDevice13matchLocationEP9IOService

___memmove_chk

__ZN9IODTNVRAM9metaClassE

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice3Ev

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice2Ev

Share this post


Link to post
Share on other sites
18 hours ago, vector sigma said:

Vega cards aren't the problem, but egpus are apparently. Unfortunately, lately I have little time for this, also a apfs corruption happens here so I lost some files. Anyway before cristmass I do a test code without implementing it in any app, but you can run in this command line:

 

vclist.zip

 

run it and post the Terminal output.... hoping for :) 

 

----------------------------------------------------
vclist (vector sigma 2018), found 2 graphics cards!
----------------------------------------------------
Model               = Radeon RX Vega 64
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c1000000>
subsystem ID        = <7fe30000>
sub system VendorID = <a21d0000>


Device Utilization  = 0%
Total Power         = 10 Watts
Temperature         = 35°
Fan Speed           = 0 RPM
Fan Speed           = 40%
vram Used           = 61300736 bytes
vram Free           = 2120420800 bytes
----------------------------------------------------
Model               = Radeon Vega Frontier Edition
vendor ID           = <02100000>
vendor ID           = <63680000>
revision ID         = <00000000>
subsystem ID        = <766b0000>
sub system VendorID = <02100000>


Device Utilization  = 0%
Total Power         = 7 Watts
Temperature         = 18°
Fan Speed           = 2011 RPM
Fan Speed           = 41%
vram Used           = 4063232 bytes
vram Free           = 16935099840 bytes

 

Share this post


Link to post
Share on other sites
15 minutes ago, losinka said:

 


----------------------------------------------------
vclist (vector sigma 2018), found 2 graphics cards!
----------------------------------------------------
Model               = Radeon RX Vega 64
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c1000000>
subsystem ID        = <7fe30000>
sub system VendorID = <a21d0000>


Device Utilization  = 0%
Total Power         = 10 Watts
Temperature         = 35°
Fan Speed           = 0 RPM
Fan Speed           = 40%
vram Used           = 61300736 bytes
vram Free           = 2120420800 bytes
----------------------------------------------------
Model               = Radeon Vega Frontier Edition
vendor ID           = <02100000>
vendor ID           = <63680000>
revision ID         = <00000000>
subsystem ID        = <766b0000>
sub system VendorID = <02100000>


Device Utilization  = 0%
Total Power         = 7 Watts
Temperature         = 18°
Fan Speed           = 2011 RPM
Fan Speed           = 41%
vram Used           = 4063232 bytes
vram Free           = 16935099840 bytes

 

So we have the code :thumbsup_anim:. I hope to have time this weekend to implement this change also because require a total refactoring of what already exist.

Wait, you don't have an IGPU?

Share this post


Link to post
Share on other sites
5 minutes ago, vector sigma said:

So we have the code :thumbsup_anim:. I hope to have time this weekend to implement this change also because require a total refactoring of what already exist.

Thank you!

 

5 minutes ago, vector sigma said:

Wait, you don't have an IGPU?

now I have :) (0-connector)

Edited by losinka

Share this post


Link to post
Share on other sites
23 minutes ago, losinka said:

Thank you!

 

now I have :)

vclist actually exclude anything that doesn't have a class-code other than 00000300 and I didn't remember what I do in HWMonitorSMC2, but I think the IGPU has another one, why is not listed.

 

 

23 minutes ago, losinka said:

now I have :) (0-connector)

should be there anyway, check your class-code

Edited by vector sigma

Share this post


Link to post
Share on other sites
17 minutes ago, vector sigma said:

vclist actually exclude any doesn't have a class-code other than 00000300 and I didn't remember what I do in HWMonitorSMC2, but I think the IGPU has another one, why is not listed.

should be there anyway, check your class-code

This?

iGPU_class-code.png

Share this post


Link to post
Share on other sites
7 minutes ago, vector sigma said:

@losinka run this: vocalist.zip

[losinka@imac]:~/Downloads$ ./vclist
----------------------------------------------------
vclist (vector sigma 2018), found 2 graphics cards!
----------------------------------------------------
Model               = Radeon RX Vega 64
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c1000000>
subsystem ID        = <7fe30000>
sub system VendorID = <a21d0000>


Device Utilization  = 1%
Total Power         = 12 Watts
Temperature         = 40°
Fan Speed           = 0 RPM
Fan Speed           = 36%
vram Used           = 52428800 bytes
vram Free           = 2997640640 bytes
----------------------------------------------------
Model               = Radeon Vega Frontier Edition
vendor ID           = <02100000>
vendor ID           = <63680000>
revision ID         = <00000000>
subsystem ID        = <766b0000>
sub system VendorID = <02100000>


Device Utilization  = 0%
Total Power         = 7 Watts
Temperature         = 20°
Fan Speed           = 1990 RPM
Fan Speed           = 40%
vram Used           = 13049856 bytes
vram Free           = 16934493632 bytes


[losinka@imac]:~/Downloads$

 

Nothing new. Or have I missed another vocalist.zip somewhere?

==========

 

Yes!

 

----------------------------------------------------
vclist (vector sigma 2018), found 3 graphics cards!
----------------------------------------------------
Model               = Intel HD Graphics 530
vendor ID           = <86800000>
vendor ID           = <12190000>
revision ID         = <06000000>
subsystem ID        = <00d00000>
sub system VendorID = <58140000>


Device Utilization  = 0%
vram Used           = 696320 bytes
vram Free           = 7515496448 bytes
----------------------------------------------------
Model               = Radeon RX Vega 64
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c1000000>
subsystem ID        = <7fe30000>
sub system VendorID = <a21d0000>


Device Utilization  = 0%
Total Power         = 10 Watts
Temperature         = 40°
Fan Speed           = 0 RPM
Fan Speed           = 36%
vram Used           = 66457600 bytes
vram Free           = 2625973696 bytes
----------------------------------------------------
Model               = Radeon Vega Frontier Edition
vendor ID           = <02100000>
vendor ID           = <63680000>
revision ID         = <00000000>
subsystem ID        = <766b0000>
sub system VendorID = <02100000>


Device Utilization  = 0%
Total Power         = 7 Watts
Temperature         = 20°
Fan Speed           = 1994 RPM
Fan Speed           = 40%
vram Used           = 13049856 bytes
vram Free           = 16934493632 bytes

 

Edited by losinka

Share this post


Link to post
Share on other sites
12 minutes ago, losinka said:

Yes!

:yes:

 

EDIT:

12 minutes ago, losinka said:

Nothing new. Or have I missed another vocalist.zip somewhere?

I've deleted a post with a wrong attachment, and some seconds later I've uploaded a corrected one :angel_not:

Ok, after that I need to reimplement a more robust code to discover the Metal capability of the cards.

Edited by vector sigma

Share this post


Link to post
Share on other sites
18 hours ago, Rodion2010 said:

kextload - just failed to load

here is more detailed  kexlibs output

7 symbols not found in any library kext:

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice1Ev

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice0Ev

__ZN16IOPlatformDevice13matchLocationEP9IOService

___memmove_chk

__ZN9IODTNVRAM9metaClassE

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice3Ev

__ZN16IOPlatformDevice26_RESERVEDIOPlatformDevice2Ev

I don't have any legacy installation, but you can kindly try to edit the "OSBundleLibraries" dictionary inside the Info.plist of the FakeSMC built in Mojave with the strings coming with a FakeSMC built in Sierra? "com.apple.kpi.unsupported" version it is the main suspect...

 

EDIT

... or if is any version is the same (build issue), increase each old version that is actually 9.0.0 to a greater one like 11.0.0 or 12.0.0, like:

com.apple.kpi.iokit = 12.0.0

com.apple.kpi.libkern = 12.0.0

com.apple.kpi.mach = 12.0.0

com.apple.kpi.unsupported = 12.0.0

That in the Mojave kext.

 

P.S. com.apple.iokit.IOACPIFamily should be the same as not involved in the missing symbols.

Edited by vector sigma

Share this post


Link to post
Share on other sites
7 minutes ago, vector sigma said:

@losinka and all, I've just finished to rewrite the video cards detection with a simplified code but I need to see if is ok. In that program I've also added the "Metal" ability detection:

vclist.zip

 

Thanks in advance!

 

P.S. you can run the program in 10.9 +

vclist v1.0.2 (vector sigma 2018-2019), found 1 graphics card!
----------------------------------------------------
Model               = ASUS ROG STRIX OC Radeon RX Vega64
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c1000000>
subsystem ID        = <c4040000>
sub system VendorID = <43100000>


Device Utilization  = 1%
Total Power         = 15 Watts
Temperature         = 47°
Fan Speed           = 0 RPM
Fan Speed           = 39%
vram Used           = 48386048 bytes
vram Free           = 7905525184 bytes


Metal properties:
Max Threads Per Thread group = width 1024, height 1024, depth 1024
Max Thread group Memory Length = 65536
Recommended Max Working Set Size = 0xFF000000
Depth 24 Stencil 8 Pixel Format = true
Programmable Sample Positions = true
Read-Write Texture  = 1
Headless            = false
Is Low Power        = false
Removable           = false

 

Share this post


Link to post
Share on other sites
27 minutes ago, vector sigma said:

@losinka and all, I've just finished to rewrite the video cards detection with a simplified code but I need to see if is ok. In that program I've also added the "Metal" ability detection:

vclist.zip

 

Thanks in advance!

 

P.S. you can run the program in 10.9 +


 

vclist v1.0.2 (vector sigma 2018-2019), found 1 graphics card!
----------------------------------------------------
Model               = NVIDIA GeForce GTX 1080
vendor ID           = <de100000>
vendor ID           = <801b0000>
revision ID         = <a1000000>
subsystem ID        = <10000000>
sub system VendorID = <62140000>


Device Utilization  = 0%
vram Used           = 1554538496 bytes
vram Free           = 7035199488 bytes


Metal properties:
Max Threads Per Thread group = width 1024, height 1024, depth 64
Max Thread group Memory Length = 49152
Recommended Max Working Set Size = 0x0
Depth 24 Stencil 8 Pixel Format = true
Programmable Sample Positions = false
Read-Write Texture  = 1
Headless            = false
Is Low Power        = false
Removable           = false

 

Share this post


Link to post
Share on other sites
7 minutes ago, vector sigma said:

@Pavo thanks, I know your cpu is igpu-less so is ok.

@biciolino grazie! Is your CPU without an integrated card?

Yes, i7 4930K should be a X Series Ivy Bridge E 6 cores 12 threads CPU with no integrated graphics.

 

 

Biciolino

Edited by biciolino

Share this post


Link to post
Share on other sites
On 2/23/2019 at 5:40 PM, vector sigma said:

@losinka and all, I've just finished to rewrite the video cards detection with a simplified code but I need to see if is ok. In that program I've also added the "Metal" ability detection:

vclist.zip

 

Thanks in advance!

 

P.S. you can run the program in 10.9 +

Quote

vclist v1.0.2 (vector sigma 2018-2019), found 3 graphics cards!
----------------------------------------------------
Model               = Intel HD Graphics 530
vendor ID           = <86800000>
vendor ID           = <12190000>
revision ID         = <06000000>
subsystem ID        = <00d00000>
sub system VendorID = <58140000>


Device Utilization  = 0%
vram Used           = 696320 bytes
vram Free           = 7515496448 bytes
Metal support       = false
----------------------------------------------------
Model               = Radeon RX Vega 64
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c1000000>
subsystem ID        = <7fe30000>
sub system VendorID = <a21d0000>


Device Utilization  = 23%
Total Power         = 12 Watts
Temperature         = 42°
Fan Speed           = 0 RPM
Fan Speed           = 34%
vram Used           = 93728768 bytes
vram Free           = 5518761408 bytes


Metal properties:
Max Threads Per Thread group = width 1024, height 1024, depth 1024
Max Thread group Memory Length = 65536
Recommended Max Working Set Size = 0xFF000000
Depth 24 Stencil 8 Pixel Format = true
Programmable Sample Positions = true
Read-Write Texture  = 1
Headless            = false
Is Low Power        = false
Removable           = false
----------------------------------------------------
Model               = Radeon Vega Frontier Edition
vendor ID           = <02100000>
vendor ID           = <63680000>
revision ID         = <00000000>
subsystem ID        = <766b0000>
sub system VendorID = <02100000>


Device Utilization  = 0%
Total Power         = 10 Watts
Temperature         = 18°
Fan Speed           = 2002 RPM
Fan Speed           = 40%
vram Used           = 4063232 bytes
vram Free           = 16935099840 bytes


Metal properties:
Max Threads Per Thread group = width 1024, height 1024, depth 1024
Max Thread group Memory Length = 65536
Recommended Max Working Set Size = 0xFF000000
Depth 24 Stencil 8 Pixel Format = true
Programmable Sample Positions = true
Read-Write Texture  = 1
Headless            = false
Is Low Power        = false
Removable           = false

Edited by losinka

Share this post


Link to post
Share on other sites

Good day.
I assembled a computer with such a complete set. https://docs.google.com/spreadsheets/d/10Xz0XP6VxcxInDUzrv9r5judqZ7OO5OzYBF14-eMucI/edit

I do not show the frequency of the processor cores, does not show the speed of rotation of the fans and the temperature on the motherboard.

What you need to do to make it all work.

 

img-2019-03-02-21-43-09.png

Share this post


Link to post
Share on other sites
3 hours ago, AKlion said:

Good day.
I assembled a computer with such a complete set. https://docs.google.com/spreadsheets/d/10Xz0XP6VxcxInDUzrv9r5judqZ7OO5OzYBF14-eMucI/edit

I do not show the frequency of the processor cores, does not show the speed of rotation of the fans and the temperature on the motherboard.

What you need to do to make it all work.

Hi, in order to having all the missing sensors you have to install:

  • ACPIMonitor.kext,and edit your DSDT to make it work (otherwise don't expect it to work)
  • install IntelCPUMonitor.kext if want see single frequencies for each core.
  • only one of ITEIT87x.kext or PC8739x.kext or F718x.kext or W836x.kext (depending on what you have) to have LPC sensors. This require you to edit the Info.plist of the kext chosen to show right information (search for @Slice's posts about instructions).
  • RadeonMonitor.kext if you want some additional stuff about your video card. But I'm sure that if you go into the app preferences and mark "Use IOAccelerator monitoring GPUs" enough sensors will show up.

Share this post


Link to post
Share on other sites

Hi all, finally I had the time to update the app with new functionalities:

 

GPU detection:

New GPU parser that should take care of all GPUs in the system, no matter if external GPU. Anyway tested an egpu only with Sir @losinka , hope will be ok.

 

GPU dump:

create a directory called "HWGraphics" into your desktop. When the app starts (not during is running) a dump with a snapshot of the IO will be created for each card in the system inside the mentioned directory.

 

Interface:

General improvements for the interface, i.e how the dark or light appearance is detected and updated. Tested only in 10.14 and 10.13 and honestly I don't know how behave in 10.12 and 10.11 since I no longer have them.

 

Top bar string Font and size:

Now the top bar string can be customized with the desired font and size in real time (Preferences)

 

Colors

The grid color can have a custom color. Probably someone already tried that in one of the betas made some time ago but this time you don't have to restart the app since is on the fly. You can set a color for the light mode and one for the dark mode.

 

The same for the plot line (charts)

 

Themes:

Themes are the same, but now the default one is blurred without any grid. The old Default with grid and alternated colored rows is now called "Classic" and is ready to be selected.

You can now change theme in real time and see the difference immediately.

 

Size of the view:

you can now choose between 3 level:

normal (as always)

medium

large

 

all is applied on the fly. If you have a high resolution display you will prefer an higher size of each row of the outline.

 

Full screen:

the detached window can now go in full screen.

 

Sensors excluding:

You can decide to exclude groups of sensors you don't are interested in... by deselecting them in the preferences. Require a restart of the app.

 

Intel Power Gadget bugs:

Probably you can experience, like me, that the app refuse to show the sensors because of an IntelPoweGadget crash (that happens for Intel app as well). When this happen the only way I found to make it working again is to repair permissions and rebuild the kernel cache and after a reboot will start to work again.

So if you want to use HWMonitorSMC2 anyway just create a file or a directory called "HWIgnoreIPG" into your Desktop and the app will work without using IPG.

 

Reset:

added a button to reset the preferences to its original state.

 

Update:

the settings window is now smaller and uses tabs:

new:

2002303950_2019-03-0316_23_28.thumb.png.70a6f70e206e715d1fd8362bd14264d2.png

old:

Spoiler

1783867310_Schermata2019-03-02alle23_29_31.thumb.png.ce99026859c10784026e9b5beead4e2d.png

 

 

HWMonitorSMC2_v2.4.4_development2

 

let me know

 

P.S. some translations may need to be updated

 

Edited by vector sigma
new update

Share this post


Link to post
Share on other sites
4 hours ago, AKlion said:

does not show the speed of rotation of the fans and the temperature on the motherboard.

What you need to do to make it all work.

 

it is a good idea to make some hwinfo, hwmonitor and hwsensors dumps in Windows and/or Linux

you will see there exact model of your Super IO chip and number of available sensors

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   1 member

Announcements

  • Similar Content

    • By miliuco
      Install macOS 10.15 Catalina on Gigabyte P55-USB3 with Radeon RX 580 graphics card using a USB device created with the createinstallmedia command and Clover as bootloader. Instructions to install macOS 10.14 Mojave on this computer are almost identical, replacing Catalina app with Mojave, so this article is suitable for both versions of macOS. The Gigabyte P55-USB3 motherboard (and some others from the same brand with the P55 / H55 chipset) have made it easy to build a hackintosh and install macOS since 10 years ago. Although it is an old motherboard, the behavior with Mojave or Catalina is very good after changing the classic hard drive (HDD) for a solid state drive (SSD).

      Components of the hackintosh
      Gigabyte GA-P55-USB3 motherboard: P55 chipset, 1156 socket, ALC892 audio, Gigabit RTL8111D network, DDR3 RAM Intel Core i5-750 processor for socket 1156: 4 cores, 8MB cache, clock rate 2.66 GHz Fenvi FV-T919 wireless + Bluetooth card: PCI-Express, wifi is ac type, detected by macOS as Airport and Apple Bluetooth Radeon RX 580 8 GB graphics card: works OOB but with a few details to be considered, it has its own article.  
      Previous requirements
      Install macOS Catalina app in /Applications folder USB flash drive with at least 16GB prepared from Disk Utility with MBR partition scheme and formatted as Mac Os Plus (on older Gigabyte boards like mine, USB sticks partitioned with GUID scheme instead of MBR usually hang the system when booting) Recent version of Clover (I have used r5117) Recent versions of Lilu (at least 1.4.4) and WhateverGreen (at least 1.3.9) to fine-tune the behavior of the graphics card Recent version of RealtekRTL8111 (I have used 2.2.2) FaceSMC version 6.26-322 (newer versions disable automatic mounting of USB devices on my system).  
      Create install USB
      Run this command from Terminal (assuming the target device is called USB):
      Bash: sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB /Applications/Install\ macOS\ Catalina.app
      Clover must be installed on the USB memory, I choose the following options:
      Bootloader > Install boot0af on the MBR CloverEFi > CloverEFI 64-bit SATA BIOS Drivers, 64 bit > Recommended drivers > FSInject + SMCHelper + XhciDxe BIOS Drivers, 64 bit > File System drivers > ApfsDriverLoader Install RC scripts on selected volume Optional RC scripts > Disable sleep proxy client.  
      You have to copy 4 kexts to the EFI/CLOVER/kexts/Other folder of the USB device: FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2. Regarding the config.plist file, the most significant is:
      Boot > kext-dev-mode = 1 in Boot arguments GUI > Theme embedded, EmbeddedThemeType Dark, Screen Resolution 1920x1080, Preboot in Hide Volume Graphics > blank, nothing is checked except if foxbox solution is used to have more than 2 connectors enabled RT Variables > 0x28 in BooterConfig and 0x67 in CsrActiveConfig SMBios > iMac14,2 Sytem Parameters> Yes in Inject Kexts and check Inject System ID.  
      Install macOS Catalina

      Boot from the USB device and choose Install macOS from Install macOS Catalina. The installation program runs until the PC restarts. Here choose Install macOS from HDD (the name of the volume you are installing macOS on). With RX 580 graphics card, the screen goes black in this second phase of the installation, it is a phase in which the user has nothing to do until the PC is restarted so you can let it work until the Clover menu again. You have to choose Boot macOS from HDDto boot the installed system from the hard disk, the screen is recovered and you can configure the account and the initial options. From this moment the screen works fine.

      In summary:
      Boot from USB > Clover menu > Install macOS from Install macOS Catalina > screen works fine Boot from USB > Clover menu > Install macOS from HDD > black screen Boot from USB > Clover menu > Boot macOS from HDD > screen works fine.  
      Install Clover and kexts on the hard drive

      Clover needs to be installed on the disk where we just installed macOS. Options are the same as when installing it on the USB memory. You also have to copy the 4 kexts (FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2) into the EFI/CLOVER/kexts/Other folder on the EFI partition of the disk. And review the config.plist file remembering the comments for the USB.

      If everything goes well, the computer starts from the hard disk with a running copy of macOS Catalina.
       
       

    • By Slice
      The thread splitted from HWSensors3.
       
      Tools to testing Radeon state.
      Load RadeonPCI.kext  
      RadeonPCI.kext.zip
       
      How to load
      sudo chown -R root:wheel ~/Downloads/RadeonPCI.kext sudo chmod -R 755 ~/Downloads/RadeonPCI.kext sudo kextutil -v ~/Downloads/RadeonPCI.kext and use RadeonDump utility
      RadeonDump1.zip
       
      Commands to see temperature
      Polaris
      ./RadeonDump1 -n 6b0,c0300014
      SeaIsaland
      ./RadeonDump1 -n 200,c0300014
       
      Old families
      ./RadeonDump1 -r 714,7f4
       
      Other possible methods to find a register for temperature
      ./RadeonDump1 -n 6b0,c0300e0c
      ./RadeonDump1 -n 6b0,1c5
      ./RadeonDump -n 6b0,d8200ca4
      ./RadeonDump -r 59800,59810
      ./RadeonDump -r 678,680

       
       
       
      01.12.2017
      Latest solution RadeonMonitor.kext here
      works for RX 460,480,580
      not works for HD7790, R9 290X?
       
      06.12.2017
      Here works also with HD7790, R9 290X
       
      14.12.2017
      Support VEGA here
       
      13.12.2017
      Version for test modern cards
      RadeonPCI5.kext.zip
       
      06.04.2020
      Version for Catalina
      RadeonPCI5-v2.kext.zip
    • By kevin_1351
      tl;dr: VirtualSMC causes me a flood of log messages and correlated cpu spikes. FakeSMC doesn't.
       
      Hi, I have almost finalized my Huawei Matebook X Pro Opencore setup and everything is working very well besides wifi/bt ofc (which is about to change).
       
      However, I noticed how the cpu usage sometimes went up a little and when looking at the Console I could see a never-ending flood of:
      default 14:05:05.983292+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:05.982975+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:05.982996+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985932+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985949+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.986134+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426574+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:39.426729+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426585+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431085+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431097+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431246+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433068+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:42.433227+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433078+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434453+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434465+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434622+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:44.436155+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:44.436166+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0  
      As you can see, multiple of these per second. Another guy with the same computer is also having this issue and posted a dsdt change to fix it. This fix didn't solve anything though
      He tried to limit the Notify call by implementing a state change requirement before calling Notify.
       
      Here is the original acpi:
      Scope (_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } ^^PCI0.GFX0.CLID = Local0 Return (Local0) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } Notify (LID, 0x80) // Status Change } } Which he changed to: 
      Scope (_SB) { Device (LID) { Name (_OLD, One) // assuming everything else.. the lid should start open? Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } Return (Local0) } } Device (PNLF) { Name (_HID, EisaId ("APP0002")) // _HID: Hardware ID Name (_CID, "backlight") // _CID: Compatible ID Name (_UID, 0x0A) // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } If ((^^^^LID._OLD != Local0)) { Notify (LID, 0x80) // Status Change ^^^^LID._OLD = Local0 } } } Besides me not seeing any reason to declare _OLD in LID. The idea itself shouldn't be too bad right? Well, as I said, his fix didn't work.
       
      In fact, to prove that Method _Q81 doesn't have anything to do with the issue at all, I created a Clover/Opencore patch to change _Q81 to XQ81. This resulted in my lid not working at all of course, but the log flooding still persisted!
      So _Q81 doesn't have anything to do with the issue afaik.
       
      Now, further Google searches led me to a chinese post where he tied the issue to VirtualSMC. And indeed, by migrating to FakeSMC the issue is no more.
       
      Unfortunately, I'm very fond of VirtualSMC for various reasons. So I would very much like to keep it. If not I'd have to implement the old way of doing Battery monitoring etcetc. Which isn't very elegant and update proof as it requires DSDT patching.
       
      So, I do believe that the issue may very well be in the DSDT code, perhaps in the ambient light part. I'm not very skilled at this and just started studying the ACPI spec 3 days ago.
       
      Could someone please help me out? Thanks a lot in advance
       
       
      origin.zip
      OC.zip
    • By Slice
      Guys,
      Don't mix 6.18 and 3.41.
       
      There are three different projects for monitoring temperatures, voltages, fans speed and other hardware parameters:
      Initially it was FakeSMC with plugins for producing SMC keys for hardware parameters for different hardware. But sometimes ago Kozlek separated own version of FakeSMC and producing new set of plugins while I stay with good working version 3. So..
      1. FakeSMC v3 with Hardware Sensors3  which I still supported.
      2. FakeSMC v6 (rev1800) by Kozlek and supported by Rehabman. AFAIK both are abandoned and the project is not supported. Or may be maintained by coauthors.
      3. New VirtualSMC by vit9696 with own set of sensors kexts. It depends on Lilu.kext. The project is in active development.
      All three project have incompatible interfaces sensors<->SMC so they are incompatible with each other.
       
      There are applications for monitoring hardware parameters and they commonly depends on these projects.
      1. iStat, iStatMenu, iStatPro compatible with real Macs because they use SMC keys just like those presents in real Macs.
      2. HWMonitorSMC by Navi (initial codes from Kozlek)  used in my HWSensors3.
      3. HWMonitor by Kozlek with graphics like in IntelPowerGadget used in his HWSensors version.
      4. HWMonitorSMC2 by Vector_Sigma tends to be universal supporting all project. It also may use sensors information produces by Apple graphics and by IntelPowerGadget.
       
      Let us discuss here differences and common ideas for this projects.
       
×