>Ethernet and WiFi work, although WiFi is a bit slow (only up to 802.11a?) compared to 802.11n/802.11ac capable OSes.
And stuff like this is why I've never stuck with FreeBSD when I've tried it. I screw around with debugging issues all day at work. Why would I want to try to figure out why something as fundamental as wifi isn't working in my spare time?
They almost certainly mean 802.11g or n, not the archaic a. FreeBSD has generally good 802.11n support. It lacks 802.11ac.
Yes, if you absolutely need 802.11ac wifi in particular, FreeBSD isn't a great choice. But many modern 802.11n NICs (and 802.11ac NICs, in 802.11n mode) "just work" out of the box, including the 'iwm' devices mentioned in the article, on more recent versions of FreeBSD.
FreeBSD 12.0 dates to 2018 — this is like installing Fedora 29 in 2020.
Time, resources, interest; lack of open datasheets and corporate sponsorship from the hardware vendors making the parts. These things don't just happen magically; people make them happen. Linux finally has enough market power that vendors willingly write drivers for it, but I remember a very similar situation with Linux in the 2000s when Microsoft was the only player around with that kind of market clout.
It's not just about speed. I bought a Purism Librem 13 that only came with an n wifi chip. After no end of problems connecting to wifi networks I swapped the chip for an ac. The n would just fail to connect to many networks I needed it to connect to. With an ac I now have no wifi problems.
You don't think you need ac until you try to get by without.
My internet point comes into my apartment at one end. I'd like to have decent speeds on my laptop that's at the other end. I rent the apartment, so any cabling I do needs to either be loose cabling across the floor (dangerous), or neatly done but also capable of being totally removed without doing any damage (expensive in time, if not money).
Comparatively, buying a 802.1AC capable router is cheap (in time, if not money) and portable when I invariably end up moving again.
I mean, I could also get Ethernet over Powerline, but that subject to even more jitter and variable throughput, costs a comparable amount, and then means my laptop loses it's mobility.
And then there's my wireless-only-by-default devices like my phone and tablet and other laptop...
Heh, I actually spent nearly a whole day's time trying to figure out why I couldn't get more than ~300Mbps to my desktop from my Nighthawk AP via my Nighthawk USB wifi adapter. On Windows 10 Pro.
There is now an ethernet cable running across my living room.
Speaking from memory as it's a little difficult to search for but there's no fully FOSS ac driver available for Linux which might be why the BSDs have none, Linux has open source ac drivers of course but they still require proprietary firmware blobs and the performance is terrible compared to the proprietary drivers (think 350Mb/s with OpenWrt compared to 800Mb/s on stock router firmware). Atheros released fully open blob free 802.11n drivers in 2008 with their ath9k driver, although no other manufacturer followed suit. I've heard that there may be licencing or patent restrictions preventing blob free ac drivers from being released but again it's a little difficult to try and verify this.
FOSS driver and open firmware are separate issues.
Binary drivers executing on the CPU are a no-go for me. OTOH, I consider device firmware blobs user(OS)-loaded on power-on to be strictly safer than a stored blob, though less convenient in some ways.
Devices these days have firmware, usually on flash-able storage, as they don't make it right the first time. Would you rather have a wifi chipset, that can be permanently infected after an exploit / evil-maid / malware on PC, or one that can equally be exploited, but is as clean as ever after a power cycle, because the OS needs to load firmware every time?
I know, because I've immediately bought an usb wifi dongle for my desktop with this chipset. (and it is working perfectly OOB with every linux kernel for me since then).
FreeBSD dev here — I don't like this line of argument. It is always used to rationalize any defect in FreeBSD. Sometimes we just have defects! That's just the truth of things; we don't need to pretend we're defective on purpose. Many developers run FreeBSD on their daily driver laptops or workstations because it is (perhaps tautologically) one of the best platforms to develop FreeBSD on.
Our wifi support isn't 100% and this is a weakness. I believe that desktop usability is a large part of why Linux is as successful as it is today, and the modern laptop is so similar to the modern server that it's a bit of a moot distinction.
I don't think the person you responded to was claiming or implying that FreeBSD's wifi support is incomplete on purpose. Rather giving a reason for why resources have not (yet?) been expended in that area.
I have FreeBSD running on my home desktop workstation and everything is working fine, but I wouldn't try to install it on my laptop. Laptop hardware is just too variable and non-standard. Touchscreens, esoteric Wi-Fi chipsets, fingerprint readers, brightness controls, bluetooth, power management, suspend on lid close... I'd be quite surprised if FreeBSD supported all of this out of the box, so I stick with Ubuntu.
That's a very charitable read of GP's remarks. Kudos for the generosity, but I didn't get the same impression from the statements and the context. The phrases GP is repeating aren't novel; they're repeated time and time again in any messageboard discussion that ever touches on a missing feature in FreeBSD. You could say FreeBSD is missing SATA support (just for example; it isn't really) and someone would chime in with "FreeBSD isn't trying to be all things..."
As far as laptops, it all tends to be a bit specific to the model. There aren't too many different wifi chipsets these days; bluetooth is pretty simple from the software side of things. Power management and lid suspend work on most systems (as they say, resume is the hard part). Brightness controls should also work well. I don't know about fingerprint readers. Recently we landed Thinkpad PrivacyGuard support from software, for example. It's not particularly significant in isolation, just as an example of random modern laptop features that might exist in only a handful of models, which we still try to support in FreeBSD.
Ah, it's sort of a running joke. Like "the fall doesn't kill you — it's the landing."
Our resume support is hit or miss, to be completely fair. I don't even try to use it myself due to bad experiences in the early days with Linux in 2000's and lack of need. Shutdown and startup is fast enough for my travel laptop that I don't care; and my workstation I never turn off. But I recognize a lot of people do really care about suspend/resume, and it works for some people but not everyone.
Please try to be charitable online and consider not engaging if you can't bring yourself to. Nobody can give 100% of the context needed to satisfy everyone that might be reading it. We all seem to want everybody to read our own contributions charitably but don't want to give others the same benefit. Makes interaction not fun.
I do. I think you misread the comment you replied to in an uncharitable way if you arrived at the conclusion that your subsequent reply was responsive.
> Nobody can give 100% of the context needed to satisfy everyone that might be reading it.
That was never the criticism. Your response is a non sequitur.
I really wanted to run FreeBSD in my T470s and the lack of hardware support pushed me over to Ubuntu. I loved setting up FreeBSD and it felt snappy for a lot of stuff but it would be cool if some of the devs who do live on laptops would just release a package they tune for their particular hardware.
And for the T470s in particular (yes, it's somewhat sparse, and the links suggest a non-ideal amount of effort required, but purportedly it seems to work at the end): https://wiki.freebsd.org/Laptops/Thinkpad_T470s
How difficult would it be to flesh out this rough spot? For others, it seems like a FreeBSD dev might not at all be able to get ac support for hardware with the drivers as locked down as they are. But if I knew the problem was tractable I might try my hand at it someday. Could be a good resume driven project.
I can't begin to answer this question, sorry! I mostly don't work on network drivers at all, and the 80211 family/stack is its own beast that I am utterly unfamiliar with.
Linux desktop is great in 2020, especially if you buy the right hardware with solid support, the experience is totally smooth and super-high performance with stuff like ArchLinux.
Boots up immediatley, no annoying MacOS updates or having to install XCode while having multiple versions of core unix packages, because it pre-installs a bunch of out-of-date ones you replace immediately with brew. This causes problems, especially for newbies new to working with terminals, as it falls back onto the old ones when stuff isn't linked or set up properly.
Nothing beats having a clean minimal /usr directory with only the stuff you decide to install and extremely fast startups with good battery use.
I get Macbooks for work but use a Linux one on the side
(which I used for 5+ yrs when I was working freelance) and I plan to convince my boss to let me get a thinkpad or dell for the next laptop update.
So I used to be a Linux mint/ubuntu/fedora user (I distro hopped a bit), but I really like how homebrew on macs is per user account rather than system wide, and I can just delete the folder to reset it for the most part (minus running programs, some GUI casks, and shortcuts). AFAIK, apt-get and most if not all linux package managers only work system wide, and I can't install something just for a specific user. Maybe arch is different? Homebrew definitely has issues though, agreed.
Incidentally I ran all of those distros on a T430... which still works fine when I boot it up. Thinkpads are great linux machines, and just great easily repairable machines in general.
AFAIK, apt-get and most if not all linux package managers only work system wide, and I can't install something just for a specific user.
Not all. Nix and guix allow you to install packages into your own profile as an unprivileged user. Best of all, packages that are installed by multiple users are shared in the Nix store.
Per user installs are unnecessary for most users. Firstly most machines are single user. In multi-user machines installing additional software/libraries system-wide has no downsides. If a particular piece of software can't be installed globally without conflicting with other software it probably needs stronger isolation than your user account and you have multiple better options to achieve this.
The sole case that leaves are cases in which your company doesn't allow you the necessary privileges to install software which is an organizational challenge not a technical one.
That said something like nix can allow you to install software per user.
I think you should not compare package managers like that.
The way I see it, a system is a stack: that is you put a number of layers on top of each other.
The kernel is a layer at the very bottom, on top of which you stack a distribution. This distribution is managed through a package manager. On top of this distribution you could stack a user package manager.
In this view, you cannot compare apt or yum to home brew, they don’t belong to the same layer.
If you think about it, that makes sense. User package managers have to rely on the underlying layer to provide tools for e.g. compiling user packages.
Now I agree that in real life, the limit between layers can be more blurry:
- system package managers distribute end users softwares. Because most desktops are single user so having an extra layer is often not necessary.
- some system package managers are re-purposed to be stacked as user package managers. E.g. you can use gentoo prefix.
Still, to have a clear picture in mind the layers should be considered.
That being said, there are a bunch of user package managers you can also use on Linux. Have a look at spack for instance. I think the nix package manager can be used like that also.
Because there are not many people with the ability to add 802.11ac support to drivers, the resources to do so (datasheets, test hardware), and the time required. The 802.11 stack does support at least some 11ac features.
"Stardate 2020. There is a mainstream OS with great driver support and the best gaming performance, that everybody uses (Linux). There are two other OSs battling for survival: One run by open source fanatics that release open source editors, browsers and programming languages and which frantically tries to emulate the mainstream OS (WSL), and one where stuff constantly breaks on upgrades, fundamental hardware like keyboards doesn't work, and keeping enter pressed logs you in as root (OSX)."
Sure some get a performance boost, but I believe more get a performance hit than a boost (and that's not counting the ones that don't even run at all).
...on servers. It's still far, far from "mainstream" for desktops.
Still, that's a really big deal. I work for what is firmly a Microsoft shop, and nobody bat's an eyelid now if we use Linux VMs (as long as they're cloud-based).
I think 3 things in particular have driven the rise of Linux as a mainstream server OS:
1. docker/containerisation. Sure, Windows containers exist, but have you ever seen one in the wild?
2. The shift to the cloud, in conjunction with (3)
> 1. docker/containerisation. Sure, Windows containers exist, but have you ever seen one in the wild?
I have. What is done on .NET stays on Windows, for UNIX like OSes we get to use Java.
Yes there is .NET Core, it is the future, not all MS shops are buying into it due to the current limitations, waiting to see how .NET 5 will actually look like.
I'm truly surprised you've seen Windows containers in the wild - across dozens of engagements with very firm Microsoft shops, I've never seen them, nor seen the need. Gods, even MSSQL runs on Linux these days!
I'm also very surprised you'd claim that not all Microsoft shops are buying into dotnet core - I've seen the very opposite; every client I've worked with has known dotnet framework has been superceded by core, and has been eager to move. A decent portion of this is driven by certain containerisation, which (realistically) means dotnet on Linux.
The only real limitation with dotnet core has been the lack of managed C++ support - a niche use case, and only relevant on Windows, but even this has been resolved in dotnet core 3.1.
Considering the not insubstantial performance improvements in dotnet core, and of course the benefit of cross-platform code, I'm really interested to hear about the limitations of dotnet core you've found (the switch for me and all the enterprise clients I've worked with has been great)?
Plenty of Microsoft shops are deeply invested in technologies like WCF, EF6, ODP.NET, WPF/Forms component libraries, commercial CMS stacks (e.g. Sitecore), and aren't willing to allocate budgets to rewrite what is working perfectly fine.
The kind of enterprises where deployments on IIS, with AD infrastructure on premises, Windows on all company layers are still the name of the game, with some Linux servers for running SAP and a couple of other Java based services.
What is missing from .NET Core 3.1?
Besides what I have listed above, EF 6 on Core doesn't support the Visual Studio graphical tooling nor the EF 6 .NET Framework EF providers, WPF/Forms designers are still WIP and have issues with commercial component libraries, WCF well, no one is looking forward to rewrite their working code with gRPC.
And many are still a little burned with Silverlight and how the whole WinRT, UAP, UWP story went.
Back in the .NET Code 2.0 days, I had a project to rewrite a .NET Application into Java, because the customer in question saw a better business value in doing so than investing in .NET Core. Mainly because .NET Core didn't had support for some critical libraries being used in the .NET Application, while the libraries vendor did support a Java counterpart for them.
Yes, they will eventually move to .NET Core, when it makes business sense to allocate budget to do so.
> It's still far, far from "mainstream" for desktops.
Desktops themselves are far from mainstream! The vast majority must be owned by gamers and video editors; both groups use predominantly non-Linux for reasons mostly unrelated to support that is or isn't in the kernel.
It was always possible to uninstall it. Just a nuisance that you have to, while clearly no users ever desired it. It was also terrible that all search requests went plaintext to Amazon.
Updates since 2004? It's like they took an old snapshot of BSD userspace and some of the syscall interface, except somewhat broken (see the long saga of broken select/kqueue in OSX). Fundamentally Darwin is a completely different beast based on Mach. It's radically different from the core BSD kernel. Most of their userspace is built on Objective-C, which has 0 overlap with BSDs.
It's cool that the Mac community used some BSD code way back when — that's why we use a permissive license — but they've forked whatever they took; they never work to integrate their changes back upstream. To the extent that they're a BSD, they're a very very divergent fork of a historical BSD. And that's fine, for them. I don't know if that makes them a BSD or not in some ontological sense.
To be clear, they mostly publish their changes under open or even copyleft (APSL) licenses. The problem isn't one that the GPL solves. They just dump the modified sources on their FTP and make no attempt to interact with upstream.
The limited exception is Clang/LLVM, where to some extent they are the upstream.
(A clarification: I also like the MIT license, but the majority of BSD is published under the so-named BSD license, with some number of other clauses. You might already know that, and if so, sorry for repeating the explanation; I wasn't sure from your comment. They're both permissive, but not identical licenses.)
Open-source, for one, but that's more than just a philosophy in BSD. One of the key design considerations touted by BSD communities is that the kernel and userspace are distributed and built as one cohesive system for which you can get all the source / rebuild on your system. And that's done far more often than in Linux and other more mainstream OSs. But it's not a BSD kernel and what's distributed / used is very far removed from open-source Darwin and anything you could rebuild yourself. On the more subjective side of things, BSDs tend to value simplicity and correctness over new features. OpenBSD takes this to an extreme, but FreeBSD still takes it a lot further than Apple does.
But other than having more claim to the UNIX title than Linux and having some BSD userland, it's really not technically a BSD at all. I'll grant you it's arguably a distant descendant of BSD under the surface or in your shell.
Some people are motivated by the allure of fringe projects. There's usually a lot of exploration and learning involved with those projects, which can be very rewarding. Not to mention you gain a deeper appreciation for the unbelievable amount of work that goes into the projects.
I have a T430 at home that runs FreeBSD that acts as a spare PC/browser/home media server. I never have to screw around with anything. FreeBSD has come a long, long way.
If I gave you a new Mac or PC, you could spend hours "screwing around" with it tweaking and customizing it, Linux even more so. If you absolutely need 802.11ac, then FreeBSD is not the right OS for T480s. But how many people actually require that speed?
Can't speak for TFA's hardware but suspend/resume works fine on my lenovo x1 6th gen running freebsd, with the only caveat being that I had to load some drivers that were not loaded by default. (I think it was called acpi_ibm. Manpage says that's for the Fn key combos, maybe it was something else.)
FWIW, suspend/resume is probably the worst, fiddliest thing about free OSs on a laptop.
XPS 13 Developer edition meets these requirements. The touch pad isn't as good as a MacBook (none are) but it's plenty sufficient for working when not at a desk and if you do Docker based development having a Linux OS is actually much more performant.
I agree! Specially after I installed a different desktop environment (Plasma KDE, which is beautiful) as Ubuntu's default was really poor in my opinion! Now, I honestly don't know if I prefer my Mac (used mostly for work) or my Dell :) which is great!
Going from a MacBook trackpad to literally any other laptop is an exercise in extreme frustration. Even going from Mac OS X to Windows in Boot Camp makes one want to pull their hair out.
I've owned five or six thinkpads over the years and in my opinion the only reason people feel the trackpoint is acceptable is because the trackpads on those machines are so awful. I used to prefer the trackpoint too, until I used a laptop with a trackpad that wasn't hot garbage.
For example the trackpoint on my T70 actually drifts backwards in the opposite direction after you let go, and this is typical for trackpoints in my experience. It's just not a very good pointing device.
FreeBSD developers and people who use FreeBSD on a daily basis need laptops too. There are not many options out there unless they opt for ancient hardware.
It'd be really interesting to know the proportion of Linux users who are now running under a VM for their desktop Linux use.
I have Linux on the three machines I use. But on each it's via a VM. I run Windows and MacOS on the machines. Where I work this is common as well. It's surely pretty prevalent. The other way a lot of people work on Linux where I work is on a VM on AWS.
I keep hearing this, and I don't understand it. Windows is just so... messy. At my last job I kept a Windows VM for Skype (S4B) and the odd non-portable app, but I wouldn't want that on bare metal.
I don't have experience with Darwin; maybe the experience is better there.
Whenever I try to use linux on hardware, either audio doesn't work without stuttering, video doesn't work without tearing or some package manager dependency issue rears its ugly head. From my perspective, it seems inconceivable to run linux on (personal) hardware.
That being said, I am very unhappy with windows 10 at work, and would much rather have some older windows version. At some point windows probably will become shitty enough that linux might seem like a viable alternative.
One thing that probably taints my perspective: the majority of machines that I have used, at home and work, have been thinkpads and business-class Dells, so I've always enjoyed excellent hardware support. Without that, I'd understand the balance being different.
You sort of answered about understanding the question with your comment about Skype.
Lots of work places are Windows / Office effectively only. Many places have a SOE that is windows only. At home I play games sometimes. Again, that drives Windows.
Also drivers, power issues and various other issues still crop up on Linux more than Windows or MacOS.
Also, working on a VM is nice in a way because it means if it gets stuffed up, just start again quickly.
I'm typing this from an Arch instance running in VMWare Fusion on a macOS host. It's a bit annoying though -- the trackpad is emulated as a scroll wheel, making everything janky, and I can't use my host's full 32gb of RAM...
I almost never do anything but run VMWare on the host -- the only reason I haven't given back my MBP and asked work to buy me a Linux machine is because I'm waiting for the 32gb Dell XPS 13 to come out, supposedly sometime this month.
I've got a Lenovo X1 Carbon 7th gen for FreeBSD development; there are many options besides ancient hardware. Buying a non-name $200 laptop isn't likely to result in a good experience, but if you're willing to do a little research there are many good options.
The mic doesn't work yet, actually an array of MEMS mics and needs firmware for an onboard DSP. The trackpad driver isn't yet in the tree and needs to be built separately. Overall it provides a decent experience for someone with a bit of skill.
Fair enough! I meant there are not many options other than Thinkpads and some business models from Dell or HP. Even an expensive consumer grade laptop will have all sorts of driver issues.
Totally. This is the virtue signaling of the workstation world.
The mere fact that you’re running a computer with *nix, and you get to tell everyone about it, outweighs the fact that 50% of your day is spent figuring out how to get common tasks working on it.
Would love to read a piece akin to “I’ve been running Ubuntu on a ThinkPad for two years without issue” which is a standard the other main OSes have established
802.11a is not just slow in benchmarks. That’s easily perceptibly slow, even when doing ordinary web browsing (given that web pages are orders of magnitude larger than when 802.11a was mainstream)
Theoretically 802.11a is the same speed as 802.11g, but in practice it drops off super quickly and means a “simple” page (like gmail/outlook) is loading in 30s-1m.
> Theoretically 802.11a is the same speed as 802.11g, but in practice it drops off super quickly and means a “simple” page (like gmail/outlook) is loading in 30s-1m.
Nope, that never happened to me. I use 802.11a for the same reason as OP (Intel card on FreeBSD plus a 5GHz only network), an iperf3 test reports a perfectly stable 22.2 mbit/s. More than enough for surfing, in fact Tor limits the bandwidth more than this Wi-Fi :)
It operates on the 5GHz frequency, instead of 2.4GHz of 802.11b/g (802.11b was more popular when 802.11g was still a draft).
Not sure if that was a factor or just that being less popular there was less investment to make it "better".
I don't think I ever saw a card supporting 802.11a exclusively, it was part of a chip supporting multiple standards. And then you would always use 802.11g.
> I don't think I ever saw a card supporting 802.11a exclusively, it was part of a chip supporting multiple standards. And then you would always use 802.11g.
This ignores the historical fact that 802.11a cards predate 802.11g by multiple years - A-only cards were available in 2001 when the initial draft of the G standard was announced.
I'm talking about the year 2003 in Spain. Perhaps I should have mentioned it.
802.11g was still a draft. There were serious issues to use cards from different vendors to talk to each other, and 802.11b cards were common.
Anyway, 802.11a frequency didn't play well with walls (or other solids), added to the shorter range compared with 802.11b (and g), in 2003 b was king and g was introduced early because of the higher speed.
I suspect the author is mistaken about calling it 802.11a speeds but if it was, then it'd absolutely be noticeable speed wise. 802.11a is a rather old (more than 20 years old now) standard that only supported up to 54Mbit/s speeds. Just copy a file or push some commits and you'll start to notice it.
Tor is actually a lot faster than it used to be. I remember when I first tried it several years ago (maybe ~2010?), and it was literally like going back to dialup - just horrible to use.
I tried it again more recently, and was very pleasantly surprised - it's not as fast at the web, but at least for web pages (as opposed to downloading files) the difference was much less noticeable.
I also use a T480 as my main laptop and love it. Here are my notes & dotfiles for running Arch Linux: https://github.com/vesche/t480
One big item (which you'll see at the bottom of my install notes) is that intel chips in these thinkpads have a throttling issue. There's a nice python program to fix that, I run it as a systemd service on boot: https://github.com/erpalma/throttled
Awesome, thanks for sharing. I have my own notes as well for running under Ubuntu that I really should get around to polishing up and publishing as well. I second that throttled fix. I boosted single core performance by 34% and multi-core by 63%! (https://twitter.com/xan_nick/status/1199821047840817153)
I switched to a Thinkpad from Macbook and I'm really, really enjoying the keyboard. Easily the best typing experience I've had on a laptop. Nearly as good as the cherry red switches on my desktop keyboard.
I have a T490 and also run Arch, I believe for me there was a fix for the intel throttling in a firmware (BIOS) update. I don’t know if it was the same issue as the 480 but believe I saw it in the release notes for supported laptops.
FWIW, you can similarly fiddle with Intel HWP / performance <-> efficiency tradeoff on FreeBSD with the `dev.hwpstate_intel.0.epp=<0-100>` sysctl/tunable knob. We expose fewer of those other knobs, though.
My T480 is fairly quiet unless it's under pretty heavy load. I do have the model with discrete graphics, which apparently has much better cooling (even when the discrete chip isn't being used).
All the laptops I've had over the years (HP, Dell, 2 Asus, now a Thinkpad, plus like 3 Dells at work) have idled at about 50 C. Is that not supposed to be normal?
Mine is quite silent I'd say. How I run my OS is very minimal so my CPU/RAM usage at rest is very light. I only hear the fans kick on loud when I run intense jobs. However, I'm also interested in AMD offerings- but more because of the intel chip vulnerabilities that have come to light over the past ~2 years (Spectre/Meltdown).
Checking in with a Lenovo Carbon X1 gen1 running FreeBSD flawlessly.
Everything works including suspend/resume, the only things I never tried to use are the camera and fingerprint reader but I guess I'll check out of curiosity.
Battery life is better than Windows. The touchpad is a little less pleasant to use (hard to click on a small target while using the laptop on the couch, the pointer always moves a little bit when taking the finger off). It definitely works better after some 30 minutes of usage but I have no idea why.
I use one of those too and made the switch rather recently from a MBPr. I used Linux Mint on it.
It's speedy, video calling works fine, can compile lots of code quickly, and it's refurbished and saved from the dumpster.
I hope to never buy a new computer again instead relying on refurbishing old ones as we go along. I keep all of my configurations and projects synced up so that booting up a new computer into my dev environment is straight forward. If I lose the device or it gets totaled it's a couple hundred bucks instead of $4k going out the door to get a new one in a few hours.
Two-year-old ThinkPads (the real ones like the T and X series) are great deals. I did buy my T480 new (I wanted features like the best screen that are hard to find used), but my wife and mom are both using T470 units that we bought off of eBay. My mom's unit turned out to have a charging issue, but we discovered that it was still under a three-year extended warranty, which is tied to the machine rather than the purchaser; Lenovo replaced the motherboard on it with little fuss.
This is exactly what I've done for the last 5 years or so. I'm currently running a T460 I picked up almost two years ago for under $500 and is now running Xubuntu 18.04. My wife's running an X1 Yoga gen 2 that I picked up for around $400.
I've come to the same conclusion that it's generally not worth the premium cost to buy a new laptop when good hardware is so readily available in my neck of the woods.
I’ve been eying FreeBSD for my next project once feature parity is finalized and I begin to lock down the build chain for long term storage. I think one nice thing about FreeBSD is how the entire ecosystem is maintained by the same team of core developers vs. Linux which focuses on the kernel and has a wider more heterogeneous ecosystem. I want something stable, that has great console mode, and has great Ethernet support, and is absolutely rock solid. Does FreeBSD fit the bill there?
Probably fits your requirements. One interesting thing to remember about FreeBSD is that a lot of commercial users of it use it as a base for enterprise appliances (think storage arrays, proxies, DPI boxes, etc). This means that the project as a whole is fairly beholden to these users, who provide a nice chunk of the project's funding and many of its professional committers.
As a result, the project is less focused on desktop use cases and free software/security at any cost ideology than on a) not breaking all the complicated crap built on top of it and b) providing drop-in perf and stability enhancements.
So, yeah, if you want a performant network stack and a consolidated kernel/userland that values stability (both in the "years of uptime" and the no "hey guys, we're jumping to systemd!" senses of the word) FreeBSD is a good option. As a bonus, FreeBSD's manpages are really really nice and give you basically everything you need to get down and do some serious systems programming or box-tuning. Go check out `man 7 tuning`.
Anecdotally, during my years as a sysadmin I ran a bunch of FreeBSD boxes alongside a bunch of Linux boxes - similar hardware, similar tasks. The FreeBSD boxes would routinely run for literal years without a hiccup, while we never got a similar level of stability from any other OS.
I dropped FreeBSD as my main laptop about four years ago (and have invested a fair bit of time on dockerising my experience on ubuntu so going back is hard)
But what I wanted then (and dreamed of having a million or so to make it real) was a FreeBSD reference laptop - basically a distribution of FreeBSD that worked in this laptop series - you bought the laptop and a years support and basically three hackers just kept on producing patches and co-ordinating drivers and making simple tools and simple videos on how to keep your base running.
I work on top of my laptop. I would prefer to just take the barest plain vanilla, and not have to work on my laptop unless I choose to.
> basically a distribution of FreeBSD that worked in this laptop series - you bought the laptop and a years support and basically three hackers just kept on producing patches and co-ordinating drivers and making simple tools and simple videos on how to keep your base running.
This is basically the business model of Apple Computers
I had a professor who made this same comment all the way back in 2003. I had mentioned it would be nice to have a supported Unix-like OS on a laptop. A few months later I bought my first PowerBook and have been using a commercially supported Unix ever since (and FreeBSD on my headless computers).
I paid twice as much for mine when it was the latest model (I got few upgrades, though). I'm pretty happy with the T480 overall, but if Lenovo releases another T-series with a significantly better CPU then I'll probably get it. I didn't think that I needed the dedicated graphics card, but now I think that having the additional cooling would help.
I also have a t480, mines running Ubuntu but unfortunately I’m giving it up for a new MacBook Air. The touchpads on the thinkpads are beyond horrible after using macs for many years, it’s finally too annoying for me to keep going :(
If you want to stick with Linux, I can vouch for Dell's XPS range. I've been running Ubuntu and Arch on various generations of XPS 13 for about 8 years now with minimal issues. Honestly, my work-issued Macbooks have been more problematic than my XPS laptops. It definitely helps that Dell actively support Ubuntu and provide kernel patches.
I just switched from an older XPS13 to a 2019 ThinkPad X1 Carbon.
With Fedora, everything (except the fingerprint reader) just worked, even firmware updates. No configuration, no messing around, the entire process was flawless.
I don't care for the fingerprint reader, and the USB-C dock uses DisplayLink, which is beyond awful.
If you want something cheap: For Linux 18.04 / Windows 10 dual boot, I just bought an HP 15-cs2073cl: $450 refurb from Microcenter. Everything works and I think the price is pretty good for a Core-i7 / 16 GB / 1920 / 1TB laptop.
Here's a link, but I see the price already gone up a little:
It has a slot for an M.2 card that does not interfere with the rotating SATA drive, so I'm about to try that. I'd like to have both installed. SSD is nice for Linux but is absolutely required for Windows.
One nice thing about Dell XPS: they have the Thunderbolt port. I theorize that this is potentially very useful for a corner case that I have: you can add a PCIe box and add a parallel printer port card that accepts ancient security dongles required by certain engineering software that I invested in the past.
As installed: 18.04 works, but long delay when you login because nouveau driver is having problems (a bunch of timeouts from it in dmesg). But it does seem to work (I didn't understand the reason for the delay at first).
Install Nvidia closed-source "435" driver: the above problem is fixed, but now it does not recover from suspend.
Force it to use the Intel GPU with "nvidia-settings". Now all is good. Intel driver is supposed to be lower power anyway.
It's interesting that the there are two GPUs that can share the same video port.
There is also something going with the WIFI driver:
iwlwifi 0000:00:14.3: FW already configured (0) - re-configuring
iwlwifi 0000:00:14.3: BIOS contains WGDS but no WRDS
But it does work.
I've found that installing a 1 TB M.2 EVO 860 SSD works, and you can also have the mechanical hard drive at the same time. However, the BIOS is stupid: it always wants to boot from the 2.5" drive, so you need to install grub on it. I used a Samsung migration tool to move Windows 10 to the SSD, but Windows itself is stupid- it's random whether it boots the new SSD partition or the old 2.5" partition.
However if you don't like the Dell and it's not defective, they can charge a 15% restocking fee. That could be hundreds old dollars for a top of the line xps 15. For me, this is a deal breaker. There is nowhere to test the machine in a physical store. Maybe they will fix their return policy in the future, but for now, it's not customer friendly at all.
Later models have some issues, my personal 2019 XPS13 has lots of graphical glitching issues on 19.10, My colleagues with 2019 XPS 15s on 18.04 have various display and performance issues while my 2017 XPS 15 is just fine on 18.04.
I'm hoping 20.04 will be a smoother experience once it's released (we only run LTSs on development machines at work).
One of my new team members couldn't get her brand new XPS15 to output to a 4K TV (1080p internal disolay) on 18.04 yesterday. The screen would just constantly flash on and off. We had to settle for her using 1080 for presentations etc on the office TVs as no combination of proprietary drivers or Nvidia on/off resolved it.
Huh... I have the exact opposite feeling. I've used a MBPr for work the last two years, and I absolutely hate it. I've pushed to get a good solid Lenovo, but that's been repeatedly rejected as they like the convenience of the whole office using OSX and Apple hardware.
I've felt the touchpad wasn't sensitive enough and the click action was way too feeble. Combined with the mushy feeling of the keyboard and the atrocious user experience of the OS, I can barely stand using it each day.
I agree mostly on the hardware complaints ( I have the same and I use a mechanic keyboard and standalone trackpad), but not sure about atrocious user experience of the OS. One of the biggest plus of mac is that it's terminal is posix.
In my opinion, that's the only positive to using OSX. Wish they didn't use an old as hell version of Bash. For my Linux work, I code to Bash 4, and I've been bit a few times when my scripts won't run on my laptop due that.
The need for 3rd party software (spectacles) to allow me to use hot-keys to shift windows around (native feature in Windows, Linux, and iirc even the windows manager in Sun V when I used it for a short time). Same story to alter the behavior of alt-tab.
I also can't prevent windows from stealing focus if some random app decides it wants to pop up something (again native option in every other OS I've used). That's apparently been an active complaint on the internet for somewhere close to a decade from what I've seen during my fruitless searches for a solution.
I've had numerous issues related to the App store randomly signing out, which may not be an issue to normal users, but in my case the office uses a shared app store account to handle App Store purchases, so that was exceedingly irritating but probably a "it's just you" type of complaint.
And none of that even touches the debacle that is Catalina. I ended up completely re-installing the OS, as a vast majority of software I needed wasn't compatible due to the deprecation of 32-bit support.
All in all, I personally hate the OS and can't stand it. I'm currently looking for a new role, and can't deny I'm giddy at the chance to get away from it. And honestly, I'd probably turn down a position if it came with the requirement to use OSX again.
However, I do recognize this is my experience and others really do enjoy OSX. But to each his own.
I wondered why Apple use an old bash version, Google said: "The reason that Apple includes such an old version of Bash in its operating system has to do with licensing. Since version 4.0 (successor of 3.2), Bash uses the GNU General Public License v3 (GPLv3), which Apple does not (want to) support."
I have an older macbook air, The new ones even with the faulty keyboard is a lot better considering the increased trackpad size, the screen alone is probably worth it.
I thought I was fine with the old screen turns out I was just used to it, the new one is such an upgrade, the tradeoff being that the processor power is about the same. Which don't matter to me that much as it's mostly text editing for me.
in the non-mac world, ThinkPads have some of the best touchpads, too.
The closest to a mac touchpad I have seen so far has been the Dell XPS touchpad, which imo is hands-down the best touchpad experience on a non-mac machine.
The only issue I have with the trackpads on Linux is palm rejection not working. This is an annoyingly common problem unfortunately, so you rest your wrist for just a second while typing and the cursor jumps to some random point on the screen and clicks.
Recent libinput's palm rejection works fine for me. Though I've had to test that deliberately… on the Pixelbook, my wrists are always on the rubber wrist rest thingies and never on the touchpad.
If we don't count the keyboard issues, no laptop on the market is as nice to use as an MBP. If I had one with a physical escape key, I could probably make the statement without even that reservation.
But if you prefer Ubuntu to macOS for whatever reason, I've found the Dell XPS line to be good enough to be tolerable.
This is why I bought a Macbook Air, they still have a physical escape key and my vim muscle movements will not allow me to remap that key anywhere else.
BTW The 16inch Macbook Pros also have a physical escape key now, to the left of the touchbar.
I have this exact model and have attempted to use trackpoint under Ubuntu and it is just slow and I'm constantly overshooting my target. I'm so much better with the trackpad that I really wonder how people that use trackpoint swear by it. I must be missing something.
Increase the sensitivity to max and try to guide it using just light touches. It's supposed to be relaxing on the fingers, if there's any finger strain, your sensitivity is too low.
I do this, but I can see how many people would have a hard time giving up the touchpad. The gestures are nice and I do have more control on a good touchpad. However, for my use case not having to move off home row beats touchpad gestures.
Then you still don't have a good trackpad. Besides, the trackpoint is drifting across all models. I like to use it, but it's beyond my imagination why people think this is the best a manufacturer could do.
Mac user here. Still use a desktop Mac mini daily, but have replaced my 13" Macbook Pro for a 14" Thinkpad running Ubuntu.
So far so good. Haven't had nearly the amount of hardware issues reported in this thread. Only the fingerprint scanner does not work, despite best efforts to install its drivers.
The hardest thing for me so far has been customising it to behave like macOS. The muscle memory of keyboard shortcuts is too hard to shake. But I've changed most of them.
Another thing to point out. The display scaling sucks. I have found anything between 100% and 200% unstable.
Edit: mine is a budget L380 model. Pretty good value for under $500 (current clearance price).
I run Ubuntu MATE 18 on three different Thinkpads and they all work perfectly with zero tinkering. The only issue is they chew through the battery in no time, but since I’m almost always plugged in I’ve not bothered to investigate a fix.
I've found the "CPU Power Manager" add-on pretty good for battery life. I flick between the profiles depending on what I'm doing. Could be better, but I still get at least 4 hours on the "Multimedia" setting.
I've been running 1.3x fake scaling for years by just tweaking fonts. In previous Ubuntu versions with Unity that was just a standard setting. Now I need to set the font scaling in the tweak tool and in the firefox about:config. After that everything just looks fine.
I was using an add-on to enable experimental scaling but it's noticeably slower and my remote desktop client doesn't adjust its scaling accordingly. But you're right – browser scaling gets you half way.
That's generally what you want. If the private key only ever existed in the TPM then you know there aren't any copies in an attacker's hands somewhere (ignoring hardware vulnerabilities). But if you copy a key into the TPM, there could have been malware that stole a copy of the key beforehand.
The other good development with Thinkpads is the introduction of AMD processors in their mainstream offerings (T495, T495s, X395, etc.). Unfortunately their screens suck though.
The screens are actually the very reason I choose a thinkpad over a mac. Gloss screens are pretty much impossible to work on if you prefer dark colorschemes, and at least the thinkpads give you the matte option.
I don't think I fully understand what conditions you are talking about. I very rarely put my screen brightness any higher than 50%, and I've never maxed it out. My first thought is that it's not the brightness, but the contrast, that is the cause of your problems? Or perhaps I just have a model with a brighter screen... (currently on a T460, though I don't remember the screen specifics)
EDIT: I might add as well, that part of the point of using a dark colortheme, is to not be looking into a lamp...so perhaps I am simply more okay with lower brightness, because I explicitly look for dark colorthemes. That does mean I am very sensitive to finding a colortheme with good contrast.
Do you think it was as good as a factory-produced matte screen? While I was aware you can do this, I'm a little hesitant to do something which is an absolute minimum for usability, in case I'm not happy with the outcome. It feels a bit like having to install a keyboard on the laptop myself, because the laptop didn't come with one...
I honestly couldn't tell the difference. You lose some output and viewing angle, but you did so on the matte screen as well. I had it on for like 6 years and my wife still has hers on from 2011.
I like matte screens too but my problem is their brightness. T495s comes with a 250 nits screen which can be quite dim. The Intel models have more screen options.
While not for most people, it is realtively easy to replace the screen with a higher quality panel. I have a T495, and replaced the panel with a higher quality one. No screws, just sticky stuff, I was concerned about this at first, as I didn't know of the sticky substance would remain viable after swaping thescreen, but it is working great. Since I am not changing panels everyday, it isn't an issue.
I use a T495s with the 400-nit low power display and it is by far the best screen I've ever seen on a laptop. I have no idea what you're talking about; of course, if you go with the 1366x768 screen that Lenovo seems to continue to offer inexplicably, you're shafted, but the 1920x1080 400-nit screen is incredible. It's matte, thin, extremely low power (powertop tells me it's under 1W right now at 30% brightness, which is already too bright for a well-lit root), and is easily replaceable. And it's not touch either, which is an advantage in my book.
It is. I never hear the fan running. But annoyingly, they've put the fan vent on the right side of the machine, so every now and then I can feel the hot air from the vent when my mouse is close to it, but I never hear it. Even in the quietest environments.
I have the Ryzen 5 PRO 3500U (4c8t) with integrated Vega 8. I haven't done any under/overclocking or anything special, it's a pretty vanilla machine. I've only swapped out the NVMe drive it came with for a Samsung one.
I have a T495. I highly recommend it. Be warned, the keyboard is a chiclet keyboard, not the traditional Thinkpad keyboard. But having an AMD GPU and an AMD CPU automatically makes this my choice after having dealt with the horrors of NVIDIA on Linux.
The traditional ThinkPad keyboards are long gone (save for the T25 anniversary model). That said, they are still better than most other laptop keyboards I've tried.
After having cycled between HP, Dell, and Asus, bought my first Thinkpad two months ago (T490). Was rather shocked at just how much better the keyboard is compared to the others, and for those others I'd always tested the keyboard at a store first.
I use a Thinkpad T490s and it works great with Ubuntu out of the box. Only thing that doesn't work is clicking the touchpad for right click, but since the Thinkpad comes with physical left and right buttons that was a non-issue.
On my T480 I can use two fingers to trigger a right-click. The only issue I ran into with the mouse was where both right-click and two finger scrolling don't work after I have resume the laptop from sleep. To workaround this issue I just reload the mouse driver. It doesn't really bother my workflow much, but if it does then I'll run this rmouse command in the terminal. (I probably should script this to run on resume automatically, but I'm lazy :-) )
alias rmouse="sudo modprobe -r psmouse && sudo modprobe psmouse"
The T480s has so much better build quality. Its all metal vs T480 which is plasticity and soft touch. Not sure why you would choose T480 unless you REALLY need > 24gb ram or giant extended battery.
Even the inside is better built. The plastic front clips of the T480 backplate break super easily, whereas the T480s has replaceable clips.
I have a T480 and I've definitely needed >24GB of ram before when running some VMs. It has come in handy. Don't forget too that the T480 has hot-swappable batteries, which is really nice on extended coding sessions where I'm not plugged in or if I'm traveling. Also, I love the rubbery feel of it. It feels solid in my hand and doesn't slip at all. Admittedly that is subjective though. :-)
Similarly, I can vouch for the T495s' sturdiness. The whole thing genuinely feels like a slab of solid rock (but is still lightweight); I can't quantify how robust this thing is, but Lenovo guarantees that every T495s has been through some sort of military testing where it sits in different environments for several hours (sandstorm, scorching heat, freezing cold, humidity).
Have been running Linux on Lenovo laptops forever. A T500, then a T440p, now an X1E Gen2 (can't remember what I used before the T500).
While I still am not able to buy a Lenovo laptop without Windows preinstalled, at least Lenovo is open enough for other OSs (FreeBSD, Linux, etc) to run relatively flawlessly on them.
I hate the trackpad/nubbins on those things. At least for Win10. the response/behavior isn't really consistent between it seeming to want a swipe, a tap, right or left buttons and whatnot.
That is one of few pieces of him that is comfortable to read. No feeling of an angry old man shouting at you. Quite a statesman like talking his way of life in fact. Enjoyable read.
And good to hear it is just keyboard causing his hand problem. Feel sorry when a hacker have pain in using keyboard. Good article.
Have you worked on external monitors with this setup? The last time I've tried, it had been a pain. The monitors were detected fine, but the scaling was completely off.
Funnily enough, I had wanted to purchase my Dell XPS 9570 (15") without dgpu, but they only offered it for their 13" model.
Until several months after release, support for the nvidia card was spotty on Ubuntu/Fedora so it would suck up power without it being used. It's better now, but my workflow doesn't really need a dgpu, and the igpu is enough to watch 1080p videos (probably not 4K, though).
I have the T495, that has the Vega 10 amdgpu.
While it is builtin with the cpu, It performs pretty decently. After proper configuration, I was able to get 20FPS in Shadow of the Tomb Raider, at max settings, on Linux.
That processor sure has the potential. A few modifications to the cooling system and some undervolting can get it running at 30+ Watt TDP indefinitely.
I've been running Ubuntu and Kali on a Dell machine for a few years and the trackpad has always been unusuable and the power switch is always power-down (instead of sleep, standby).
Yes, I've messed with the xorg settings for the trackpad and the ACPI settings for the button, but gave up.
Slightly related: I'm running Ubuntu on a Thinkpad and the trackpad is pretty painful to use (after using macOS for years). I went out and bought a mouse a few days ago for this reason.
It is bizarre how good mac laptop touchpads are. I've used a number of Windows laptops and nothing comes close (caveat: I've never used a top-tier Win laptop).
If it's for funsies okay but pushing to use something wildly boutique is a major red flag for me at work. I have one guy who works for me who runs linux on the desktop and he's pretty much always having a problem of some sort. I put up with it because he's staff level, but it doesn't impress.
And stuff like this is why I've never stuck with FreeBSD when I've tried it. I screw around with debugging issues all day at work. Why would I want to try to figure out why something as fundamental as wifi isn't working in my spare time?