mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 16:21:39 +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
|
||||
########################################################################
|
||||
#### Script Name: inxi
|
||||
#### version: 1.0.7
|
||||
#### version: 1.0.8
|
||||
#### Date: 13 March 2009
|
||||
########################################################################
|
||||
#### SPECIAL THANKS
|
||||
|
@ -295,7 +295,7 @@ DISTROS_LSB_GOOD="mandrake-release mandriva-release mandrakelinux-release"
|
|||
# $'\1' gets weird results :
|
||||
# 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.|
|
||||
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]" )
|
||||
# after processing, the ban arrays will be put into these:
|
||||
BAN_LIST_NORMAL=''
|
||||
|
@ -992,8 +992,8 @@ show_options()
|
|||
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 " 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 " Only works with verbose or line output."
|
||||
print_screen_output "-x Show extra data: bogomips on cpu; driver version (if available) for network/audio;"
|
||||
print_screen_output " direct rendering status for Graphics. Only works with verbose or line output."
|
||||
print_screen_output ""
|
||||
print_screen_output "Additional Options:"
|
||||
print_screen_output "-h - this help menu."
|
||||
|
@ -1890,9 +1890,18 @@ get_graphics_glx_data()
|
|||
{
|
||||
if [[ $B_X_RUNNING == 'true' ]];then
|
||||
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 ': ' '
|
||||
# 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=""
|
||||
i=flag=0
|
||||
for ( i in arr ) {
|
||||
|
@ -1909,24 +1918,28 @@ get_graphics_glx_data()
|
|||
}
|
||||
/opengl renderer/ {
|
||||
if ( $2 ~ /mesa/ ) {
|
||||
# Allow r300 et al, but not the rest
|
||||
if ( $2 ~ / r[3-9][0-9][0-9] / ) {
|
||||
# Allow all mesas
|
||||
# if ( $2 ~ / r[3-9][0-9][0-9] / ) {
|
||||
gsub(/'"$BAN_LIST_NORMAL"'/, "", $2)
|
||||
a[$2]
|
||||
f++
|
||||
}
|
||||
# this counter failed in one case, a bug, and is not needed now
|
||||
# f++
|
||||
# }
|
||||
next
|
||||
}
|
||||
$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]
|
||||
}
|
||||
/direct rendering/ {
|
||||
$2 && c[$2]
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
|
@ -3060,7 +3073,11 @@ print_gfx_data()
|
|||
get_graphics_glx_data
|
||||
local glx_renderer="${A_GLX_DATA[0]}"
|
||||
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
|
||||
i=1
|
||||
|
@ -3080,15 +3097,16 @@ print_gfx_data()
|
|||
fi
|
||||
print_screen_output "$gfx_data"
|
||||
|
||||
if [[ -z $glx_renderer || -z $glx_version ]];then
|
||||
b_is_mesa='true'
|
||||
fi
|
||||
# if [[ -z $glx_renderer || -z $glx_version ]];then
|
||||
# b_is_mesa='true'
|
||||
# fi
|
||||
|
||||
## 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}" )
|
||||
if [[ $B_HANDLE_CORRUPT_DATA == 'true' ]];then
|
||||
gfx_data="${gfx_data} ${C1}Direct rendering${C2} ${glx_direct_render}${CN}"
|
||||
if [[ $B_HANDLE_CORRUPT_DATA == 'true' || $B_EXTRA_DATA == 'true' ]];then
|
||||
gfx_data="$gfx_data ${C1}Direct Rendering${C2} ${glx_direct_render}${CN}"
|
||||
fi
|
||||
print_screen_output "$gfx_data"
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue