# 노트북에서 FreeBSD 15 사용하기

> Clean Markdown view of GeekNews topic #30543. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=30543](https://news.hada.io/topic?id=30543)
- GeekNews Markdown: [https://news.hada.io/topic/30543.md](https://news.hada.io/topic/30543.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-06-16T23:02:17+09:00
- Updated: 2026-06-16T23:02:17+09:00
- Original source: [sacredheartsc.com](https://www.sacredheartsc.com/blog/freebsd-15-on-a-laptop/)
- Points: 1
- Comments: 1

## Topic Body

- FreeBSD 15는 **pkgbase**, LinuxKPI 드라이버 개선, 노트북 지원 프로젝트 덕분에 서버용 OS를 넘어 데스크톱 주 사용 환경으로 쓸 수 있을 만큼 개선됨
- FreeBSD 14 시도 이후 **KDE Plasma 6**, Wayland, Intel WiFi 지원이 추가되어 ThinkPad X1 Carbon에서 Bluetooth를 제외한 기능이 잘 동작함
- 설치는 FreeBSD 15.1 memstick 이미지, UEFI 부팅, **ZFS (GPT)**, base system 설치 유형 `Packages` 선택을 전제로 진행됨
- 데스크톱 환경 구성은 드라이버, 전원 절약, devfs 권한, Linux 호환성, D-Bus, Ly, KDE, PipeWire, 하드웨어 비디오 가속까지 단계적으로 필요함
- 일부 노트북 환경에는 절전 복귀 후 WiFi 문제, Intel 그래픽 멈춤, KDE 로그아웃 후 프로세스 잔류 같은 **알려진 문제**가 남아 있으며 각각 우회책이 필요함

---

### 개요
- FreeBSD 15는 **pkgbase**, LinuxKPI 드라이버 개선, Laptop Support and Usability Project 출시로 노트북 데스크톱 환경에서 큰 개선을 보임
- FreeBSD 14로 데스크톱을 시도했던 때와 비교해 KDE Plasma 6 포팅, Wayland 동작, Intel WiFi의 완전 지원이 달라짐
- ThinkPad X1 Carbon에서는 배터리 사용 시간이 약 **6~7시간**이며, 시도하지 않은 Bluetooth를 제외하면 장치 기능이 잘 동작함
- 새 **Laptop Compatibility Matrix**를 통해 각자 보유한 하드웨어에서 무엇이 동작하는지 확인할 수 있음
- 가이드는 Intel 그래픽과 Intel 무선 칩셋 사용을 전제로 하며, 다른 하드웨어 구성은 직접 경험 범위 밖으로 둠

### 설치
- FreeBSD 15.1 memstick 이미지를 내려받아 USB 스틱에 `dd`로 기록함
  - 사용 예시는 `curl -OJ`로 이미지를 받고 `sudo dd if=FreeBSD-15.1-RELEASE-amd64-memstick.img of=/dev/sdX bs=1M conv=sync`를 실행함
- 설치 마법사는 단순하며, 시스템은 **UEFI 부팅**으로 설정하고 디스크 레이아웃은 `ZFS (GPT)`를 선택함
- base system 설치 유형을 묻는 단계에서는 새 **pkgbase**를 사용하기 위해 `Packages`를 선택함
- 설치 중 SSH를 활성화하면 가상 콘솔에 직접 입력하는 대신 SSH 세션으로 복사·붙여넣기를 할 수 있음
- 재부팅 후 설치 중 지정한 비밀번호로 root 계정에 로그인함

### 최신 패키지 사용
- FreeBSD ports 트리는 `quarterly`와 `latest` 두 가지 브랜치를 가짐
- `quarterly`는 1년에 네 번 ports 트리를 스냅샷으로 고정하며, 그 사이 서드파티 패키지는 중요한 보안 패치만 받음
- `latest`는 주요 패키지 업데이트가 사용 가능해지는 즉시 받는 **롤링 릴리스** 방식임
- 기본 설정은 `quarterly` 저장소이며, `latest`로 전환하려면 `/usr/local/etc/pkg/repos`에 override 파일을 만듦
- 저장소 URL을 `pkg+https://pkg.FreeBSD.org/${ABI}/latest`와 `kmods_latest_${VERSION_MINOR}`로 설정한 뒤 `pkg update`와 `pkg upgrade`를 실행함

### 하드웨어 장치, 드라이버, 튜닝
- ## 부트로더 조정
  - `/boot/loader.conf`에서 부트로더 대기 시간, destructive dtrace 비활성화, 공유 메모리와 프로세스 한도 확대를 설정할 수 있음
  - Intel Speed Shift를 지원하는 시스템은 `machdep.hwpstate_pkg_ctrl="0"`으로 각 코어가 자체 전원 상태를 설정하게 할 수 있음
  - PCI 전원 절약, 빠른 `soreceive()`, 네트워크 큐 길이 확대, ZFS 트랜잭션 타임아웃 증가를 설정해 데스크톱과 노트북 사용에 맞출 수 있음
- ## 커널 모듈
  - `cpuctl`과 `coretemp`를 `kld_list`에 추가해 CPU 정보와 온도 조회를 활성화함
  - H-TCP 혼잡 제어 알고리듬은 빠르고 장거리인 인터넷 같은 네트워크에서 더 나은 성능을 목표로 하며, `cc_htcp` 모듈로 사용할 수 있음
  - ThinkPad에서는 버튼 동작을 위해 `acpi_ibm` 모듈이 필요함
- ## sysctl 조정
  - `/etc/sysctl.conf`에서 키맵 변경 제한, 코어덤프 비활성화, ASLR 관련 설정, ICMP redirect 차단, IP redirect 비활성화 같은 보안 설정을 적용할 수 있음
  - 일부 보안 가이드는 W^X, hardlink 검사, 다른 사용자 프로세스 보기 제한을 권하지만, 해당 설정은 문제를 더 많이 만든다고 판단해 주석 처리함
  - 네트워크 성능 설정은 기본값이 LAN 지연시간에 최적화되어 있다는 전제에서 더 큰 RTT 연결에 맞춰 TCP 버퍼와 큐를 키움
  - 데스크톱 최적화로 공유 메모리 스왑 방지, 스케줄러 선점 임계값 증가, 일반 사용자의 마운트 허용을 설정함
  - 노트북 전원 절약을 위해 `hw.snd.latency=7`로 오디오 응답성을 낮춤
- ## WiFi
  - WiFi 지원은 **LinuxKPI**와 새 `iwlwifi` 드라이버 덕분에 과거보다 크게 개선됨
  - 무선 카드 지원 여부는 `iwlwifi` 지원 칩셋 목록에서 확인하며, 필요한 펌웨어는 `fwget -v`로 설치함
  - 구형 카드에서 새 `iwlwifi`를 쓰려면 기존 `iwm` 드라이버 로드를 `devmatch_blocklist="if_iwm"`로 막아야 할 수 있음
  - 802.11n과 802.11ac는 기본적으로 비활성화되어 있어 `compat.linuxkpi.iwlwifi_11n_disable="0"`과 `compat.linuxkpi.iwlwifi_disable_11ac="0"` 설정이 필요함
  - `rc.conf`에서 `wlan0` 장치를 만들고 `WPA DHCP powersave`를 설정하면 `wpa_supplicant(8)`가 WiFi 네트워크를 관리함
  - 네트워크 관리는 `wpa_supplicant.conf(5)`를 직접 편집하거나 `networkmgr`의 그래픽 인터페이스를 사용할 수 있음
  - `networkmgr`는 슈퍼유저 권한이 필요하며, `operator` 그룹이 비밀번호 없이 실행하도록 sudoers 규칙을 둘 수 있음
  - FreeBSD 15.1-RELEASE의 `iwlwifi` 드라이버에는 suspend/resume 관련 알려진 문제가 있음
- ## CPU와 그래픽
  - 최신 CPU 마이크로코드는 `cpu-microcode` 패키지 설치 후 `loader.conf`에서 부팅 시 로드하도록 설정함
  - CPU 전원 절약은 `performance_cx_lowest=Cmax`와 `economy_cx_lowest=Cmax`로 낮은 C-state를 활성화해 배터리와 발열을 줄임
  - 최신 Intel 프로세서에서는 `powerd(8)` 실행이 더 이상 필요하지 않음
  - Intel 그래픽 드라이버는 `drm-kmod` 설치 후 `i915kms`를 부팅 시 로드하도록 설정함
- ## 장치 권한과 호환성
  - 데스크톱 시스템에서는 일반 사용자가 GPU, 비디오, 백라이트, USB 장치를 제어할 수 있도록 **devfs 규칙**을 추가함
  - `/etc/devfs.rules`에서 `drm/*`, `video*`, `backlight/*`, `usb/*`의 권한과 그룹을 지정하고 `devfs_system_ruleset=localrules`를 설정함
  - Linux 바이너리 실행은 **Linuxulator**를 `linux_enable=YES`로 활성화하며, 필요한 경우 `/compat/linux` 아래에 devfs, tmpfs, fdescfs, linprocfs, linsysfs를 마운트함
  - exFAT이나 NTFS 같은 파일시스템 마운트를 위해 `fusefs` 커널 모듈을 로드함
  - 웹캠은 `webcamd`, `v4l-utils`, `v4l_compat` 설치와 `webcamd_enable=YES` 설정으로 지원을 기대할 수 있음
  - 프린터는 CUPS와 `cups-filters`가 필요하며, `operator` 그룹이 프린터를 설정할 수 있게 `cups-files.conf`를 수정함
  - CUPS 설정 GUI는 브라우저에서 `localhost:631`로 접근함
- ## 노트북 전원과 ThinkPad 백라이트
  - 노트북에서는 비활성 USB 장치를 절전 상태로 전환하기 위해 `/etc/rc.local`에서 `usbconfig`와 `power_save`를 실행함
  - ThinkPad 백라이트 키를 동작시키려면 `acpi_ibm` 모듈 로드, `dev.acpi_ibm.0.handlerevents="0x10 0x11"` 설정, `devd` 규칙이 필요함
  - `/usr/local/libexec/thinkpad-brightness` 스크립트는 현재 밝기에 따라 2, 5, 10 단위로 밝기를 올리거나 내림
  - 스크립트 실행 권한을 부여하고 `devd`를 재시작한 뒤 동작을 적용함
  - 하드웨어와 드라이버 설정을 마친 뒤 재부팅해 변경이 시스템을 망가뜨리지 않았는지 확인함

### 방화벽
- 모든 시스템에서 방화벽을 실행하려는 구성으로, 기본 예시는 SSH를 제외한 모든 들어오는 연결을 차단함
- `/etc/pf.conf`에서 `egress` 인터페이스를 실제 네트워크 인터페이스 이름으로 바꾸고 SSH 포트만 TCP 인바운드로 허용함
- 음성·영상 통화를 위해 UDP `1024:65535` 범위를 허용함
- `pf_enable=YES`를 설정하고 `service pf start`로 방화벽을 시작함

### periodic 스크립트 비활성화
- FreeBSD는 기본적으로 하드디스크를 훑고 인터넷에 접속하고 이메일을 보내는 **periodic(8)** 스크립트를 많이 포함함
- 전체 목록은 `periodic.conf(5)`에서 확인할 수 있음
- 일반적인 데스크톱 사용자에게는 일부 작업만 유용하며, 대부분은 안전하게 비활성화할 수 있음
- 예시 설정은 daily, weekly, monthly, security 관련 백업·상태 보고·메일 큐·보안 점검 출력 작업을 대량으로 `NO`로 바꿈

### 사용자 계정
- 로컬 사용자 계정을 만들고 `operator`, `video`, `wheel` 그룹에 추가함
- `operator`는 장치와 프린터 설정에 필요하고, `video`는 GPU 장치 접근에 필요함
- `wheel` 그룹은 `sudo`로 root 권한 명령을 실행하기 위해 사용함
- `sudo`를 설치한 뒤 sudoers 파일에서 `%wheel ALL=(ALL:ALL) ALL`을 설정함

### 로케일, 시간, SSH, 인증서
- ## 로케일
  - 로그인 셸 환경 변수는 `login.conf(5)`에서 설정하며, `charset=UTF-8`과 `lang=en_US.UTF-8`을 추가함
  - 변경 적용을 위해 `cap_mkdb /etc/login.conf`로 로그인 데이터베이스를 다시 빌드함
  - 비로그인 셸에는 `/etc/profile.d/locale.sh`에서 `LANG`과 `CHARSET`을 설정함
- ## NTP와 시간대
  - 시스템 시계를 최신 상태로 유지하려면 **ntpd(8)** 가 필요함
  - `ntp.conf`에는 FreeBSD pool NTP 서버와 접근 제한 설정을 둠
  - 설치 중 시간대를 설정하지 않았다면 `/usr/share/zoneinfo/America/New_York`를 `/etc/localtime`에 심볼릭 링크함
- ## openssh-portable
  - FreeBSD base system의 `ssh`는 많은 패치가 적용되어 있으며, ports의 순정 `openssh-portable`을 선호함
  - `sshd` 설정 파일은 새 버전에서 `/usr/local/etc/ssh` 아래에 위치함
  - `/etc/rc.conf`에서 base `sshd`를 끄고 `openssh_enable=YES`로 새 서비스를 실행함
  - `ssh` 명령은 `$PATH`를 바꾸지 않으면 base system의 `/usr/bin/ssh`를 계속 사용함
  - 모든 사용자에게 ports 버전을 우선 적용하려면 `login.conf`의 `path` 순서를 `/usr/local`이 앞서도록 수정하고 데이터베이스를 다시 빌드함
- ## 터미널, 인증서, D-Bus
  - FreeBSD의 `termcap(5)` 데이터베이스는 Linux에서 흔한 것보다 단순하며, XTerm 계열 터미널에서 밝은 색상이 렌더링되지 않을 수 있음
  - `terminfo-db` 설치로 이 문제를 고칠 수 있음
  - FreeBSD는 기본적으로 표준 인증기관 일부만 신뢰하므로 Mozilla 전체 CA 번들인 `ca_root_nss`를 설치함
  - KDE와 오늘날의 여러 데스크톱 기능에는 **D-Bus**가 필요하며, `dbus_enable=YES`와 `service dbus start`로 활성화함

### Ly 디스플레이 매니저
- 보통은 SDDM 같은 그래픽 디스플레이 매니저로 데스크톱 세션을 시작하지만, 작성 시점 기준 FreeBSD에서는 Wayland 세션을 안정적으로 시작하지 못함
- SDDM은 거의 동작하지만, 여러 키 조합이 세션을 종료시키는 버그가 있음
- 현재 방식은 콘솔 기반 **Ly display manager**로 Wayland 세션을 시작하는 것임
- Ly는 데몬으로 실행되지 않으며, `/etc/ttys`에서 가상 콘솔이 `/usr/local/bin/ly_wrapper`를 실행하도록 설정함
- `/etc/gettytab`에 Ly 항목을 추가하고 재부팅하거나 `kill -HUP 1`로 init을 갱신하면 Ly 로그인 프롬프트가 나타남
- `config.ini`에서 `xinitrc=null`, `xsessions=null`, `shell=false`, `waylandsessions=/usr/local/share/wayland-sessions`로 Wayland 세션 사용을 강제할 수 있음

### 폰트, KDE, 데스크톱 앱
- 웹사이트가 제대로 렌더링되도록 Cantarell, Droid, Inconsolata, Noto, Noto Emoji, Roboto, Ubuntu, webfonts 같은 표준 폰트를 설치함
- KDE와 데스크톱 구성요소는 `kde`, `kdegraphics`, `kdemultimedia`, `kdeutils`, `phonon-mpv`, `pipewire`, `pulseaudio`, `wireplumber` 등을 설치함
- 데스크톱 앱 예시는 Chromium, Firefox, LibreOffice, Thunderbird, Signal Desktop, Wine, Emacs Wayland, Git, mpv, tmux 등을 포함함
- 일부 데스크톱 기능은 **PipeWire**에 의존하며, 작업 표시줄 미리보기는 PipeWire가 실행되지 않으면 동작하지 않는 것으로 보임
- `/usr/local/etc/xdg/autostart/pipewire.desktop` autostart 파일로 PipeWire를 자동 실행할 수 있음
- `kwallet`에 SSH 키 암호를 저장하려면 KDE 환경에서 `SSH_ASKPASS_REQUIRE=prefer`와 `SSH_ASKPASS=/usr/local/bin/ksshaskpass`를 내보냄

### 하드웨어 비디오 가속
- 적절한 패키지를 설치하면 대부분의 Intel GPU에서 **하드웨어 비디오 가속**을 사용할 수 있음
- 하드웨어 비디오 가속은 더 부드러운 영상 재생과 더 나은 배터리 사용 시간을 제공함
- 필요한 패키지는 `libva-intel-media-driver`, `libva-utils`, `libvdpau-va-gl`, `vdpauinfo`임
- 사용자는 `drm` 장치를 통해 GPU에 접근해야 하므로 `video` 그룹에 들어 있어야 함
- 일부 애플리케이션은 하드웨어 오프로드를 활용하려면 추가 설정이 필요할 수 있음
- ## Chromium Browser
  - FreeBSD에서 Chromium의 하드웨어 비디오 디코딩은 예전에는 많은 명령줄 플래그가 필요했음
  - 작성 시점 기준 Chromium의 하드웨어 비디오 디코딩은 별도 플래그 없이 동작함
- ## MPV
  - `mpv.conf`에서 `hwdec=vaapi-copy`, `vo=gpu-next`, `vd-lavc-dr=yes`, `audio-channels=stereo`를 설정하면 낮은 CPU 사용률로 HD 영상을 재생함

### 알려진 문제와 우회책
- ## 덮개를 열면 노트북이 즉시 다시 절전됨
  - KDE가 실행되면 데스크톱 환경이 ACPI 덮개 이벤트를 감지해 suspend와 resume을 처리해야 함
  - ThinkPad에서는 덮개를 열자마자 노트북이 다시 절전되는 버그가 발생함
  - 우회책은 KDE 전원 설정에서 덮개 스위치 동작을 비활성화하고, `devd`로 덮개 닫힘 시 native suspend를 구성하는 방식임
  - `/usr/local/libexec/kde-suspend` 스크립트는 KDE 로그인 사용자의 화면을 잠근 뒤 0.5초 대기하고 `acpiconf -s3`로 S3 절전 상태에 들어감
  - `/etc/devd/kde-suspend.conf` 규칙은 ACPI Lid `0x00` 이벤트에서 해당 스크립트를 실행함
- ## 로그아웃 뒤 프로세스가 남음
  - FreeBSD에서는 KDE 세션 로그아웃 후 일부 프로세스가 무기한 계속 실행될 수 있음
  - Chromium은 가끔 CPU 코어 하나를 100% 소비하는 상태에 빠짐
  - systemd 기반 Linux 배포판에서는 `systemd-logind`가 사용자 세션 관련 프로세스를 종료하지만, FreeBSD KDE 환경에서는 같은 전제가 맞지 않음
  - KDE의 로그아웃 시점 cleanup 스크립트 기능을 이용해 `baloo_file`, `chrome`, `dirmngr`, `pipewire`, `signal-desktop`, `wireplumber` 등을 종료함
  - `/usr/local/etc/xdg/plasma-workspace/shutdown/cleanup.sh`를 실행 가능하게 만들어 적용함
- ## 사용자 전환이 동작하지 않음
  - FreeBSD의 데스크톱 사용자 전환은 오래된 **ConsoleKit2 버그** 때문에 깨져 있음
  - 사용자가 시도하지 못하도록 `/usr/local/etc/xdg/kdeglobals`에서 `action/start_new_session=false`와 `action/switch_user=false`를 설정함
- ## 절전 복귀 후 WiFi가 깨짐
  - FreeBSD 15.1-RELEASE에는 절전 복귀 후 WiFi가 깨지는 **iwlwifi 버그**가 있음
  - 우회책은 suspend 전에 `wlan0` 인터페이스를 중지하고 resume 뒤 다시 시작하는 방식임
  - `/usr/local/etc/rc.d/iwlwifi_fix` 스크립트는 `service netif stop wlan0`과 `service netif start wlan0`를 suspend/resume 명령에 연결함
  - 해당 스크립트는 실행 권한을 부여하고 `iwlwifi_fix_enable="YES"`로 활성화함
  - 수정은 이미 15-STABLE에 커밋되었으며, FreeBSD 15.2가 나오면 이 우회책이 필요 없어질 수 있음
- ## 노트북 오디오 멈춤
  - 일부 노트북에는 hard lockup을 일으키는 **i915 버그**가 있음
  - 문제는 `dmesg`에 `hdac0: Command timeout 2` 같은 오류를 동반함
  - 해결책은 `compat.linuxkpi.i915_disable_power_well=0` loader tunable을 설정하는 것임
- ## 그래픽 멈춤과 GPU hang
  - FreeBSD 15.1에서 기본 DRM 드라이버는 6.6에서 6.12로 올라감
  - 새 버전은 일부 Intel 칩에서 그래픽 멈춤과 `dmesg`의 `GPU HANG` 메시지를 일으키는 버그가 있는 것으로 보임
  - 안정적인 우회책은 이전 버전인 `drm-66-kmod`를 계속 사용하는 것임
- ## 콘솔 유휴 시간제한 없음
  - FreeBSD는 몇 년 전 기존 `syscons(4)` 콘솔 드라이버에서 UEFI-native `vt(4)` 드라이버로 전환함
  - `vt` 콘솔에는 `blanktime` 지원이 없어 X11 또는 Wayland 세션이 없으면 화면을 끌 방법이 사실상 없음
  - Ly가 TTY 콘솔에서 실행되므로 아무도 로그인하지 않은 상태에서는 화면이 계속 켜져 있음
  - 단일 사용자 노트북에서는 큰 문제가 아니지만, 다중 사용자 워크스테이션에서는 로그인 프롬프트가 LCD 패널에 번인될 수 있음
- ## GTK4 앱 아이콘 누락
  - 사용 중인 GTK4 앱은 Dino IM XMPP 클라이언트이며, 많은 아이콘이 렌더링되지 않고 KDE 폰트 설정도 따르지 않았음
  - portals를 비활성화하자 문제가 즉시 해결됨
  - 우회책은 `export GDK_DEBUG=no-portals`를 설정하는 것임
- ## 오디오 재생 중 끊김
  - Pulseaudio는 오디오 파일 재생 중 가끔 crackling과 skipping을 일으킴
  - `daemon.conf`에서 `default-fragments = 8`과 `default-fragment-size-msec = 5`로 기본값을 올리면 문제가 해결됨

## Comments



### Comment 59747

- Author: neo
- Created: 2026-06-16T23:02:19+09:00
- Points: 1

###### [Lobste.rs 의견들](https://lobste.rs/s/vodqhe/freebsd_15_on_laptop) 
- 이 글은 고맙지만, 설치 프로그램이 대신 해줘야 할 일들을 위해 **수동 단계**가 너무 많아 보임
  - FreeBSD의 **노트북 지원**은 역사적으로 반쯤만 동작했고, 열성 사용자에게나 맞는 수준이었음  
    최근에는 Linux에서 와이파이와 그래픽 드라이버를 이식하는 데 많은 노력이 들어가서, 훨씬 더 많은 사람이 노트북에서 쓸 수 있게 됨  
    지금은 2000년대 Linux와 비슷한 상태라 할 수 있고, 아직 할 일이 많지만 최전선에서 진행 중인 작업임
  - 느리지만 확실히 나아지고 있음. Linux도 **10~15년 전**에는 그다지 좋지 않았고, FreeBSD도 결국 거기까지 갈 것임

- “설치 단계 열두 개쯤 직접 하지 않으면 그 기계가 정말 내 것이라고 할 수 있나?” /s 이면서도 /s가 아닌 느낌  
  지금 이 댓글은 OpenBSD를 큰 삽질 없이 돌리려고 중고로 산 **Thinkpad T14 Gen 1**에서 쓰는 중임  
  FreeBSD는 아직 시도하지 않았지만 아마 해볼 것 같고, 직접 만든 NAS는 ZFS 풀과 함께 FreeBSD 15를 돌리고 있음  
  FreeBSD Foundation의 노트북 호환성 작업은 확실히 고맙게 느껴짐  
  당장은 2000년대 Linux 같은 분위기지만, 원글 말처럼 “할 일이 있고, 최전선에서 하는 작업”임

- 2010년대 후반부터 아주 신중하게 고른 노트북에서 **FreeBSD를 데일리 드라이버**로 써왔음  
  당시에는 FreeBSD 데스크톱 설정에 손댈 일이 정말 많아서, 그걸 스크립트로 만들고 Git 저장소에 넣은 뒤 계속 손봐왔음  
  예를 들어 언젠가 Wayland에서 Sway로 넘어가야 할 상황을 예상해 StumpWM에서 i3로 바꾸는 식임  
  이제는 데스크톱 설치 프로그램이 진행 중이라 @technomancy의 타당한 지적을 해결할 수 있을 듯하고, 내 설정 스크립트 상당수도 쓸모없게 만들 가능성이 있음  
  https://wiki.freebsd.org/desktop-installer

- “LinuxKPI와 새 iwlwifi 드라이버 덕분에 와이파이 지원이 나쁘던 시절은 대부분 지나갔다. 흔한 Intel 카드라면 그냥 동작할 가능성이 높다”는 대목이 반가움  
  데스크톱에서 **FreeBSD 13/14**도 시도해봤지만 드라이버 제한 때문에 속도가 너무 느려서 계속 쓰기 어려웠음  
  이 제한이 사라진다니 좋고, 다음에 데스크톱에서 뭔가 새로 시도하고 싶어지면 FreeBSD를 다시 해볼 생각임

- 재미있는 점은 **RTL8812 와이파이 드라이버**가 FreeBSD에는 이미 오래전부터, 기억상 10년 넘게 있었는데 Linux에는 커널 6.13쯤에야 들어갔다는 것임  
  왜 Linux에서는 그렇게 오래 트리 밖 모듈로 남아 있었는지는 잘 모르겠음. 라이선스 때문이었을 수도 있음
