3 ms·
Whatever, I'll bite. I'm a software developer. Some reasons I'm on Windows. 1. Font rendering Programmers, admins, devops, people in tech basically stare at
by myk9001 3y ago
Whatever, I'll bite.
I'm a software developer. Some reasons I'm on Windows.
1. Font rendering
Programmers, admins, devops, people in tech basically stare at text all day long. Some people seem to be oblivious to font rendering issues on Linux. If you're one of them, lucky you! I'm not looking for imperfections just to pick on them, my eyes do notice them though.
1.1 Subpixel smoothing.
Was not a thing for a long time. I'm perfectly aware it wasn't due to technical reasons but because of patents on the technology. Withholding my judgment on the patent system overall, I'll just say knowing the reason didn't make it any easier on my eyes.
Yes, you could rebuild libfreetype with `#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING` or hunt down and install an Infinality package. If you were on a distro with libfreetype compiled without that `#define` (as in almost all of them except Ubuntu), the very next thing you'd be faced with is the fact that packages relying on libfreetype check `ftoption.h` for the flag at compile time. Which makes sense -- how else would you check for a `define`? The result of this was that Firefox, KDE, Qt, and GTK apps wouldn't take advantage of subpixel rendering in libfreetype, unless you set out recompile all of them too (as I used to do). So much for the model of only single copy of a shared library in the system, I guess...
But that has finally changed for the better 3 or 4(?) years ago. Now `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is defined by default in all major distros, afaik.
Alas, my eyes still can't stand Linux font rendering, which brings us to
1.2 Font kerning
It's simple really, the spacing between letters looks uneven. Apart from making rendered text look ugly, it makes reading harder by breaking the visual rhythm of the text. I feel, it increases eye strain too.
Head to this page for a visual illustration of what I'm going on about: https://pandasauce.org/post/linux-fonts/#the-ugliest-part https://pandasauce.org/post/linux-fonts/#the-ugliest-part
Let me take a moment to remind you, our jobs involve staring at text all day long. Don't know about you, but to me good font rendering is a huge deal.
1.3 Config files
Let's see, this Arch wiki page[^1] lists how many configuration files related to fonts? There's the fontconfig library with user configuration files in `~/.fonts.conf.d/`, there is XOrg's `~/.Xresources` for apps that don't support fontconfig, and then there is the gnome-tweaks, and xsettingsd utilities. This list is likely not exhaustive either.
And it's not like you can ignore some of this configs and utilities, if you want consistent font rendering across the system, you'll have to futz around with most of them. A nice bonus, font rendering of Qt apps can and does break if run them in GNOME. Font rendering of GTK apps can and does break if you happen to start one in KDE. As they say, in Linux you can configure everything, and you will be configuring everything.
But you're learning how your OS works under the hood? Yeah, no, not really.
Learning how hardware works is interesting and potentially beneficial for your career prospects, same with learning how a kernel works, or, you know, even learning the fundamentals of font rendering can make you a better programmer.
Learning to handle a bunch of config files scattered all over the place just to get fonts render half-decently is nothing but a waste of time. And I shudder to think just how much I personally wasted.
That's it on fonts, but there's more on Linux.
2. Drivers
Linus made an intentional, strategic decision early on: the kernel is not going to maintain backward-compatible ABI for drivers (don't confuse this with user-space backward-compatibility though). The idea was to put pressure on hardware vendors to make their drives open-source and add them to the kernel's source tree.
The year is 2023, and it seems that decision back-fired just a little bit, at least for Desktop systems. But who knows, let's have a bit of patience, because important change doesn't come easy and fast. That said, while I don't care much about 3D acceleration, I really enjoy my laptop's touch-pad just working and its battery not draining because the discrete and integrated GPUs have no problems working in "hybrid" mode under Windows.
That's probably it for the list of "global" things that are broken (just my opinion) in Linux. Mind you, not for the lack of material, I'm just out of steam by now. Just one thing to add about Mint in particular.
3. Linux Mint distro user-friendliness
Last I checked, Mint had updates grouped into five categories numbered from 1 to 5. 1 being the least risky, 5 labeled Dangerous and colored red. The funny part is, many security updates would land in "5 - Dangerous". So, there you're having a security hole in your system, but it's dangerous to install an update patching it. Does it sound user-friendly to you? There was even a bit of drama around this subject back at the time[^2].
---
[^1]: https://wiki.archlinux.org/title/font_configuration https://wiki.archlinux.org/title/font_configuration
[^2]: https://web.archive.org/web/20131206095859/https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2013-November/014770.html https://web.archive.org/web/20131206095859/https://lists.ubu...