लैपटॉप पर FreeBSD 15 का उपयोग
(sacredheartsc.com)- FreeBSD 15 में pkgbase, LinuxKPI ड्राइवर सुधार, और लैपटॉप सपोर्ट प्रोजेक्ट की बदौलत इतना सुधार हुआ है कि अब इसे सिर्फ सर्वर OS नहीं, बल्कि मुख्य desktop environment के रूप में भी इस्तेमाल किया जा सकता है
- FreeBSD 14 आज़माने के बाद KDE Plasma 6, Wayland, और Intel WiFi सपोर्ट जुड़ गया है, इसलिए ThinkPad X1 Carbon पर Bluetooth को छोड़कर बाकी फ़ीचर अच्छी तरह काम करते हैं
- इंस्टॉलेशन FreeBSD 15.1 memstick इमेज, UEFI boot, ZFS (GPT), और base system install type में
Packagesचुनने के आधार पर किया जाता है - desktop environment सेटअप के लिए ड्राइवर, power saving, devfs permissions, Linux compatibility, D-Bus, Ly, KDE, PipeWire, और hardware video acceleration तक सब कुछ चरणबद्ध तरीके से सेट करना पड़ता है
- कुछ laptop environments में sleep से resume के बाद WiFi समस्या, Intel graphics freeze, और KDE logout के बाद process बचे रहने जैसी known issues अभी भी मौजूद हैं, और हर एक के लिए workaround चाहिए
अवलोकन
- FreeBSD 15 में pkgbase, LinuxKPI ड्राइवर सुधार, और Laptop Support and Usability Project की रिलीज़ के कारण laptop desktop environment में बड़ा सुधार दिखता है
- FreeBSD 14 पर desktop आज़माने के समय की तुलना में KDE Plasma 6 porting, Wayland का काम करना, और Intel WiFi का पूर्ण समर्थन अब अलग स्तर पर है
- ThinkPad X1 Carbon पर बैटरी लाइफ़ लगभग 6~7 घंटे है, और Bluetooth को छोड़कर, जिसे आज़माया नहीं गया, डिवाइस के फ़ीचर अच्छी तरह काम करते हैं
- नए Laptop Compatibility Matrix के ज़रिए आप देख सकते हैं कि आपके हार्डवेयर पर क्या-क्या काम करता है
- यह गाइड Intel graphics और Intel wireless chipset के उपयोग को आधार मानता है, और दूसरे हार्डवेयर कॉन्फ़िगरेशन को प्रत्यक्ष अनुभव के दायरे से बाहर रखता है
इंस्टॉलेशन
- FreeBSD 15.1 memstick इमेज डाउनलोड करके उसे
ddसे USB stick पर लिखा जाता है- उदाहरण के तौर पर
curl -OJसे इमेज लेकरsudo dd if=FreeBSD-15.1-RELEASE-amd64-memstick.img of=/dev/sdX bs=1M conv=syncचलाया जाता है
- उदाहरण के तौर पर
- इंस्टॉलेशन wizard सरल है; सिस्टम को UEFI boot पर सेट किया जाता है और disk layout में
ZFS (GPT)चुना जाता है - base system install type पूछे जाने वाले चरण में नए pkgbase का उपयोग करने के लिए
Packagesचुना जाता है - इंस्टॉलेशन के दौरान SSH चालू कर दें तो virtual console में सीधे टाइप करने के बजाय SSH session से copy-paste किया जा सकता है
- reboot के बाद इंस्टॉलेशन के दौरान सेट किए गए password से root account में login किया जाता है
नवीनतम पैकेजों का उपयोग
- FreeBSD ports tree की दो branches होती हैं:
quarterlyऔरlatest quarterlyसाल में चार बार ports tree को snapshot के रूप में स्थिर करता है, और उसके बीच third-party packages को केवल महत्वपूर्ण security patches मिलते हैंlatestएक rolling release मॉडल है, जिसमें मुख्य package updates उपलब्ध होते ही मिल जाते हैं- default setting
quarterlyrepository की होती है, औरlatestपर स्विच करने के लिए/usr/local/etc/pkg/reposमें एक override file बनाई जाती है - repository URL को
pkg+https://pkg.FreeBSD.org/${ABI}/latestऔरkmods_latest_${VERSION_MINOR}पर सेट करने के बादpkg updateऔरpkg upgradeचलाए जाते हैं
हार्डवेयर डिवाइस, ड्राइवर, ट्यूनिंग
-
बूटलोडर समायोजन
/boot/loader.confमें बूटलोडर प्रतीक्षा समय, destructive dtrace को निष्क्रिय करना, shared memory और process limits बढ़ाना सेट किया जा सकता है- Intel Speed Shift को सपोर्ट करने वाले सिस्टम में
machdep.hwpstate_pkg_ctrl="0"के साथ हर core को अपनी power state खुद सेट करने दी जा सकती है - PCI power saving, तेज
soreceive(), network queue length बढ़ाना, और ZFS transaction timeout बढ़ाना सेट करके desktop और laptop उपयोग के हिसाब से सिस्टम को ढाला जा सकता है
-
kernel modules
cpuctlऔरcoretempकोkld_listमें जोड़कर CPU जानकारी और तापमान देखना सक्षम किया जा सकता है- H-TCP congestion control algorithm तेज और लंबी दूरी वाले internet जैसे नेटवर्क में बेहतर performance के लिए बनाया गया है, और इसे
cc_htcpmodule के रूप में उपयोग किया जा सकता है - ThinkPad में button actions के लिए
acpi_ibmmodule की ज़रूरत होती है
-
sysctl समायोजन
/etc/sysctl.confमें keymap change restrictions, core dump निष्क्रिय करना, ASLR से जुड़ी settings, ICMP redirect block करना, और IP redirect निष्क्रिय करना जैसी security settings लागू की जा सकती हैं- कुछ security guides W^X, hardlink checks, और दूसरे users के processes देखने पर रोक की सिफारिश करते हैं, लेकिन यहाँ यह माना गया है कि ये settings ज़्यादा समस्याएँ पैदा करती हैं, इसलिए इन्हें comment out किया गया है
- network performance settings इस धारणा पर TCP buffers और queues बढ़ाती हैं कि default values LAN latency के लिए optimize की गई हैं, ताकि बड़े RTT connections पर बेहतर काम हो सके
- desktop optimization के लिए shared memory swap रोकना, scheduler preemption threshold बढ़ाना, और सामान्य users को mount की अनुमति देना सेट किया गया है
- laptop power saving के लिए
hw.snd.latency=7के साथ audio responsiveness कम की जाती है
-
WiFi
- WiFi support LinuxKPI और नए
iwlwifidriver की वजह से पहले की तुलना में काफ़ी बेहतर हुआ है - wireless card support की जाँच
iwlwifisupported chipset list में की जा सकती है, और ज़रूरी firmwarefwget -vसे install किया जाता है - पुराने कार्ड पर नया
iwlwifiइस्तेमाल करने के लिए मौजूदाiwmdriver load कोdevmatch_blocklist="if_iwm"से रोकना पड़ सकता है - 802.11n और 802.11ac default रूप से disabled रहते हैं, इसलिए
compat.linuxkpi.iwlwifi_11n_disable="0"औरcompat.linuxkpi.iwlwifi_disable_11ac="0"settings की ज़रूरत होती है rc.confमेंwlan0device बनाकरWPA DHCP powersaveसेट करने परwpa_supplicant(8)WiFi नेटवर्क को manage करता है- network management के लिए
wpa_supplicant.conf(5)को सीधे edit किया जा सकता है याnetworkmgrका graphical interface इस्तेमाल किया जा सकता है networkmgrको superuser privileges चाहिए, औरoperatorgroup को बिना password इसे चलाने देने के लिए sudoers rule रखा जा सकता है- FreeBSD 15.1-RELEASE के
iwlwifidriver में suspend/resume से जुड़ी ज्ञात समस्याएँ हैं
- WiFi support LinuxKPI और नए
-
CPU और graphics
- नवीनतम CPU microcode को
cpu-microcodepackage install करने के बादloader.confमें boot के समय load होने के लिए सेट किया जाता है - CPU power saving के लिए
performance_cx_lowest=Cmaxऔरeconomy_cx_lowest=Cmaxके साथ low C-state सक्षम किए जाते हैं, जिससे battery usage और heat कम होती है - नए Intel processors में अब
powerd(8)चलाने की ज़रूरत नहीं है - Intel graphics driver के लिए
drm-kmodinstall करने के बादi915kmsको boot पर load होने के लिए सेट किया जाता है
- नवीनतम CPU microcode को
-
डिवाइस permissions और compatibility
- desktop सिस्टम में सामान्य users को GPU, video, backlight, और USB devices नियंत्रित करने देने के लिए devfs rules जोड़े जाते हैं
/etc/devfs.rulesमेंdrm/*,video*,backlight/*,usb/*के permissions और group तय किए जाते हैं, औरdevfs_system_ruleset=localrulesसेट किया जाता है- Linux binaries चलाने के लिए Linuxulator को
linux_enable=YESके साथ सक्षम किया जाता है, और ज़रूरत पड़ने पर/compat/linuxके तहत devfs, tmpfs, fdescfs, linprocfs, linsysfs mount किए जाते हैं - exFAT या NTFS जैसे filesystem mount करने के लिए
fusefskernel module load किया जाता है - webcam support के लिए
webcamd,v4l-utils,v4l_compatinstall करना औरwebcamd_enable=YESसेट करना अपेक्षित है - printers के लिए CUPS और
cups-filtersचाहिए, औरoperatorgroup को printer configure करने देने के लिएcups-files.confबदला जाता है - CUPS settings GUI ब्राउज़र में
localhost:631पर उपलब्ध होता है
-
laptop power और ThinkPad backlight
- laptop में inactive USB devices को power-saving state में भेजने के लिए
/etc/rc.localमेंusbconfigऔरpower_saveचलाए जाते हैं - ThinkPad backlight keys को काम कराने के लिए
acpi_ibmmodule load करना,dev.acpi_ibm.0.handlerevents="0x10 0x11"सेट करना, औरdevdrules चाहिए /usr/local/libexec/thinkpad-brightnessscript मौजूदा brightness के आधार पर 2, 5, 10 के steps में brightness बढ़ाती या घटाती है- script को execute permission देकर और
devdrestart करने के बाद यह व्यवहार लागू होता है - hardware और driver settings पूरी करने के बाद reboot करके यह जाँचा जाता है कि बदलावों ने सिस्टम को खराब तो नहीं किया
- laptop में inactive USB devices को power-saving state में भेजने के लिए
फ़ायरवॉल
- यह कॉन्फ़िगरेशन सभी सिस्टम पर फ़ायरवॉल चलाने के लिए है, और default example SSH को छोड़कर सभी incoming connections को block करता है
/etc/pf.confमेंegressinterface को असली network interface नाम से बदलें और केवल SSH port को TCP inbound के लिए allow करें- voice और video calls के लिए UDP
1024:65535range को allow करें pf_enable=YESसेट करें औरservice pf startसे फ़ायरवॉल शुरू करें
periodic scripts निष्क्रिय करना
- FreeBSD में default रूप से कई periodic(8) scripts शामिल हैं जो hard disk scan करती हैं, internet से जुड़ती हैं, और email भेजती हैं
- पूरी सूची
periodic.conf(5)में देखी जा सकती है - सामान्य desktop users के लिए इनमें से केवल कुछ tasks ही उपयोगी होते हैं, और अधिकांश को सुरक्षित रूप से निष्क्रिय किया जा सकता है
- उदाहरण configuration में daily, weekly, monthly, और security से जुड़े backup, status reports, mail queue, और security check output tasks को बड़ी संख्या में
NOपर सेट किया गया है
user accounts
- local user account बनाकर उसे
operator,video,wheelgroups में जोड़ा जाता है operatordevice और printer configuration के लिए चाहिए, औरvideoGPU devices तक पहुँच के लिए ज़रूरी हैwheelgroup का उपयोगsudoके साथ root privileges वाले commands चलाने के लिए होता हैsudoinstall करने के बाद sudoers file में%wheel ALL=(ALL:ALL) ALLसेट किया जाता है
लोकेल, समय, SSH, प्रमाणपत्र
-
लोकेल
- लॉगिन shell environment variables
login.conf(5)में सेट किए जाते हैं, और इसमेंcharset=UTF-8तथाlang=en_US.UTF-8जोड़े जाते हैं - बदलाव लागू करने के लिए
cap_mkdb /etc/login.confसे login database को फिर से build किया जाता है - non-login shell के लिए
/etc/profile.d/locale.shमेंLANGऔरCHARSETसेट किए जाते हैं
- लॉगिन shell environment variables
-
NTP और time zone
- सिस्टम clock को up-to-date रखने के लिए ntpd(8) की आवश्यकता होती है
ntp.confमें FreeBSD pool NTP servers और access restriction settings रखी जाती हैं- अगर इंस्टॉलेशन के दौरान time zone सेट नहीं किया गया था, तो
/usr/share/zoneinfo/America/New_Yorkको/etc/localtimeसे symbolic link किया जाता है
-
openssh-portable
- FreeBSD base system का
sshबहुत सारे patches के साथ आता है, और ports का शुद्धopenssh-portableअधिक पसंद किया जाता है - नए version में
sshdconfiguration file/usr/local/etc/sshके अंतर्गत स्थित होती है /etc/rc.confमें basesshdको बंद करकेopenssh_enable=YESके साथ नई service चलाई जाती है- अगर
$PATHनहीं बदला जाए, तोsshcommand base system के/usr/bin/sshका ही उपयोग करती रहती है - सभी users के लिए ports version को प्राथमिकता देने हेतु
login.confमेंpathका क्रम ऐसा बदला जाता है कि/usr/localपहले आए, और फिर database को दोबारा build किया जाता है
- FreeBSD base system का
-
टर्मिनल, प्रमाणपत्र, D-Bus
- FreeBSD का
termcap(5)database Linux में आम तौर पर मिलने वाले database की तुलना में अधिक सरल है, और XTerm-आधारित terminals में bright colors render नहीं हो सकते terminfo-dbइंस्टॉल करके इस समस्या को ठीक किया जा सकता है- FreeBSD डिफ़ॉल्ट रूप से केवल कुछ standard certificate authorities पर भरोसा करता है, इसलिए Mozilla का पूरा CA bundle
ca_root_nssइंस्टॉल किया जाता है - KDE और आज के कई desktop features के लिए D-Bus आवश्यक है, और इसे
dbus_enable=YESतथाservice dbus startसे सक्षम किया जाता है
- FreeBSD का
Ly display manager
- आम तौर पर desktop session शुरू करने के लिए SDDM जैसे graphical display manager का उपयोग किया जाता है, लेकिन लिखे जाने के समय FreeBSD पर यह Wayland session को स्थिर रूप से शुरू नहीं कर पाता
- SDDM लगभग काम करता है, लेकिन कई key combinations session को बंद कर देने वाला bug मौजूद है
- फिलहाल तरीका यह है कि console-आधारित Ly display manager से Wayland session शुरू किया जाए
- Ly daemon के रूप में नहीं चलता, बल्कि
/etc/ttysमें virtual console को/usr/local/bin/ly_wrapperचलाने के लिए सेट किया जाता है /etc/gettytabमें Ly entry जोड़कर और reboot करने पर, याkill -HUP 1से init को refresh करने पर, Ly login prompt दिखाई देता हैconfig.iniमेंxinitrc=null,xsessions=null,shell=false,waylandsessions=/usr/local/share/wayland-sessionsसेट करके Wayland session का उपयोग बाध्य किया जा सकता है
फ़ॉन्ट, KDE, desktop apps
- वेबसाइटें सही तरह render हों, इसके लिए Cantarell, Droid, Inconsolata, Noto, Noto Emoji, Roboto, Ubuntu, webfonts जैसे standard fonts इंस्टॉल किए जाते हैं
- KDE और desktop components के लिए
kde,kdegraphics,kdemultimedia,kdeutils,phonon-mpv,pipewire,pulseaudio,wireplumberआदि इंस्टॉल किए जाते हैं - desktop apps के उदाहरणों में Chromium, Firefox, LibreOffice, Thunderbird, Signal Desktop, Wine, Emacs Wayland, Git, mpv, tmux आदि शामिल हैं
- कुछ desktop features PipeWire पर निर्भर करते हैं, और taskbar preview PipeWire के बिना काम नहीं करता प्रतीत होता है
/usr/local/etc/xdg/autostart/pipewire.desktopautostart file के जरिए PipeWire को अपने आप शुरू किया जा सकता हैkwalletमें SSH key passphrase सहेजने के लिए KDE environment मेंSSH_ASKPASS_REQUIRE=preferऔरSSH_ASKPASS=/usr/local/bin/ksshaskpassexport किया जाता है
हार्डवेयर वीडियो acceleration
- उपयुक्त packages इंस्टॉल करने पर अधिकांश Intel GPUs पर हार्डवेयर वीडियो acceleration का उपयोग किया जा सकता है
- हार्डवेयर वीडियो acceleration अधिक smooth video playback और बेहतर battery life देता है
- आवश्यक packages हैं
libva-intel-media-driver,libva-utils,libvdpau-va-gl,vdpauinfo - user को
drmdevice के जरिए GPU तक पहुंच चाहिए, इसलिए उसकाvideogroup में होना आवश्यक है - कुछ applications को hardware offload का लाभ लेने के लिए अतिरिक्त configuration की आवश्यकता हो सकती है
-
Chromium Browser
- FreeBSD पर Chromium में hardware video decoding के लिए पहले बहुत से command-line flags की जरूरत पड़ती थी
- लिखे जाने के समय Chromium का hardware video decoding बिना अलग flags के काम करता है
-
MPV
mpv.confमेंhwdec=vaapi-copy,vo=gpu-next,vd-lavc-dr=yes,audio-channels=stereoसेट करने पर कम CPU उपयोग के साथ HD वीडियो चलाया जा सकता है
ज्ञात समस्याएँ और उनके वर्कअराउंड
-
ढक्कन खोलने पर लैपटॉप तुरंत फिर से suspend हो जाता है
- KDE चल रहा हो तो desktop environment को ACPI lid event पहचानकर suspend और resume को handle करना चाहिए
- ThinkPad पर एक bug आता है जिसमें ढक्कन खोलते ही लैपटॉप फिर से suspend हो जाता है
- इसका वर्कअराउंड है KDE power settings में lid switch action को disable करना, और
devdके साथ lid बंद होने पर native suspend configure करना /usr/local/libexec/kde-suspendscript KDE login user की screen lock करती है, फिर 0.5 सेकंड रुककरacpiconf -s3से S3 suspend state में जाती है/etc/devd/kde-suspend.confrule ACPI Lid0x00event पर उस script को चलाता है
-
logout के बाद process बचे रहते हैं
- FreeBSD में KDE session से logout के बाद कुछ process अनिश्चित समय तक चलते रह सकते हैं
- Chromium कभी-कभी ऐसी स्थिति में फँस जाता है जहाँ वह एक CPU core का 100% उपयोग करता है
- systemd-आधारित Linux distribution में
systemd-loginduser session से जुड़े process बंद कर देता है, लेकिन FreeBSD KDE environment में यही मान्यता लागू नहीं होती - KDE के logout-time cleanup script feature का उपयोग करके
baloo_file,chrome,dirmngr,pipewire,signal-desktop,wireplumberआदि को बंद किया जाता है /usr/local/etc/xdg/plasma-workspace/shutdown/cleanup.shको executable बनाकर यह लागू किया जाता है
-
user switching काम नहीं करता
- FreeBSD में desktop user switching पुराने ConsoleKit2 bug की वजह से टूटा हुआ है
- ताकि user इसे आज़मा न सकें,
/usr/local/etc/xdg/kdeglobalsमेंaction/start_new_session=falseऔरaction/switch_user=falseसेट किया जाता है
-
suspend से लौटने के बाद WiFi टूट जाता है
- FreeBSD 15.1-RELEASE में suspend से लौटने के बाद WiFi टूटने वाला iwlwifi bug है
- इसका वर्कअराउंड है suspend से पहले
wlan0interface को बंद करना और resume के बाद फिर से शुरू करना /usr/local/etc/rc.d/iwlwifi_fixscriptservice netif stop wlan0औरservice netif start wlan0को suspend/resume command से जोड़ती है- इस script को execute permission देकर
iwlwifi_fix_enable="YES"से enable किया जाता है - fix पहले ही 15-STABLE में commit हो चुका है, और FreeBSD 15.2 आने पर यह वर्कअराउंड शायद ज़रूरी न रहे
-
लैपटॉप audio रुक जाता है
- कुछ laptops में i915 bug है जो hard lockup पैदा करता है
- इस समस्या के साथ
dmesgमेंhdac0: Command timeout 2जैसी error भी दिखाई देती है - समाधान है
compat.linuxkpi.i915_disable_power_well=0loader tunable सेट करना
-
graphics freeze और GPU hang
- FreeBSD 15.1 में default DRM driver 6.6 से 6.12 पर अपग्रेड हुआ है
- लगता है कि नए version में कुछ Intel chips पर graphics freeze और
dmesgमेंGPU HANGmessage लाने वाला bug है - स्थिर वर्कअराउंड है पुराने version
drm-66-kmodका उपयोग जारी रखना
-
console idle timeout नहीं है
- FreeBSD कुछ साल पहले पुराने
syscons(4)console driver से UEFI-nativevt(4)driver पर स्विच हुआ था vtconsole मेंblanktimesupport नहीं है, इसलिए X11 या Wayland session न हो तो screen बंद करने का व्यावहारिक तरीका नहीं है- क्योंकि Ly TTY console पर चलता है, इसलिए जब कोई login नहीं होता तब भी screen चालू रहती है
- single-user laptop में यह बड़ी समस्या नहीं है, लेकिन multi-user workstation में login prompt LCD panel पर burn-in कर सकता है
- FreeBSD कुछ साल पहले पुराने
-
GTK4 app icons गायब हैं
- उपयोग में लिया गया GTK4 app Dino IM XMPP client है, और उसके कई icons render नहीं हो रहे थे तथा वह KDE font settings का पालन भी नहीं कर रहा था
- portals disable करते ही समस्या तुरंत हल हो गई
- वर्कअराउंड है
export GDK_DEBUG=no-portalsसेट करना
-
audio playback के दौरान रुक-रुक कर चलना
- Pulseaudio में audio file चलाते समय कभी-कभी crackling और skipping होती है
daemon.confमेंdefault-fragments = 8औरdefault-fragment-size-msec = 5पर default value बढ़ाने से समस्या हल हो जाती है
1 टिप्पणियां
Lobste.rs की टिप्पणियाँ
यह लेख सराहनीय है, लेकिन ऐसा लगता है कि मैनुअल स्टेप्स बहुत ज़्यादा हैं उन चीज़ों के लिए जो इंस्टॉलर को खुद करनी चाहिए
हाल के समय में Linux से Wi-Fi और graphics drivers को port करने में काफी मेहनत हुई है, इसलिए अब कहीं ज़्यादा लोग इसे laptop पर इस्तेमाल कर सकते हैं
अभी इसकी स्थिति 2000 के दशक के Linux जैसी कही जा सकती है; काम अभी भी बहुत बाकी है, लेकिन यह frontier पर चल रहा काम है
“अगर इंस्टॉलेशन के दौरान लगभग बारह स्टेप्स खुद न करने पड़ें, तो क्या वह मशीन सच में मेरी है?” /s, लेकिन पूरी तरह /s भी नहीं
मैं यह टिप्पणी अभी एक सेकंड-हैंड Thinkpad T14 Gen 1 पर लिख रहा हूँ, जो मैंने OpenBSD को बिना बहुत झंझट चलाने के लिए खरीदा था
FreeBSD अभी तक नहीं आज़माया, लेकिन शायद आज़माऊँगा; और मेरा self-built NAS ZFS pool के साथ FreeBSD 15 चला रहा है
FreeBSD Foundation का laptop compatibility पर काम वाकई सराहनीय लगता है
फिलहाल माहौल 2000 के दशक के Linux जैसा है, लेकिन जैसा मूल पोस्ट में कहा गया, “काम मौजूद है, और वह frontier पर हो रहा काम है”
2010 के दशक के उत्तरार्ध से मैं बहुत सावधानी से चुने गए laptops पर FreeBSD को daily driver की तरह इस्तेमाल कर रहा हूँ
उस समय FreeBSD desktop setup में सचमुच बहुत छेड़छाड़ करनी पड़ती थी, इसलिए मैंने उसे scripts में बदलकर Git repository में रखा और लगातार सुधारता रहा
उदाहरण के लिए, भविष्य में Wayland पर Sway की तरफ़ जाना पड़ेगा यह सोचकर मैंने StumpWM से i3 पर स्विच किया
अब desktop installer पर काम चल रहा है, इसलिए लगता है कि @technomancy की वाजिब बात का समाधान हो सकता है, और इससे मेरी setup scripts का बड़ा हिस्सा बेकार भी हो सकता है
https://wiki.freebsd.org/desktop-installer
यह पंक्ति पढ़कर अच्छा लगा: “LinuxKPI और नए iwlwifi driver की बदौलत खराब Wi-Fi support वाले दिन काफ़ी हद तक पीछे छूट चुके हैं। अगर आपके पास आम Intel card है, तो उसके बस काम करने की संभावना अच्छी है”
मैंने desktop पर FreeBSD 13/14 भी आज़माया था, लेकिन driver limitations की वजह से speed बहुत धीमी थी, इसलिए उसे जारी रखना मुश्किल था
अच्छा है कि यह सीमा हट रही है, और अगली बार जब desktop पर कुछ नया आज़माने का मन होगा, तो FreeBSD को फिर से देखने का इरादा है
दिलचस्प बात यह है कि RTL8812 Wi-Fi driver FreeBSD में बहुत पहले से, अगर सही याद है तो 10 साल से भी ज़्यादा समय से था, जबकि Linux में यह लगभग kernel 6.13 के आसपास जाकर शामिल हुआ
Linux में यह इतने लंबे समय तक out-of-tree module क्यों बना रहा, यह मुझे ठीक से नहीं पता। शायद licensing की वजह रही हो