Musings:Dell Inspiron 17 7773 and March 2019 state of BSD's

From Monarchists.Wiki

Greetings, 👑 we've been absent for some time due to our previous laptop dying in early January, which rendered us Android-only until late February. We spent January and February watching bestbuy.com, waiting for a laptop with fine specs and a bargain price to appear within our county or a nearby, neighboring one. We were able to locate such a laptop and were able to purchase it – a Dell Inspiron 17 7773 – at nearly half the initial retail price (see Project:Idris'_personal_expenditures/Year01).

Hardware support[edit]

We then spend much of March installing and trying out various Linux distributions and BSD's. Since web searches have been invaluable in giving us the confidence and know-how in installing these operating systems onto our hardware, we feel that it's only proper to benefit others conducting such research online. Thus, we have constructed the table below detailing Linux's and FreeBSD 13-current's support for Dell Inspiron 17 7773 hardware.

Before continuing any further, however, we must tell you that the Dell Inspiron 17 7773 only officially supports Windows 10 and Ubuntu Linux.[1] Installing a BSD or a non-Ubuntu Linux distribution may void your warranty or deny you costumer service support from Dell. In addition, we must tell you that we're not technically proficient and our skill with software is novice at best.

Linux 4.16+ and its functionality on Dell Inspiron 17 7773 hardware
Hardware Linux software (firmware) Linux functionality
Wifi Intel Dual Band Wireless-AC 3165 iwlwifi (iwlwifi-7265) Functioning
Intel video Intel UHD Graphics 620 i915 Functioning
NVIDIA video NVIDIA GP108M [GeForce MX150] Nouveau or the latest NVIDIA driver Functioning(?)
NVIDIA Optimus NVIDIA GP108M [GeForce MX150] Bumblebee 3.2.1 Functioning
Intel audio Intel Sunrise Point-LP HD Audio ALSA Functioning
Realtek audio Realtek ALC3253-VA3 ALSA Functioning
FreeBSD 13-current and its functionality on Dell Inspiron 17 7773 hardware
Hardware FreeBSD software (firmware) FreeBSD functionality
Wifi Intel Dual Band Wireless-AC 3165 iwm (iwm7265Dfw) 802.11g (802.11ac not yet supported)[2]
Intel video Intel UHD Graphics 620 drm-kmod (gpu-firmware-kmod) Functioning
NVIDIA video NVIDIA GP108M [GeForce MX150] nvidia-driver 390.87_2 Not functioning(?)
NVIDIA Optimus NVIDIA GP108M [GeForce MX150] N/A N/A
Intel audio Intel Sunrise Point-LP HD Audio snd_hda Not functioning(?)
Realtek audio Realtek ALC3253-VA3 snd_hda Not functioning(?)

OpenBSD 5.7+,[3] DragonFlyBSD 4.4+,[4] FreeBSD 11.0+,[5] and Linux distributions based on the 4.2 Linux kernel and above[6] should support the Intel Dual Band Wireless-AC 3165 card. From our experience, we can confirm that openSUSE 15.0 (Linux kernel 4.12) supports 3165 right out of the box and that FreeBSD 12.0 supports it out-of-the-box if configured during installation. OpenBSD requires the user to install firmware,[7] and the same might be true for other BSD's and some Linux distributions. At the time of writing, the BSDs' iwm driver give the user 802.11g rather than 802.11ac.[2][8]

The NVIDIA driver 384.59 and above should support the GeForce MX150 GPU in Linux.[9] The Nouveau driver possibly supports GP108 since Linux kernel 4.16.[10]

We lack the knowledge and experience to precisely comment on how well these drivers perform on Linux. We hardly know the first thing about graphics, and we're don't possess a heavy demand for quality graphics. Plus, we moved on to BSD's before experimenting with Linux's graphical capabilities. We shall only speak from experience, which is thus far limited to installing drivers on Linux and FreeBSD; thus, we only comment on how they function on Linux versus FreeBSD.

To my everlasting shame, we can't get Nvidia graphics to function properly on FreeBSD. We can't make GLX work. The same goes for audio; we can't get audio working. We're rather fond of Unix and BDS, so we want to make them work, and challenged ourselves to do so, yet we can't. This doesn't mean that others shouldn't try; we believe that our failure is largely due to our lack of skill and talent in computing. Plus, GeForce MX150 is still rather young, and better support will likely come in time.

Why BSD appeals to us[edit]

We developed a fondness for BSD after reading Matt Fuller's "rants" at over-yonder.net. After high school, we become increasingly aware of how little we knew about computing and how Microsoft Windows likely played a role in that. We couldn't help but think that if the bar to entry were higher than what Windows set, we would be more knowledgeable about computers, and that this applied to others as well – that Microsoft, and consumerism in general, were making entire generations, including our own, stupid and were profiting at civilization's expense. The rants at over-yonder.net reinforced those view,[11] as well as granting us an understanding of the difference between easiness ("user-friendliness") and simplicity ("usability").[12]

