mirror of
https://github.com/smxi/inxi.git
synced 2024-11-17 00:31:19 +00:00
Finally tracked down and fixed the raijeken bug with wrong glx information showing, also added glx information for all cards, not just
not free ones. After all, non free shouldn't show more information that free, that hardly seems fair.
This commit is contained in:
parent
bfb73bf0b6
commit
93d7ab3058
56
inxi
56
inxi
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### version: 1.0.7
|
#### version: 1.0.8
|
||||||
#### Date: 13 March 2009
|
#### Date: 13 March 2009
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
|
@ -295,7 +295,7 @@ DISTROS_LSB_GOOD="mandrake-release mandriva-release mandrakelinux-release"
|
||||||
# $'\1' gets weird results :
|
# $'\1' gets weird results :
|
||||||
# user@host $ ARR=($'\x01'"one two" three four); echo ${ARR[0]} | hd -v
|
# user@host $ ARR=($'\x01'"one two" three four); echo ${ARR[0]} | hd -v
|
||||||
# 00000000 01 01 6f 6e 65 20 74 77 6f 0a |..one two.|
|
# 00000000 01 01 6f 6e 65 20 74 77 6f 0a |..one two.|
|
||||||
A_NORMAL_BANS=( corporation communications gmbh technologies technology group $'\2'"\<ltd\>" ltd. $'\2'"\<inc\>" inc. $'\2'\<co\> co. "(tm)" "(r)" $'\2'"\(rev ..\)" )
|
A_NORMAL_BANS=( corporation communications gmbh technologies technology group $'\2'"\<ltd\>" ltd. $'\2'"\<inc\>" inc. $'\2'\<co\> co. "(tm)" "(r)" "®" $'\2'"\(rev ..\)" )
|
||||||
A_CPU_BANS=( @ cpu deca 'dual core' dual-core 'tri core' tri-core 'quad core' quad-core ennea genuine hepta hexa multi octa penta 'processor' processor single triple $'\2'"[0-9.]+ *[MmGg][Hh][Zz]" )
|
A_CPU_BANS=( @ cpu deca 'dual core' dual-core 'tri core' tri-core 'quad core' quad-core ennea genuine hepta hexa multi octa penta 'processor' processor single triple $'\2'"[0-9.]+ *[MmGg][Hh][Zz]" )
|
||||||
# after processing, the ban arrays will be put into these:
|
# after processing, the ban arrays will be put into these:
|
||||||
BAN_LIST_NORMAL=''
|
BAN_LIST_NORMAL=''
|
||||||
|
@ -992,8 +992,8 @@ show_options()
|
||||||
print_screen_output " 3 - Also show hard disk names as detected."
|
print_screen_output " 3 - Also show hard disk names as detected."
|
||||||
print_screen_output " 4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot"
|
print_screen_output " 4 - Also show partition size/filled data for (if present):/, /home, /var/, /boot"
|
||||||
print_screen_output " 5 - For multicore systems, also show per core clock speeds; shows audio card."
|
print_screen_output " 5 - For multicore systems, also show per core clock speeds; shows audio card."
|
||||||
print_screen_output "-x Show extra data: bogomips on cpu; driver version (if available) for network/audio."
|
print_screen_output "-x Show extra data: bogomips on cpu; driver version (if available) for network/audio;"
|
||||||
print_screen_output " Only works with verbose or line output."
|
print_screen_output " direct rendering status for Graphics. Only works with verbose or line output."
|
||||||
print_screen_output ""
|
print_screen_output ""
|
||||||
print_screen_output "Additional Options:"
|
print_screen_output "Additional Options:"
|
||||||
print_screen_output "-h - this help menu."
|
print_screen_output "-h - this help menu."
|
||||||
|
@ -1890,9 +1890,18 @@ get_graphics_glx_data()
|
||||||
{
|
{
|
||||||
if [[ $B_X_RUNNING == 'true' ]];then
|
if [[ $B_X_RUNNING == 'true' ]];then
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
|
# A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
|
||||||
|
# A_GLX_DATA=( $( cat ../../modules/data/glxinfo-atom-1r | gawk -F ': ' '
|
||||||
|
# A_GLX_DATA=( $( cat ../../modules/data/glxinfo-intel-sput | gawk -F ': ' '
|
||||||
|
# there are arch bugs that make glxinfo generate bad output errors
|
||||||
|
# A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
|
||||||
|
# A_GLX_DATA=( $( cat ../../modules/data/glxinfo-bad-rendering | gawk -F ': ' '
|
||||||
A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
|
A_GLX_DATA=( $( glxinfo | gawk -F ': ' '
|
||||||
# note: function declarations go before BEGIN? It appears so, confirm.
|
# note: function declarations go before BEGIN? It appears so, confirm.
|
||||||
function join(arr, sep) {
|
# the real question here though is why this function is even here, seems
|
||||||
|
# just to be a complicated way to pack/print a variable, but maybe the
|
||||||
|
# original idea was to handle > 1 cases of detections I guess
|
||||||
|
function join( arr, sep ) {
|
||||||
s=""
|
s=""
|
||||||
i=flag=0
|
i=flag=0
|
||||||
for ( i in arr ) {
|
for ( i in arr ) {
|
||||||
|
@ -1909,24 +1918,28 @@ get_graphics_glx_data()
|
||||||
}
|
}
|
||||||
/opengl renderer/ {
|
/opengl renderer/ {
|
||||||
if ( $2 ~ /mesa/ ) {
|
if ( $2 ~ /mesa/ ) {
|
||||||
# Allow r300 et al, but not the rest
|
# Allow all mesas
|
||||||
if ( $2 ~ / r[3-9][0-9][0-9] / ) {
|
# if ( $2 ~ / r[3-9][0-9][0-9] / ) {
|
||||||
|
gsub(/'"$BAN_LIST_NORMAL"'/, "", $2)
|
||||||
a[$2]
|
a[$2]
|
||||||
f++
|
# this counter failed in one case, a bug, and is not needed now
|
||||||
}
|
# f++
|
||||||
|
# }
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
$2 && a[$2]
|
$2 && a[$2]
|
||||||
}
|
}
|
||||||
/opengl version/ && ( f || $2 !~ /mesa/ ) {
|
# dropping all conditions from this test to just show full mesa information
|
||||||
|
# there is a user case where not f and mesa apply, atom mobo
|
||||||
|
# /opengl version/ && ( f || $2 !~ /mesa/ ) {
|
||||||
|
/opengl version/ {
|
||||||
$2 && b[$2]
|
$2 && b[$2]
|
||||||
}
|
}
|
||||||
/direct rendering/ {
|
/direct rendering/ {
|
||||||
$2 && c[$2]
|
$2 && c[$2]
|
||||||
}
|
}
|
||||||
|
|
||||||
END {
|
END {
|
||||||
printf("%s\n%s\n%s\n", join(a,", "), join(b,", "), join(c,", "))
|
printf( "%s\n%s\n%s\n", join( a, ", " ), join( b, ", " ), join( c, ", " ) )
|
||||||
}' ) )
|
}' ) )
|
||||||
IFS="$ORIGINAL_IFS"
|
IFS="$ORIGINAL_IFS"
|
||||||
|
|
||||||
|
@ -3060,7 +3073,11 @@ print_gfx_data()
|
||||||
get_graphics_glx_data
|
get_graphics_glx_data
|
||||||
local glx_renderer="${A_GLX_DATA[0]}"
|
local glx_renderer="${A_GLX_DATA[0]}"
|
||||||
local glx_version="${A_GLX_DATA[1]}"
|
local glx_version="${A_GLX_DATA[1]}"
|
||||||
local glx_direct_render="${A_GLX_DATA[2]}"
|
# this can contain a long No case debugging message, so it's being sliced off
|
||||||
|
# note: using grep -ioE '(No|Yes)' <<< ${A_GLX_DATA[2]} did not work in Arch, no idea why
|
||||||
|
local glx_direct_render=$( gawk '{
|
||||||
|
print $1
|
||||||
|
}' <<< "${A_GLX_DATA[2]}" )
|
||||||
|
|
||||||
if [[ ${#A_GFX_CARD_DATA[@]} -gt 1 ]];then
|
if [[ ${#A_GFX_CARD_DATA[@]} -gt 1 ]];then
|
||||||
i=1
|
i=1
|
||||||
|
@ -3080,15 +3097,16 @@ print_gfx_data()
|
||||||
fi
|
fi
|
||||||
print_screen_output "$gfx_data"
|
print_screen_output "$gfx_data"
|
||||||
|
|
||||||
if [[ -z $glx_renderer || -z $glx_version ]];then
|
# if [[ -z $glx_renderer || -z $glx_version ]];then
|
||||||
b_is_mesa='true'
|
# b_is_mesa='true'
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
## note: if glx render or version have no content, then mesa is true
|
## note: if glx render or version have no content, then mesa is true
|
||||||
if [[ $B_X_RUNNING == 'true' ]] && [[ $b_is_mesa != 'true' ]];then
|
# if [[ $B_X_RUNNING == 'true' ]] && [[ $b_is_mesa != 'true' ]];then
|
||||||
|
if [[ $B_X_RUNNING == 'true' ]];then
|
||||||
gfx_data=$( create_print_line " " "${C1}GLX Renderer${C2} ${glx_renderer} ${C1}GLX Version${C2} ${glx_version}${CN}" )
|
gfx_data=$( create_print_line " " "${C1}GLX Renderer${C2} ${glx_renderer} ${C1}GLX Version${C2} ${glx_version}${CN}" )
|
||||||
if [[ $B_HANDLE_CORRUPT_DATA == 'true' ]];then
|
if [[ $B_HANDLE_CORRUPT_DATA == 'true' || $B_EXTRA_DATA == 'true' ]];then
|
||||||
gfx_data="${gfx_data} ${C1}Direct rendering${C2} ${glx_direct_render}${CN}"
|
gfx_data="$gfx_data ${C1}Direct Rendering${C2} ${glx_direct_render}${CN}"
|
||||||
fi
|
fi
|
||||||
print_screen_output "$gfx_data"
|
print_screen_output "$gfx_data"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue