Linux Laptop for (student) programmer
As the title says, I am currently learning to be a programmer, and my tablet does not suffice for the job.
I have already finished a small MEAN-Stack application for learning Typescript, learned some Java syntax (I expect nothing more exciting than a sorting algorithm, but exam language is Java, so...) and the next stop will most likely be plain vanilla C to learn about handling hardware.
Windows I hate with a passion, and I don't know squat about Macs, so I am thinking of getting myself a decently sized laptop for a sensible Linux install.
History (I started my Liux journey with SuSE Linux 4.4.1, way back when) taught me to be very wary of driver issues on laptops, so I thought I could ask you for recommendations that play fair with Linux.
(as an aside, if I could play GuildWars2 on it in the evening and attach my two big monitors when at home, that would be super cool)
I can not recommend the framework laptop enough. Love their mission of producing a reparable and user-friendly laptop. You can even buy it without windows, to install your own OS from the get go.
I've only heard great things about Framework (https://frame.work/) however their laptops are not cheap. I wouldn't necessarily assume that they fit a student budget. OP didn't say what their budget is but you can definitely get a laptop that is adequate for programming for less than half of the price. That being said if the budget is there the upgradability and repairability may make it an economical option over the long-term.
I had been holding off on a laptop purchase waiting for framework to ship an AMD board, but they took so long that I had to buy another laptop instead. The new models they were showing off at Computex look so cool though. I am really excited about their swappable GPUs.
old thinkpad FTW!
got a T430s for 115Euros one year ago
Laptops these days do much better with Linux than before. But if you really want ~0% chance of dealing with driver issues, I'd go with System76 laptops. They're made for Linux, and with Linux pre-installed.
Dell and Lenovo also offer laptops with Ubuntu pre-installed and supported.
can’t speak to lenovo, but i’ve had very mixed results with Dell. it certainly isn’t as smooth as system76 or the old (pre lenovo) think pads but they’re workable. the 13in dell models are better supported then the 15in in my experience
I would highly recommend a Framework if it's within your budget and you care at all about right to repair. Otherwise I'd highly recommend a used Thinkpad as they hold up exceptionally. I've used Linux on both very smoothly.
pickup a t440p for peanuts, can add more ram and processor if you want
wasn't the t440p the I've that did away with the trackpoint buttons?
Thank you all for your suggestions, I will have a look at used thinkpads or tuxedos. Scratches never bothered me.
You are all very helpful!
Checkout Framework laptops. If they don't do it for you, maybe try System76.
I've used pre-owned corporate thinkpads for years. At least in here we have multiple of stores to purchase previously leased (and since wiped+inspected) laptops for quite cheap (your definition of cheap may vary). Just now I have one waiting at the post office, T495 for 299€. Granted that's never been a top line model, but it's well sufficient for my usage and it'll happily replace the old x240 I've been lugging around.
I've ran them with ubuntu/debian, dualboot and pretty much every combination. They just seem to work, altough there may be more or less hiccups specially with keyboard lights and (to me) minor things like that. Networking, hardware itself, suspend and everything else just works. And there's mountains of information on various wikis etc to check before purchasing.
+1 for used thinkpads. If you can live with some scratches you can find great deals. Plus you can look up the model you would like to get on https://wiki.archlinux.org/title/Laptop/Lenovo and make sure compatibility isn’t a concern.
if you are from the EU i can recommend Tuxedo Computers. they have a wide range of laptops to fit your budget, and among those a lot of customisation options.
the only downside about mine ive noticed, would be that the keyboard legends seem to wear a bit faster than normal. then again that is because they are laser etched, which means for a small upcharge they will put whatever you want on there.
or Framework as others have mentioned, not only because they seem to have produced a great product, but also because their mission is definitely worth supporting.
I tried a Tuxedo Laptop a few years ago and the keyboard was noticeably worse than my T480s and a MX Keys Mini. But that probably depends on the model.
Thinkpads are absolute tanks and support Linux quite well. Would shy away from the T470 and T480 though. The touchpad on those isn't really well implemented. If you don't care about reliability my Surface Laptop Go does Fedora Silverblue 38 really well.
Linux is the correct (and only) choice for programmers. 99.9% of the internet runs on Linux. When you get a job, you'll most likely deploy to Linux servers. Other people (MacOS/Winblows) will spend a significant amount of time trying to emulate a Linux environment.
My daily driver is a Dell XPS 13 9310. The build and finish is pretty good. All the hardware works out of the box.
I also used a Lenovo X1 Carbon for a few years. Also very good. I think the speakers sounded better on the X1 compared to the XPS. I think at this point all the hardware is supported by the latest kernel. When I had it, I think I had to wait for microphone support because the X1 had some fancy array of microphones. Eventually the software support caught up though.
Not recommend: I've also tried a System76 laptop. I quickly returned it because the build quality felt super cheap and I had a dead pixel. I also didn't like that the power adapter was a barrel plug. (Although, yes, you can also charge with USB-C, but then you still have a useless barrel plug.)
Not recommend: Framework laptops. They seem cool, and they are, but the build quality is not as good as the XPS or the X1 Carbon. Also, the biggest reason to avoid Framework is due to the poorly supported HiDPI display. This goes for all laptops, by the way.
Finally, I'd also like to mention to be successful in Linux, you have to adopt a different mindset too. If you go into Linux expecting MacOS or expecting Winblows, you're going to be disappointed. Linux is Linux. It's great for computer science. It's not great for video/image editing, music production, gaming. Sure, technically you can find a way to run those apps, but it's not going to be the best experience. Similarly, it doesn't make sense for me to go to MacOS and complain that I can't use systemd or LUKS.
tl;dr
I disagree with your take on the framework. The inferior build quality alone is not a good enough reason to say they aren't worth it over an X1 Carbon or XPS. Neither of those offer easy repairability and the XPS has atroucious IO.
I use a Framework and have run it primarily using Plasma Wayland and Hyprland. Both of these have had fantastic HiDPI support. Both can scale Wayland and Xwayland apps seperately so that you do not have any fuzziness and both support Wayland's newest fractional scaling protocol.
If you're running a modern distro (one with good wayland support), you should have no problem with hidpi. The more recent comments in the thread you linked support this.
I highly recommend the X1 carbon too. I run it and fucking love it.
At work we used to roll-out the XPS 13" because Dell officially supports Linux. I personally don't like it because there's no USB-A port, but our employees were very happy with it.
Now Linux is obviously a great OS for development, but there's so much misinfo here.
It's 2023, most shit is either platform-agnostic (Anything front-end, Java, etc) or runs in Docker nowadays. Or both. I run plenty of Java shit in Docker despite the fact that it'd run natively on any major desktop OS. It's easier to guarantee an environment in a container than get a bunch of Linux users to agree on an environment. Otherwise you get one dev with Java 8 as default as per company spec and then another with Java 17 because some tool they use requires it and they're too lazy to set 8 as the default and invoke 17 specially for that use case.
Matter of fact, I know most companies I know people at, either use Macbooks or give you a choice.
Does it really take a significant amount of time trying to emulate a Linux environment? Eh, I suppose. I first install brew and THEN install docker. Whereas on Linux, I'd just use the distro's built-in package manager to install docker, because everything gets deployed in containers for k8s anyway, so why would I run it without docker locally and complicate things?
Also, funnily enough, according to the latest Stack Overflow survey, Windows is actually the most popular OS among developers. Probably because of all the ancient legacy win32 shit. MacOS is second, but if Linux wasn't split into different distros, it would likely be second (multiple choice survey, so y'know, can't just add them together linearly), but it'd be a close call anyway.
This part is technically true (I believe the real number is closer to 96%, with Windows Server and FreeBSD accounting for the rest), but it's highly irrelevant because most modern backend applications run on multiple layers of abstraction to the point where it doesn't matter if the development takes place in Windows, Linux or MacOS.
At the end of the day, I want my dev machines to always work, so they're Macs. My personal desktop is mostly used for gaming and tinkering, so it doesn't matter if I fuck something up and have downtime. That runs on Gentoo. That said, OP is a student and should use Linux precisely because they can probably afford the downtime so what better time to tinker? But for work, reliable and polished > tinkering and infinite customizability.> 99.9% of the internet runs on Linux. When you get a job, you’ll most likely deploy to Linux servers
Don't make the same mistake I did and get it with a good CPU. Good CPU bad GPU far outweights good GPU bad CPU
g14 6800s open box is 800 atm at bestbuy , if you're in the US I don't think that deal can be beat.
But we'd need to know your budget, and some more of your requirements to help more.
If you dont care about gaming, then an old thinkpad would last you the rest of your life.
My usual suggestion: Get a generation-old business or workstation class machine from one of the major manufacturers, as a refurb. Mostly meaning keep an eye on Dell Refurbished or Lenovo Outlet - sometimes you can also get a deal on a refurb via woot - for something that appeals to you. The stock is always changing at those, and there are almost always sales/coupons for around 40% off at the first-party refurb stores, so +/- a week of patience can save you a bunch of money.
Business or workstation class machines (think Dell Latitude or Precision, especially the ones with models that start with a 7, or Thinkpad) are typically mechanically much better built than their consumer counterparts, and usually full of reputable components that are connected in standard ways - low end consumer stuff sometimes has issues where they got weird less-common components or connected things in stupid ways to save a few cents per unit that will cause driver issues.
Waiting a generation gives time for mainline kernel driver support to fully mature to minimize driver problems, and drastically cuts the price.
I've had several machines following that advice, and I think the only driver trouble I've had with them has been with unsupported fingerprint/smartcard readers, which I ...don't care about anyway.
Or, if you want a way cheap beater and don't mind some hackin', grab a used/refurbished AUE Chromebook that is on the Mr. Chromebox Supported List. AUE means they no longer receive ChromeOS updates, so their price craters to like $50, and you can flash a normal UEFI payload and use them as a (feeble, storage starved, low resolution) computer. Not a good main machine, but they make fun beaters for experimenting. There are often batches of them being dumped via woot.
...also, don't buy anything with an Nvidia GPU unless you have a specific compelling reason, it'll be a pain in your ass for the life of the machine.
any recent laptop (or even older stuff) would work pretty well with linux. just make sure that you can have access to the BIOS or UEFI. I personally like AMD hardware, but Intel and Nvidia work just as well.
if you can afford it, System 76, Framework, or other linux first manufacturers are nice, but otherwise any normal laptop should work.
If you're bringing it to school, consider the weight and size, also the backpack you'll put it in. Big screen is good, but more annoying to carry around. I have a tiny 13" that I bring between home and work, which works great, because apart from meetings, I never actually use the screen. Might consider the keyboard too, but unless you go apple, I feel like laptop keyboards are always gonna be "eh"
Guild Wars 2 works without issue, though if that''s specifically what you want to play, Guild Wars 2 works better with a good CPU and an SSD, whereas the GPU would be good but doesn't need to be great. That of course depends game per game, just I know that Guild Wars 2 specifically relies a lot on the CPU, and without a SSD it will stutter.
Check eBay for ThinkPads from 2-3 years ago. They are usually from offices, in good shape and reasonably priced. I used a W500 for 10 years with Debian and it was awesome, then I used an X220 for 5 years with no issues at all.
All depends on your budget. As other have recommended, Framework and Lenovo have some good options.
I'm using an Acer Swift 3, would definitely recommend some of their models (3:2 1440p display, i7, 16gb RAM, 1TB SSD for 850$ CAD)
Consider the Framework laptops!
don't go expensive, a 500-700$ laptop is perfect for programming. don't buy thin, mac-like laptops. go with beefier workstation laptops. I highly suggest buying a good refurbished laptop. if it has a dedicated GPU, AMD is highly preferable over NVIDIA, but both work.
almost all hardware works really fine with linux nowadays. I have a lenovo legion y540, works great, but if I didn't want to game on it, I would go with a workstation laptop.
slimbook seems to make good laptops made for linux.
Personally I would try to get a ThinkPad from a bankruptcy auction or similar, I got my T15 for around $600.
check out Tuxedo laptops. they're made for Linux so you won't have driver issues. you can use their distro or any other
they're not cheap, but form what i've read/heard the build quality is very good. they're from germany
If you want to learn how to program (C++, Jave, etc.), the most hardware demanding task is using the browser. So, your requirements couldn't be any lower. Any toaster from the past say 8 years will do fine.
E.g. have a look the the Dell Latitude 7480. You can get it second hand in really good shape upwards from 200 EUR. It's well built, well repairable, works well with Linux and the battery lasts a day.
Forget about GPUs. (iGPUs are sufficient, dGPUs are expensive, unnecessary for your use-case and draw lots of battery.)
P.S. And have a look at Arch Linux.
P.P.S. You might also have a look at war games.
Running a mongo database, an express server in VSCode with nodejs, the Angular app, also in VSCode with nodejs and the browsers proved a bit difficult for my existing (and ooold) refurbed Dell latitude. It might have been the last windoofs update that brought it to bay, too. I don't know.
Thank you for the wargames, I am going to try my hand.
You pretty much can't go wrong with a Thinkpad, the T series are solid choices and extremely upgradable (T440 and T480 being the most beloved from my perspective).
If you are a vintage dude you may want to take a look at the X series (I've heard good things from the X220).
For a bit more power you may check the X1 Carbon series, these are more modern, but as a consequence they area bit more enshittified, I really like my X1 carbon gen 7 but man, the usb-c charging port and no ethernet kinda suck.
https://www.bobble.tech/free-stuff/used-thinkpad-buyers-guide
It all depends and your budget and priorities. If you care about coreboot and Intel ME, go with system76 or an old thinkpad. Otherwise, Dell latitudes and new thinkpads are sufficient. Based on your description, I think system76 would be the way to go, but you might also want to check out a thinkpad p52.
Recently I bought a used Thinkpad T470S 16gb for 350 EUR for some Kernel development stuff and it turned out perfect. The only downside that I can come up is that it doesn't support my 4K monitor.
I'm suggesting used Thinkpad or Tuxedo.
You can never go wrong with a thinkpad (T or X series). They are durable computers for general use (In this example, software development).
An old thinkpad (or new). Looking for laptops made with linux (Tuxedo, system76). Or maybe a framework. As far as I know any laptop with a good screen, RAM, and storage. And at least for me a lackibg I/O (ethernet, headphone jack, mutliple USBs) is a dealbreaker
Assuming you're fine with non-free drivers I don't think there's too much to worry about nowadays (at least that's what I've gathered from personal experience & the lack of hearing other scomplain).
That said, I've never had any issues with HP devices, and even an HP Chromebook worked without too much hassle.
Thinkpads are also a classic Linux machine, and I doubt you could go wrong with those either.
Elitebooks and zBooks are fine. Other HP machines are very hit and miss, and mostly miss. The Pavilion lineup still gives me nightmares.
"NON-FREE Drivers?? How could you use propitery software!!!"
Yeah no who doesn't use the proprietary drivers and coders. Lol
Any old windows laptop. I have some old Lenovos I use. I’d look out for something with 16 gb ram, an ssd instead of a hard drive
I also just learned about thin clients which seem cool. Not sure if applicable to your needs
I just bought a T480 Thinkpad off of eBay a few weeks ago for around $150 USD and put fedora 38 on it. Purchased a larger battery for $45 and an extra 8gb ram for like $20 and honestly couldn't be happier with it.
Anything by Lenovo usually works well with Linux. Make sure it's doesn't have Nvidia card but rather AMD graphics or intel graphics.
They are also typically the cheapest laptops. Try get Intel core i5 or Ryzen 5 CPU. That should be enough power to do anything you need.
As far as OS is concerned, I HIGHLY recommend Ubuntu desktop. It is by far the best Linux distro and especially good for programming as huge amounts of programmers use it as the desktop of choice.
Ubuntu also makes the most Software when it comes to cloud, servers, apps, IOT etc and they all work well together. Which is why Devs/programmers love Ubuntu so much.
Have you seen NixOS? I heard alot of devopers use nix and silver blue. Ubuntu is very common in the server space tho.
I would say that's all you want to stay away from at the beginning. 😁
Thinkpad T480 or HP Dev One for the cheapest you can find. If they're not powerful enough, use them until System76 releases their Virgo. It will have an open source (Coreboot) bios, trackpoint and hot-swappable mechanical keyboard.
Go for Framework, you can upgrade components in a few years instead of buying a whole new laptop.
even better if you can stick it out for a few months and get their new one when it releases
What's the budget? I got myself a Tuxedo Pulse Gen2 this year and am very happy with it, I have no complains at all regarding built-quality, performance and Linux-compatibility. (However, it appears they don't offer many Ryzen-notebooks anymore, I just looked and only found one model :-()
Do you need a touchscreen for handwritten notes? My laptop can do that and I have the pen for it too and it works really well. I could give you the details of what laptop it is and what software I use if that's something you need.
Thinkpads are popular and well respected among linux users, and the trackpoint is dope as well. If you want a gpu workstation that also works for gaming, check out the P series.
I've been having a great time with my HP Elitebook 845 G9 which I got on sale for $950. It's crazy expensive now due to inflation but you might be able to snag it on sale somewhere. Mine came with an AMD Ryzen 6800U with 32GB of RAM and I manually replaced the SSD with a cheap 1TB one I found on Amazon. There's a FreeDOS option that allows you save $200 bucks by not buying a Windows license.
I find that the key components to check for Linux compatibility are the Wifi, webcam, and sound modules. For wifi, anything with an Intel or Atheros chip is usually supported very well
I use a 2022 Asus ROG G14. It has substantial support from asus-linux.org for the laptop's special features.It is all AMD and has a mux switch, that can easily be used to pass the dGPU through to virtual machines. Asus-linux.org has great documentation on how to do passthrough. It's got upgradable parts, the keyboard is pretty good, and best of all, it can be purchased for less than WAY less performant laptops, like the Framework, System76 stuff, and ThinkPads.
Don’t make the mistake I did and go with mac. Apple has great products but they used planned obsolescence to make you waste money on new equipment on a regular basis. Windows just bites. So go with a Linux laptop for sure. Your money will stretch out further for sure. Thinkpads X1 Carbón are great. Older generations have great battery life. If you game there’s other thinkpad a that have graphics carda. Thinkpads work great with Linux usually. Specially carbon x1
Eh you can get new major version updates for about 6 years on Macs, and several more unofficially. It's nothing compared to the 20+ years you could get with Linux, but let's be honest, there's no point in keeping a laptop for that long.
If you don't need the latest and greatest MacOS, I can tell you that the 2012 non-retina Macbook Pro I gave to my mom after I was done with it is still kicking strong and still got security updates up till last year. Sometime this summer I'm gonna have to install the unofficial patch so I can get Monterey or Ventura running on it for 2-3 more years of security updates.
Now I still wouldn't recommend a Mac for a student though. Reason being, I wouldn't recommend a student get a brand new machine unless their parents are rich and I wouldn't recommend Intel Macs to anyone at this point. The ARM ones just blow them out of the water, with ridiculous performance and especially performance per watt metrics. In particular, compiling any big projects is a BREEZE with the ARM chips. But as a student that barely matters if you're mostly doing small to medium sized school projects, not compiling the Linux kernel. And afterwards it should be your employer providing you with the machine, so unless you do hobby projects of huge magnitude or work on large established open source projects, compile times on a personal machine won't matter too much.
2012 macbook pro retinas with nvidia cards have a very fun problem where you won't get graphics due to motherboard flex when the screen is opening. This flex causes the solder to crack on the chip that provides power to the GPU. So, avoid that one... Lol.
Oh yeah, definitely. And also avoid the 2010-2011 models with dedicated graphics. 2012 13" non-retina and L2013-2015 models are all ok. But still wouldn't recommend them anymore since those old Intel CPUs just aren't all that great and even the original M1 Air is superb, beats the crap out of even the last i9 16" MBP, at a good price point.
You seem to be German, so your solution is a Tuxedo laptop or computer. A German Linux hardware company.
If you want to buy new (or can find one used): framework, no contest
Used, just see what's available around you on offerup/craigslist/fb market/etc then google that laptop and linux, or see if you can find an archwiki page for that model. This is what i did a while ago, i found a used thinkpad t14s for a good price, checked the archwiki page for it ( https://wiki.archlinux.org/title/Lenovo_Thinkpad_T14s_(AMD)_Gen_1 ) and everything i cared about was marked as working, and it's worked well for me
Any laptop will work.
I guess you've never tried putting Linux on an Asus laptop lol. It's always sound or webcam issues.
Ran an Asus for years and it was GREAT, but some of their newer models have issues.
Yeah, I was really eyeing the ROG Flow X13 until I heard about all the Linux issues.