Operating system for engine development?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Which OS do you prefer for development of your engine?

Poll ended at Tue Mar 01, 2022 8:03 am

Windows
20
42%
macOS
2
4%
Linux/Unix
26
54%
 
Total votes: 48

smatovic
Posts: 2725
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Operating system for engine development?

Post by smatovic »

A lill survey, which OS do you prefer for development of your engine?

All my OpenCL stuff was done with Ubuntu Linux, Intel, AMD and Nvidia devices are well supported, I like the toolchain, gcc, clang and mingw crosscompiler are fine for me, and you can easily deploy into the cloud, still need a Windows partition on my workstation to test the OpenCL stack and GUIs, I guess at some point virtual machines will also be able loop through the gpu device, saw recently an article about macOS in a VirtualBox, in future a single host might be enough to cover all OS, or alike.

--
Srdja
User avatar
Bo Persson
Posts: 243
Joined: Sat Mar 11, 2006 8:31 am
Location: Malmö, Sweden
Full name: Bo Persson

Re: Operating system for engine development?

Post by Bo Persson »

smatovic wrote: Sat Jan 29, 2022 8:03 am saw recently an article about macOS in a VirtualBox, in future a single host might be enough to cover all OS, or alike.
A limitation here is that Apple will not sell you a copy of OSX unless you also buy Apple hardware. They do allow virtual machines, but only if that is in turn run on an Apple host. Takes away some of the usefulness.

Getting the OS "some other way" is of course an obvious license violation.
JohnWoe
Posts: 508
Joined: Sat Mar 02, 2013 11:31 pm

Re: Operating system for engine development?

Post by JohnWoe »

Linux + vim is what I use only.

My ThinkPad came w/ Win10 preinstalled. It was eating whopping 55GB of my SSD !!! Put 5GB Linux Mint in.
Linux 5.13 broke something, I rolled back to 5.11. Don't purge older kernels. If newer one broke smt.
That's pretty much only issue.

wine can be used to windows engines. No need for virtual box + Windows.
Ras
Posts: 2498
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Operating system for engine development?

Post by Ras »

Linux Mint. For Windows and Android, I have cross-compilers installed. Unfortunately, there is no such thing for Mac, and I certainly won't buy one, so there's only a build script.
JohnWoe wrote: Sat Jan 29, 2022 4:23 pmLinux 5.13 broke something
For me, too - the graphics of my 4700U snowball with 5.13. Since 5.11 will not receive security update from next month on, here's a trick: use the 5.14 OEM kernel.

Code: Select all

sudo apt-get install linux-oem-20.04d
dconf write /com/linuxmint/updates/allow-kernel-type-selection true
Then reboot. The Update Manager now has an additional drop-down which you set to OEM kernels. If 5.14 works as expected, uninstall the existing 5.11 and 5.13 kernels so that you won't receive useless updates on them.
Rasmus Althoff
https://www.ct800.net
smatovic
Posts: 2725
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Operating system for engine development?

Post by smatovic »

Hmm, macOS, no crosscompiler, no hackintosh in a box allowed, just saw there are some Mac Pro and M1 Mac mini with Xcode to rent in the cloud for developers.

--
Srdja
Ras
Posts: 2498
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Operating system for engine development?

Post by Ras »

smatovic wrote: Sat Jan 29, 2022 7:28 pmHmm, macOS, no crosscompiler, no hackintosh in a box allowed, just saw there are some Mac Pro and M1 Mac mini with Xcode to rent in the cloud for developers.
Yeah, but why jumping through hoops and pay money just to cross-compile? What's the point? CCRL is on Windows anyway.
Rasmus Althoff
https://www.ct800.net
smatovic
Posts: 2725
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Operating system for engine development?

Post by smatovic »

Ras wrote: Sat Jan 29, 2022 8:03 pm
smatovic wrote: Sat Jan 29, 2022 7:28 pmHmm, macOS, no crosscompiler, no hackintosh in a box allowed, just saw there are some Mac Pro and M1 Mac mini with Xcode to rent in the cloud for developers.
Yeah, but why jumping through hoops and pay money just to cross-compile? What's the point? CCRL is on Windows anyway.
Market share for desktops/laptops was ~75% Windows, ~15% macOS, ~2% Linux in 2020. With Apple's OpenCL support I am out anyway, and if Apple wants to lock in their platform, then I agree, let the users compile from source by themselves, it is not that hard these days.

--
Srdja
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Operating system for engine development?

Post by mvanthoor »

smatovic wrote: Sat Jan 29, 2022 8:03 am A lill survey, which OS do you prefer for development of your engine?
--
Srdja
I started Rustic's development on Windows in August 2019 (and then it stalled again until February 2020). In June 2021 I switched my main system over to Debian Stable, and Rustic migrated with it. I now write the engine on Linux, test it on Linux and cross-compile the Windows binary there as well. (Because MinGW seems to not be able to handle compiling for Linux on Windows, a Windows->Linux cross-compile wasn't possible. But Linux->Windows definitely is. I'll have to look into a Linux x64 -> ARM, and Linux- > MacOS at some time. It would be nice to be able to cross-compile everything on the same machine without having to use virtual machines.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Operating system for engine development?

Post by mvanthoor »

Ras wrote: Sat Jan 29, 2022 8:03 pm
Yeah, but why jumping through hoops and pay money just to cross-compile? What's the point? CCRL is on Windows anyway.
I have a CuteChess setup under Wine. When running under system Wine in Debian Stable, this is just 5% slower than running on Windows itself. I've tested many engines in this environment, and all seem to work fine. The rating lists that come out of that setup are basically the same as what I'm seeing on Windows.

Another advantage is that Wine can be skinned in dark-mode, which gives CuteChes a dark-mode look under Wine (it also has a dark-mode under Linux); something which it can't do on Windows. (And yes, sometimes I use the GUI version of CuteChess so I can follow some games here and there.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
jdart
Posts: 4368
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Operating system for engine development?

Post by jdart »

I have one Windows machine, which is my primary desktop. But I don't develop on it. I went to Linux as the primary dev environment 15 years or so ago. I keep a few SSH windows open to the Linux machines I have. I have a bunch of command line scripts and those are easier for me to create, maintain and run in Linux. I also run long CPU intensive processes for tuning and testing. I start and run those as detached processes and monitor the logs. They don't clog up the CPU on my primary box and if the network goes down, the process is detached so it just keeps running.

I do however do some final testing and compilation on Windows and MacOS prior to a release.