Basilisk II CPU usage and excessive temperatures on 10.15

About BasiliskII, a 68k Mac emulator for Windows, MacOSX, and Linux that can run System 7.x through MacOS 8.1.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
User avatar
BadGoldEagle
Space Cadet
Posts: 8
Joined: Tue Dec 03, 2019 9:26 pm

Basilisk II CPU usage and excessive temperatures on 10.15

Post by BadGoldEagle »

I replaced my Mavericks based 2013 MBP with the new 16" Model running Catalina. The latter's got an i9 and when Basilisk is running it's reaching temperatures upwards of 85C with peaks in the 100s. I have to use AppPolice to restrict Basilisk and only then it's behaving correctly. Sheepshaver doesn't have this issue. Basilisk is the only one that does this.

Activity monitor has a really nice built in CPU bar graph 'widget'. When using other apps (including ones that are technically more power hungry), CPU usage is really low. Not with Basilisk though...
Image
I understand that using only one core might be useful for legacy systems, but I'm not sure there are any single core Macs that can run Mojave/Catalina. I'm no programmer, but I know some apps can be 'forced' to use more than one thread. Maybe this feature needs to be hard coded though... Can anything be done on a future Build to fix this issue?
Last edited by Ronald P. Regensburg on Sun Dec 08, 2019 3:50 pm, edited 1 time in total.
Reason:  
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

I wonder what the essential difference between your system and mine is.
On my 2,9 GHz Intel Core i5 iMac with Mojave, I see this when running Safari, Mail, Activity Monitor, Terminal, and the 4 December BasiliskII build running:

Image

Edit: And while playing Prince of Persia in BasiliskII:

Image

Anyone else with a newer machine and Catalina seeing the issue that BadGoldEagle reports?
Last edited by Ronald P. Regensburg on Sun Dec 08, 2019 4:32 pm, edited 1 time in total.
Reason:  
User avatar
BadGoldEagle
Space Cadet
Posts: 8
Joined: Tue Dec 03, 2019 9:26 pm

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by BadGoldEagle »

I know of at least one person on the 68kmla who has the same config. He's going to try and set up the latest build.

The CPU usage is the same with both October and December builds. It ramps up to 101% usage even after a few minutes from the floppy screen or at idle when booted. Switching from an 040 to an 030 doesn't change a thing.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

Strange, the difference in behaviour of BasiliskII between your machine and mine.
I left BasiliskII booted and idle for 30 minutes. At first % CPU fluctuated between 7.5 and 10. After about 15 minutes it gradually rose and for a short time it fluctuated between 15 and 27, but then it went down to between 7.2 and 8.0 and it stayed there for the last 10 minutes.
User avatar
BadGoldEagle
Space Cadet
Posts: 8
Joined: Tue Dec 03, 2019 9:26 pm

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by BadGoldEagle »

I got confirmation today from the other 68kmla member who has the same machine, albeit with 64GB of RAM (mine has 32). He experiences the exact same problem: Basilisk basically asks for 102% of the CPU and uses all it can get from the processor before the latter eventually thermal throttles...

I cannot seem to be able to build Basilisk myself. I followed the instructions from kanjitalk755's GitHub page and the build fails because it can't find [...]/Build/Products/Debug/build68k (No such file or directory). I've tried manually adding a build68k.c file from another project without being able to get past this issue. Xcode has full disk access. Also, I set the build configuration to Release in Project Info and it's still showing up in Debug?? I left 10.7 as the deployment target. I tried with 10.15 but this doesn't make a difference since it can't get past this first issue.

Perhaps someone here could help me figure out what's wrong here? My idea is that if I compile Basilisk on a Catalina machine (and set the deployment target to 10.15), it might not have the CPU issue. It might do nothing but it's worth a try.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

I will post a new BasiliskII build from the latest source soon because of the JIT issue (see the other topic). If that build still haves this CPU issue (probably), I will explain how to use the BasiliskII Xcode project, it needs a couple of extra steps.
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by uyjulian »

It may be possible that 10.15 does not force vsync (while 10.14 does)
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by emendelson »

How to build current kanjitalk755 BasiliskII in Xcode under Mojave. These are probably more steps than you actually need, but they should work.

1. Open the project in Xcode.

2. In the upper-left of the Xcode window there is a row of icons next to the buttons that resize the window: A "run" arrow; a "stop" square; then a field that has "BasiliskII > MyMac". Click that field; from the drop-down menu, click Edit Scheme, and change the Run configuration from Debug to Release.

3. Repeat that procedure for the other four items in the same drop-down menu (build68k, etc.). Click on each item so that it appears in the field; then click again on the item; click Edit Scheme; change the Run configuration to Release.

4. When you have done this for all five items, then click on the menu and choose genpcu. Then click the "Run" button. If the build succeeds, go on to build68k and again click the "Run" button. If the build succeeds, then go on to run_build68k and run_genpcu and again click the "Run" button for each. If a build fails, then try the other item with a similar name (genpcu and run_genpcu, build68k and run_build68k) and then the one that failed, until all the builds for these four items succeed. Do not click on the BasiliskII item until you have built the other four.