Thanks to Fuller's rants and our own senses, we're attracted to BSD's on account of their:

  1. Near-singular (cohesive) vision, purpose, and identity (i.e. intregalism)
  2. Simplicity
  3. Heritage
  4. BSD license

The first three of these are of course interconnected: we hold that heritage informs identity and purpose and that simplicity enables vision and purpose. In this way, I believe that BSD's function resemble nations: a nation's sense of purpose and place is based on a shared, relatable history and heritage, and a simple, dare we say rural, lifestyle allows a nation to maintain its course, while urbanization and complicity leads to distractions, and abandoning a shared history and heritage results in a factionalized state where people are at odds with anyone without relatable experiences.

Each BSD's have a near-singular vision purpose, and identity. Fuller sums this up nicely:

  • FreeBSD originally targetted getting the best possible performance on the 386 platform. Lately, it's expanded to a number of other platforms including Alpha and SPARC, as well as to the heirs of i386, Intel's Itanium, and AMD's Opteron. Its primary goal is to be as robust and efficient as possible on its various platforms, both for server and desktop roles.
  • NetBSD is aimed at running on as many platforms as possible. Its goal is to be the most portable OS on the planet, and it seems to do a pretty fair job at it.
  • OpenBSD is focused primarily (some would say 'solely') on security and related topics. Tight integration of security and auditability and cryptography and related issues are its primary goal.
— Matt Fuller, BSD For Linux Users, Dramatis Personae

Linux, on the other hand, lacks this characteristic. Linus Torvalds' objective is make a good kernel, not a good system. To paraphrase Richard M. Stallman, It's GNU/Linux, not (merely) Linux. Although Torvalds can play a role in ensuring that the kernel itself adheres to a near-singular vision, the Linux system is a mishmash of several visions; hence, the plethora of distributions and the factionalism (e.g. systemd vs. anti-systemd). Since the Linux kernel attempts to be the kernel for any person and any purpose (mobile, desktop, gaming, business, workstation, server, research project, etc.), it's a "jack of all trades; master of none", and we suspect that they're little commonality between Linux users: the typical Gentoo user probably won't find the experiences of the Ubuntu user to be relatable. As we're be saying on this website often, the fewer traits and experiences people have in common (i.e. the greater the diversity), the less cohesive of a community they are.

Each BSD's, on the other hand, tend to only have one operating system to offer, which means that users of that particular operating system will tend to have similar experiences with each other and a greater commonality from which to form a community with. Most users starting with vanilla FreeBSD, OpenBSD, or DragonFlyBSD will start by using a text-based installer and then a text-based terminal. Even if they want to install Xorg, they'll have to learn the intrinsicalities of their chosen system and install Clang and LLVM before they can install Xorg.

We also prefer the BDS open source licenses to the GNU General Public License (GPL), since we personally don't find issue with permitting others from benefiting and profiting off of the products we openly share.

Codes of conduct[edit]

In February 2018, FreeBSD adopted the worse Code of Conduct amongst the notable open source operating system. Nearly every sentence in its preamble is a lie or delusion. Its first sentence proclaims FreeBSD to be inclusive, yet we know that the Code is really a tool to exclude others. Its second sentence claims that FreeBSD desires to have people of all backgrounds work together, yet we know that the Code works to the detriment of those with traditionalistic backgrounds.

The second portion of the second sentence claims that they aim to make the best operating system, built by a strong community. Perhaps they can indeed build a more cohesive community by weeding out those who don't share common values, yet having adherence to liberal ideals be the sorting mechanism instead of skill and talent doesn't result in a better operating system. There simply isn't any causality between liberalism and increased operating system quality. If anything, such a sorting mechanism results in a "brain drain" by ostracizing people based on belief and manners instead of skill and talent.

The third and fourth sentence essentially claim that FreeBSD members can't be or express themselves at any place or at any time, since the Project treats them as "ambassadors", meaning that they'll be expected to behave as prescribed even on foreign (non-FreeBSD) spoil, be it a personal Twitter account or in their own personal household. The Code essentially demands that liberalism become their way of life and that anything non-liberal said or done anywhere can be used against them.

We'll ceased analyzing the particulars and implications of the Code here, since others have done the same with more gusto and humor. At present, we're using the Project Trident operating system, which is based on TrueOS, and by extension, FreeBSD. Thankfully, Project Trident's Rules of Conduct and TrueOS's Rules of Conduct are far better and simpler than FreeBSD's Code of Conduct. GhostBSD is another FreeBSD-based option, and it presently doesn't possess a code of conduct. OpenBSD and DragonFlyBSD don't possess codes of conduct as well.

