@@ -777,20 +777,36 @@ fn print_versions(ec: &CrosEc) {
777777 print_nvidia_details ( ) ;
778778}
779779
780+ #[ cfg( feature = "nvidia" ) ]
781+ fn probably_has_nvidia ( ) -> bool {
782+ match smbios:: get_platform ( ) . and_then ( Platform :: which_family) {
783+ Some ( PlatformFamily :: Framework12 ) => false ,
784+ Some ( PlatformFamily :: Framework13 ) => false ,
785+ Some ( PlatformFamily :: FrameworkDesktop ) => true ,
786+ Some ( PlatformFamily :: Framework16 ) => true ,
787+ _ => true ,
788+ }
789+ }
790+
780791/// Brief NVIDIA details for --version output
781792#[ cfg( feature = "nvidia" ) ]
782793fn print_nvidia_details ( ) {
794+ let probably_has_nvidia = probably_has_nvidia ( ) ;
783795 let nvml = match Nvml :: init ( ) {
784796 Ok ( nvml) => nvml,
785797 Err ( err) => {
786- error ! ( "Nvidia, library init fail: {:?}" , err) ;
798+ if probably_has_nvidia {
799+ error ! ( "Nvidia, library init fail: {:?}" , err) ;
800+ }
787801 return ;
788802 }
789803 } ;
790804 let device = match nvml. device_by_index ( 0 ) {
791805 Ok ( device) => device,
792806 Err ( err) => {
793- error ! ( "Nvidia, device not found: {:?}" , err) ;
807+ if probably_has_nvidia {
808+ error ! ( "Nvidia, device not found: {:?}" , err) ;
809+ }
794810 return ;
795811 }
796812 } ;
@@ -809,17 +825,22 @@ fn print_nvidia_details() {
809825/// Detailed NVIDIA information for --nvidia command
810826#[ cfg( feature = "nvidia" ) ]
811827fn print_nvidia_info ( ) {
828+ let probably_has_nvidia = probably_has_nvidia ( ) ;
812829 let nvml = match Nvml :: init ( ) {
813830 Ok ( nvml) => nvml,
814831 Err ( err) => {
815- error ! ( "Nvidia, library init fail: {:?}" , err) ;
832+ if probably_has_nvidia {
833+ error ! ( "Nvidia, library init fail: {:?}" , err) ;
834+ }
816835 return ;
817836 }
818837 } ;
819838 let device = match nvml. device_by_index ( 0 ) {
820839 Ok ( device) => device,
821840 Err ( err) => {
822- error ! ( "Nvidia, device not found: {:?}" , err) ;
841+ if probably_has_nvidia {
842+ error ! ( "Nvidia, device not found: {:?}" , err) ;
843+ }
823844 return ;
824845 }
825846 } ;
0 commit comments