Most of my colleagues at work picked Linux over a MacBook, and they waste countless hours fixing their various Linux bugs.
Most of my colleagues at work picked Linux over a MacBook, and they waste countless hours fixing their various Linux bugs.
You must be lying, I never heard of such stories!
NOTE: My computer came without OS. Assuming HP Dev One or System 76 behave better in this regard. But I'm a sucker for 2-in-1.
I was interested in the framework laptop at some point but it increasingly looked like a Windows-first laptop on which the company is happy about you installing Linux on it.
There are laptops marked 10/10 on iFixit on which Linux works perfectly, I'll pick them until this changes.
Sometimes these difficulties have a silver lining, though, after they force you to learn more about the systems you're using. I thinks it's less of a trial-by-fire than it was even four or five years ago when I switched completely to linux, and only getting easier.
There's also the safety-in-numbers aspect, similar to editor wars, where people adopt the attitude that the more people that use their thing, the better it will be, so they are waging a propaganda campaign for their cause.
That said, I agree with you.
The only thing that macOS did good is a separation between ctrl+C and cmnd+C, so I can interrupt apps in console and copy text without issues.
It's actually funny that you mention issues with Thunderbolt docks and monitors, because I feel like those were some of the most frequent issues I've encountered. This year, I actually swapped my work MacBook Pro for a Linux laptop specifically because my Mac would completely and irrecoverably lock up every time I tried docking it to two 4K monitors. My new Linux laptop has some issues of its own, but nothing that severe, at least.
This is very annoying. Some distributions are able to boot directly from the main partition, without a need for a separate /boot though, even with Btrfs. This is the case for the computer I'm writing this comment with running openSUSE Tumbleweed, I think I had that with Debian or Ubuntu in the past. [a]
> sleep states being faulty (or the machine not working properly after waking from sleep)
> or external monitor resolutions being wrong
Fine on my computers too.
> monitor scaling working properly when you have two monitors with different resolutions?
I gave up temporarily on this. It seems to work well on Wayland but I can't bear the blurry fonts that comes with fractional scaling on Wayland (and this is not just Linux, I think macOS is like this too), and I'm still on X11 the scaling is not very adaptative. HOWEVER KDE is getting proper fractional scaling support just right now [1]:
> “What does this do?” you might ask. It allows the Qt toolkit to turn on its pre-existing fractional scaling support on Wayland that it always had on X11. No more rendering to an integer size and then scaling down! This should result in Qt apps that are scaled to anything other than 100%, 200%, or 300% scale having better performance, less visual blurriness, and lower power usage.
And KDE on Wayland may be usable now, so that might be the thing that makes me switch in the coming months.
[1] https://pointieststick.com/2022/12/16/this-week-in-kde-wayla...
[a] edit: by the way, I just installed Debian on an old x86 tablet that was running Ubuntu (because i386 is not supported anymore, and recent versions of Debian are way better than recent versions of Ubuntu anyway). It had a separate /boot on Ubuntu, I installed Debian in a Btrfs subvolume, its /boot is there so now the separate boot partition is completely useless and I will get rid of it. So I can confirm it works on Debian too.
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
...
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
...
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 972578815 971528192 463.3G Linux filesystem
/dev/sda3 972578816 976773134 4194319 2G Linux swap
sda1 is the EFI partition mounted on /boot/efi, /boot is a folder of /dev/sda2.sda2 is fully encrypted, subvolumes used to be managed by snapper and I installed openSUSE with its installer which does a lot of magic so my mount is a bit of a mess. Grub is able to find its config and boot the OS but takes ages to decrypt so I replaced it with systemd-boot. Here's mount:
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=4096k,nr_inodes=3048348,mode=755,inode64)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=4883644k,nr_inodes=819200,mode=755,inode64)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
/dev/mapper/cr_root on / type btrfs (rw,noatime,ssd,space_cache=v2,subvolid=266,subvol=/@/.snapshots/1/snapshot)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=16762)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
/dev/mapper/cr_root on /.snapshots type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=265,subvol=/@/.snapshots)
/dev/mapper/cr_root on /boot/grub2/i386-pc type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=264,subvol=/@/boot/grub2/i386-pc)
/dev/mapper/cr_root on /opt type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=261,subvol=/@/opt)
/dev/mapper/cr_root on /srv type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=259,subvol=/@/srv)
/dev/mapper/cr_root on /boot/grub2/x86_64-efi type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=263,subvol=/@/boot/grub2/x86_64-efi)
/dev/mapper/cr_root on /usr/local type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=258,subvol=/@/usr/local)
/dev/mapper/cr_root on /root type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=260,subvol=/@/root)
/dev/mapper/cr_root on /var type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=257,subvol=/@/var)
/dev/mapper/cr_root on /home type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=281,subvol=/@/home)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=12209112k,nr_inodes=1048576,inode64)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=2441820k,nr_inodes=610455,mode=700,uid=1000,gid=1000,inode64)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
portal on /root/.cache/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
gvfsd-fuse on /root/.cache/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
I have a similar setup on an nvme disk in another computer.I might as well delete the 2G swap partition by the way, with 24G of RAM I'm not sure it's that useful.
Was just as wonky when I had the windows laptop that the mac replaced. BSODs were common with it, and its crashed the MacOS machine multiple times.
Linux OTOH, doesn't seem to have a problem with the other dock I have it connected to. Haven't had a crash.
But hey, doesn't fit the "linux sux" narrative, so YMMV.
Who hurt you? Pop!_OS?
Last time, I was using an Intel barebones NUC for a stepmania setup, and ran into major problems with both audio and display resolution. Gave up and went to Windows 10, no major issues there setting it up, though the occasional boot screen interstitial is very annoying.
I have the suspicion that this is caused by users who add extra kernels and don't use the system provided ones.
Ubuntu retains only a certain number of (distro-provided) kernels.
Ubuntu desktop version doesn't even use a separate partition for `/boot`, so there's no risk.
I remember this being a problem for Ubuntu Server, but it was long ago (I think 16.04, or maybe earlier).
> sleep states being faulty (or the machine not working properly after waking from sleep)
This problem can depend on two things.
S3 (suspend to RAM) became a bloody mess in recent times (possibly, because of Microsoft's push for the Connected standby). The firmware of some laptops (and even desktops!) doesn't advertise the state. One can verify this with `sudo dmesg | grep "supports S"`: if there is no S3, it's the producers fault. In such cases, I actually don't know how Windows works (for example, if they patch the ACPI tables).
If S3 is advertised, but it doesn't work well, then the producer didn't release proper drivers. Best thing is to open a bug in the kernel tracker; some producers do actually react.
Kernel v6.1 released a lot of fixes for laptops, so it's worth giving a shot.
I'm definitely not justifying the status quo, but it's a chicken and egg situation (small user base -> underdeveloped drivers -> small user base).
> random things like thunderbolt docks not working
I suspect this is a similar (hardware drivers) problem.
> external monitor resolutions being wrong, and monitor scaling working properly when you have two monitors with different resolutions
I suspect this is an X11 problem, which can be considered "Linux", although I'm not sure exaclty. Scaling is a bloody mess, and I think it's not related to drivers.
To summarize, the fault is a mixed bag. for hardware/driver cases (and they're many), there's nothing to do; some distros adopt kernels earlier, but that's not necessarily a good thing. For display scaling, I suspect there's nothing to do, either - this may still take some time.
It uses Modern Standby (aka S0 Low Power Idle).
https://learn.microsoft.com/en-us/windows-hardware/design/de...
> if there is no S3, it's the producers fault
Or it's Linux fault for not supporting the S0LP? Sure, there are a lot of problems with the S0LP implementation on Windows, but the idea itself is good - that's what all the phones have utilized for at least previous 10 years. Maybe Linux actually could do it better than Windows, if some effort was put into it?
That Linux should support all the crap in existence is a fair argument, however...
> the idea itself is good - that's what all the phones have utilized for at least previous 10 years
Phones are different from PCs, in the hardware design, but also in the usage pattern. If something makes perfect sense on a phone, it doesn't imply it does it on the PC as well.
I owned in the past two hybrid (Microsoft) laptops, which I carried and used on the way frequently, and still, the idea of a connected standby was evidently nonsensical (even ignoring the horribly broken implementation). If one wants to stay connected, they use a smartphone, and/or a smartwatch. A laptop can't be kept in a pocket and pulled it out in a second; it's also often awkard to use on the way.
There are no measurements around; embarrassingly, a presentation by an Intel engineer¹ has zero data, but has photos of cute animals. It certainly consumes more than S3, but how much, is carefully ignored (I bet considerably more).
The modern standby, and the convergence narrative in general, is pushed by the companies that couldn't set a foot in the mobile market (Intel and Microsoft), and are trying to appear relevant.
I hope it dies, although with M$ behind, it's unlikely that it will. It's tragic that a useless idea clearly invented by business suits, is affecting the hardware landscape so significantly.
Funny you say that. I can't boot into my dual Windows-arch desktop atm. systemd-boot is broken after I tried to set up XBOOTLDR partition, which I only had to do since the default Windows EFI partition didn't have space after an update.
1h20m to backup the 500GB SSD. I had to restore it once already after a botched shrinking of a Windows data partition. There was also a problem where literally nothing would boot - not even a USB. I believe this happened because I accidentally copied my main SSD (with the arch/windows EFI partition at the front) to the 8GB USB drive, and (again, speculating) having two similar drives confused the BIOS enough that nothing would boot, it just kept defaulting to network boot. "(Drive not present)" on the Windows/arch boot options. Sigh...
Anyways, I still need to try adding/removing a timeout for the systemd-boot config. I've already tried hosting everything on a separate, larger EFI partition. When I boot to Linux from the BIOS it just shows me options for Windows 10 and back to boot.
TL;DR Linux is a huge PITA.
Don't forget that MacOS ships with very Limited hardware, too.
Latest kernels seem to fix it. But tbh I felt like a fool handing those things to our freelancers.
Linux is not a commercial product that'll suit everyone all at once, you need to learn about its components, linux is just a kernel
If your argumentation is "various linux bugs", then you should stick to Windows, it has nice "various windows bugs", or macos, it has nice "various macos bugs"
There must be a reason why linux empowers the world from micro controllers to datacenters as well as the Steam Deck and the nintendo switch for its FreeBSD variant
Use what empowers you, no need to spread FUD
Sure, something might be misconfigured but the universe of misconfiguration for a Mac and Linux are substantially different because Linux is a much sharper tool.
Pointing the finger at the user is emblematic of the problems Linux has when people say it isn’t suitable for the desktop (and these days they mean laptop).
Linux empowers from micro controllers to data centers because there are domain experts being paid to keep the whole thing running AND NONE of those use cases are for interactive day to day customer use on a laptop (eg power saving, audio, video playback, video conferencing, etc) b with the exception of steam deck and switch that have a carefully tuned and tightly controlled OS distribution for a carefully chosen hw configuration. Windows is arguably the closest to the problems Linux faces but generally Windows does a much better job providing usable and stable APIs that vendors build against whereas Linux does not always do such a good job (+ vendors care about Windows whereas Linux is generally an afterthought except if it’s relevant to Android).
You have to configure for it https://wiki.archlinux.org/title/Power_management
Linux doesn't know nor care about what machine you use, it could be a microcontroller without battery to a datacenter to a laptop to a console, configure for what you use, it's not "windows for Intel PCs, RISC? what is that? fuck off"
> I’ve also struggled with audio working correctly and reliably.
That is very hard to believe, my bluetooth headset worked out of the box
> with the exception of steam deck and switch that have a carefully tuned and tightly controlled OS distribution for a carefully chosen hw configuration
That exactly prove my point, users usually misconfigured their OS, the moment you configure your Linux OS, just like Valve did, with your distro of choice to suit your HW, then everything works as expected, that's a one time job
If that workflow doesn't suit you, then linux is not for you, and that's ok
> Pointing the finger at the user is emblematic of the problems Linux has when people say it isn’t suitable for the desktop (and these days they mean laptop).
Because that's the reality of it, the problem is the user who expect things to work for him while ignoring its dimensional capabilities
That's not a linux problem, that's a user problem, it's arrogant and selfish to expect "Linux" to work just for your specific HW and specific usecase and all of the effort should be dedicated to you, just you, for your own sake
Do like valve did with steam deck and configure your Linux OS for your HW, if you are not ready for that, then use windows or macos
Sorry no. That’s not actually true. Linux the kernel and thus the distribution definitely knows I have a laptop. In fact, many things auto-configure themselves correctly around this fact.
> Because that's the reality of it, the problem is the user who expect things to work for him while ignoring its dimensional capabilities That's not a linux problem, that's a user problem, it's arrogant and selfish to expect "Linux" to work just for your specific HW and specific usecase and all of the effort should be dedicated to you, just you, for your own sake
Consider which OS then I’ll be choosing for my 70 yold mom who isn’t very tech literate. I disagree that it’s arrogant to expect buying widely available and relatively standardized HW (this is x86 not ARM) and expecting it to work well. That’s par for the course for Windows btw.
> Do like valve did with steam deck and configure your Linux OS for your HW, if you are not ready for that, then use windows or macos
Ummm… so you’re agreeing with the OP and me then? There’s no Linux distribution that provides a smooth out of the box user friendly experience? As a refresher, here’s what OP for this thread said:
> Is there any Linux distribution with MacOS levels of reliability, simplicity, and productivity, … Most of my colleagues at work picked Linux over a MacBook, and they waste countless hours fixing their various Linux bugs.
Within the specific context of this thread and what’s being discussed, is your post providing evidence for or against what’s being requested? I’m relating that my experience is similar. Sure, I’m not expecting a MacBook because that’s generally not feasible for general HW unless you have the dominance of Windows or Android. And the Linux ecosystem honestly has done a fantastic job in the x64 HW support all things considered. I’m fact, none of the issues I’ve had are really the Linux kernel itself so most of the benefit of the SW/HW layer configuration and isn’t even a distribution thing. And given that my laptop is fairly popular and has dedicated pages on Arch, one would think there might be community-supported “here’s default machine configuration that sets it up correctly” option.
There’s also the general weird design choices from KDE and Gnome, trackpad cursors still not working correctly (although much better than before thanks to that guy that’s taken on that task), Flame screenshot tool that still doesn’t work in a multi display setup despite that bug being open forever, Bluetooth audio switching not working quite so well, hibernation not working, laptop not going to hibernation by default on power loss, kwrite not automatically saving and restoring unsaved documents on power loss etc etc. These are all bugs or default behavior selection that doesn’t feel sane and I think it’s fair to say it’s not at the polish level of Windows let alone Mac. Since the vast majority of this isn’t about the HW/SW layer, I’d say comparing against the Mac is also fair game. That’s why I’m agreeing with OP and saying he’s not crazy and that I’m not aware of a distribution that is polished (Manjero comes close but the bugs are mostly upstream). What you’ve written sounds defensive and argumentative which makes it seem like you’re supporting the claim that there is a user friendly distribution that has the polish of Windows or Mac but all you actually seem to have said (and correct me if I’m wrong) is basically that that’s unreasonable to expect. I happen to disagree with that position since it’s actively harmful to trying to have Linux get market share, but that’s also arguing a different thing from what OP said. It’s kind of interesting to see this derailment whenever the comparison to user friendliness / polish of Windows and Max are brought up. I think the truth is that it’s really hard to achieve this in a bazaar model where you’re throwing together arbitrary components and no one is doing regular testing of livability of a distribution from scratch (everyone’s deployed their own workarounds when they hit bugs vs making sure that those workarounds are deployed by default for the users it’s relevant for, or even better fixing the issue when it’s not a problem with Nvidia).
Nintendo Switch doesn't run FreeBSD, although it does use some code from FreeBSD. The Switch OS (Horizon) is a proprietary microkernel-based system that isn't POSIX-flavored at all. I don't think the full lineage/history is publicly documented, but CFW and homebrew toolchain developers have noted strong similarities to the 3DS OS.
However, I don’t want to learn about components of my operating system, that is below my pay grade.
I’m not trying to spread FUD, I’m speaking firsthand on some of the experiences my colleagues have had with their brand new $3000 business Thinkpads running all manner of Linux distributions.
I don’t doubt Linux is the right choice when you are creating a tightly integrated, walled off product like a Nintendo Switch.
It’s like saying it’s bad I don’t know how all the internal components of my car work because I rely on my car to get to work.
As far as I am concerned, my operating system is a black box for interacting with VSCode, Slack, Outlook, Firefox, and use a terminal in a user-friendly way. I don’t care how it works, its components, or how it is constructed. I certainly don’t expect to have to fix it - making the operating system reliable and user-friendly is someone else’s job.
It's not as drastic for programmers, but I, personally, trying to keep that attitude myself and I'm trying to learn systems I'm using to some degree.
Maybe those professionals want to learn tools for their actual job instead of fighting with the platform underneath. Just like artists want to draw, not learn how to fix their graphic tablet's broken driver.
Doesn't sound crazy to expect a software developer to know a thing or two about their system. Not necessarily down to the device tree, of course. But being stuck at "learning to use a terminal is below my pay grade" feels like the other extreme to me.
If you need Windows you use Windows
If you need an OS that is configurable and open, you use Linux
If you don't like to configure your OS, then you don't use Linux
That's not "elitism", that's respecting the work done by countless people to offer a free and configurable OS without strings attached
There is FUD in OP's comment since my original reply to tell people to use what empowers them got downvoted, -3 pts right now
"FUD: Fear, uncertainty and doubt is a propaganda tactic used in sales, marketing, public relations, politics, polling and cults. FUD is generally a strategy to influence perception by disseminating negative and dubious or false information and a manifestation of the appeal to fear."
But BSD isn't Linux... Both belong to *nix family, but so does macOS
Nintendo Switch doesn't use BSD, it is a microkernel.