I had not been using my thinkpad with Haiku on it. So, I gave GhostBSD a try again. Having spent way too much time before trying to get FreeBSD to work I was happy that the folks at GhostBSD have put together a really great installer that detects a good bit of your hardware and gets X up and running quickly. When I tried it last time my resolution was horrible (640x480) and I did not like the Mate desktop environment. I am really liking BSD so far, now that I have a system running that mostly does what I want. It _did_ take some work though... I am running a Lenovo Thinkpad X230, and here is where things are at: - - - I. Trackpoint I had long ago disabled the touchpad in the bios in favor of the trackpoint. When GhostBSD was installed the trackpoint worked, but moved really slowly. The Mate mouse settings did nothing to affect this. After some digging I came to the following as a solution: Add the following to: /etc/rc.conf moused_enable="YES" moused_flags="-A 1.8,1.8 -a 1.2 -V" That mostly fixed the trackpoint. It took some tweaking of those numbers to land there. It was originally 2.0,2.0, but that was too much acceleration. - - - II. Video As I mentioned above, the resultion was terrible the first time I tried GhostBSD. It seems that I was using the Vesa driver before. This time I used the Intel (Legacy) driver and it has done well enough for me. They had a "Intel DRM Video Driver" available as well, but I have not tried it. I am now at 1366 x 768. Given what I use this laptop for that does just fine for me (though I did bring down the font size on everything to compensate). - - - III. Audio The internal speakers on the Thinkpad worked right away with no issues. I did not try headphones the first day but eventually figured out that they did not work. The system could tell that they were plugged in. I know this because the sound no longer came out of the speakers. So after a bit of digging I came to this solution: Add the following to /boot/device.hints hint.hdaa.0.nid21.config="as=1 seq=15" That got the headphones working. I have no problems now switching between headphones and speakers either. - - - IV. Wifi This worked fine. No need to modify anything. - - - V. Software This is where things started to get a little funky again. Remember how I did not like Mate? Well, I tried out XFCE and found I did not like it either. I run *cough* Gnome3 *mumblemumble* on my *cough* Ubuntu *mumblemumble* XPS13 (it came that way from Dell and worked well so I never changed it), so I tried installing Gnome3. Well, it ran like absolute grabage. So I removed XFCE and Gnome3. In doing so my xsession got messed up, and I was not sure what the right setting was... but Mate would no longer come up. So I could get to the login screen, but no further. I put the computer away that night after a bit of frustration and approached it again the next day by doing a fresh install. I had written notes for myself for all of the hardware fixes, so it was quick and painless. I have been using Mate and while it feels kind of... I dont know - old and windows-esque, I am getting used to it. I know I can install different "themes" that wil make it look and behave differently. I tried a few but found the only one I liked to be buggy. So I set to customizing what I could: Super+Up: toggle window maximization state Super+Left: window tile left Super+Right: window tile right Super+Down: hide window Super+PgUp: Workspace left Super+PdDown: Workspace right Super+Shift+PgUp: Move window left a workspace Super+Shift+PgDown: Move window right a workspace Super+B: Open default browser Suber+R: Run command dialog That gives me a workflow I am mostly used to. The last one (Super+R) is a bit of a weird one. Since I am used to Gnome3 I like to be able to hit super and type a program name to launch it. I dont really like having bars or pannels with icons on them for launching. So this is working alright for me, but is a little odd. I thought about trying to integrate dmenu, but it seemed like it would be a little weird to run with all of the mate cruft. So that mostly got the desktop workable for me. Terminals have been another story. The default mate-term is more or less the same as gnome-term as far as I can tell. I am not a huge fan. I could not get the build of ST I usually use to build here and have not taken the time to debug that yet. So in its absence I have been using alacritty. It has worked out pretty well. I got it configured to use the keybindings I like. The only binding it doesnt have available is kind of a big one for me: scroll up or down one line with alt+k/alt+j. I can go up and down by pages but not by line. So that is a bummer but not the end of the world. I like that they offer the ability to run it without a title bar or a border. I think I will eventually try to get it to work with 'tabbed' (since it does not offer its own tab support). The other terminal issue I have had is that BSD apparently does not alter defaults for many programs... and linux does. This has created an interesting experience. I could not seem to get any application to use the alternate screen no matter what I did. Upon quitting less or vim I would be left with the previous screen of data. I know some people prefer this, but I do not. Eventually I found a weird fix: change $TERM to `xterm-clear`. That works for vim and less, but not for Bombadillo (so I must not be sending some kind of code or other on exit for Bombadillo, note to self to look into that). That has been great... but has created a whole set of other issues. Now when i ssh into a server my $TERM gets sent as `xterm-clear`. It seems that this really donks things up (backspace and arrow keys no longer work). To get around this I export, on the remote machine, TERM=xterm and that has seemed to fix things up... but it has been weird. If any BSD folks have any advice about how to handle this (I am sure I am doing this in a hacky not good way) please reach out. - - - VI. Packages Last time I tried FreeBSD I mostly used the ports tree. This time I have mostly used `pkg`. It works well. Nothing much to report. Most of the packages I have wanted have been available, in some cases in newer versions than I am used to. The system came with vim-tiny, so I immediately installed the full version as I do all of my coding in vim and like syntax highlighting (I have a vimrc I made, but I do not use any non-builtin plugins). - - - VII. Other A strange surprise is that `Fn` if pressed and released without any other key in combination will put the system into either sleep or hibernation (not sure). This key is in the exact spot that the `Ctrl` key is in on my XPS... so this seems to happen on accident a lot. I have searched around but cannot seem to find any info on this. I know that function keys are often BIOS dependent... but I also know that this key did not have this behavior in haiku, so it seems like it _must_ be realted to my GhostBSD install. It sitll works with function keys just fine. Speaking of function keys: screen brightness controls also worked fine with no tweaks required. As did my volume buttons (which on this system are not function keys, but a fully separate set of keys above the top row of the keyboard). It seems that BSD uses csh or tcsh by default. When I first installed GhostBSD I used bash. This time I tried out tcsh. I really really like it. To the point that I may switch over to it on my other systems. Though I will probably do a bit of reading on it first (just to make sure the initial great impression doesn't have too many gotchas later on). If you have been thinking about trying out a BSD but have been overwhelmed by the amount of arcane things you need to know to get your laptop to work: I recommend GhostBSD. It mostly "just works". Because it is still FreeBSD under the hood, forum answers and such will often work. I have been enjoying the system and have even managed to get some development work done for Bombadillo (golang was maybe the second package I installed).