Pre-scriptum : I started writing that article in February 2019, with 2 years past, I thought I could finally finish it, inserting some thoughts from 2021 that I’ll specify.
Why FreeBSD ?
Well that’s a good question. There is some background story needed.
So first of all, I’m a Network Engineer, with a lot of side project that are less technical, such as music, writing and non-profit activities.
For about 10 years, I’ve been using Mac as my daily driver. I will neglect my even older past that was full of Windows, mostly for gaming purpose.
I started using a white Macbook with a Core Duo, then moved to a Macbook Pro 13, upgraded to a (professional) Macbook Pro 15 with a retina screen, leaving the CD area, and then bought a personal MBP 13 retina when I left my work that was providing that 15inch machine. This last one is a MBP 13inch Model 12,1 , early 2015.
All that took about 13 years, taking me to the end of 2018. My last macbook still worked, but I started thinking I should change to some other device as I was less and less convinced of non-repairability of Apple machines, part swap lockdown (especially with the T2 chip perspective), and with build quality going lower and beyond.
Also, disscussing more with my friends about not being locked with one device or software, I realized that I was actually in that state. I got efficient and fast with my Mac, but couldn’t move to another machine easily, even with a lot of ressources hosted on random linux machines around the planet.
So I finally ended up choosing to move to another hardware that would be robust, and to change operating system to something that would be also robust, and with less risk of not being able to move again if I wanted to. I however knew that one case would not be fixable simply, which was the music part.
That part took some time, but my desire were quite simple at the end.
I was moving from a Macbook Pro Retina (12,1) Early 2015. Specs were : - Core i7 3.1 (DualCore) (i7-5557U) - 16Gb of ram (LPDDR3, 1866 Mhz) - 512Gb of M2 Storage - 2560x1600 resolution on a 13.3” Screen - 1.58 kg - External Ethernet - Thurnderbolt 2, USB 3
My targets were : - Same CPU / Ram / Storage - Similar screen resolution and size - Similar weight or lighter - USB-C , maybe not external ethernet - robustness - repairability - not an ugly machine
After looking and searching, I found out that most the same devices were coming back in my searches all the time. I didn’t spent too much time on digging the following ones, but they were there : - Purism 13 - Dell XPS 13 - Toshiba Portege - HP EliteBook - Lenovo
Obviously, that last brand caught my attention quite a bit, and I went deeper in their roster. What I found out is : - X280 : too small for me, limited screen resolution. - T480 : too big for me, but amazing upgrade possibilities - T480s : An amazing machine, with a bit of flexibility, and could have fit me. - X1 Carbon Gen6 : My pick. I got it with a lower price, which made me choose this over the T480s, even if I dropped some of my consideration, which was the internal ethernet connector. For the rest, the machine are quite similar, the X1 is just a bit lighter with 1 more thunderbolt 3 port. For the rest, beside the more pottential ram on the T480s, machine are roughly the same.
2021 notes : After two years daily driving that machine, I love it. It took me about a year to realize that there was actually 2 USB-C connectors, and I regret not taking the GSM option. I would also mention that having a protective case around it gives me a bit of security, the machine not being as sturdy as I initially expected. The internal speakers could also be imporved, which they did on more recent generations.
As mentionned (briefly) above, the only big blocking factor for me in my move are the music software. I’m a long time user of Reason (Music production) and Traktor (Digital Djing). I know those software would also run on Windows, but I don’t really see a flexbility in that choice for an operating system. So I left myself with the chance to use my “ old “ mac for that purpose while I’m moving to my new daily driver OS.
Looking around I noticed that Linux was mostly good, with some scary glitches arouned. I’m not a systemd fan, and I moved between distros during my linux use time (that I run for my servers mostly). So having a clear choice was messy as every of my friends had different views on what was the “ good “ one. I heard Mint, Arch, Ubuntu, Debian and didn’t got so much comments about Slackware, Gentoo and Centos for the laptop. One of the best point was my friend running OpenBSD on his X1 (probably Gen5), and I finally heard that some other friends were able to run FreeBSD on T470s. You can guess, from the title of this article, what was my choice.
One of the reason why I went for FreeBSD was that I had some previous experience with it, however on version 7 and 8. I also spotted a youtube link of a guy (iBSD) who installed it and said it was totally straightforward. But I suspect my choice was mostly done even before I got the hardware.
Anyway, ended up with FreeBSD 11 that was just released as stable.
For the window manager, I was looking at something minimalistic with as less noise possible on the UI. I3W won that one, even if I heard there was other alternatives. My task bar is at the top of the screen and I mostly use 5 to 6 Destkop. Next step there is to automate the desktop creation on X startup.
2021 notes : That last part is still not done, as I didn’t had to reboot my machine so much, so restarting what I needed was quite straighforward. Also I finally solved some of my small bugs moving to 12.2 recently.
I could almost copy the previous’s section paragraph, as it’s one of the big problem that I don’t have a fix yet. I’m however consdering wine or a VM for that part, but I would need a lot of testing before having a totally stable situation.
Another issue that I coulnd really fix from the MacOSX world was Omnigraffle, I didn’t find a tool that is as well done and that will work on something else than OSX. I’m looking at an offline / non-cloud version for that one, so draw.io is out of the question. I didn’t retried Dia for ages, and never tried Pencil or XMind and used LibreOffice Draw for now. Any other ideas are welcome.
On the office tools, libreoffice is a good solution, and doesn’t change so much for me. I’m however planning the move to vim/latex for all the writing and formating part, but there is a learning curve there, as I never used latex before.
Terminal : From the mac terminal, it was easy, I already made a step by using tiling now and then with screen and tmux, and I heard lots of good comments about urxvt. So that was my choice. I probably have much improvement to do here, as I’m not yet familiar of the shortcuts that I get with urxvt + tmux + vim for instance. Also I’m mostly using vim on my remote machines, so sticking to that wasn’t a big question. Only big change, I’m not using transparency anymore on the new machine.
Mail : I went from thunderbird to Mail at some point because TB had trouble handling +10GB of mails and multiple mailboxes. Mail was more efficient, but the simplification and ease of use “ features “ were more bugs to my eyes than anything. As I wanted the most control I could have, I naturally moved to mutt, with gpg support, and some nice skins found online. (Link). Next step on that one is improving the offline part and indexing, I was pointed to isync and notmuchmail for those task, but that’s still WIP.
Web browser : I started using firefox, but stumbled on a silly issue, that I wasn’t able to fix. It came with fine tunning of my X hardware acceleration I suspect. For some reason, starting firefox (or any of it’s other flavour daemon) will just crash my GPU acceleration. ( here for the error message : (EE) intel(0): Failed to submit rendering commands (Bad address), disabling acceleration. ). That’s how I ended up running chromium, even if that’s not my first choice. Will have to see how I can move back to firefox, or something else. Ideas also welcome here. Will have to retry Qutebrowser .
2021 note: The firefox issue disappeared after several updates, so I don’t really know if the fix was related to the software or the video driver. Now I’m sometimes running both browsers at the same time, depending on my needs. And the autoindexing and syncing is still in my todo list. 2021 July note: Update to FB 13.0 fixed the video drivers issues.
PDF viewer : That was included in the osx preview, so I had to find a replacement. Zathura was the one. Works well, and has a vim like commande line.
Printing : I’m not yet at the perfect situation with my printing drivers, but I was at least to get to the basic with my Brother HL2250-N . I know that I should try the Ghostscript hl1250 or hl7x0, but didn’t got so much luck there. The generic driver of cups does it there. I however had to modifythe host name for the IP of the printer in the CUPS config file. Minor trouble for that part. But as I’m not so familiar with CUPS yet, will have to dig a bit there.
2021 note: That part was also fixed after finding the correct version of ghostscript. It works, nothing crazy, I have what I need. Also note that this printer is B/W only, so no need for colors. I wasn’t able to print any colors to the other printers I tried yet, but it’s not critical to me.
2021 note: Some upgrades happend there, but there is room for another article.
Screen tunning : I used … on my mac that remove the blue light for screen, helps a lot getting some decent sleep at night. Redshift is the one on Freebsd for that.
Password manager : There is a port of keepass on Freebsd, but it involves some script magic I’m not fond of. So I noticed I could import keepass file to “pass” (Password Store) which is a cli too, fast and simple. Totally does the job for me.
VNC viewer : On osx, I was used to “ chicken of the vnc “, on FB, there is a tightvnc port that does the trick for me.
Remote desktop (Windows) : On osx, a tool call parallels was really good at that, supporting multiple version, without the problem of being a Microsoft tool. On exists that I tried, but didnt got too much success with it. Will have to retry, but it’s not a so frequent need for me.
Virtualization : VirtualBox was the one on osx, but unfortunately I had issues on freebsd, it seems that my too fast m2.ssd made the vm crash as soon as there was a bit of i/o involved on the drive. Didn’t found a fix, and will be retrying bhyve with uefi bios, hopefully I will get somewhere better and will be able to keep my old VMs.
2021 notes: Remina ! RDP, VNC, it does it all. And for older VNC version, the simple vnc client supports non encrypted/unsafe mechanisms. On the VMs, I know that I can use the virtualization layer that now is working well on freebsd, but I didn’t had so much the need to use that. I’ll still want to do that at some point, but my requirements also went quite down as I have plenty of servers / remote machine where I can run some funny VMs, and I don’t need that so much on my own host. Also, with time, I started using vifm, which is a clever mc replacement, again with vim syntax.
As I realise I stopped that article at the VMs part, I can now write a conclusion with some more experience of usage in addition of what I had when I started writing this.
TL,DR; I love it. Do it, if you have any doubts on moving to FreeBSD.
Longer conclusion : FreeBSD works well and, as expected, if it doesn’t work, I most likely screwed up something, went too fast on reading some documentation. Most of the hardware is supported out of the box on my machine, so nothing to fear there. Some of the things I couldn’t (yet) make work or that need some tuning are the following or that came up since I first started my journey :
Also, as a more general view, I think that most of my targets are met. I’m able to have a less noisy environement, it probably helps on my focus, even if the OS doesn’t fix everything. I also know that I’ll need to be careful if I change machine at some point, checking out that the basics are supported on other hardware. But at least I don’t feel captive of my hardware (or software) anymore. Changing from the Apple ecosystem also helped me rethink my daily tools and ways. I feel less stressed and pressured nowadays, and I have the feeling I took back control.
Post Scriptum : Here are some of the ressources that I found that helped me with my issues : (Please note that some links are not of any use anymore, but they helped me in my understanding)
Power Management :
Kernel recompilation to fix USB bug:
I’m open to suggestions and fixes on my choices, how ever I have limited time to hack to deeply. Feel free to contact me at :
This page was generated using Markdown and Lowdown by Kristaps Dzonsons