ThinkPad T480 is my new main laptop which runs FreeBSD(genneko.github.io) |
ThinkPad T480 is my new main laptop which runs FreeBSD(genneko.github.io) |
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.
Why?
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?
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.
Why in the world would it lack support for one of the most ubiquitous, not to mention fastest, wireless standards? I mean, it’s been out since 2013.
Look how far we've come. Linux was the alternative OS just ~15 years ago. Now it's one of the mainstream OSes.
TBH, I'd like to see one of the BSDs to become one of the mainstream OSes too. :)
edit: Except macOS ofc. :)
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?
Don't forget this, which translated means suspend/resume doesn't work.
FWIW, suspend/resume is probably the worst, fiddliest thing about free OSs on a laptop.
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
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.
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
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.
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.
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.
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.
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.
This is basically the business model of Apple Computers
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).
https://blog.habets.se/2013/11/TPM-chip-protecting-SSH-keys-...
alias rmouse="sudo modprobe -r psmouse && sudo modprobe psmouse"
9th Gen Intel® Core™ i9-9880H (16 Threads, 16 MB Cache)
NVIDIA® GeForce® GTX 1650 Max-Q 4GB
64 GB RAM
4K OLED display (better colors than Mac)
Great keyboard
Infrared Camera
Fingerprint Sensor
DOULBY Sound System
Water-Spoil-Protection
...
The first generation had some cooling issues, but it is solved now in the second generation.
Even the inside is better built. The plastic front clips of the T480 backplate break super easily, whereas the T480s has replaceable clips.
Holy shit, Lenovo finally switched from that non-standard Realtek thingy (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204521) to something that exposes SDHCI over PCIe?
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.
And good to hear it is just keyboard causing his hand problem. Feel sorry when a hacker have pain in using keyboard. Good article.
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).
Sadly fan speed is not adjustable by the user in the last few generations.
I'm also curious about their new AMD offerings.
Fan seems to struggle to dissipate even 25 watts of heat. Sometimes it would be sitting at 50+ degrees C, just idling.
I asked our IT guys if I can repaste it, but they told me it's still on warranty. It might help, but I'll never know I guess.
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.
Here's a link, but I see the price already gone up a little:
https://www.microcenter.com/product/612786/hp-pavilion-15-cs...
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.
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.
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.
If I were in your shoe, I'd wait for a longer traveling version of the keyboard that's not butterfly.
I can get along with my 2015 for now, but I really miss the Retina display and it is pretty slow for doing heavier stuff.
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.
Yes, it lacks many gestures but, KDE has ample replacements for these gestures I think.
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.
But, then, the newer T490's can have up to 64 gigs of RAM, SATA and an M2 ssd
I always disable the trackpad but I fear someday thinkpads might drop the trackpoint altogether as I don't see many people using them.
But dim screens just don't work, no matter if it's matte or not. Bright screen with anti-reflective layer work much better, hate to say that.
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 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.
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.
NVidia, no way to working fine on Linux: you will wait for new drivers after each kernel update and tons of another issues.
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.
True! I've come to realize that anti-reflective coating is more effective than matte screen.
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.
With a reflective screen, you'll see a reflection of lamp, bright and clear. I think everybody agrees that this is annoying.
With matte screen, the reflection isn't strong or clear, but a larger portion of the screen is affected, since the matte layer scatters the light.
With a anti-reflective but non-matte screen, you'll see a 1:1 reflection - but only very very dim.
In my experience across the Lenovo matte screens, and comparing it to MacBook screens, I found the latter to work better.
There's a significant difference between the MacBook and cheapo reflective screens.
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 :)
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.
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.
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 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 don't have experience with Darwin; maybe the experience is better there.
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.
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.
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.
Sadly I agree.
My requirements for a laptop are:
1. Working suspend resume
2. Good touch pad with working palm rejection
3. Good battery life
Sadly the only laptop that meets these requirements to my satisfaction is my macbook.
I don't recall having to jump through hoops when I originally setup the machine about 3 years ago.
NVidia, closed blob - no way to fix, contact support
> audio doesn't work without stuttering,
can't remember problems with audio last 5 years.
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?
http://lkml.iu.edu/hypermail/linux/kernel/1808.0/04276.html
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).
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 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.
I've recently tried NixOS and I'm impressed. Have you considered adopting Nix into FreeBSD?
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.
For you.
I don't mind TrackPoint on thinkpads at all. In fact I would probably prefer that usually.
Everybody's got different tastes. It's not a problem.
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.
https://wiki.freebsd.org/Laptops#T-Z
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
I don't know anything about Nix. So the short but perhaps unsatisfying answer is that I have not considered adopting Nix.
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.
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.
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.
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.
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.
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.
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.
...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)
3. The rise of DevOps, in tandem with (2)
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 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)?
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.
IIRC, they recently discontinued the link and related data sharing though.
For userspace what matters is ART, ISO C, ISO C++ and Android NDK APIs.
(and macOS can't really be called a BSD derivative; it is a mostly different OS that has taken some of its code from FreeBSD)
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.
That is just my experience, others will vary.
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.
This is why I personally force GPLv3 licenses in my own projects, even if it's fairly small.
MIT is a beautiful license but, unfortunately this happens when idealism collides head-on with private corporations.
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.)
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.