No idea about power consumptions.
It still scares me.
I basically did the following on trunk:
$ CPP=/usr/bin/clang MAKEOBJDIRPREFIX=/private/var/tmp/obj ./tools/build/make.py TARGET=arm64 TARGET_ARCH=aarch64 --host-compiler-type clang --debug -j17 --clean buildworld
You probably can follow build(5) from FreeBSD hosts instead.NetBSD is similar, but you need to edit `tools/llvm/Makefile` and make sure that you use the following target for `support-modules` instead:
support-modules: module-test.cpp Makefile
- if ${HOST_CXX} -stdlib=libc++ -c -fmodules -fcxx-modules -fmodules-cache-path=./module.cache \
- ${.CURDIR}/module-test.cpp 3> /dev/null 2>&1; then \
- echo HOST_SUPPORTS_MODULES=yes > ${.TARGET}; \
- else \
- echo HOST_SUPPORTS_MODULES=no > ${.TARGET}; \
- fi
+ # Just don't use modules pre for C++20 targets. Some compilers cannot support them.
+ echo HOST_SUPPORTS_MODULES=no > ${.TARGET};
You can further speed up NetBSD builds by editing `share/mk/bsd.sys.mk` and removing the workaround for SunPro's cc. The repeated invocation of /bin/mv for each object file really does add up.I have not tried cross builds of OpenBSD from other operating systems.
ThinkPad X13s Snapdragon was fanless, but it's a bit old now, plus, only 2x USB-C, without any USB-A ports, and a screen that doesn't open 180°, unlike any other ThinkPad, meh.
The CPU is pretty fast as well. I did no real benchmarks, but C++ std::sort() on the Snapdragon runs just 10-20% slower than on my 4 year old Ryzen 5 5600X desktop. Also, the base model T14s comes with 32G of memory, which is very nice.
On the other hand, I dropped mine in the street, damaging the upper right corner of the display (physically intact, but dead pixels in the corner). Even though the case material is nice, the laptop seems to be more fragile than older Thinkpads. (I've dropped my T480 and T450 numerous times, and never had issues other than cosmetic.) So the $35 accidental damage protection was worth it.
I recently bought a Mac mini M4 to experiment with this setup, and am strongly considering getting a MBP if it works as advertised. As a longtime ThinkPad user and F/LOSS enthusiast, it feels awful giving money to Apple to run Linux as a second-class citizen, but honestly there is just no comparable hardware that does what Apple has accomplished.
(the comment you replied to was clearly arguing quality rather than quantity, so that's what I'm asking too)
Anything CAD related, because there’s next to no professionally used CAD software on Linux.
Audio stuff. How many DAWs have a significant Linux user base?
And even beyond that, how many website devs are on Linux? Most people making product pages aren’t on Linux because not a lot of the designers work on Linux and it’s better to have a mono culture of devices for office management.
And your question is what one would rather do on macOS/Windows rather than Linux which again is subjective even if I scope it to stuff you can do on both Linux and macOS and windows.
Flip that around, why would someone use Linux to develop when they could use macOS? Can you give a non-subjective answer? Then try the opposite.
Even if you’re developing for Linux deployments, you can still do most of it local and then spin up docker in the VM on demand.
The number of software developers who need to run a Linux VM on their Mac/Windows are a vast minority.
* Inventor (Mechanical analysis)
* PLAXIS (Geotechnical finite element analysis)
* Aspen HYSYS (Chemical process simulation)
Probably a pile more that I don't know off the top my head.
On the other hand electronics CAD had been run mainly on Solaris decades ago, but for the last 20 years Linux has been the most likely host, including for the most expensive commercial professional solutions.
I have never heard of anyone using macOS for any kind of electronics design.
For the first time on Linux I feel better, like I am not just making sacrafices for values but like the actual whole all-around experience is better in most ways compared to my work Mac (M2 Pro so fans abound and not as aesthetically pleasing as the Airs IMO). It's instantly snappy, I have a nice large SSD, I've already swapped out RAM, no issues with key software, I have a theme with a desktop experience I prefer over the Mac one, and I can go to a presentation and type without fans stressing me out. As someone in AI for a while, personally, I don't value GPUs or NPUs, but that would be a difference. That's really leaps and bounds over Linux from 2016 or 2010 on Laptops.
https://en.wikipedia.org/wiki/Apple_M3#Variants
Similarly, the M4 Pro is available with 12 or 14 cores, the M4 Max with 14 or 16:
https://en.wikipedia.org/wiki/Apple_M4#Comparison_with_other...
If Qualcomm continues to actually work on Linux, rather than let enthusiasts do all of the work for them like Apple, I think ARM on Linux is going to be all Qualcomm with Macs yet again being a second citizen in the Linux world. For Windows, it's already a choice of "do I want to be forced into using Windows for a couple hundred dollars of savings".
Parallels has some glitches (graphical flicker when it runs low on guest memory, less than stellar trackpad scrolling) but is otherwise very stable. I like that I have access to Linux and macOS at the same time, the other side is just a 3 finger swipe away, and cut-n-paste and shared folders work. Sound and video all work, though for things like zoom calls I tend to use the macOS side. All runs happily together with 16GB RAM for each side (and I often have both xcode and android studio open on the macOS side while compiling large projects on the Linux side).
I'm curious what you mean by that? Just that it's usually a large fraction overall? At least it's apt per pixel instead of blasting LED strips and subtracting the light we don't want with LCDs.
Web dev is painful on Windows. NTFS really can't deal with 50k+ files in node_modules, I think it's something like 50-100x slower still. Not to mention that Windows by default _still_ tries to go and index your entire node_modules and silently poops the bed. This is one of the main reasons behind WSL's popularity, but that only works if you don't have your code on a mounted NTFS volume. Make the mistake of reopening the same repo you started working on in Windows in WSL2 thinking that you'll see an improvement & you'll bed disappointed - silently. You have to move your react project out of NTFS entirely and let the virtualised linux kernel manage those descriptors if you want to get work done.
macOS has a similar problem - not with NTFS but with Docker / virtiofs. Web development experience is generally awesome on macOS if you're working natively, but if you want to work inside a devcontainer (to maintain consistency with prod) and depend on Docker, it slows down considerably. I've heard that OrbStack and Colima have recently made this much better on macOS, but I've not tried it recently. But other more serious software development scenarios, where you want a might want a local k8s environment or you're writing lambda functions that you want to test locally? You have to use Docker and take the hit. In Linux it has always just worked (podman aside). Not to mention that Chrome's memory management is way better there than in Windows (thanks, ChromeOS).
For the rest of these please keep in mind that I explicitly said I was talking about quality of experience rather than quantity of people having to suffer through it, so the whole 'how many X people are on Linux when their manager makes them use Windows' argument is one I was specifically trying to avoid. With that said, I'll try to answer the rest of your qs:
> Anything graphics programming related. D3D and Metal are significantly more prevalent than OpenGL or Vulkan.
Agree almost completely - you wouldn't be building most graphics to run on Linux, so why not develop where your target platform is best supported. I disagree with your assertions around opengl or vulkan (see android), but UE5/Unity support in Windows vs elsewhere proves your point.
> Anything CAD related, because there’s next to no professionally used CAD software on Linux.
Agree, again obviously. In my case I love Onshape, and it works really well on Linux (apart from spacemouse driver support, which is a spacemouse issue not an Onshape one - there's no such thing as a class-compliant spacemouse interface and direct usb access for chrome would need them to implement a full driver; they invested heavily in getting a hack working on Windows but obviously not worth it for Linux, if for no reason other than that their target userbase will be extremely accustomed to Windows because of historical software availability and compatibility). But yeah, Onshape is an exception.
> Audio stuff. How many DAWs have a significant Linux user base?
Ardour supposedly has some recent converts, and the kernel is supposed to be acceptably good at realtime stuff now, pulseaudio/jack are supposedly better now. Regardless, you're right - it's too little too late. FWIW last time I did any real audio work absolutely nothing came close to CoreAudio (even on intel hackintoshes, or _especially_ on intel hackintoshes vs Windows on the same hardware). I don't think that has changed much since. RME drivers make a difference on Windows but WMI still sucks and ASIO on windows still isn't as stable as mac. Reaper officially supports Linux (<3 Justin F) but it's still dependent on Wine and yabridge, i.e. will probably never be on par. Reaper aside (which is a genius piece of software, on par with Samplitude 7 and Logic 5.5.1).
> And even beyond that, how many website devs are on Linux
Almost all of the ones I know, with a few of them still on Mac but curious. Literally none on Windows.
> Flip that around, why would someone use Linux to develop when they could use macOS? Can you give a non-subjective answer? Then try the opposite.
Hopefully I did that when I explained myself above.
> Even if you’re developing for Linux deployments, you can still do most of it local and then spin up docker in the VM on demand.
> The number of software developers who need to run a Linux VM on their Mac/Windows are a vast minority.
I think I already answered this, but for my (admittedly ignorant initial) definition of "actual engineering", unless you're targeting iOS or desktop development, _everyone_ is developing for linux as their primary target. Everyone.
I directly disagree with your final two statements, and that's kind of the point I was trying to make. For modern cloud/infra/saas/product/platform/web dev, i.e. the arguably subjective definition of "actual engineering", everything else is a compromise. Docker is, VMs are, WSL is.
Also why is that the “arguable subjective definition”? Why are we trying to define “actual engineering” at all, even if subjective?
On what scale are you defining that? Users? Complexity?
Not to be rude, but it feels like “people in a Linux bubble are just reluctant to admit that there’s a wider non-Linux world out there”.
You said “most of the engineering discussed on here” but there’s tons of posts about graphics engineering. It just happens that web/saas is the most approachable end of software engineering. Again, and not trying to be rude, I think this is a case of being too close to the trees to see the forest. Are you perhaps only clicking on the links to subjects that are relevant to your domain knowledge?
They have two different higher tiers of protection for "next day" repairs. I'm thinking about upgrading.