If you are interested in reading this article in Spanish, check out my blog:
The Developer's Dungeon
For quite some time already I have been thinking about buying my own laptop, see, for the last 3 and a half years I have been using a Macbook Pro that belongs to my employer (well, my previous employer now).
The computer worked fine, great performance, great screen, amazing trackpad(although terrible keyboard), Windows 10 worked great on parallels. But for quite some time I didn't felt comfortable with a number of things.
- The computer was not mine. Someone had a saying on what I could and couldn't do with the computer.
- The operating system worked great when you didn't touch it too much, once you wanted to install an obscure toolset (hello haskell-language-server 👋) you were out of luck.
- I knew I would have to return my computer once I switched jobs, which made me incredibly annoyed about personalizing and installing stuff because I knew I would have to start from scratch.
- MacOS as most operating systems are not customizable, apart from the wallpaper, maybe a dark background and some tint and that's it. Being a guy who spent years trying custom ROMs on Android to the point of compiling its own, I can't stand this anymore.
So, after considering my options and checking my savings account, I decided it was time to buy a laptop, my first one, all for myself, and install Linux once I got it.
I actually spend months looking for the right laptop, I am a picky bastard so I was not gonna buy any Linux laptop.
I have to say that coming from a MacBook pro the search was harder than I thought it would be. I might have hated on Apple in the previous paragraphs but the truth is that Apple makes killer products, probably not the best laptop in any specific category, but an overall compelling package.
I only realized this once I started looking for a Win/Linux alternative.
These are the things I wanted in order of importance:
- I7 or AMD Ryzen 7
- 32GB RAM (on my MacBook pro I had 32GB and I did felt the difference when running my entire development setup)
- Good Linux support
- US English keyboard (I live in Belgium and it is super hard to find one, most Win10 laptops come with Belgian/French AZERTY 🤮 - Apple lets you pick whatever keyboard layout you want).
- >= 13.4 inches 2k+ 16:10 ratio screen(there is no going back from this)
- Full metal aluminum body (say whatever you want but Apple's build quality is awesome, except for the keyboard)
- Light enough for carrying around
- Nice keyboard, big trackpad
- Good looking
After months of searching, I came with only two options that would more or less match these requirements.
The Lenovo Yoga Slim 7i Pro and the Dell XPS 9310.
Yes, I know you are gonna recommend me another laptop, like a Thinkpad? the Yoga Slim 7Pro with AMD? maybe the Razr book? the Slimbook 14? I have looked at them all and if you consider all the things in the list you will notice that all other laptops fail to check something.
The winner is...
This journey started around June 2020, by December I was still laptopless. I was stuck in a loop of researching and waiting for a new model to come out or some obscure provider to offer what I was looking for and could be delivered to Belgium. Finally, after some refreshing holidays, I decided to not wait anymore and I bought my Dell XPS 9310 i7 32GB 4k 1TB NVME. It's perfect, right?
Not so fast, there are things I wished were different, for instance, 4k is too much, 2/3k would have been perfect for a laptop this size. The 32GB model comes with some problems on Linux that I will explain later. I don't really like the carbon fiber that Dell uses inside, I would prefer if it would just stick with all-metal, it took Dell a month to deliver it.
But, those are minor complaints. The laptop is providing me with some happy moments that I would like to share with you.
After receiving my laptop I went for dual-booting Windows 10 and Ubuntu 20.04.
Hey if you wanna go Linux why not go Arch? or Arco? or Manjaro? or PopOS?. Well, again, the laptop is not perfect.
Before buying it I knew that the 32GB model was a little different from the officially supported Linux Developer Edition 16GB model. Only God knows why but Dell had the brilliant idea to use another Wireless card for the 32GB model. Instead of going for the old and fully supported AX201 or the AX1650, Dell decided to include the AX500-DBS which when the laptop was released was not yet included in the Linux Kernel. I knew that there was some work being done to include it so I went ahead and bought it anyway.
The driver is now included and few distros are merging the changes both to the Linux kernel and the
linux-firmware package. I tried many distros and so far I have only achieved fully working WiFi and Bluetooth on Ubuntu 20.04, not even on 20.10.
That was quite an experience already, a front kick in the teeth of what is to live under Linux, multiple formats, distro switches, USB tethering network, kernels, firmware, heathers, you name it. After settling down with a working build, this is my current setup:
- Ubuntu 20.04
- Dracula Theme: GTK, GnomeShell, Vscode, GnomeTerminal, Chrome.
- PopOS Shell (tiling and app searcher)
- Removed activities shortcut
The outside also counts
One of the things that I hated about switching laptops was that I used a lot of really cool stickers on my work laptop (like a fool).
Sounds stupid but to me, that was kind of a big deal. Luckily, I kept duplicates of/managed to remove the stickers that I treasure the most (a few from conferences and meetups in my home country that I will not be able to get again).
Here is a picture of the old laptop:
And this is my new baby:
I am really loving that new look, I have one of TUX saved up for the center of the laptop and I am just waiting for conferences to get the rest.
After all that struggling you must be thinking, wow this guy is really regretting his decision. Well not at all, the computer is mine. I gain the freedom of doing whatever I want with it and having a pretty nice development setup that I can bring with me everywhere. The possibilities for having an environment that makes me happy to use every day are simply tied to my interesting in learning more about the operating system.
I will continue exploring and tweaking, this computer will be with me for years to come and this journey has only started.
I hope you liked this post, if you did please or you want to tell me your own story please do it in the comments. And don't forget to share it 😄
Top comments (9)
It does, but they're not standard. The UK keyboard layout is a kind of halfway house between ISO and ANSI and frustrates people who are used to either.
Aha I didn't know that. I guess the US one is pretty standard right? I don't remember any difference from the one I got in my Dell
Though, I don't like stickers (I guess a single sticker is okay) but I like the way you put stickers on your new laptop, lots a lot cleaner. I got Dell XPS 15 9560 laptop, we almost have the same machine.
This is a great laptop and the display is super super crisp too.
Thanks 👍, I took some lessons from the previous setup and applied it to the new one haha. That is a nice machine you got there, I would probably went for something like that but I preferred the smaller one.
Good luck in the new environment. Nice setup hope you'll enjoy the ride!
Thanks, so far the experience has been very good. Writing now from my home setup 😄
I totally understand your need to customize your setup. Mac devices are awesome, have great build quality but some even small adjustments are not possible. If you are a tinkerer, you'll feel the pain after some time. Sure there are problems with Linux.
Even in 2021 the desktops are not as polished as Windows 10 or MacOS. Font rendering is different, might take some time to configure and get used to. Also multiscreen support, dynamic icon window sizing is still not there (technically with Wayland, but I haven't seen it implemented and working yet). But still some things are much easier, especially if you're a developer👍.
What did you specifically do to get the wifi working. I have the same machine, and I am living the dongle life on PopOS right now.
On popOS, I did not manage to make it work. If you look at their Linux kernel repo you will see that they haven't upgraded in over 25 days. I am sticking with Ubuntu 20.04 where it works out of the box. I just installed pop shell on top of ubuntu to use their tiling system.