SlideShare a Scribd company logo
1 of 24
FreeBSD 10.2 on Macbook
FreeBSD 10.2-R で
便利になったこと
2015年9月10日
(株)創夢 内藤 祐一郎
FreeBSD 10.2 RELEASE
2015年8月17日にリリースされました。
予定より4日も前倒しで!
FreeBSD 10.2 RELEASE
FreeBSD 10.2-R に
アップグレードし
良くなったことについて
話したいと思います。
ACPI
電源の抜き差しを
認識するようになりました。
hw.acpi.ac_online
の値が 変わります。
1 : ACパワー
0: バッテリー
ACPI
devd から呼び出される
/etc/rc.d/power_profile
により C State lowest が
変わるようになりました。
ACPI
S3 State によるスリープが
可能になりました。
ACPI
スリープさせる方法はいろいろあります。
1. acpiconf -s 3 でスリープ
2. zzz でスリープ
3. hw.acpi.lid_switch_state=S3 でスリープ
ACPI video
LCD のバックライトを
ACPI で制御できるようになりました。
ACPI video
kldload acpi_video.ko
でカーネルモジュールをロードし
sysctl hw.acpi.video.lcd0.brightness=値
で明るさを変えられます。
ACPI video
副作用として
i915kms.ko を読み込むと
acpi_video.ko が読み込まれるまで
バックライトが消灯します。
ACPI video
/etc/rc.local で明示的に
i915kms.ko の次に
acpi_video.ko を
読み込むのが良さそうです。
i915kms rc6
Intel Graphic のバッテリーセーブを
有効にするには
/boot/loader.conf に以下を入れます。
drm.i915.enable_rc6=7
値はビットマップ
(RC6++ | RC6+ | RC6)
smbios(4)
カーネル環境変数の
smbios.system.product
に
MacBookAir5,2
が入るようになりました。
asmc(4)
asmc(4) が動くかもしれない!
kldload asmc.ko
→ model not recognized
asmc(4)
/sys/dev/asmc/asmc.c
によると
smbiosのプロダクト名を比較し
各種 probe 関数を
登録しているらしい。
asmc(4)
MacBookAir5,2
のプロダクト名のエントリを
作ればいいのでは?
→やってみました。
asmc(4)
SMS (Sudden Motion Sensor)
の割り込み処理を省いた
エントリーを追加することで
動作しました。
asmc(4)
sysctl dev.asmc.0.light.control=0〜100
でキーボードバックライトを
調節できます。
asmctl
バックライトをキーボードから操作したい!
asmctl
asmctl コマンドを自作しました。
https://github.com/yuichiro-naito/asmctl
asmctl
使いかた
asmctl [video|key] [up|down]
asmctl
デスクトップのキーバインドを
以下にすると Mac っぽくなります。
F1 = asmctl video down
F2 = asmctl video up
F5 = asmctl key down
F6 = asmctl key up
asmctl
電源挿抜でLCDバックライトを変えるには
/usr/local/etc/devd/asmctl.conf
を以下で作成します。
notify 20 {
match "system" "ACPI";
match "subsystem" "ACAD";
action "/etc/rc.d/power_profile $notify";
action "/usr/local/bin/asmctl video acpi";
};
FreeBSD 10.2-R on Macbook
以上、かなり Macbook っぽく
FreeBSD を使うことができます!

More Related Content

More from Yuichiro Naito

More from Yuichiro Naito (20)

Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSDReporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
 
Bmd
BmdBmd
Bmd
 
WireGurad in the FreeBSD kernel
WireGurad in the FreeBSD kernelWireGurad in the FreeBSD kernel
WireGurad in the FreeBSD kernel
 
FreeBSD Capsicum
FreeBSD CapsicumFreeBSD Capsicum
FreeBSD Capsicum
 
Xrdp
XrdpXrdp
Xrdp
 
Bhyve debug-server
Bhyve debug-serverBhyve debug-server
Bhyve debug-server
 
Tramp mode
Tramp modeTramp mode
Tramp mode
 
HandBrake with QSV
HandBrake with QSVHandBrake with QSV
HandBrake with QSV
 
FreeBSD 12.1 RELESE
FreeBSD 12.1 RELESEFreeBSD 12.1 RELESE
FreeBSD 12.1 RELESE
 
Modern fonts
Modern fontsModern fonts
Modern fonts
 
FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
 
Iocage
IocageIocage
Iocage
 
FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!
 
How to use PTI & IBRS patch
How to use PTI & IBRS patchHow to use PTI & IBRS patch
How to use PTI & IBRS patch
 
FreeBSD Desktop
FreeBSD DesktopFreeBSD Desktop
FreeBSD Desktop
 
FreeBSD Ports Flavors
FreeBSD Ports Flavors FreeBSD Ports Flavors
FreeBSD Ports Flavors
 
Bsdtw repo
Bsdtw repoBsdtw repo
Bsdtw repo
 
How to use blacklistd
How to use blacklistdHow to use blacklistd
How to use blacklistd
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with Poudriere
 

FreeBSD10.2 on_mac