Skip to content
This repository has been archived by the owner on Oct 12, 2018. It is now read-only.

Add support for Vega 10 #394

Merged
merged 1 commit into from
Feb 26, 2018
Merged

Add support for Vega 10 #394

merged 1 commit into from
Feb 26, 2018

Conversation

Gaulomatic
Copy link
Contributor

Card identification is done by looking at the BIOS name. I am no C or kernel expert, so I added the thermal retrieval into separate files (vega.h and vga.cpp). This way it will not pollute the code base. The effective, thermal calculating code is from slice2009, he is maintaining a fork of FakeSMC here. Again, I do not really know what I am doing, I am mainly a C# developer - so if you have suggestions to make: they are very welcome. Works on my Saphire Vega 64 XTX LCE.

@toohotz
Copy link

toohotz commented Feb 2, 2018

Glad to see that you decided to add support (I'm an Obj-C / Swift / JS dev so C hasn't been my thing for years). Noticed that the built kexts lack a version number and causes a boot hang. Did you sign the kexts or just used the built unsigned versions? Tried signing with my Dev ID but made no difference although the Sign Apps build target fails complaining about No Identity Found. Using the built kexts causes my system to hang so just curious as to how you're building yours / how it's supposed to be done.

@Gaulomatic
Copy link
Contributor Author

I am using the latest release of FakeSMC.kext and put the GPUSensors.kext into the Plugins folder inside of it. But yes, while I was testing I got hangs as well when using the complete build output (including all the other kexts) - but I didn't know why. Then, since I only modified GPUSensors, I put back in the release version and simply replaced the GPUSensors.kext. And I did not sign anything. It is kind of funny to admit that, but despite my work on this Sensor stuff, I am so completely lost in the C-/kernel space - I don't know even why I should sign them :-)

@toohotz
Copy link

toohotz commented Feb 2, 2018

You're much closer to C with the # than me with the Obj-C ;)
The working variant of FakeSMC that works for me is the 1759 version. Tried the FakeSMC from from Slice that you linked (version 3.5.0) with no joy in booting. If you don't mind feel free to either email me or zip your FakeSMC setup that you're using so that I can compare

@Gaulomatic
Copy link
Contributor Author

Gaulomatic commented Feb 2, 2018

I am using 1759 as well, downloaded it from RehabMan's repo at Bitbucket. The FakeSMC-fork from slice does not work, the interfaces are different - so the Plugins do not even compile against it (and not the other way around). And the code base seems to be a little bit messy from what I can tell, but at least I was able to extract the relevant parts for Vega.

I have no idea, what the lines, which I added, are doing exactly and I had a hard time to understand where the variables come from since most code is procedural and I am so used to OOP that my effort to get it working was way longer than it should have been :) Adding the GPU detection was easy, the temp calculation as well. But in slice branch there is a different way of getting to the correct memory location of the sensor for Hawaii GPUs and newer. So I copied the whole lines over to the vega_get_temp function - not knowing if there is a better way to achieve whatever these lines are doing.

Just to be sure, here is my 1759 FakeSMC with the compiled GPUSensors in the Plugins folder (along with the other sensor plugins).

@toohotz
Copy link

toohotz commented Feb 2, 2018

So out of sheer laziness, came to realize that the repo has to be cloned and not just downloaded for the kexts to be built correctly sigh.

Your efforts coming from our OOP world were worth it in the end even if a little bit of blind copy pasting had to take place. 😎

GPU temps works fine for my Vega 64 (all with the other sensor values that were missing)

Imgur

Really appreciate the effort in getting this working @Gaulomatic

@CozmoNate
Copy link
Owner

Thank you, @Gaulomatic, code looks good for me, keep up a good work!

@CozmoNate CozmoNate merged commit 61a9bcd into CozmoNate:master Feb 26, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants