You probably need to remove everything from preempt=voluntary to the end of the line where it ends at amdgpu.gpu_recovery and then attempt to boot it, or use the rescue kernel that is also in the grub list to boot from.
I spent a lot of time googling answers. Got poor results. Put WARP on the laptop and had plenty of answers.
Would I have got the same answer if I was a Redhat subscriber?
Through all this I’ve not answered the starting question of why the screen is randomly dying. For the record it managed to do it in text mode. There are 2 versions of the problem now. One blanks the screen and sound goes off but it recovers after 10 seconds. And another that blanks the screen dead yet the sound keeps working, that one requires a reboot. It feels like a power spike, however the computer and monitor are on a battery UPS. Maybe the second of the errors is graphics card over heating?
It could be the monitor dying, it’s just out of warranty,
I didn’t start with looking in the wiki but if I gather credible additions I think some additions might come out of this. Regardless of the source, AI, forum, web… it will be tested Rocky results.
Here is an AI suggestion that is likely valid…
#!/bin/bash
#
# inxi_diagnostics.sh - A comprehensive script for running inxi system diagnostics
# Created by: AI Assistant
# Purpose: Run inxi with various verbosity levels and save the output to files
# Default values
SCRIPT_NAME=$(basename "$0")
OUTPUT_DIR="$HOME/inxi_diagnostics_$(date +%Y%m%d_%H%M%S)"
VERBOSITY_LEVEL=0
RUN_GPU=false
RUN_ALL=false
CUSTOM_ARGS=""
COPY_TO_DESKTOP=false
WINDOWS_DESKTOP="/mnt/c/Users/NelG/Desktop"
# Colors for output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[0;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# Function to display usage information
show_help() {
echo -e "${BLUE}Usage: $SCRIPT_NAME [OPTIONS]${NC}"
echo
echo -e "${GREEN}Description:${NC}"
echo " Run inxi diagnostics with various verbosity levels and save the output to files"
echo
echo -e "${GREEN}Options:${NC}"
echo " -h, --help Show this help message and exit"
echo " -o, --output DIR Specify output directory (default: ~/inxi_diagnostics_TIMESTAMP)"
echo " -v, --verbosity LVL Set verbosity level (1-4)"
echo " 1: Basic (-F)"
echo " 2: Detailed (-Fxx)"
echo " 3: Very Detailed (-Fxxx)"
echo " 4: Maximum Detail (-Fxxxz)"
echo " -g, --gpu Run GPU-specific diagnostics"
echo " -g, --gpu Run GPU-specific diagnostics"
echo " -a, --all Run all diagnostic levels"
echo " -c, --custom ARGS Pass custom arguments to inxi (enclose in quotes)"
echo " -d, --copy-to-desktop Copy all generated files to Windows desktop"
echo -e "${GREEN}Examples:${NC}"
echo " $SCRIPT_NAME -v 4 # Run with maximum detail"
echo " $SCRIPT_NAME -g # Run GPU-specific diagnostics"
echo " $SCRIPT_NAME -a # Run all diagnostic levels"
echo " $SCRIPT_NAME -o ~/my_diagnostics -v 2 # Save output to specific directory"
echo " $SCRIPT_NAME -c \"-Gxxxza --weather\" # Run with custom arguments"
echo " $SCRIPT_NAME -v 4 -d # Run with max detail and copy to desktop"
}
# Function to check if inxi is installed
check_inxi() {
if ! command -v inxi &> /dev/null; then
echo -e "${RED}Error: inxi is not installed or not in your PATH${NC}"
echo "Please install inxi using your distribution's package manager:"
echo " - Debian/Ubuntu: sudo apt-get install inxi"
echo " - Fedora: sudo dnf install inxi"
echo " - Arch Linux: sudo pacman -S inxi"
exit 1
fi
}
# Function to create the output directory
create_output_dir() {
if [ ! -d "$OUTPUT_DIR" ]; then
mkdir -p "$OUTPUT_DIR" || {
echo -e "${RED}Error: Failed to create output directory: $OUTPUT_DIR${NC}"
exit 1
}
fi
echo -e "${GREEN}Output will be saved to: $OUTPUT_DIR${NC}"
# Check if we should create the Windows desktop path
if [ "$COPY_TO_DESKTOP" = true ] && [ -d "/mnt/c" ]; then
# Ensure desktop directory exists
if [ ! -d "$WINDOWS_DESKTOP" ]; then
echo -e "${YELLOW}Warning: Windows Desktop directory not found at $WINDOWS_DESKTOP${NC}"
echo -e "${YELLOW}Files will only be saved to $OUTPUT_DIR${NC}"
COPY_TO_DESKTOP=false
fi
fi
}
# Function to run inxi with specified arguments and save output to a file
run_inxi() {
local args="$1"
local filename="$2"
local description="$3"
local output_file="$OUTPUT_DIR/$filename"
echo -e "${YELLOW}Running: inxi $args${NC}"
echo -e "${BLUE}$description${NC}"
echo -e "${YELLOW}Saving output to: $output_file${NC}"
echo "# inxi $args" > "$output_file"
echo "# Run at: $(date)" >> "$output_file"
echo "# Description: $description" >> "$output_file"
echo "# ----------------------------------------" >> "$output_file"
inxi $args >> "$output_file" 2>&1
echo -e "${GREEN}Done!${NC}"
echo
}
# Function to run GPU-specific diagnostics
run_gpu_diagnostics() {
echo -e "${BLUE}Running GPU-specific diagnostics...${NC}"
# Basic GPU info
run_inxi "-G" "01_gpu_basic.txt" "Basic GPU information"
# Detailed GPU info
run_inxi "-Gxx" "02_gpu_detailed.txt" "Detailed GPU information"
# Advanced GPU info with driver details
run_inxi "-Gxxx" "03_gpu_advanced.txt" "Advanced GPU information with driver details"
# Maximum GPU info
run_inxi "-Gxxxz" "04_gpu_maximum.txt" "Maximum GPU information with security info"
# OpenGL information
run_inxi "-Gxxxz --display" "05_gpu_with_display.txt" "GPU information with display data"
echo -e "${GREEN}GPU diagnostics completed!${NC}"
}
# Parse command line arguments
while [[ $# -gt 0 ]]; do
case $1 in
-h|--help)
show_help
exit 0
;;
-o|--output)
OUTPUT_DIR="$2"
shift 2
;;
-v|--verbosity)
VERBOSITY_LEVEL="$2"
shift 2
;;
-g|--gpu)
RUN_GPU=true
shift
;;
-a|--all)
RUN_ALL=true
shift
;;
-c|--custom)
CUSTOM_ARGS="$2"
shift 2
;;
-d|--copy-to-desktop)
COPY_TO_DESKTOP=true
shift
;;
*)
echo -e "${RED}Error: Unknown option: $1${NC}"
show_help
exit 1
;;
esac
done
# Main execution
check_inxi
create_output_dir
# Create a summary file
SUMMARY_FILE="$OUTPUT_DIR/00_summary.txt"
echo "# inxi Diagnostics Summary" > "$SUMMARY_FILE"
echo "# Run at: $(date)" >> "$SUMMARY_FILE"
echo "# Hostname: $(hostname)" >> "$SUMMARY_FILE"
echo "# User: $(whoami)" >> "$SUMMARY_FILE"
echo "# ----------------------------------------" >> "$SUMMARY_FILE"
inxi -v >> "$SUMMARY_FILE"
# Run diagnostics based on verbosity level
if [ "$RUN_ALL" = true ]; then
echo -e "${BLUE}Running all diagnostic levels...${NC}"
run_inxi "-F" "10_system_basic.txt" "Basic system information"
run_inxi "-Fxx" "11_system_detailed.txt" "Detailed system information"
run_inxi "-Fxxx" "12_system_very_detailed.txt" "Very detailed system information"
run_inxi "-Fxxxz" "13_system_maximum.txt" "Maximum system information with security info"
elif [ "$VERBOSITY_LEVEL" -gt 0 ]; then
case $VERBOSITY_LEVEL in
1)
run_inxi "-F" "10_system_basic.txt" "Basic system information"
;;
2)
run_inxi "-Fxx" "11_system_detailed.txt" "Detailed system information"
;;
3)
run_inxi "-Fxxx" "12_system_very_detailed.txt" "Very detailed system information"
;;
4)
run_inxi "-Fxxxz" "13_system_maximum.txt" "Maximum system information with security info"
;;
*)
echo -e "${RED}Error: Invalid verbosity level: $VERBOSITY_LEVEL${NC}"
echo "Please specify a verbosity level between 1 and 4"
exit 1
;;
esac
fi
# Run GPU diagnostics if requested
if [ "$RUN_GPU" = true ]; then
run_gpu_diagnostics
fi
# Run with custom arguments if provided
if [ -n "$CUSTOM_ARGS" ]; then
run_inxi "$CUSTOM_ARGS" "99_custom.txt" "Custom diagnostics: inxi $CUSTOM_ARGS"
fi
# Check if any diagnostics were run
if [ "$RUN_ALL" = false ] && [ "$VERBOSITY_LEVEL" -eq 0 ] && [ "$RUN_GPU" = false ] && [ -z "$CUSTOM_ARGS" ]; then
echo -e "${YELLOW}No specific diagnostics were requested. Running basic diagnostics...${NC}"
run_inxi "-F" "10_system_basic.txt" "Basic system information"
fi
# Create a README file
README_FILE="$OUTPUT_DIR/README.txt"
echo "# inxi Diagnostics Results" > "$README_FILE"
echo "# Generated on: $(date)" >> "$README_FILE"
echo "# ----------------------------------------" >> "$README_FILE"
echo "" >> "$README_FILE"
echo "This directory contains the results of various inxi diagnostic commands." >> "$README_FILE"
echo "" >> "$README_FILE"
echo "Files are named according to their content type and detail level." >> "$README_FILE"
echo "The numeric prefix indicates the order of information specificity." >> "$README_FILE"
echo "" >> "$README_FILE"
echo "For more information about inxi, visit: https://github.com/smxi/inxi" >> "$README_FILE"
echo -e "${GREEN}All diagnostics completed!${NC}"
echo -e "${GREEN}Results saved to: $OUTPUT_DIR${NC}"
echo -e "${YELLOW}To view a specific file, use: less $OUTPUT_DIR/FILENAME${NC}"
# Copy files to Windows desktop if requested
if [ "$COPY_TO_DESKTOP" = true ]; then
echo -e "${BLUE}Copying files to Windows desktop...${NC}"
# Check if running in WSL or similar environment with access to Windows file system
if [ -d "/mnt/c" ]; then
# Create a directory on the desktop with the same name
DESKTOP_DIR="$WINDOWS_DESKTOP/$(basename "$OUTPUT_DIR")"
mkdir -p "$DESKTOP_DIR"
# Copy all files from OUTPUT_DIR to the desktop
cp -r "$OUTPUT_DIR"/* "$DESKTOP_DIR/"
echo -e "${GREEN}Files successfully copied to: $DESKTOP_DIR${NC}"
else
echo -e "${RED}Error: Cannot access Windows file system.${NC}"
echo -e "${YELLOW}This script must be run from WSL or similar environment with access to Windows files.${NC}"
echo -e "${YELLOW}You can manually copy the files from: $OUTPUT_DIR${NC}"
fi
fi
a bit of crap in there but a starting point perhaps.
I have been able to observe the fridge causing a spike in the PCI chain.
Really I break thing better without AI.
Anyway, I’m still not sure if the right drive is within the distro files or just the not pro one from AMD.
I have managed to destroy all access to a prompt. I have download the ISO and made a USB and when I boot that the grub works but the load following that only causes the screen to cycle between dead and alive every 5 seconds. I guess that’s a corrupt download.
The issue is my lack of experience. Breaking stuff is a fine way to learn. I’ve never, for example, done a reinstall of Linux.
I have a NVidia graphics card and had to blacklist the generic “Nouveau” graphics driver in order to install the NVidia driver. Search these forums to learn more.
First, the Nouveau is a driver for NVidia GPUs. It will not be loaded for AMD devices.
(Second, properly packaged NVidia’s proprietary driver does disable Nouveau; no need for explicit steps.)
Rocky’s kernel packages should have kernel module amdgpu – does modinfo amdgpu tell something about it?
If there is that module and if it supports the GPU version in the system and there is attempt to supercede the amdgpu with some other module, then depending on the other module’s install there could be a need to specify which module to load.