Installing Linux on Asus ROG Strix, part 2

Well, I got the main partition resized thanks to this blog post. It was turning off things like hibernation and system restore. Then I shrank the Windows partition down to about 98 GB. Take that, Windows!

Still can’t get rid of the obnoxious logo

After a reboot, it was pretty smooth sailing. After installing the proprietary NVIDIA drivers and restarting with a special pin entered from the boot partition, I restarted again. However, I got the error “Nvidia kernel module missing, falling back to nouveau” no matter what I tried.

So I started thinking I would need to install Arch Linux, as it seems to support NVIDIA drivers well. But another contender emerged: Pop!_OS. Yes, of system76 fame. I had heard of it many times but never tried it.

I made another live USB stick and split the Fedora partition in half, installing Pop!_OS (Secure Boot needs to be shut off otherwise the live USB likely won’t start).

Lo and behold, it worked out of the box. The keyboard backlighting can be controlled with the function keys just fine, although I haven’t tried changing the colors yet. Pop!_OS even wakes from suspend after lid close, something that I’ve seen fail many times on other OSes.

So Pop!_OS, you have a new fan.

Installing Linux on Asus ROG Strix G16

How to lose your hair quickly

A trip to Microcenter is a candy store-like experience with good customer service and great selection. I bought a brand-new Asus ROG Strix, despite the exquisitely obnoxious branding and lighting, for my next Linux box.

I was told that for warranty purposes, should anything occur and I need to bring the machine in for service, I’d have to re-install Windows first. So while making the backup restore media and setting up (a local account) I decided perhaps it’s best to dual boot.

The Interwebs told me to go with Fedora, and who am I to argue. So I made a boot thumb drive and took it for a spin. I used to use Balena Etcher but this time I went with Fedora’s Media Writer tool which worked well (but for Windows 10 users, autoplay might need to be switched off before writing the drive). I was impressed that there was even some limited lighting control out of the box.

But the ASUS problems started coming fast and furious. Top priority had been to flash the BIOS in order to remove the hideous “Republic of Gamers” boot loading logo, but alas, the tool for that was not available for my specific motherboard. Oh well; I shall have to just avert my eyes during the boot sequence for now.

Next up, I couldn’t access the main partition from inside the Fedora live preview; in disk management there was a little padlock icon and the word “Bitlocker.”

What in tarnation. Pretty sure I toggled that off during Windows setup, so I was a tad confused. Booting back into Windows settings, there was a button which said, “Turn on Bitlocker”. Now I was even more confused, because it sure seemed to be on already.

Apparently Bitlocker encryption is default on Windows 11. Under Windows “Privacy & security”, there is a toggle to turn off Device Encryption. Once I shut that off, it said “decrypting” for a few minutes, and then I was able to go back into Fedora live OS and access the drive.

Another hurdle: Fedora tells me “Not enough free space on selected disks.” Microsoft hogs 5 partitions full of goodness-knows what. So I toddle off into Windows Disk Management to resize the main partition. Guess what — due to unmovable files, the partition could only be shrunk to about 800GB (leaving only about 200 for Fedora).

It’s bedtime, so tomorrow I will delete some expendable-looking things, run Disk Cleanup, and defragment to see if that will help. But I’m starting to think it’s not worth all this hassle to dual boot.

To be continued…

Mozilla’s NSS package on Windows 10 (when Chocolatey fails you)

I recently needed certificate handling for some CraftCMS development. Using Chocolatey, I tried installing mkcert and nss (Network Security Services) but got the following error:

nss not installed. The package was not found with the source(s) listed.
Source(s): 'https://chocolatey.org/api/v2/'

(Yes, I have still not fully switched back to 🐧Linux yet! Getting there, but I am still using Teams breakout rooms — not available on Linux — and Outlook for my teaching gig, until that ends in a few months.)

So you want to support Firefox, even though Firefox doesn’t support you, o Windows developer?

Yes, let’s be the ‘bigger man’! LOL

Heavily adapted version of Johann ‘Myrkraverk’ Oskarsson’s handy blog post follows, with just a bit of updating for 2024.

It’s gonna require a LOT of steps, including installing Visual Studio Installer and Python, in case you don’t already have it installed — you’ll need Python to install a package called gyp-next :

python3 -m pip install gyp-next

Next you’ll need to download the NSS package manually from Mozilla:

I also used 7-zip in the terminal to extract the package (you’ll need to extract the .gz file, then extract the resulting .tar ball once more). Your filename will be different depending on the newer version you may download:

7z x nss-3.101.1-with-nspr-4.35.tar.gz
...
7z x nss-3.101.1-with-nspr-4.35.tar

Now you can go into the Visual Studio Installer graphical application. Click the Launch button:

This will launch a new type of terminal inside that app, like this:

Now you can cd into

cd C:\mozilla-build\msys2

Then enter the command:

msys2_shell

ANOTHER shell will pop open (keep the old window open) — enter your SSH password (nothing will appear at the prompt as usual) then hit Enter. It should say, “Identity added” to your local hosts.

Almost there. Now return to the terminal window which was launched by Visual Studio Installer (the one we kept open). CD into the extracted directory for NSS ( cd nss\nss-3.101.1 or whatever folder you created for it). Make sure you further cd into ‘nss’.


Lastly, run

build.sh

Now if you back out one level, you will see you have a new folder called ‘dist’. I don’t think you actually need this folder when just developing frontend applications, but let’s see! UPDATE: no, I have not needed it and it’s been 2 months. 😉