DEV Community

Magnus Skog
Magnus Skog

Posted on • Originally published at mskog.com on

My experience when changing from macOS to Ubuntu 20.04

My experience when changing from macOS to Ubuntu 20.04

I've been using a Macbook Pro for work for about 7 years now. My first one was a 2013 model and my current one is the 2018 model. In the beginning it was a breath of fresh air compared to the old Ubuntu based desktop computers we were using for work in the past. However, while I think that the Mac experience was great back in 2013 it has become worse over time. From excessive thermal throttling to bad keyboards and dangerous OS updates, it has been going downhill for a while now.

During the Covid 19 epidemic I've had some spare time on my hands so I decided to give Ubuntu 20.04 a try on my home gaming computer. Here is what I learned.

Bad Docker performance

Once of the major problems I have with development on a Mac is the poor Docker performance. I like to use Docker for development, especially for databases. I keep a docker compose file around that launches the containers I need like Postgres, Redis, and so on. I don't run the actual code in the Docker container but I guess I should be doing that too. Doing this on a mac has some of the benefits but the poor performance is just awful. We are talking about something like a 50% performance loss when running in Docker containers. Not to mention that the docker virtual machine on mac is memory hungry and takes a while to start. We used to run the same setup in docker at work for our development but the poor performance was finally too much to bear. We even tried to move the code to Docker containers as well but that made things even slower.

Once you go back to Linux things will improve dramatically. No more memory bloat, no slow startup, and huge performance improvements. We are talking about native performance here so everything works perfectly,. That was a huge breath of fresh air for me and that alone would probably had been enough to make the switch permanent.

Performance improvements

My Macbook Pro is the 2018 "premium" model. It has a an Intel I9-8950HK CPU with 6 cores in it. My desktop computer has a 6700k. While the laptop CPU has better specs in general that is not the case in real life use. I assume this is because it is a..well...a laptop CPU and of course the thermals. The 2018 i9 Macbook Pro is notorious for having very poor thermals. Of course, there is only so much you can do with a high performance CPU in such a small body like the Macbook but still, it is quite awful. Upon any kind of realistic load it will hit 100 degrees Celsius and start throttling. This is to be expected but it will also do this when running turbo boost on a single core. My desktop computer has a "gaming grade" cooler in it so it runs nice and cool. It will handle full load on all cores no problem. In general use when running tests for example the desktop computer is about 25% faster in. It really does make me want to upgrade the CPU though, perhaps to a Ryzen 3900x or even a 3950x. Not sure why but It seems like a good idea.

Hardware issues

I have been using a Macbook as my daily work computer since 2013 and in my experience the hardware on them works well enough(apart from the keyboard) but if you connect non-Apple hardware to it it might have problems. For starters, finding a docking station that does the job well was not fun. I have two 1440p monitors connected to my Macbook at home and the main issue I'm having is that they keep turning themselves off every hour or so. To fix it I have to reconnect them and sometimes even open the lid on the Macbook itself. I've tried with several different cables and nothing has worked. Extremely annoying.

Another issue is that both monitors have a refresh rate of 144hz which the Macbook cannot handle. If I do set anything about 60hz in the display settings the screen goes black and then I have to reboot to fix it for some reason.

I'm happy to say that Ubuntu 20.04 recognized everything in my desktop computer out of the box with zero problems hardware wise. The drivers for my Nvidia GPU are included in the latest release of Ubuntu, no separate install needed, and worked perfectly. Both monitors work in 1440p with 144hz support. No issues at all. We've made some progress for everyday Linux use for sure!

Linux on the desktop?

Everything was going well until the installation of Ubuntu was complete and I rebooted the computer. I got a login screen even though I set the thing to auto-login. When I logged in it kicked me back to the login screen again in an endless loop. This is a known issue and as far as I know it has not been solved. I do wonder how that made it past testing though...

Software use: Gnome vs macOS

As I mentioned earlier I've been using a Macbook for development for about 7 years now. I don't think that I can remember a single significant upgrade to the everyday use for me in a macOS upgrade since then. Except perhaps dark mode...

Every single system upgrade has broken something in a horrible way for me on the Macbook so every upgrade is dreaded.

I find that the everyday use experience is fine on Ubuntu. The file manager has everything you need and I haven't noticed any problems yet. We'll see what happens next time I upgrade though.

Missing apps

So far Ubuntu seems like a great deal! I do miss some of my favorite apps however. Like Alfred. I've build so many little automation scripts and such for it and I really miss Alfred. I know that there is a replacement called Albert but I haven't looked into it yet. It looks like a good option though!

I also miss Dash. Having all the documentation in the world available from anywhere is a great thing. I know that the Zeal project is a replacement and I will give that a try for sure.

Other than that I don't think I miss any apps except perhaps Transmit for FTP. I don't use FTP that much though so that's fine.

Even though my employer pays for the apps I need I still find it refreshing that every single good application is not behind a paywall. Free software and all that you know.

Terminal emulators

On my Mac I like to use Iterm with the sliding-from-the-top feature to access my terminal with a single keyboard shortcut. Turns out that in the Linux world there are plenty of alternatives to solve the same problem. I'm currently using Tilda for this. It has the same slide-down feature as Iterm and seems to be an overall great terminal emulator. The only issue for me so far is that Tilda doesn't seem to have a "normal window" feature. It is all about the slide thing. Iterm has both. This means that I use both Tilda and the Gnome terminal. A bit annoying but it works.

Conclusion

I've been using the Ubuntu setup for about a month now and so far it has been a pleasant time. It has everything I need for my day to day development needs and the performance has been rock solid. I'm not quite ready to get a "Linux laptop" yet though but we'll see where the Macbooks go once they start using their own ARM CPUs. Perhaps I'll switch once I need to upgrade my space heater to something better.

Top comments (5)

Collapse
 
psiho profile image
Mirko Vukušić

Dell XPS line with Linux has been working for me very well for years. If you decide to try Linux laptop, I can suggest XPS. Cannot compare it to others though, because it works so well together that I stuck with that line through a couple of generations.

Collapse
 
mskog profile image
Magnus Skog

Yeah the XPS is on my shortlist for sure. I think I'm losing mind mind though as I am also considering something like this: originpc.com/workstation/laptops/n.... Surely it must be a great thing to put a desktop CPU and GPU in a laptop. 8 pound laptops are the future!

Collapse
 
psiho profile image
Mirko Vukušić

I never cared about portability, or better to say today standards of portability. Started with laptops when they averaged 5kg in total (bag and supply). Was using 17 inch "desktop replacements" at the time. I'm 190cm tall and about 100kg and discussion how 1,6kg laptop is much more portable than 2kg laptop is rediculus to me. So go for it of you like it.
At the end I split ... Have desktop for gaming and videoediting (kid is on it all the time anyway) and laptop just for coding

Collapse
 
tarash1 profile image
Taras

I use Dell XPS with Fedora Linux since 2016!

Collapse
 
highcenburg profile image
Vicente G. Reyes

Bad Docker performance

1000% agree to this. I experience "Kernel panic" everytime I use docker.