Installing Project Trident[edit]

As of the writing, the partition manager within the installers of TrueOS, GhostBSD, and Project Trident don't properly support GUID Partition Tables (GPT's).[13] The folks at GhostBSD and TrueOS possibly have a patch for this problem,[14] but as far as we're aware, the patch hasn't make it into stable installation images yet. The FreeBSD installer properly creates GPT's, so we worked around the shortcomings of the Project Trident installer by using first installing FreeBSD and then using Project Trident's installer's "Boot Environment" option. For us, this entailed:

  1. Creating a FreeBSD installation USB drive
  2. Installing FreeBSD onto our hard drive with the ZFS
  3. Using fetch to download the Project Trident installation ISO file.
  4. Using dd to create a Project Trident installation USB drive.
  5. And finally using the Project Trident's installer's "Boot Environment" option to transform the FreeBSD installation into a Project Trident installation, as suggested on the Project Trident "Downloads" page.

Alternatively, if one owns two or more USB drives, then one can prepare two installation USB drives in advance of the installations instead of reformatting one USB drive in between installations.

Temperature throttling[edit]

In order to have temperature throttling in FreeBSD on machines with Intel processors, one must have the coretemp module loaded and the powerdxx port or package installed. In order to have coretempt loaded at boot time, one must add coretemp_load="YES" to /boot/loader.conf.

Since powerd and powerd++ can't function at the same time, one must disable powerd and enable powerd++. In vanilla FreeBSD, this entails following the instructions found on powerdxx's GitHub page. However, since Project Trident uses OpenRC, they must instead use the following instructions:

service powerd stop
service powerd++ start
rc-update delete powerd default
rc-update add powerd++ default

If all goes well, then powerd++ -fv should produce details that include something that resembles the following:

Temperature Throttling
        active:                yes
          0:                   [90 C, 100 C]

If one neglects to load the coretemp module, then a could not determine critical temperature error will appear instead.

In order to learn how to adjust these settings, we recommend reading the powerd++ manual.

Future OS plans[edit]

We're planning on continuing to use Project Trident as our primary desktop. We'll probably purchase a M.2 SSD as a secondary drive in order to experiment with other operating systems sometime after the Summer releases of FreeBSD, TrueOS, and their derivatives occur. We're interested in trying out OpenIndiana, OmniOS, and Genode Sculpt.

(forever indebted to the Magnificent and Merciful God ())
King of Monarchists.Wiki, Proprietor of the Domains, Cultivator of Talent, Culture, and Excellence, and Defender of Faith and Civilization
Initially published on March 26, 2019
Last updated on April 29, 2019

References[edit]

  1. "Inspiron 17 7000 2-in-1 Setup and Specifications". Dell. Retrieved 2019-04-01.
  2. 2.0 2.1 elaoic123; et al. (2018-12-03). "When will 802.11ac be supported on FreeBSD?". reddit. Retrieved 2019-03-26.
  3. de Raadt, Theo (2015-05-01). "OpenBSD 5.7". OpenBSD. Retrieved 2019-03-26.
  4. "release44". DragonFlyBSD. 2018-07-24. Retrieved 2019-03-26.
  5. Barber, Glenn (2016-09-22). "FreeBSD 11.0-RELEASE Release Notes". The FreeBSD Project. Retrieved 2019-03-26.
  6. "Linux* Support for Intel® Wireless Adapters". Intel. Retrieved 2019-03-26.
  7. "iwm(4)". OpenBSD. 2019-01-21. Retrieved 2019-03-26.
  8. "iwm(4)". OpenBSD. 2019-01-21. Retrieved 2019-03-26.
  9. "NVIDIA DRIVERS Linux x64 (AMD64/EM64T) Display Driver". NVIDIA. Retrieved 2019-03-26.
  10. Larabel, Michael (2018-02-09). "Nouveau Updates Submitted For Linux 4.16, Bringing GP108 & Kepler Clock Gating". Phoronix. Retrieved 2019-03-26.
  11. Fuller, Matt. "Why Windows Causes Stupidity". over-yonder.net. Retrieved 2019-03-26.
  12. Fuller, Matt. "User Friendly?". over-yonder.net. Retrieved 2019-03-26.
  13. allentiak; et al. (2019-03-12). "TrueOS Installer corrupts the GPT partition table (versions 17.12 and 18.03) · Issue #1541". GitHub. Retrieved 2019-04-01.
  14. allentiak; et al. (2019-03-12). "TrueOS Installer corrupts the GPT partition table (versions 17.12 and 18.03) · Issue #1541". GitHub. Retrieved 2019-04-01.