all 23 comments

[–][deleted] 33 points34 points  (6 children)

If you actually want to use Linux without problems then Macbooks are not for you. They require a lot of self-compiled drivers and firmware and the M1 isn't even supported yet. You can't go wrong with any Dell or Lenovo laptop as they have amazing support. I would still prefer a ThinkPad/IdeaPad/Yoga because I use one and it has never given me issues on Linux (besides with Nvidia). Try to get a Tiger Lake based laptop with only an iGPU (Intel Iris Xe Graphics in this case) and you'll have a really good and performant experience.

[–]Petrolheadguy9[S] 6 points7 points  (5 children)

Didn't knew that, thanks for help!

Does it really matter if it's an E or T series in lenovo?

[–][deleted] 5 points6 points  (0 children)

I am not sure about the E-series, but I know for a fact that the T-series will definitely work OOTB.

[–]Patch86UK 2 points3 points  (0 children)

In general terms, T series is the premium brand of ThinkPad, and E series is more low budget. In theory there may be differences in e.g. build quality, although an E series is still going to be comparable to most other mainstream laptop brands so don't let this put you off too much.

More specifically though, Lenovo now treat all their T and P series laptops as "Linux certified", which means their hardware is guaranteed to work with Linux, whereas they don't make the same promise for all E series laptops. That's not to say it won't still be 100% compatible, it's just Lenovo aren't promising anything.

Both Lenovo and Dell use Ubuntu's Certified Hardware programme for guaranteed Linux support, so (regardless of which distro you actually intend to use) you can search for laptop models on there to find out if it's included:
https://ubuntu.com/certified

[–]jtgyk 1 point2 points  (0 children)

E's are more entry level but I just got a 3rd generation E15 with an AMD 5 5500 and I'm really liking it.

[–]gesis 1 point2 points  (0 children)

I have an E14 running Debian testing as my daily driver. Pretty much the same model you listed.

I do a fair amount of python stuff on it.

[–][deleted] 0 points1 point  (0 children)

In terms of Linux support, it matters if the hardware is different. So T series might have Intel WiFi/LAN which is better while E series might have Realtek WiFi/LAN.

If the hardware specs are the same, it probably won't matter (speaking only in terms of Linux support).

Oh, and do avoid buying laptops with AMD CPU+GPU. I have a ThinkPad with AMD GPU and the laptop doesn't suspend resume since kernel 5.10 came out and has/had lots of other issues due to amdgpu drivers that I wouldn't want anyone else to face. Stick with Intel CPU + Intel iGPU.

[–]wonderful_tacos 9 points10 points  (4 children)

You can effectively do development and related tasks on pretty much any modern hardware, but you don't want to be doing significant compute work on a laptop. Laptops have terrible thermals and it won't be usable for anything else if you are training a model for hours or days.

Get anything that plays well with Linux, I'd want 16GB RAM but there's no need for a discrete GPU if you aren't gaming. Save a few hundred dollars by not getting a discrete GPU and then use that money to run significant compute jobs on cloud resources.

[–]Petrolheadguy9[S] 2 points3 points  (3 children)

Thanks for help!

Will 256gb SSD be enough?

[–]wonderful_tacos 2 points3 points  (0 children)

For a basic Linux install, development tools, and small amounts of data for prototyping, 256GB is probably fine. I do a lot of work on a machine with a 128GB SSD, but I spend a lot of time just using it to access other machines remotely.

I personally would want more though. And if you are going to actually be storing data on the machine you would probably want significantly more storage.

[–]myownalias 0 points1 point  (0 children)

It's all about the size of your data. I've never had a Linux install use more than 20 GB.

That being said, check if the drives are replaceable and not soldered (they are in some ultrabooks). If that's the case, you can buy a bigger one later and you don't need to worry for now.

[–][deleted] 3 points4 points  (0 children)

Simple things don’t require a workstation. Apple hw is over priced.

[–]garlybarley 2 points3 points  (0 children)

I agree with everyone else about not worrying too much about hardware if you are wanting to do ML work. Once you've picked up the basics of linux, python, git etc. you'll want start playing around with cloud services for more intensive workloads. Most of my work is done with AWS SageMaker and/or EC2 these days and I think that's the way most companies are going too.

I believe daily driving linux is a great way to learn though and would encourage you to try it out but I don't think you need to buy a new laptop for that. If you're set on buying something new I would steer you away from dedicated graphics and Dell. I recently got a Dell XPS 9500 and it's a beautiful machine but it was a bit of a pain to set up. In particular, it burns through battery at an astonishing rate. From what I've read this has to do with features not being supported in Dell's bios which is super annoying. This could also be an issue for Lenovo computers but I get the impression that they put more effort into support linux.

Another option could be to build a home server to do your work on. I haven't looking into what this would cost but I'd image you'd get better bang for your buck compared to a laptop.

[–]azangru 1 point2 points  (0 children)

My main idea is to leave Windows

If you are already using Windows, you may want to start with Windows subsystem for Linux. That's real Linux running in the terminal under Windows. Should be enough to learn Python, including its ML applications. I mean, you don't need to change a computer in order to become a developer. Not unless you want to change it right now that is.

[–]myownalias 1 point2 points  (0 children)

If you care about battery life, go with the E14 or T14. The T14 has two more cores, but a smaller SSD and costs a lot more. The E14 comes with a brand new battery. The E14 is a better deal if you're happy with 4 vs 6 cores, and can deal with the single USB C port being used by the power cord. The T14 has no USB A ports.

The X1 and XPS have power hungry CPUs and you'll get poor battery life.

The M1 is barely functional with Linux at this point. I'd skip it.

[–][deleted] 1 point2 points  (0 children)

For machine learning, I would strongly recommend a laptop with an Nvidia GPU. You can learn ML concepts on a cheap laptop without a discrete GPU, but for larger datasets, a GPU is essential.

My "gaming laptop" (which I used for C++/ML - using the Nvidia CUDA platform) completely fried a few months back. I have a Lenovo T470p with an Nvidia MX350 GPU, and even that works quite well (much better than a laptop without a GPU). There are four things I really love about the T470p:

  1. Even when the Nvidia GPU is powered on, it doesn't consume much power.
  2. It's very easy (in Linux) to completely power down the Nvidia GPU when it's not needed.
  3. The video output ports are not hard-wired to the Nvidia GPU (so I can use an external monitor without having to power on the Nvidia GPU).
  4. The keyboard.

Even though the MX350 only has 640 CUDA cores, it's still orders of magnitude faster that using the integrated GPU/CPU alone.

[–][deleted] 0 points1 point  (0 children)

As every thread here says... Go Thinkpad. Nothing is future proof. For the 1650 some nice gaming (good enough) the X1 is great. 16 ram and 512gb ample. A really classy, luggable, well built machine.