VOGONS


First post, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

I figure I try asking here on VOGONS incase some of you are Linux gamers and are willing to help me figure out something.

At some point Wine can no longer run Homeworld or Homeworld: Cataclysm "properly" as in without completely thrashing my CPU to pieces:

The attachment Screenshot_2026-07-22_18-02-28.png is no longer available

I have no idea what's going on, I don't remember the last Wine release that this started happening in. I'm on Wine 11.13

It'd be great if it'd stop doing this but I have absolutely no idea how to debug this. I also can't do regression testing because I don't want to wear out my SSD and I don't really have enough space for such a ordeal anyways...

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 1 of 7, by zirkoni

User metadata
Rank Member
Rank
Member
DracoNihil wrote on 2026-07-22, 23:05:

I also can't do regression testing because I don't want to wear out my SSD and I don't really have enough space for such a ordeal anyways...

How much do you think your SSD will wear out if you install a few different Wine versions? You don't even have to re-install the game, just downgrade the Wine prefix.

I don't own the games so I can't test how it behaves on my system.
- Do the games run with some really high FPS value? If yes, try liming the frame rate to some sensible value.
- Are the games using software rendering? Maybe there's an option to force them to use OpenGL/DirectX?

https://youtube.com/@zirkoni42

Reply 2 of 7, by mwdmeyer

User metadata
Rank Oldbie
Rank
Oldbie

Can you pin the game to a single core and see if that helps?

Vogons Wiki - http://vogonswiki.com

Reply 3 of 7, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
zirkoni wrote on 2026-07-24, 06:26:

- Do the games run with some really high FPS value? If yes, try liming the frame rate to some sensible value.
- Are the games using software rendering? Maybe there's an option to force them to use OpenGL/DirectX?

No to both. Everything is capped to "59 FPS" with enforced vsync at the driver level. (And also at the DXVK level for that matter)

mwdmeyer wrote on 2026-07-24, 07:47:

Can you pin the game to a single core and see if that helps?

Doing that actually makes the game struggle to run at all. So whatever's going on in these maxed out process threads is causing serious contention issues if you use taskset to force CPU affinities.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 4 of 7, by mwdmeyer

User metadata
Rank Oldbie
Rank
Oldbie

I ran this through AI and here are the suggestions:

1 -NTSync regression. Wine added NTSync in 10.16, and Wine 11 uses it when /dev/ntsync is available. That gives a particularly useful version boundary to test.
2- Broken/missing frame limiting. Homeworld’s old engine may be rendering or polling as fast as possible if Wine/Mesa is no longer blocking on vertical sync.

I’d try these in order:
lsof /dev/ntsync # While the game is running:

If the game appears there, stop Wine completely and temporarily unload NTSync:
wineserver -k
sudo modprobe -r ntsync

Then relaunch and compare. It can be restored with:
sudo modprobe ntsync

Last edited by mwdmeyer on 2026-07-24, 16:37. Edited 1 time in total.

Vogons Wiki - http://vogonswiki.com

Reply 6 of 7, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
mwdmeyer wrote on 2026-07-24, 16:34:
I ran this through AI and here are the suggestions: […]
Show full quote

I ran this through AI and here are the suggestions:

1 -NTSync regression. Wine added NTSync in 10.16, and Wine 11 uses it when /dev/ntsync is available. That gives a particularly useful version boundary to test.
2- Broken/missing frame limiting. Homeworld’s old engine may be rendering or polling as fast as possible if Wine/Mesa is no longer blocking on vertical sync.

I’d try these in order:
lsof /dev/ntsync # While the game is running:

If the game appears there, stop Wine completely and temporarily unload NTSync:
wineserver -k
sudo modprobe -r ntsync

Then relaunch and compare. It can be restored with:
sudo modprobe ntsync

This problem started happening BEFORE I upgraded to a kernel release that had ntsync mainlined, so I don't think it's that unfortunately. I really wouldn't trust LLMs for reliable information anyways.

wierd_w wrote on 2026-07-24, 16:36:
The d3d code in HW1/cataclysm is *awful*. […]
Show full quote

The d3d code in HW1/cataclysm is *awful*.

Try opengl mode.

This can be forced at the commandline.
https://www.geocities.ws/hwassimilated/switches.html

It doesn't matter what renderer the game uses, it thrashes CPU all the same. I'm also not even using the standard D3D renderer, I'm using the D3D9 renderer someone hacked together as part of "CataclysmEngineTweaks".

There's unfortunately not much people reporting anything on the Wine bug tracker (and I myself don't want to submit because I don't have the space and endurance to handle doing regression testing) but there's this one comment on a bug report that has me wondering but it can't possibly be because of this because... again, this game was behaving itself fine for years until some major Wine release introduced this massive CPU thrashing problem. Really starting to wish I had paid attention to what Wine version number I was using it was behaving itself on... but this is what I get for using rolling release distros!

Though that bug in particular is STILL relevant because it's impossible to change ANYTHING in the main options menu without the game hanging indefinitely, the only way to safely change options is to go into a game, change your options there (what little you can) and then safely quit. If I want to change renderer options I have to use the registry keys.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 7 of 7, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

You can effectively do a binary search to find out what release brought up the problem.

When did you start using Wine? Set you low and high limits in between the current version and the version that was out then.

Then, take the version that was released in center of those two timewise.

Right there, you eliminate 50% of the possible versions.

If it still happens, take that newly tested version and go to the center of the low version and that version.

Of it doesn't happen, go to the middle of that version and the latest version.

Each iteration eliminates 50% of the releases that are left.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK