Skip to content

Instantly share code, notes, and snippets.

View thaddeusc1's full-sized avatar

Thaddeus C. thaddeusc1

View GitHub Profile
@thaddeusc1
thaddeusc1 / readme.md
Last active November 16, 2021 15:02
CLI install NVIDIA proprietary driver updates for Ubuntu 20.04 LTS after OS install

CLI install NVIDIA proprietary driver updates for Ubuntu 20.04 LTS after OS install

Problem

After installing Ubuntu 20.04 LTS on a laptop with an NVIDIA GPU, the user is presented with only a blinking cursor on the laptop's display when first booting into the newly installed OS.

The problem described above could occur when the Nvidia proprietary driver included with the Ubuntu 20.04 LTS installer is not the latest available driver.

  • Therefore, the latest driver needs to be installed via CLI.

Used on the Dell G15 (5511) laptop to install the latest Ubuntu drivers for Nvidia's GA106M (RTX 3060 Laptop) and GA107M (RTX 3050/3050 Ti Laptop) GPUs.

@thaddeusc1
thaddeusc1 / WCM-fMinimizeConnections-AllowSimultaneousConnections.reg
Last active February 13, 2022 14:41
Configure Windows to automatically connect to multiple networks
; Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy]
"fMinimizeConnections"=dword:00000000
@thaddeusc1
thaddeusc1 / readme.md
Last active December 13, 2021 04:46
Setup compiler tool-chain alternatives

Notes

  • update-alternatives considers the largest numerical value as the highest priority when multiple alternatives are present.

Tips for assigning priority values

  • For ease of maintenance, consider using a priority scale that allows for quick and easy installation of future alternatives;
    • e.g., Useing a priority scale of [1, 100] and assigning alternatives' priority values with spaced intervals:
      • GCC 9 = priority 100
      • GCC 10 = priority 75
        • Leaves room to quickly install GCC 11 = priority 80…
  • at some time in the future w/o needing to re-run the script.
@thaddeusc1
thaddeusc1 / setup-pts4srsRAN.sh
Last active March 31, 2023 19:03
Setup PTS for srsRAN benchmarking
#!/usr/bin/env bash
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
sudo apt update
# srsRAN supports—but does **not** require—GCC 10.
sudo apt install --assume-yes build-essential gcc-10 g++-10
sudo update-alternatives --remove-all cc
@thaddeusc1
thaddeusc1 / gfx8-rocm.sh
Last active November 16, 2021 15:00
ROCm Installation on Ubuntu 20.04 LTS Utilizing Upstream Kernel Drivers for GFX8 GPUs
#!/usr/bin/env bash
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
status_grep_no_lines_selected=1
curl https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/radeon-archive-keyring.gpg
# Software support for the GFX8 family of GPUs is "not guaranteed" in ROCm 4.x, and GFX8 GPUs are **not** detected in ROCm v4.5.
# https://community.amd.com/t5/knowledge-base/amd-rocm-hardware-and-software-support-document/ta-p/489937
@thaddeusc1
thaddeusc1 / gfx9-apu-workaround.service
Last active November 16, 2021 14:51
ROCm Installation on Ubuntu 20.04 LTS Utilizing Upstream Kernel Drivers for GFX9-based AMD APUs
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
[Unit]
Description=A workaround to enable GPU memory access from userspace for AMD GFX9-based APUs.
Documentation=https://github.com/RadeonOpenCompute/rocminfo/issues/40#issuecomment-777716393
[Service]
Type=oneshot
@thaddeusc1
thaddeusc1 / Kraken-X63-Initialization.service
Last active November 16, 2021 14:50
Configure the pump and lights for the NZXT Kraken X63
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
[Unit]
Description=Configure the NZXT Kraken X63 during OS initialization.
[Service]
Type=oneshot
ExecStart=/home/<user_name_here>/.local/bin/configureKrakenX63.sh
@thaddeusc1
thaddeusc1 / initialize-Radeon-fan-tuning.service
Last active March 3, 2022 17:14
Set a static fan speed for an AMD GPU in Linux
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
[Unit]
Description=Configure custom tuned fan behavior for the Radeon RX 580 during OS initialization.
Documentation="https://www.kernel.org/doc/html/v5.11/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring"
[Service]
Type=oneshot
@thaddeusc1
thaddeusc1 / sotr-bench.sh
Last active December 1, 2021 17:01
Run an instrumented benchmark of Shadow of the Tomb Raider via the Phoronix Test Suite
#!/usr/bin/env bash
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
MONITOR=cpu.peak-freq,cpu.temp,cpu.usage,gpu.fan-speed,gpu.temp,gpu.power,gpu.memory-usage,gpu.freq,memory.usage phoronix-test-suite run shadowofthetombraider
@thaddeusc1
thaddeusc1 / workaround-libopencl-amdgpu-pro.sh
Last active January 18, 2022 02:19
Missing libopencl and ICD data workaround for AMD's legacy OpenCL ICD in Radeon Software for Linux 21.40.1
#!/usr/bin/env bash
# Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# Radeon Software for Linux 21.40.1 configuration:
# ------------------------------------------------
# `amdgpu-install --accept-eula --usecase=opencl --opencl=legacy`
#
# See also: [Radeon Software for Linux Driver installation instructions](https://amdgpu-install.readthedocs.io/en/21.40/index.html)