- Joined
- Dec 19, 2021
- Messages
- 870
- Points
- 28
Hello all,
I'm extremely happy to announce that Cactus now runs on FreeBSD, Linux, and any other platform that Wine (and Wine Mono) run on. After my recent experimentation adding Windows 7 support, experimenting with downgrading Cactus' libraries to add Windows XP support, and all of that, I happily stumbled upon me (yet again) testing Wine and specifically testing Cactus through Wine. Originally I was thinking that maybe because I had downgraded Cactus from .NET 4.5.2 to .NET 4.0 that there was a possibility that the .NET version was old enough that it would work through Wine with an older .NET Framework installation. Upon doing a simple test, I was surprised that Cactus opened right up with a fresh Wine prefix that didn't have Microsoft's .NET Framework installed at all. It actually worked on Wine Mono directly (9.4.0). My simple tests worked smoothly and all versions (Except 1.14) worked fine, drag and drop worked, the material design themes worked (including Dark Mode lol), and the back up feature. I was definitely blown away. After that I decided to test the currently released Cactus 3.1.0 that is on .NET 4.5.2 (the same version that most people are already using), and it also opened right up with no issues! At this point I reflected on my experience and it was pretty clear to me that the direction I should go in wasn't to downgrade the Cactus libraries from .NET 4.5.2 to .NET 4.0 (and thus all dependent libraries have to be downgraded), but rather it was to forget about Windows XP (for various reasons but also because Open AL / DSOAL relies on newer DirectSound technology that came out in Windows Vista, thus Windows XP users would not have 3D sound and I don't want to fragment the code base / code paths if I can avoid), and embrace Wine as one of the primary Cactus platforms. It's a little unfortunate about the Windows XP situation but I think I will be ok. Ultimately the long term plan for Cactus is for me to continue to use it forever essentially, which means I was going to stay on Windows 7 and 10. However, now that the Wine option has opened up completely, I will be immediately switching to running Cactus and Diablo II on FreeBSD as my primary gaming experience for Diablo II specifically (not for other games, a lot of my library doesn't work with Wine. For those games, they will continue to be played on Windows 10 in Offline Mode). All Cactus development will still be done in my Windows 10 Offline Virtual Machine since my tools (Visual Studio 2022) are on that version. But I can still target Windows 7 and Windows 10 from that VM, and can confirm everything works in my Windows 7 and Windows 10 VMs, and on my own computer that is running FreeBSD. I will also be setting up some Linux VMs so I can test Wine/Cactus/Diablo II in there as well. The documentation has been updated to reflect this change and there are new instructions for Wine (FreeBSD / Linux) users. We will continue to improve these instructions over time and may make more Cactus releases to make Cactus run smoother under Wine.
As Windows 10 goes EOL later this year, I will continue to run it in Offline Mode as I have been preparing for this moment for many years now, so I won't be affected, but I can now start recommending people to move to Linux (or FreeBSD if you feel ready for that lol), and disincentivize people from going to Windows 11. As I have been saying for a while now, Windows 11 is not supported, so even though Cactus should be working perfectly fine in Windows 11, any bugs that people report on that platform will be considered as Not Supported and I will close the ticket.
This is a new day and a new world for Cactus and Diablo II, and I'm excited to continue to see where the future goes. It's only going to get better.
Jonathan
I'm extremely happy to announce that Cactus now runs on FreeBSD, Linux, and any other platform that Wine (and Wine Mono) run on. After my recent experimentation adding Windows 7 support, experimenting with downgrading Cactus' libraries to add Windows XP support, and all of that, I happily stumbled upon me (yet again) testing Wine and specifically testing Cactus through Wine. Originally I was thinking that maybe because I had downgraded Cactus from .NET 4.5.2 to .NET 4.0 that there was a possibility that the .NET version was old enough that it would work through Wine with an older .NET Framework installation. Upon doing a simple test, I was surprised that Cactus opened right up with a fresh Wine prefix that didn't have Microsoft's .NET Framework installed at all. It actually worked on Wine Mono directly (9.4.0). My simple tests worked smoothly and all versions (Except 1.14) worked fine, drag and drop worked, the material design themes worked (including Dark Mode lol), and the back up feature. I was definitely blown away. After that I decided to test the currently released Cactus 3.1.0 that is on .NET 4.5.2 (the same version that most people are already using), and it also opened right up with no issues! At this point I reflected on my experience and it was pretty clear to me that the direction I should go in wasn't to downgrade the Cactus libraries from .NET 4.5.2 to .NET 4.0 (and thus all dependent libraries have to be downgraded), but rather it was to forget about Windows XP (for various reasons but also because Open AL / DSOAL relies on newer DirectSound technology that came out in Windows Vista, thus Windows XP users would not have 3D sound and I don't want to fragment the code base / code paths if I can avoid), and embrace Wine as one of the primary Cactus platforms. It's a little unfortunate about the Windows XP situation but I think I will be ok. Ultimately the long term plan for Cactus is for me to continue to use it forever essentially, which means I was going to stay on Windows 7 and 10. However, now that the Wine option has opened up completely, I will be immediately switching to running Cactus and Diablo II on FreeBSD as my primary gaming experience for Diablo II specifically (not for other games, a lot of my library doesn't work with Wine. For those games, they will continue to be played on Windows 10 in Offline Mode). All Cactus development will still be done in my Windows 10 Offline Virtual Machine since my tools (Visual Studio 2022) are on that version. But I can still target Windows 7 and Windows 10 from that VM, and can confirm everything works in my Windows 7 and Windows 10 VMs, and on my own computer that is running FreeBSD. I will also be setting up some Linux VMs so I can test Wine/Cactus/Diablo II in there as well. The documentation has been updated to reflect this change and there are new instructions for Wine (FreeBSD / Linux) users. We will continue to improve these instructions over time and may make more Cactus releases to make Cactus run smoother under Wine.
As Windows 10 goes EOL later this year, I will continue to run it in Offline Mode as I have been preparing for this moment for many years now, so I won't be affected, but I can now start recommending people to move to Linux (or FreeBSD if you feel ready for that lol), and disincentivize people from going to Windows 11. As I have been saying for a while now, Windows 11 is not supported, so even though Cactus should be working perfectly fine in Windows 11, any bugs that people report on that platform will be considered as Not Supported and I will close the ticket.
This is a new day and a new world for Cactus and Diablo II, and I'm excited to continue to see where the future goes. It's only going to get better.
Jonathan
Last edited: