@@ -768,72 +768,77 @@ fn print_versions(ec: &CrosEc) {
768768
769769#[ cfg( any( target_os = "linux" , target_os = "windows" ) ) ]
770770fn print_nvidia_details ( ) {
771- match Nvml :: init ( ) {
772- Ok ( nvml) => {
773- // Get the first `Device` (GPU) in the system
774- match nvml. device_by_index ( 0 ) {
775- Ok ( device) => {
776- println ! ( "NVIDIA GPU" ) ;
777- // GeForce
778- info ! ( " BRAND: {:?}" , device. brand( ) ) ;
779- println ! (
780- " Name: {}" ,
781- device. name( ) . unwrap_or( UNKNOWN . to_string( ) )
782- ) ;
783- println ! ( " Architecture: {:?}" , device. architecture( ) ) ;
784- println ! (
785- " VBIOS Version: {}" ,
786- device. vbios_version( ) . unwrap_or( UNKNOWN . to_string( ) )
787- ) ;
788- println ! (
789- " INFO ROM Ver: {}" ,
790- device
791- . info_rom_image_version( )
792- . unwrap_or( UNKNOWN . to_string( ) )
793- ) ;
794- println ! ( " PCI Info: {:X?}" , device. pci_info( ) ) ;
795- println ! ( " Performance State:{:?}" , device. performance_state( ) ) ;
796- println ! (
797- " Pwr Mgmt Limit Df:{:?}mW" ,
798- device. power_management_limit_default( )
799- ) ;
800- println ! (
801- " Pwr Mgmt Limit: {:?}mW" ,
802- device. power_management_limit( )
803- ) ;
804- println ! (
805- " Pwr Mgmt Limit Cs:{:?}" ,
806- device. power_management_limit_constraints( )
807- ) ;
808- println ! ( " Pwr Usage: {:?}mW" , device. power_usage( ) ) ;
809- println ! (
810- " Total Energy: {:?}mJ" ,
811- device. total_energy_consumption( )
812- ) ;
813- // 0 right now
814- println ! ( " Serialnum: {:?}" , device. serial( ) ) ;
815- println ! (
816- " Throttle Reason: {:?}" ,
817- device. current_throttle_reasons( )
818- ) ;
819- println ! (
820- " Temperature: {:?}C" ,
821- device. temperature( TemperatureSensor :: Gpu )
822- ) ;
823- //println!(" Temperature Thres:{:?}C", device.temperature_threshold());
824- println ! ( " Util Rate: {:?}" , device. utilization_rates( ) ) ;
825- println ! ( " Memory Info: {:?}" , device. memory_info( ) ) ;
826- println ! ( " Part Number: {:?}" , device. board_part_number( ) ) ;
827- println ! ( " Board ID: {:?}" , device. board_id( ) ) ;
828- println ! ( " Num Fans: {:?}" , device. num_fans( ) ) ;
829- println ! ( " Display Active?: {:?}" , device. is_display_active( ) ) ;
830- println ! ( " Display Conn?: {:?}" , device. is_display_connected( ) ) ;
831- }
832- Err ( err) => debug ! ( "Nvidia, device not foun: {:?}" , err) ,
833- }
771+ let nvml = match Nvml :: init ( ) {
772+ Ok ( nvml) => nvml,
773+ Err ( err) => {
774+ debug ! ( "Nvidia, library init fail: {:?}" , err) ;
775+ return ;
834776 }
835- Err ( err) => debug ! ( "Nvidia, library init: {:?}" , err) ,
836- }
777+ } ;
778+ // Get the first `Device` (GPU) in the system
779+ let device = match nvml. device_by_index ( 0 ) {
780+ Ok ( device) => device,
781+ Err ( err) => {
782+ debug ! ( "Nvidia, device not found: {:?}" , err) ;
783+ return ;
784+ }
785+ } ;
786+
787+ println ! ( "NVIDIA GPU" ) ;
788+ // GeForce
789+ info ! ( " BRAND: {:?}" , device. brand( ) ) ;
790+ println ! (
791+ " Name: {}" ,
792+ device. name( ) . unwrap_or( UNKNOWN . to_string( ) )
793+ ) ;
794+ println ! ( " Architecture: {:?}" , device. architecture( ) ) ;
795+ println ! (
796+ " VBIOS Version: {}" ,
797+ device. vbios_version( ) . unwrap_or( UNKNOWN . to_string( ) )
798+ ) ;
799+ println ! (
800+ " INFO ROM Ver: {}" ,
801+ device
802+ . info_rom_image_version( )
803+ . unwrap_or( UNKNOWN . to_string( ) )
804+ ) ;
805+ println ! ( " PCI Info: {:X?}" , device. pci_info( ) ) ;
806+ println ! ( " Performance State:{:?}" , device. performance_state( ) ) ;
807+ println ! (
808+ " Pwr Mgmt Limit Df:{:?}mW" ,
809+ device. power_management_limit_default( )
810+ ) ;
811+ println ! (
812+ " Pwr Mgmt Limit: {:?}mW" ,
813+ device. power_management_limit( )
814+ ) ;
815+ println ! (
816+ " Pwr Mgmt Limit Cs:{:?}" ,
817+ device. power_management_limit_constraints( )
818+ ) ;
819+ println ! ( " Pwr Usage: {:?}mW" , device. power_usage( ) ) ;
820+ println ! (
821+ " Total Energy: {:?}mJ" ,
822+ device. total_energy_consumption( )
823+ ) ;
824+ // 0 right now
825+ println ! ( " Serialnum: {:?}" , device. serial( ) ) ;
826+ println ! (
827+ " Throttle Reason: {:?}" ,
828+ device. current_throttle_reasons( )
829+ ) ;
830+ println ! (
831+ " Temperature: {:?}C" ,
832+ device. temperature( TemperatureSensor :: Gpu )
833+ ) ;
834+ //println!(" Temperature Thres:{:?}C", device.temperature_threshold());
835+ println ! ( " Util Rate: {:?}" , device. utilization_rates( ) ) ;
836+ println ! ( " Memory Info: {:?}" , device. memory_info( ) ) ;
837+ println ! ( " Part Number: {:?}" , device. board_part_number( ) ) ;
838+ println ! ( " Board ID: {:?}" , device. board_id( ) ) ;
839+ println ! ( " Num Fans: {:?}" , device. num_fans( ) ) ;
840+ println ! ( " Display Active?: {:?}" , device. is_display_active( ) ) ;
841+ println ! ( " Display Conn?: {:?}" , device. is_display_connected( ) ) ;
837842}
838843
839844fn print_esrt ( ) {
0 commit comments