Debugging.
This commit is contained in:
+23
-23
@@ -117,37 +117,38 @@ append_to_report() {
|
|||||||
# --- 1. Detect Graphics ---
|
# --- 1. Detect Graphics ---
|
||||||
detect_graphics() {
|
detect_graphics() {
|
||||||
local gpus="[]"
|
local gpus="[]"
|
||||||
local obj
|
|
||||||
local brand
|
|
||||||
local renderer
|
|
||||||
local product
|
|
||||||
local integrated
|
|
||||||
local pci_addr
|
|
||||||
|
|
||||||
while read -r gpu; do
|
# Process each GPU found by lspci
|
||||||
echo \$gpu >> "${REMOTE_STDERR}"
|
while read -r line; do
|
||||||
echo "test" >> "${REMOTE_STDERR}"
|
[[ -z "\$line" ]] && continue
|
||||||
|
local brand="unknown"
|
||||||
|
local renderer="none"
|
||||||
|
local product="unknown"
|
||||||
|
local integrated="false"
|
||||||
|
local pci_addr="none"
|
||||||
|
|
||||||
pci_addr="\$(lspci | grep VGA | head -c 7)"
|
# Extract PCI address (e.g. 00:02.0)
|
||||||
|
pci_addr="\$(echo "\$line" | cut -d' ' -f1)"
|
||||||
|
|
||||||
# Brand
|
# Brand
|
||||||
for b in Intel AMD NVIDIA; do
|
for b in Intel AMD NVIDIA; do
|
||||||
if echo "\${gpu}" | grep -i "\${b}" >> "${REMOTE_STDOUT}" 2>> "${REMOTE_STDERR}"; then
|
if echo "\$line" | grep -iq "\$b"; then
|
||||||
brand="\${b}"
|
brand="\${b}"
|
||||||
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Renderer
|
# Renderer
|
||||||
renderer="\$(ls -lh /dev/dri/by-path | grep "\$pci_addr" | grep "render")"
|
if [[ -d "/dev/dri/by-path" ]]; then
|
||||||
if [[ -n "\${renderer}" ]]; then
|
local render_node
|
||||||
renderer="\${renderer##*render}"
|
render_node=\$(ls /dev/dri/by-path | grep "\$pci_addr" | grep "render" | head -n1 || true)
|
||||||
renderer="render\${renderer}"
|
if [[ -n "\$render_node" ]]; then
|
||||||
else
|
renderer=\$(basename "\$(readlink -f "/dev/dri/by-path/\$render_node")")
|
||||||
renderer="none"
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Product name
|
# Product name
|
||||||
product="\${gpu#*:}"
|
product="\${line#*:}"
|
||||||
product="\${product#*: }"
|
product="\${product#*: }"
|
||||||
|
|
||||||
# Form factor
|
# Form factor
|
||||||
@@ -162,25 +163,24 @@ detect_graphics() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ "\${brand}" == "AMD" ]]; then
|
if [[ "\${brand}" == "AMD" ]]; then
|
||||||
if echo "\${gpu}" | grep "Mobile"; then
|
if echo "\$line" | grep -iq "Mobile"; then
|
||||||
integrated="true"
|
integrated="true"
|
||||||
else
|
else
|
||||||
integrated="false"
|
integrated="false"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
obj=\$(jq -n \
|
local obj=\$(jq -n \
|
||||||
--arg b "\${brand}" \
|
--arg b "\${brand}" \
|
||||||
--arg r "\${renderer}" \
|
--arg r "\${renderer}" \
|
||||||
--arg p "\${product}" \
|
--arg p "\${product}" \
|
||||||
--argjson i "\${integrated}" \
|
--argjson i "\${integrated}" \
|
||||||
'{brand: \${b}, renderer: \${r}, product: \${p}, integrated: \${i}}')
|
'{brand: \$b, renderer: \$r, product: \$p, integrated: \$i}')
|
||||||
|
|
||||||
gpus=\$(echo "\$gpus" | jq --argjson obj "\$obj" '. += [\$obj]')
|
gpus=\$(echo "\$gpus" | jq --argjson obj "\$obj" '. += [\$obj]')
|
||||||
|
|
||||||
done < <(lspci | grep -e "VGA" -e "3D" >> "${REMOTE_STDOUT}" 2>> "${REMOTE_STDERR}")
|
done < <(lspci | grep -E "VGA|3D")
|
||||||
|
|
||||||
echo "\$gpus" >> "${REMOTE_STDERR}"
|
|
||||||
append_to_report "graphics" "\$gpus"
|
append_to_report "graphics" "\$gpus"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user