耀
a
r
o
6
e
d
g
2
l
p
a
n

a
r
o
n
h
s
i
a
o
w
a
s
h
e
r
e

 

 

It started as one of those weekends that you want back. Everyone’s been sick since Friday, O— worst of all. Sounds terrible, feels terrible, has hardly come out of his room, isn’t eating. M— started to feel rotten, too. And the same for dad.

And I have been trying to wrap up the first stage of the technology “rebuild” and return to the “user” role. There was a time when I wanted to hack all the time just to say I was hacking but that ended, like, 20 years ago. Now I sort of want to get things done.

The first hurdle in all of this was just getting three graphics cars into a case (two of them exceptionally long) and powered and cooled (two of them are designed for directional air server farms and don’t have active cooling). Then the next hurdle was getting reliable, performance inference going with a model I liked. That turned out to be Qwen 3.5, though not without hiccups.

Then I got stuck on the next two things:

  • Plug OpenClaw into the local inference

  • Get Mac OS booting again (that’s right, dual-booting a Hackintosh with wild hardware)

Both of these things needed to be done, and both were non-trivial tasks. So to make my weekend worse, on top of everyone feeling various degrees of sick, Friday night and yesterday I spent most of my time feeling lousy and alternating between sleep and banging on these two problems.

— § —

I must have spent six hours yesterday on the Mac problem alone, and I have no idea how many times I was like:

<press reset>
<select Linux>
<log in>
$ mkdir /tmp/EFI
$ sudo mount -t auto /dev/sdc1 /tmp/EFI
<enter password>
$ nano /tmp/EFI/EFI/OC/config.plist

Eventually I got frustrated enough to enlist the help of Claude (my own agent being down, more on this momentarily) to scour the web looking for answers. All kinds of wild stuff was tried in the OpenCore plist and with ACPI tables and so on. No matter what, it seemed like there was a hard hang around PCI enumeration, and I presumed the two v620s with their massive footprints in address space were the cause. Into late last night, between Claude and I, we just couldn’t get past PCI enumeration and mapping.

Claude was telling me that it was time to give up, it just wasn’t on the cards, the Mac OS IOPCI stuff couldn’t cope with what I was trying to do, that Mac OS had never been intended to work with. We had spent hours trying to turn off PCIe slots, build SSDTs, directly patch memory with OpenCore shells scripts on bootup, build .efi modules to rearrange PCI windows, but nothing seemed to work, and in fact nothing ever really seemed to change.

— § —

In the wee hours I pivoted over to OpenClaw, where I’d been having enough trouble with Qwen that I’d started downloading and trying instead, always to disappointment. The thing is, Qwen 3.5 35B A3B is just really good in certain ways. It’s blazing fast. It’s really smart. And it was perfect on my 76GB of VRAM (more on this in a bit) in that I could fit like an Unsloth dynamic q6_XL on it and have room for a massive context window at q8. It’s local inference that doesn’t feel like local inference.

Only, the other thing is, turns and tool calling were completely broken. Like, completely. It had been hard enough to get the model up and running—all kinds of errors, apparent incompatibilities, updates… and then we ended up in a state in which it would often lose the ability to call tools altogether, and would just pitifully announce it was going to do so, then do nothing, then apologize profusely when asked, then announce it was going to succeed this time, then do nothing, then say it couldn’t understand what was happening.

Of course, being new to running my own LLM, I was leaning heavily on LLMs to help me through, and they were coming up with all kinds of ideas and all kinds of opinions about Openclaw. We must have tried 10 different versions of Openclaw and 100 different (often hallucinated) configuration options for openclaw.json. We also tried vLLM (don’t bother with RDNA2, the tensor parallelism really requires better card-to-card links than PCIe, something that’s just not in the architecture, plus it really fights with just about every version of ROCm), Aphrodite, Ollama, LM Studio, a bunch of everyone’s hand-written proxies, and about six different front-ends for chat.

Nothing had worked, and I was very tired of complaining at LLMs while they complained at me as we tried to get my own LLM to behave with my own agent.