5. Finally, click on the menu so that BasiliskII appears. Click the Run button.

6. In the File menu, choose Project Settings. In the menu that appears, under Derived Data, there will be an empty field, then a path with a small arrow icon at the end. Click on that icon, and in the Finder window that opens, navigate from Derived Data down to BasiliskII [etc. - a long path], Build, Products, Release, and there you will find the built copy of BasiliskII.app.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

I am familiar with these steps. Each time I tried, each time again with fresh source and emptied Derived Data folder, I needed to run gencpu twice before it succeeded. Then trying to build BasiliskII resulted in this error:

Code: Select all

error: Build input file cannot be found: '/Users/ronald/Library/Developer/Xcode/DerivedData/BasiliskII-ghipnalkydhbxybbghxwfqhkjxqm/Build/Products/Release/build68k_output/defs68k.c' (in target 'gencpu' from project 'BasiliskII')
although the file defs68k.c was present where it was supposed to be.

I now tried again. This time running gencpu succeeded the first time and subsequent building BasiliskII succeeded also.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

My new 9 December 2019 build is here: https://www.emaculation.com/basilisk/Ba ... 191209.zip

The instability reported in the other topic appears to be solved. But does it also solve the CPU usage issue?
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by emendelson »

Ronald P. Regensburg wrote:This time running gencpu succeeded the first time and subsequent building BasiliskII succeeded also.
Sometimes I've solved these problems by choosing the Clean Build Folder (or whatever it's called) in the Build menu. But I don't have any consistent answer!
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by kanjitalk755 »

If building with Xcode10+, set File -> Project Settings -> Build System to Legacy Build System.
I have added this information to kanjitalk755/macemu/readme.md.
This simplifies the build procedure (confirmed with Xcode11.2.1).
# I tried to make it compatible with the new build system, but it failed.
User avatar
BadGoldEagle
Space Cadet
Posts: 8
Joined: Tue Dec 03, 2019 9:26 pm

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by BadGoldEagle »

Thank you all for your tips on how to build Basilisk with Xcode.

At first I was getting the same error as Ronald P. Regensburg and setting the build system to Legacy fixed it. I was able to build it but unfortunately the temperature issue is still here... At least I learned something in the process!

I got a suggestion from someone on the 68kmla about the fact that Vsync is disabled by default on Catalina and that it could be the source of our issues. What do you think?

I tested an older Basilisk build (May 4th) on my 2016 12" Macbook (also running Catalina) and Basilisk still asks for 102% of the CPU. Interestingly enough, Sheepshaver also does that at startup but falls down to 7% after 20 or so seconds.
Image
Last edited by BadGoldEagle on Tue Dec 10, 2019 1:20 pm, edited 2 times in total.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by mabam »

As you mention vsync, did you try playing with the video refresh rate in SheepShaver’s settings and see if that helps? I don’t know much about it, only an idea as I just googled vsync to see what it does.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

mabam wrote:did you try playing with the video refresh rate in SheepShaver’s settings
You mean BasiliskII settings?
User avatar
BadGoldEagle
Space Cadet
Posts: 8
Joined: Tue Dec 03, 2019 9:26 pm

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by BadGoldEagle »

I tried removing "screen win/1024/768/16" and setting frameskip to something preposterous (45) and there is no improvement.

It's definitely a Catalina problem... The CPU seems to have nothing to do with it.
Last edited by BadGoldEagle on Tue Dec 10, 2019 1:25 pm, edited 1 time in total.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by mabam »

Ronald P. Regensburg wrote:
mabam wrote:did you try playing with the video refresh rate in SheepShaver’s settings
You mean BasiliskII settings?
Yes, sorry!

If I understand correctly, vsync “converts” between the refresh rate of the screen and the refresh rate of an application (in case it differs from the screen’s one). So I wonder whether it helps to apply the same rate to Basilisk II as you have set in your host’s System Preferences.
User avatar
BadGoldEagle
Space Cadet
Posts: 8
Joined: Tue Dec 03, 2019 9:26 pm

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by BadGoldEagle »

OK. Problem solved.

Since I didn't copy over my config file from the Mavericks machine that could still run the old BasiliskGUI, I recreated the config file from memory and from scratch.

I couldn't find an extensive list of the parameters, but when I ran the new Catalina friendly BasiliskGUI, I saw the option 'Don't use CPU at idle', and enabled it. It added 'idlewait true' to my config file which fixed the overheating problem. Basilisk II is now using only 7% of my CPU at idle. idlewait is not in the documentation so I didn't know I could enable it...

Anyway, I'm happy. I'll tell people on the 68kmla about the importance of this parameter on new machines.

Thank you all for your help!
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Basilisk II CPU usage and excessive temperatures on 10.1

Post by Ronald P. Regensburg »

Great! I was about to ask for the content of your prefs file. Not needed anymore.
Post Reply