branch one, trying issue fix for false failed video driver

This commit is contained in:
inxi-svn 2013-08-12 21:22:24 +00:00
parent d72ae97a7e
commit c2c58103aa

19
inxi
View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
######################################################################## ########################################################################
#### Script Name: inxi #### Script Name: inxi
#### Version: 1.9.11 #### Version: 1.9.12
#### Date: July 2 2013 #### Date: August 12 2013
#### Patch Number: 01-b1 #### Patch Number: 01-b1
######################################################################## ########################################################################
#### SPECIAL THANKS #### SPECIAL THANKS
@ -4303,7 +4303,7 @@ get_distro_lsb_os_release_data()
# sometimes some distros cannot do their lsb-release files correctly, so here is # sometimes some distros cannot do their lsb-release files correctly, so here is
# one last chance to get it right. # one last chance to get it right.
/^DISTRIB_DESCRIPTION/ { /^DISTRIB_DESCRIPTION/ {
s if ( $2 != "n/a" ) { if ( $2 != "n/a" ) {
distroDescription = $2 distroDescription = $2
} }
} }
@ -4709,6 +4709,7 @@ get_graphics_driver()
gawk ' gawk '
BEGIN { BEGIN {
driver="" driver=""
bLoaded="false"
} }
/[[:space:]]Loading.*('"$driver_list"')_drv.so$/ { /[[:space:]]Loading.*('"$driver_list"')_drv.so$/ {
driver=gensub(/.*[[:space:]]Loading.*('"$driver_list"')_drv.so/, "\\1", 1, $0 ) driver=gensub(/.*[[:space:]]Loading.*('"$driver_list"')_drv.so/, "\\1", 1, $0 )
@ -4733,6 +4734,18 @@ get_graphics_driver()
aDrivers[driver]="failed" aDrivers[driver]="failed"
} }
} }
# verify that the driver actually started the desktop, even with false failed messages which can occur
# this is the driver that is actually driving the display
/^\[.*:\sDepth.*framebuffer/ {
driver=gensub(/^\[.*('"$driver_list"').*:\sDepth.*framebuffer.*/, "\\1", 1, $0 )
if ( driver == $0 ) {
gensub(/^\[.*('"$driver_list"').*:\sDepth.*framebuffer.*|fred/, "\\1", 1, $0 )
}
# we need to make sure that the driver has already been truly loaded, not just discussed
if ( driver != $0 && driver in aDrivers ) {
aDrivers[driver]="loaded"
}
}
END { END {
for ( driver in aDrivers ) { for ( driver in aDrivers ) {
print driver "," aDrivers[driver] print driver "," aDrivers[driver]