Then, as is so often the case, a less direct search somehow opened up the channels of serendipity enough to make a massive difference. I searched Google for “local models similar to Qwen 3.5 35b but with more stable tool calling” and then, without warning, Gemini opened up with all of the answers that it had previously hidden from me in our hours of chatting and banging on openclaw.json and template.jinja files. It suddenly just rattled off a list:

  • Qwen 3.5 MoE models mix tool calling outputs into <think> phases, which nothing on earth can handle right now

  • Qwen 3.5 is also a bit of a wild child as you increase temperature and response length (which I have liked), but that wildness includes its approach to JSON and XML

  • Llama.cpp and Openclaw both have aggressive timeouts

  • All together this means turns that platforms like Openclaw misinterpret and may even miss, leaving turns or entire sessions in undefined states

  • Solution: Set 20 minute timeouts everywhere, turn of Qwen’s thinking mode at the inference level, and reduce temperature from 1+ to 0.7 or less

I implemented these fixes in about five minutes in the middle of the night, and voila, Qwen 3.5 35B A3B was suddenly a rock solid tool user in Openclaw. Like WTF. But also, in a good way.

Well, obviously what I did is put it to work on my entire chat summaries with Claude and GPT working on the Hackintosh problem and ask it to build me a library of findings about each area of research, as well as a final THEORY.md outlining its own theory, based on all the research, of just what was breaking in Mac OS so that we could try to fix it, since Claude and GPT were out of ideas.

— § —

So today, I came back in the morning, and boom. Nestled in the guts of THEORY.md was the point that just because the hang was around where Mac OS was spitting out that it was initializing PCI, that did not mean that this was causing the hang, and since my BIOS version (already checked) was good and my BIOS settings were right and the config.plist had been tested a million times, and all the effort spend trying to get the card to disappear for Mac OS in one way or another had not worked, it seemed likely that it was a kext, not the kernel, that was causing a hang, and the proximity of this hang to output about PCI enumeration had fooled us all.

And, at that moment, it all fell into place. I had opted for a display card with the same architecture ad the two Radeon Pro v620 units, with the idea that we could get another 12GB that way for inference. But what it also meant was that NootRX (the kext that enables certain Navi-baed hardware) might be choking on the cards in kextland, rather than this being about BARs and address space, etc.

Pulled the NootRX source and that was the answer. NootRX grabs one Navi card, whichever is the first it finds on the bus, and tries to use it for display.

It was likely grabbing a v620 first and we might not even be hung at all, there just aren’t any display outputs on a v620. And since we had the source, we had the power to fix the kext…

— § —

So anyway, tonight is here, and:

  • Yes, inference is up and running

  • Yes, Openclaw is up and running on it, including solid, stable, tool use and long projects

  • Yes, Mac OS and Linux are dual booting again on this now wilder-ass PC with 76GB VRAM, 128GB DRAM, 3 RDNA2 GPUs, and 16 hardware CPU threads

  • I can move on

Point being, the weekend ended on a high note, and I’m that much closer to re-architecting my computing and data life.

— § —

Next up:

  • OwnCloud and a pile of non-HFS+ storage on a dedicated host

  • Plus migrate a bunch of data off of the seemingly infinite universe of HFS+ I have here

It’s happening. Local inference and a future trajectory that is on Linux once again. Meanwhile, it’s late at night (or even wee hours) with the work week ahead. Not even sure this is coherent. So… end.

Archives »

April 2026
March 2026
February 2026
January 2026
December 2025
July 2025
May 2025
April 2025
February 2025
January 2025
December 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
May 2023
April 2023
March 2023
January 2023
December 2022
November 2022
August 2022
June 2022
May 2022
April 2022
March 2022
January 2022
December 2021
November 2021
September 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
June 2015
February 2015
January 2015
December 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
December 2012
November 2012
October 2012
August 2012
July 2012
June 2012
May 2012
March 2012
December 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
April 2003
March 2003
February 2003
January 2003
December 2002
November 2002
October 2002
September 2002
August 2002
May 2002
April 2002
March 2002
February 2002
January 2002
December 2001
November 2001
October 2001
September 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
January 2001
December 2000
November 2000
October 2000
September 2000
August 2000
July 2000
June 2000
May 2000
April 2000
March 2000
February 2000
January 2000
December 1999
November 1999