all repos — gemini-redirect @ 0b267f51260b59f9c40f193d688f4c01f696328f

blog/new-computer/index.html (view raw)

  1<!DOCTYPE html>
  2<html>
  3<head>
  4<meta charset="utf-8" />
  5<meta name="viewport" content="width=device-width, initial-scale=1" />
  6<title>My new computer</title>
  7<link rel="stylesheet" href="../css/style.css">
  8</head>
  9<body>
 10<main>
 11<h1 class="title" id="my_new_computer"><a class="anchor" href="#my_new_computer">¶</a>My new computer</h1>
 12<div class="date-created-modified">Created 2020-06-19<br>
 13Modified 2020-07-03</div>
 14<p>This post will be mostly me ranting about setting up a new laptop, but I also just want to share my upgrade. If you're considering installing Arch Linux with dual-boot for Windows, maybe this post will help. Or perhaps you will learn something new to troubleshoot systems in the future. Let's begin!</p>
 15<p>Last Sunday, I ordered a Asus Rog Strix G531GT-BQ165 for 900€ (on a 20% discount) with the following specifications:</p>
 16<ul>
 17<li>Intel® Core i7-9750H (6 cores, 12MB cache, 2.6GHz up to 4.5GHz, 64-bit)</li>
 18<li>16GB RAM (8GB*2) DDR4 2666MHz</li>
 19<li>512GB SSD M.2 PCIe® NVMe</li>
 20<li>Display 15.6&quot; (1920x1080/16:9) 60Hz</li>
 21<li>Graphics NVIDIA® GeForce® GTX1650 4GB GDDR5 VRAM</li>
 22<li>LAN 10/100/1000</li>
 23<li>Wi-Fi 5 (802.11ac) 2x2 RangeBoost</li>
 24<li>Bluetooth 5.0</li>
 25<li>48Wh battery with 3 cells</li>
 26<li>3 x USB 3.1 (GEN1)</li>
 27</ul>
 28<p>I was mostly interested in a general upgrade (better processor, disk, more RAM), although the graphics card is a really nice addition which will allow me to take some time off on more games. After using it for a bit, I really love the feel of the keyboard, and I love the lack of numpad! (No sarcasm, I really don't like numpads.)</p>
 29<p>This is an upgrade from my previous laptop (Asus X554LA-XX822T), which I won in a competition before entering university in a programming challenge. It has served me really well for the past five years, and had the following specifications:</p>
 30<ul>
 31<li>Intel® Core™ i5-5200U</li>
 32<li>4GB RAM DDR3L 1600MHz (which I upgraded to have 8GB)</li>
 33<li>1TB HDD</li>
 34<li>Display 15.6&quot; (1366x768/16:9)</li>
 35<li>Intel® HD Graphics 4400</li>
 36<li>LAN 10/100/1000</li>
 37<li>Wifi 802.11 bgn</li>
 38<li>Bluetooth 4.0</li>
 39<li>Battery 2 cells</li>
 40<li>1 x USB 2.0</li>
 41<li>2 x USB 3.0</li>
 42</ul>
 43<p>Prior to this one, I had a Lenovo (also won in the same competition of the previous year), and prior to that (just for the sake of history), it was HP Pavilion, AMD A4-3300M processor, which unfortunately ended with heating problems. But that's very old now.</p>
 44<h2 id="laptop_arrival"><a class="anchor" href="#laptop_arrival">¶</a>Laptop arrival</h2>
 45<p>The laptop arrived 2 days ago at roughly 19:00, which I put charged for 3 hours as the book said. The day after, nightmares began!</p>
 46<p>Trying to boot it the first two times was fun, as it comes with a somewhat loud sound on boot. I don't know why they would do this, and I immediately turned it off in the BIOS.</p>
 47<h2 id="installation_journey"><a class="anchor" href="#installation_journey">¶</a>Installation journey</h2>
 48<p>I spent all of yesterday trying to setup Windows and Arch Linux (and didn't even finish, it took me this morning too and even now it's only half functional). I absolutely <em>hate</em> the amount of partitions the Windows installer creates on a clean disk. So instead, I first went with Arch Linux, and followed the <a href="https://wiki.archlinux.org/index.php/Installation_guide">installation guide on the Arch wiki</a>. Pre-installation, setting up the wireless network, creating the partitions and formatting them went all good. I decided to avoid GRUB at first and go with rEFInd, but alas I missed a big warning on the wiki and after reboot (I would later find out) it was not mounting root properly, so all I had was whatever was in the Initramfs. Reboot didn't work, so I had to hold the power button.</p>
 49<p>Anyway, once the partitions were created, I went to install Windows (there was a lot of back and forth burning different <code>.iso</code> images on the USB, which was a bit annoying because it wasn't the fastest thing in the world). This was pretty painless, and the process was standard: select advanced to let me choose the right partition, pick the one, say &quot;no&quot; to everything in the services setup, and done. But this was the first Windows <code>.iso</code> I tried. It was an old revision, and the drivers were causing issues when running (something weird about their <code>.dll</code>, manually installing the <code>.ini</code> driver files seemed to work?). The Nvidia drivers didn't want to be installed on such an old revision, after updating everything I could via Windows updates. So back I went to burning a newer Windows <code>.iso</code> and going through the same process again…</p>
 50<p>Once Windows was ready and I verified that I could boot to it correctly, it was time to have a second go at Arch Linux. And I went through the setup at least three times, getting it wrong every single time, formatting root every single time, redownloading the packages every single pain. If only had I known earlier what the issue was!</p>
 51<p>Why bother with Arch? I was pretty happy with Linux Mint, and I lowkey wanted to try NixOS, but I had used Arch before and it's a really nice distro overall (up-to-date, has AUR, quite minimal, imperative), except for trying to install rEFInd while chrooted…</p>
 52<p>In the end I managed to get something half-working, I still need to properly configure WiFi and pulseaudio in my system but hey it works.</p>
 53<p>I like to be able to dual-boot Windows and Linux because Linux is amazing for productivity, but unfortunately, some games only work fine on Windows. Might as well have both systems and use one for gaming, while the other is my daily driver.</p>
 54<h2 id="setting_up_arch_linux"><a class="anchor" href="#setting_up_arch_linux">¶</a>Setting up Arch Linux</h2>
 55<p>This is the process I followed to install Arch Linux in the end, along with a brief explanation on what I think the things are doing and why we are doing them. I think the wiki could do a better job at this, but I also know it's hard to get it right for everyone. Something I do dislike is the link colour, after opening a link it becomes gray and it's a lot easier to miss the fact that it is a link in the first place, which was tough when re-reading it because some links actually matter a lot. Furthermore, important information may just be a single line, also easy to skim over. Anyway, on to the installation process…</p>
 56<p>The first thing we want to do is configure our keyboard layout or else the keys won't correspond to what we expect:</p>
 57<pre><code class="language-sh">loadkeys es
 58</code></pre>
 59<p>Because we're on a recent system, we want to verify that UEFI works correctly. If we see files listed, then it works fine:</p>
 60<pre><code class="language-sh">ls /sys/firmware/efi/efivars
 61</code></pre>
 62<p>The next thing we want to do is configure the WiFi, because I don't have any ethernet cable nearby. To do this, we check what network interfaces our laptop has (we're looking for the one prefixed with &quot;w&quot;, presumably for wireless, such as &quot;wlan0&quot; or &quot;wlo1&quot;), we set it up, scan for available wireless network, and finally connect. In my case, the network has WPA security so we rely on <code>wpa_supplicant</code> to connect, passing the SSID (network name) and password:</p>
 63<pre><code class="language-sh">ip link
 64ip link set &lt;IFACE&gt; up
 65iw dev &lt;IFACE&gt; scan | less
 66wpa_supplicant -B -i &lt;IFACE&gt; -c &lt;(wpa_passphrase &lt;SSID&gt; &lt;PASS&gt;)
 67</code></pre>
 68<p>After that's done, pinging an IP address like &quot;1.1.1.1&quot; should Just Work™, but to be able to resolve hostnames, we need to also setup a nameserver. I'm using Cloudflare's, but you could use any other:</p>
 69<pre><code class="language-sh">echo nameserver 1.1.1.1 &gt; /etc/resolv.conf
 70ping archlinux.org
 71^C
 72</code></pre>
 73<p>If the ping works, then network works! If you still have issues, you may need to <a href="https://wiki.archlinux.org/index.php/Network_configuration#Static_IP_address">manually configure a static IP address</a> and add a route with the address of your, well, router. This basically shows if we have any address, adds a static address (so people know who we are), shows what route we have, and adds a default one (so our packets know where to go):</p>
 74<pre><code class="language-sh">ip address show
 75ip address add &lt;YOUR ADDR&gt;/24 broadcast + dev &lt;IFACE&gt;
 76ip route show
 77ip route add default via &lt;ROUTER ADDR&gt; dev &lt;IFACE&gt;
 78</code></pre>
 79<p>Now that we have network available, we can enable NTP to synchronize our system time (this may be required for network operations where certificates have a validity period, not sure; in any case nobody wants a wrong system time):</p>
 80<pre><code class="language-sh">timedatectl set-ntp true
 81</code></pre>
 82<p>After that, we can manage our disk and partitions using <code>fdisk</code>. We want to define partitions to tell the system where it should live. To determine the disk name, we first list them, and then edit it. <code>fdisk</code> is really nice and reminds you at every step that help can be accessed with &quot;m&quot;, which you should constantly use to guide you through.</p>
 83<pre><code class="language-sh">fdisk -l
 84fdisk /dev/&lt;DISK&gt;
 85</code></pre>
 86<p>The partitions I made are the following:</p>
 87<ul>
 88<li>A 100MB one for the EFI system.</li>
 89<li>A 32GB one for Linux' root <code>/</code> partition.</li>
 90<li>A 200GB one for Linux' home <code>/home</code> partition.</li>
 91<li>The rest was unallocated for Windows because I did this first.</li>
 92</ul>
 93<p>I like to have <code>/home</code> and <code>/</code> separate because I can reinstall root without losing anything from home (projects, music, photos, screenshots, videos…).</p>
 94<p>After the partitions are made, we format them in FAT32 and EXT4 which are good defaults for EFI, root and home. They need to have a format, or else they won't be usable:</p>
 95<pre><code class="language-sh">mkfs.fat -F32 /dev/&lt;DISK&gt;&lt;PART1&gt;
 96mkfs.ext4 /dev/&lt;DISK&gt;&lt;PART2&gt;
 97mkfs.ext4 /dev/&lt;DISK&gt;&lt;PART3&gt;
 98</code></pre>
 99<p>Because the laptop was new, there was no risk to lose anything, but if you're doing a install on a previous system, be very careful with the partition names. Make sure they match with the ones in <code>fdisk -l</code>.</p>
100<p>Now that we have usable partitions, we need to mount them or they won't be accessible. We can do this with <code>mount</code>:</p>
101<pre><code class="language-sh">mount /dev/&lt;DISK&gt;&lt;PART2&gt; /mnt
102mkdir /mnt/efi
103mount /dev/&lt;DISK&gt;&lt;PART1&gt; /mnt/efi
104mkdir /mnt/home
105mount /dev/&lt;DISK&gt;&lt;PART3&gt; /mnt/home
106</code></pre>
107<p>Remember to use the correct partitions while mounting. We mount everything so that the system knows which partitions we care about, which we will let know about later on.</p>
108<p>Next step is to setup the basic Arch Linux system on root, which can be done with <code>pacstrap</code>. What follows the directory is a list of packages, and you may choose any you wish (at least add <code>base</code>, <code>linux</code> and <code>linux-firmware</code>). These can be installed later, but I'd recommend having them from the beginning, just in case:</p>
109<pre><code class="language-sh">pacstrap /mnt base linux linux-firmware sudo vim-minimal dhcpcd wpa_supplicant man-db man-pages intel-ucode grub efibootmgr os-prober ntfs-3g
110</code></pre>
111<p>Because my system has an intel CPU, I also installed <code>intel-ucode</code>.</p>
112<p>Next up is generating the <code>fstab</code> file, which we tell to use UUIDs to be on the safe side through <code>-U</code>. This file is important, because without it the system won't know what partitions exist and will happily only boot with the initramfs, without anything of what we just installed at root. Not knowing this made me restart the entire installation process a few times.</p>
113<pre><code class="language-sh">genfstab -U /mnt &gt;&gt; /mnt/etc/fstab
114</code></pre>
115<p>After that's done, we can change our root into our mount point and finish up configuration. We setup our timezone (so DST can be handled correctly if needed), synchronize the hardware clock (to persist the current time to the BIOS), uncomment our locales (exit <code>vim</code> by pressing ESC, then type <code>:wq</code> and press enter), generate locale files (which some applications need), configure language and keymap, update the hostname of our laptop and what indicate what <code>localhost</code> means…</p>
116<pre><code class="language-sh">ln -sf /usr/share/zoneinfo/&lt;REGION&gt;/&lt;CITY&gt; /etc/localtime
117hwclock --systohc
118vim /etc/locale.gen
119locale-gen
120echo LANG=es_ES.UTF-8 &gt; /etc/locale.conf
121echo KEYMAP=es &gt; /etc/vconsole.conf
122echo &lt;HOST&gt; /etc/hostname
123cat &lt;&lt;EOF &gt; /etc/hosts
124127.0.0.1 localhost
125::1 localhost
126127.0.1.1 &lt;HOST&gt;.localdomain &lt;HOST&gt;
127EOF
128</code></pre>
129<p>Really, we could've done all of this later, and the same goes for setting root's password with <code>passwd</code> or creating users (some of the groups you probably want are <code>power</code> and <code>wheel</code>).</p>
130<p>The important part here is installing GRUB (which also needed the <code>efibootmgr</code> package):</p>
131<pre><code class="language-sh">grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
132</code></pre>
133<p>If we want GRUB to find our Windows install, we also need the <code>os-prober</code> and <code>ntfs-3g</code> packages that we installed earlier with <code>pacstrap</code>, and with those we need to mount the Windows partition somewhere. It doesn't matter where. With that done, we can generate the GRUB configuration file which lists all the boot options:</p>
134<pre><code class="language-sh">mkdir /windows
135mount /dev/&lt;DISK&gt;&lt;PART5&gt; /windows
136grub-mkconfig -o /boot/grub/grub.cfg
137</code></pre>
138<p>(In my case, I installed Windows before completing the Arch install, which created an additional partition in between).</p>
139<p>With GRUB ready, we can exit the chroot and reboot the system, and if all went well, you should be greeted with a choice of operating system to use:</p>
140<pre><code class="language-sh">exit
141reboot
142</code></pre>
143<p>If for some reason you need to find what mountpoints were active prior to rebooting (to <code>unmount</code> them for example), you can use <code>findmnt</code>.</p>
144<p>Before GRUB I tried rEFInd, which as I explained had issues with for missing a warning. Then I tried systemd-boot, which did not pick up Arch at first. That's where the several reinstalls come from, I didn't want to work with a half-worked system so I mostly redid the entire process quite a few times.</p>
145<h2 id="migrating_to_the_new_laptop"><a class="anchor" href="#migrating_to_the_new_laptop">¶</a>Migrating to the new laptop</h2>
146<p>I had a external disk formatted with NTFS. Of course, after moving every file I cared about from my previous Linux install caused all the permissions to reset. All my <code>.git</code> repositories, dirty with file permission changes! This is going to take a while to fix, or maybe I should just <code>git config core.fileMode false</code>. Here is a <a href="https://stackoverflow.com/a/2083563">lovely command</a> to sort them out on a per-repository basis:</p>
147<pre><code class="language-sh">git diff --summary | grep --color 'mode change 100644 =&gt; 100755' | cut -d' ' -f7- | xargs -d'\n' chmod -x
148</code></pre>
149<p>I never realized how much I had stored over the years, but it really was a lot. While moving things to the external disk, I tried to do some cleanup, such as removing some build artifacts which needlessly occupy space, or completely skipping all the binary application files. If I need those I will install them anyway. The process was mostly focused on finding all the projects and program data that I did care about, or even some game saves. Nothing too difficult, but definitely time consuming.</p>
150<h2 id="tuning_arch"><a class="anchor" href="#tuning_arch">¶</a>Tuning Arch</h2>
151<p>Now that our system is ready, install <code>pacman-contrib</code> to grab a copy of the <code>rankmirrors</code> speed. It should help speed up the download of whatever packages you want to install, since it will help us <a href="https://wiki.archlinux.org/index.php/Mirrors#List_by_speed">rank the mirrors by download speed</a>. Making a copy of the file is important, otherwise whenever you try to install something it will fail saying it can't find anything.</p>
152<pre><code class="language-sh">cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
153sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
154rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup | tee /etc/pacman.d/mirrorlist
155</code></pre>
156<p>This will take a while, but it should be well worth it. We're using <code>tee</code> to see the progress as it goes.</p>
157<p>Some other packages I installed after I had a working system in no particular order:</p>
158<ul>
159<li><code>xfce4</code> and <code>xorg-server</code>. I just love the simplicity of XFCE.</li>
160<li><code>xfce4-whiskermenu-plugin</code>, a really nice start menu.</li>
161<li><code>xfce4-pulseaudio-plugin</code> and <code>pavucontrol</code>, to quickly adjust the audio with my mouse.</li>
162<li><code>xfce4-taskmanager</code>, a GUI alternative I generally prefer to <code>htop</code>.</li>
163<li><code>pulseaudio</code> and <code>pulseaudio-alsa</code> to get nice integration with XFCE4 and audio mixing.</li>
164<li><code>firefox</code>, which comes with fonts too. A really good web browser.</li>
165<li><code>git</code>, to commit <del>crimes</del> code.</li>
166<li><code>code</code>, a wonderful editor which I used to write this blog entry.</li>
167<li><code>nano</code>, so much nicer to write a simple commit message.</li>
168<li><code>python</code> and <code>python-pip</code>, my favourite language to toy around ideas or use as a calculator.</li>
169<li><code>telegram-desktop</code>, for my needs on sharing memes.</li>
170<li><code>cmus</code> and <code>mpv</code>, a simple terminal music player and media player.</li>
171<li><code>openssh</code>, to connect into any VPS I have access to.</li>
172<li><code>base-devel</code>, necessary to build most projects I'll find myself working with (or even compiling some projects Rust which I installed via <code>rustup</code>).</li>
173<li><code>flac</code>, <code>libmad</code>, <code>opus</code>, and <code>libvorbis</code>, to be able to play more audio files.</li>
174<li><code>inkscape</code>, to make random drawings.</li>
175<li><code>ffmpeg</code>, to convert media or record screen.</li>
176<li><code>xclip</code>, to automatically copy screenshots to my clipboard.</li>
177<li><code>gvfs</code>, needed by Thunar to handle mounting and having a trash (perma-deletion by default can be nasty sometimes).</li>
178<li><code>noto-fonts</code>, <code>noto-fonts-cjk</code>, <code>noto-fonts-extra</code> and <code>noto-fonts-emoji</code>, if you don't want missing gliphs everywhere.</li>
179<li><code>xfce4-notifyd</code> and <code>libnotify</code>, for notifications.</li>
180<li><code>cronie</code>, to be able to <code>crontab -e</code>. Make sure to <code>system enable cronie</code>.</li>
181<li><code>xarchiver</code> (with <code>p7zip</code>, <code>zip</code>, <code>unzip</code> and <code>unrar</code>) to uncompress stuff.</li>
182<li><code>xreader</code> to read <code>.pdf</code> files.</li>
183<li><code>sqlitebrowser</code> is always nice to tinker around with SQLite databases.</li>
184<li><code>jre8-openjdk</code> if you want to run Java applications.</li>
185<li><code>smartmontools</code> is nice with a SSD to view your disk statistics.</li>
186</ul>
187<p>After that, I configured my Super L key to launch <code>xfce4-popup-whiskermenu</code> so that it opens the application menu, pretty much the same as it would on Windows, moved the panels around and configured them to my needs, and it feels like home once more.</p>
188<p>I made some mistakes while <a href="https://wiki.archlinux.org/index.php/Systemd-networkd">configuring systemd-networkd</a> and accidentally added a service that was incorrect, which caused boot to wait for it to timeout before completing. My boot time was taking 90 seconds longer because of this! <a href="https://www.reddit.com/r/archlinux/comments/4nv9yi/my_arch_greets_me_now_with_a_start_job/">The solution was to remove said service</a>, so this is something to look out for.</p>
189<p>In order to find what was taking long, I had to edit the <a href="https://wiki.archlinux.org/index.php/kernel_parameters">kernel parameters</a> to remove the <code>quiet</code> option. I prefer seeing the output on what my computer is doing anyway, because it gives me a sense of progress and most importantly is of great value when things go wrong. Another interesting option is <code>noauto,x-systemd.automount</code>, which makes a disk lazily-mounted. If you have a slow disk, this could help speed things up.</p>
190<p>If you see a service taking long, you can also use <code>systemd-analyze blame</code> to see what takes the longest, and <code>systemctl list-dependencies</code> is also helpful to find what services are active.</p>
191<p>My <code>locale charmap</code> was spitting out a bunch of warnings:</p>
192<pre><code class="language-sh">$ locale charmap
193locale: Cannot set LC_CTYPE to default locale: No such file or directory
194locale: Cannot set LC_MESSAGES to default locale: No such file or directory
195locale: Cannot set LC_ALL to default locale: No such file or directory
196ANSI_X3.4-1968
197</code></pre>
198<p>…ANSI encoding? Immediately I added the following to <code>~/.bashrc</code> and <code>~/.profile</code>:</p>
199<pre><code class="language-sh">export LC_ALL=en_US.UTF-8
200export LANG=en_US.UTF-8
201export LANGUAGE=en_US.UTF-8
202</code></pre>
203<p>For some reason, I also had to edit <code>xfce4-terminal</code>'s preferences in advanced to change the default character encoding to UTF-8. This also solved my issues with pasting things into the terminal, and also proper rendering! I guess pastes were not working because it had some characters that could not be encoded.</p>
204<p>To have working notifications, I added the following to <code>~/.bash_profile</code> after <code>exec startx</code>:</p>
205<pre><code class="language-sh">systemctl --user start xfce4-notifyd.service
206</code></pre>
207<p>I'm pretty sure there's a better way to do this, or maybe it's not even necessary, but this works for me.</p>
208<p>Some of the other things I had left to do was setting up <code>sccache</code> to speed up Rust builds:</p>
209<pre><code class="language-sh">cargo install sccache
210echo export RUSTC_WRAPPER=sccache &gt;&gt; ~/.bashrc
211</code></pre>
212<p>Once I had <code>cargo</code> ready, installed <code>hacksaw</code> and <code>shotgun</code> with it to perform screenshots.</p>
213<p>I also disabled the security delay when downloading files in Firefox because it's just annoying, in <code>about:config</code> setting <code>security.dialog_enable_delay</code> to <code>0</code>, and added the <a href="https://alisdair.mcdiarmid.org/kill-sticky-headers/">Kill sticky headers</a> to my bookmarks (you may prefer <a href="https://github.com/t-mart/kill-sticky">the updated version</a>).</p>
214<p>The <code>utils-linux</code> comes with a <code>fstrim</code> utility to <a href="https://wiki.archlinux.org/index.php/Solid_state_drive#Periodic_TRIM">trim the SSD weekly</a>, which I want enabled via <code>systemctl enable fstrim.timer</code> (you may also want to <code>start</code> it if you don't reboot often). For more SSD tips, check <a href="https://easylinuxtipsproject.blogspot.com/p/ssd.html">How to optimize your Solid State Drive</a>.</p>
215<p>If the sound is funky prior to reboot, try <code>pulseaudio --kill</code> and <code>pulseaudio --start</code>, or delete <code>~/.config/pulse</code>.</p>
216<p>I haven't been able to get the brightness keys to work yet, but it's not a big deal, because scrolling on the power manager plugin of Xfce does work (and also <code>xbacklight</code> works, or writing directly to <code>/sys/class/backlight/*</code>).</p>
217<h2 id="tuning_windows"><a class="anchor" href="#tuning_windows">¶</a>Tuning Windows</h2>
218<p>On the Windows side, I disabled the annoying Windows defender by running (<kbd>Ctrl+R</kbd>) <code>gpedit.msc</code> and editing:</p>
219<ul>
220<li><em>Computer Configuration &gt; Administrative Templates &gt; Windows Components &gt; Windows Defender » Turn off Windows Defender » Enable</em></li>
221<li><em>User Configuration &gt; Administrative Templates &gt; Start Menu and Taskbar » Remove Notifications and Action Center » Enable</em></li>
222</ul>
223<p>I also updated the <a href="https://github.com/WindowsLies/BlockWindows/raw/master/hosts"><code>hosts</code> file</a> (located at <code>%windir%\system32\Drivers\etc\hosts</code>) with the hope that it will stop some of the telemetry.</p>
224<p>Last, to have consistent time on Windows and Linux, I changed the following registry key for a <code>qword</code> with value <code>1</code>:</p>
225<pre><code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
226</code></pre>
227<p>(The key might not exist, but you can create it if that's the case).</p>
228<p>All this time, my laptop had the keyboard lights on, which have been quite annoying. Apparently, they also can cause <a href="https://www.reddit.com/r/ValveIndex/comments/cm6pos/psa_uninstalldisable_aura_sync_lighting_if_you/">massive FPS drops</a>. I headed over to <a href="https://rog.asus.com/downloads/">Asus Rog downloads</a>, selected Aura Sync…</p>
229<pre><code class="language-md"># Not Found
230
231The requested URL /campaign/aura/us/Sync.html was not found on this server.
232
233Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
234</code></pre>
235<p>…great! I'll just find the <a href="https://www.asus.com/campaign/aura/global/">Aura site</a> somewhere else…</p>
236<pre><code class="language-md"># ASUS
237
238# We'll be back.
239
240Hi, our website is temporarily closed for service enhancements.
241
242We'll be back shortly.Thank you for your patience!
243</code></pre>
244<p>Oh come on. After waiting for the next day, I headed over, downloaded their software, tried to install it and it was an awful experience. It felt like I was purposedly installing malware. It spammed and flashed a lot of <code>cmd</code>'s on screen as if it was a virus. It was stuck at 100% doing that and then, Windows blue-screened with <code>KERNEL_MODE_HEAP_CORRUPTION</code>. Amazing. How do you screw up this bad?</p>
245<p>Well, at least rebooting worked. I tried to <a href="https://answers.microsoft.com/en-us/windows/forum/all/unable-to-uninstall-asus-aura-sync-utility/e9bec36c-e62f-4773-80be-88fb68dace16">uninstall Aura, but of course that failed</a>. Using the <a href="https://support.microsoft.com/en-us/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed">troubleshooter to uninstall programs</a> helped me remove most of the crap that was installed.</p>
246<p>After searching around how to disable the lights (because <a href="https://rog.asus.com/forum/showthread.php?112786-Option-to-Disable-Aura-Lights-on-Strix-G-series-(G531GT)-irrespective-of-OSes">my BIOS did not have this setting</a>), I stumbled upon <a href="https://rog.asus.com/us/innovation/armoury_crate/">&quot;Armoury Crate&quot;</a>. Okay, fine, I will install that.</p>
247<p>The experience wasn't much better. It did the same thing with a lot of consoles flashing on screen. And of course, it resulted in another blue-screen, this time <code>KERNEL_SECURITY_CHECK_FAILURE</code>. To finish up, the BSOD kept happening as I rebooted the system. <del>Time to reinstall Windows once more.</del> After booting and crashing a few more times I could get into secure mode and perform the reinstall from there, which saved me from burning the <code>.iso</code> again.</p>
248<p>Asus software might be good, but the software is utter crap.</p>
249<p>After trying out <a href="https://github.com/wroberts/rogauracore">rogauracore</a> (which didn't list my model), it worked! I could disable the stupid lights from Linux, and <a href="https://gitlab.com/CalcProgrammer1/OpenRGB/-/wikis/home">OpenRGB</a> also works on Windows which may be worth checking out too.</p>
250<p>Because <code>rougauracore</code> helped me and they linked to <a href="https://github.com/linuxhw/hw-probe/blob/master/README.md#appimage">hw-probe</a>, I decided to <a href="https://linux-hardware.org/?probe=0e3e48c501">run it on my system</a>, with the hopes it is useful for other people.</p>
251<h2 id="closing_words"><a class="anchor" href="#closing_words">¶</a>Closing words</h2>
252<p>I hope the installation journey is at least useful to someone, or that you enjoyed reading about it all. If not, sorry!</p>
253</main>
254</body>
255</html>
256