diff options
Diffstat (limited to 'content/bsd/thinkpad/freebsd-on-thinkpad-x1-extreme-g2.md')
-rw-r--r-- | content/bsd/thinkpad/freebsd-on-thinkpad-x1-extreme-g2.md | 103 |
1 files changed, 69 insertions, 34 deletions
diff --git a/content/bsd/thinkpad/freebsd-on-thinkpad-x1-extreme-g2.md b/content/bsd/thinkpad/freebsd-on-thinkpad-x1-extreme-g2.md index c037c68..9a96997 100644 --- a/content/bsd/thinkpad/freebsd-on-thinkpad-x1-extreme-g2.md +++ b/content/bsd/thinkpad/freebsd-on-thinkpad-x1-extreme-g2.md @@ -1,63 +1,98 @@ ---- -title: "FreeBSD on a Thinkpad Extreme G2" -category: bsd -abstract: it works, but there are some drawbacks -date: 2023-02-25T06:06:18+01:00 -year: 2023 -draft: false -tags: -- FreeBSD -- ThinkPad -- NVIDIA -- ax200 ---- ++++ +title = "FreeBSD: Review of Thinkpad Extreme G2" +author = ["MichaĆ Sapka"] +date = 2023-02-25T22:30:00+01:00 +categories = ["bsd"] +draft = false +weight = 2002 +abstract = "it works, but there are drawbacks" +[menu] + [menu.bsd-thinkpad] + weight = 2002 + identifier = "freebsd-review-of-thinkpad-extreme-g2" + name = "Review" ++++ My wife got a new computer, so I can easily break my laptop whenever I want - so it's time for FreeBSD! -*All this applies to FreeBSD 13.1 at the time of publishing. I'll add links to any additions and errata in the future* +**All this applies to FreeBSD 13.1 at the time of publishing. +I'll add links to any additions and errata in the future** -### Installation -The installation process is great. It's more involved than something like Fedora, and some concepts were foreign to me. [Handbook's chapter on installation](https://docs.freebsd.org/en/books/handbook/bsdinstall/) guided me through every step, so there were no problems. Within 15 mins of booting from the USB Drive, I had a working hardened system running on an encrypted ZFS drive with wireless networking and essential services configured. +## Installation {#installation} -{{<img-center "freebsd-setup-fs.png" "Partitioning" "https://docs.freebsd.org/en/books/handbook/bsdinstall/">}} +The installation process is great. +It's more involved than something like Fedora, and some concepts were foreign to me. +[Handbook's chapter on installation](https://docs.freebsd.org/en/books/handbook/bsdinstall/) guided me through every step, so there were no problems. +Within 15 mins of booting from the USB Drive, +I had a working hardened system running on an encrypted ZFS drive with wireless networking and essential services configured. + +{{< img-c "freebsd-setup-fs.png" "https://docs.freebsd.org/en/books/handbook/bsdinstall/" >}} +Partitioning +{{< /img-c >}} Many things worked out of the box, but not all of them. -### Hardware -Setting X-Org was a breeze. Nvidia drivers are [available and ready to go](https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-nvidia); no additional configuration is necessary. (*[update: I was wrong, but it is fixed now](#updates)*) +## Hardware {#hardware} + +Setting X-Org was a breeze. +Nvidia drivers are [available and ready to go](https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-nvidia) no additional configuration is necessary. +(update: I was wrong, but it is fixed now) -Sound, of all things, work out of the box. Unfortunately, it doesn't auto-switch to headphone output, but there is [a known way to do this](https://freebsdfoundation.org/freebsd-project/resourcesold/audio-on-freebsd/) via device hints. +Sound, of all things, work out of the box. +Unfortunately, it doesn't auto-switch to headphone output, but there is [a known way to do this](https://freebsdfoundation.org/freebsd-project/resourcesold/audio-on-freebsd/) via device hints. -The integrated camera also works after running `webcamd -d ugen0.2 -i 0 -v 0`. Tested via `pwcview.` +The integrated camera also works after running `webcamd -d ugen0.2 -i 0 -v 0`. Tested via `pwcview`. -My laptop uses AX200 wireless card, which is [not yet fully supported by the system](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244261). It is recognized and works, but only up to WiFi 3 (g). I'd be ok with WiFi 4(n), but the driver is not ready, and WiFi 5 (AC) [is not supported by the OS](https://wiki.freebsd.org/WiFi/80211ac) at all. Funny enough, it [seems to be supported by OpenBD](https://man.openbsd.org/man4/iwx.4). I have yet to learn how different BSDs intertwine and different. FreeBSD is supposed to be more user-friendly, but it seems not to be the case here. Work on [fully supporting](https://wiki.freebsd.org/WiFi/Iwlwifi) the card is already planned, but I have no idea when I can expect results. From what I've learned, the team can't reuse code from Linux due to licensing incompatibilities between [GPL](https://www.gnu.org/licenses/gpl-3.0.html) and [BSD license](https://docs.freebsd.org/en/articles/license-guide/). ([update: there are more problems](#updates)) -{{<img-pull-right "freebsd-beastie.png" "FreeBSD Bestie">}} +My laptop uses AX200 wireless card, which is [not yet fully supported by the system](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244261). +It is recognized and works, but only up to WiFi 3 (g). +I'd be ok with WiFi 4(n), but the driver is not ready, and WiFi 5 (AC) [is not supported by the OS](https://wiki.freebsd.org/WiFi/80211ac) at all. +Funny enough, it [seems to be supported by OpenBD](https://man.openbsd.org/man4/iwx.4). +I have yet to learn how different BSDs intertwine and different. +FreeBSD is supposed to be more user-friendly, but it seems not to be the case here. +Work on [fully supporting](https://wiki.freebsd.org/WiFi/Iwlwifi) the card is already planned, but I have no idea when I can expect results. +From what I've learned, the team can't reuse code from Linux due to licensing incompatibilities between [GPL](https://www.gnu.org/licenses/gpl-3.0.html) and [BSD license](https://docs.freebsd.org/en/articles/license-guide/) [update: there are more problems]. -This is one of the few instances when I am rethinking my life choices, and I would love to be able to help with C code. Also, Bluetooth on this card is not supported, and there is no work done to address it - but luckily, I am already de-wirelessing my life. +{{< img-r "freebsd-beastie.png" >}} +FreeBSD Beastie +{{< /img-r >}} -USB devices are detected automatically and mostly work. However, my monitor (Dell P2723QE) has an integrated 1000Base-T ethernet connection, but on FreeBSD, only 100Base-T worked. +This is one of the few instances when I am rethinking my life choices, and I would love to be able to help with C code. +Also, Bluetooth on this card is not supported, and there is no work done to address it - but luckily, I am already de-wirelessing my life. -Another problem is Suspend/Resume. I can easily [suspend](https://wiki.freebsd.org/SuspendResume) the device, but after resuming it, the screen is still black. This seems to be a known problem across different OSes for this laptop and has some [known warkarounds](https://www.thinkwiki.org/wiki/Problem_with_display_remaining_black_after_resume#Solution_for_ThinkPads_with_Intel_Extreme_Graphics_2) for Linux, but I have no idea how to apply them to BSD. (*[update: there is a fix working](#updates)*) +USB devices are detected automatically and mostly work. +However, my monitor (Dell P2723QE) has an integrated 1000Base-T ethernet connection, but on FreeBSD, only 100Base-T worked. -The biggest problem here is battery drain. I have `power` enabled, but `acpinfo` reports about over 1% per minute. I was getting about the same drain on Arch Linux, but Manajaro acted much better. +Another problem is Suspend/Resume. +I can easily [suspend](https://wiki.freebsd.org/SuspendResume) the device, but after resuming it, the screen is still black. +This seems to be a known problem across different OSes for this laptop and has some [known warkarounds](https://www.thinkwiki.org/wiki/Problem_with_display_remaining_black_after_resume#Solution_for_ThinkPads_with_Intel_Extreme_Graphics_2) for Linux, but I have no idea how to apply them to BSD. [update: there is a fix working] + +The biggest problem here is battery drain. I have `power` enabled, but `acpinfo` reports about over 1% per minute. +I was getting about the same drain on Arch Linux, but Manajaro acted much better. I have not tested the fingerprint reader as I've never used it. -### Conclusion -My ThinkPad is far from being a brick under FreeBSD. It is, however, severely hindered. I plan to fix the memory drain and allow for a resume after suspension. This will make it a proper laptop again, as there are always USB dongles when faster WiFi is needed. Dongle town, however, is not what I want in the long term, and I'll need to follow the progress of the driver implementation closely. +### Conclusion {#conclusion} + +My ThinkPad is far from being a brick under FreeBSD. +It is, however, severely hindered. +I plan to fix the memory drain and allow for a resume after suspension. +This will make it a proper laptop again, as there are always USB dongles when faster WiFi is needed. +Dongle town, however, is not what I want in the long term, and I'll need to follow the progress of the driver implementation closely. It seems that for a desktop computer everything would work. -I'm falling in love with the system and its simplicity and logic. So even if I fail at fixing the above, I'll try to stick with it. And even if I get fed up with the state of hardware support, I'll keep FreeBSD as a secondary system. +I'm falling in love with the system and its simplicity and logic. +So even if I fail at fixing the above, I'll try to stick with it. +And even if I get fed up with the state of hardware support, I'll keep FreeBSD as a secondary system. For personal servers, however, I see no way of abandoning BSD. -### Updates -- 2023-02-27: [Fixing resume due to graphic drivers](/2023/fixing-resume-on-thinkpad-x1-extreme-g2-on-freebsd/) -- 2023-02-04: [Configuring NVIDIA](/2023/freebsd-configuring-nvidia-and-xorg-on-thinkpad-x1-extreme-g2/) -- 2023-03-15: [Problems with WiFi after resume](/2023/freebsd-on-modern-intel-wifi-cards-and-resume/) +## Updates {#updates} +- 2023-02-27: [Fixing resume due to graphic drivers](/2023/fixing-resume-on-thinkpad-x1-extreme-g2-on-freebsd) +- 2023-02-04: [Configuring NVIDIA](/2023/freebsd-configuring-nvidia-and-xorg-on-thinkpad-x1-extreme-g2). +- 2023-03-15: [Problems with WiFi after resume](/2023/freebsd-on-modern-intel-wifi-cards-and-resume) |