Skip Navigation

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)

76 comments
  • 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!

  • 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.

  • 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.

  • 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

    • Linux is the right choice, can't avoid it.
    • I'd recommend the Dell XPS 13 or the Lenovo X1 Carbon.
    • Avoid HiDPI displays (unless you want to debug issues and still end up with slightly fuzzy apps)
    • Avoid NVIDIA
    • Different tools for different jobs
    • 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.

      Other people (MacOS/Winblows) will spend a significant amount of time trying to emulate a Linux environment.

      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?

      Linux is the correct (and only) choice for programmers

      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.

      99.9% of the internet runs on Linux. When you get a job, you’ll most likely deploy to Linux servers

      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

  • 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)

  • 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.

  • 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

  • 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

  • You can never go wrong with a thinkpad (T or X series). They are durable computers for general use (In this example, software development).

  • 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

  • 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

  • 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.

  • You seem to be German, so your solution is a Tuxedo laptop or computer. A German Linux hardware company.

76 comments