@@ -181,66 +181,86 @@ def temperature():
181181
182182def display_gpu_stats (load , memory_percentage , memory_used , temperature ):
183183 if THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("SHOW" , False ):
184- # logger.debug(f"GPU Load: {load}")
185- display .lcd .DisplayProgressBar (
186- x = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("X" , 0 ),
187- y = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("Y" , 0 ),
188- width = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("WIDTH" , 0 ),
189- height = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("HEIGHT" , 0 ),
190- value = int (load ) if not math .isnan (load ) else 0 ,
191- min_value = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("MIN_VALUE" , 0 ),
192- max_value = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("MAX_VALUE" , 100 ),
193- bar_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BAR_COLOR" , (0 , 0 , 0 )),
194- bar_outline = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BAR_OUTLINE" , False ),
195- background_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BACKGROUND_COLOR" , (255 , 255 , 255 )),
196- background_image = get_full_path (THEME_DATA ['PATH' ],
197- THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BACKGROUND_IMAGE" ,
198- None ))
199- )
184+ if math .isnan (load ):
185+ logger .warning ("Your GPU load is not supported yet" )
186+ THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ]['SHOW' ] = False
187+ else :
188+ # logger.debug(f"GPU Load: {load}")
189+ display .lcd .DisplayProgressBar (
190+ x = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("X" , 0 ),
191+ y = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("Y" , 0 ),
192+ width = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("WIDTH" , 0 ),
193+ height = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("HEIGHT" , 0 ),
194+ value = int (load ),
195+ min_value = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("MIN_VALUE" , 0 ),
196+ max_value = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("MAX_VALUE" , 100 ),
197+ bar_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BAR_COLOR" , (0 , 0 , 0 )),
198+ bar_outline = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BAR_OUTLINE" , False ),
199+ background_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BACKGROUND_COLOR" ,
200+ (255 , 255 , 255 )),
201+ background_image = get_full_path (THEME_DATA ['PATH' ],
202+ THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BACKGROUND_IMAGE" ,
203+ None ))
204+ )
200205
201206 if THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("SHOW" , False ):
202- display .lcd .DisplayText (
203- text = f"{ int (load ):>3} %" if not math .isnan (load ) else f"{ int (0 ):>3} %" ,
204- x = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("X" , 0 ),
205- y = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("Y" , 0 ),
206- font = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("FONT" , "roboto-mono/RobotoMono-Regular.ttf" ),
207- font_size = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("FONT_SIZE" , 10 ),
208- font_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("FONT_COLOR" , (0 , 0 , 0 )),
209- background_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("BACKGROUND_COLOR" , (255 , 255 , 255 )),
210- background_image = get_full_path (THEME_DATA ['PATH' ],
211- THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("BACKGROUND_IMAGE" ,
212- None ))
213- )
207+ if math .isnan (load ):
208+ logger .warning ("Your GPU load is not supported yet" )
209+ THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ]['SHOW' ] = False
210+ else :
211+ display .lcd .DisplayText (
212+ text = f"{ int (load ):>3} %" ,
213+ x = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("X" , 0 ),
214+ y = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("Y" , 0 ),
215+ font = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("FONT" , "roboto-mono/RobotoMono-Regular.ttf" ),
216+ font_size = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("FONT_SIZE" , 10 ),
217+ font_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("FONT_COLOR" , (0 , 0 , 0 )),
218+ background_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("BACKGROUND_COLOR" ,
219+ (255 , 255 , 255 )),
220+ background_image = get_full_path (THEME_DATA ['PATH' ],
221+ THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['TEXT' ].get ("BACKGROUND_IMAGE" ,
222+ None ))
223+ )
214224
215225 if THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("SHOW" , False ):
216- # logger.debug(f"GPU Load: {load}")
217- display .lcd .DisplayProgressBar (
218- x = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("X" , 0 ),
219- y = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("Y" , 0 ),
220- width = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("WIDTH" , 0 ),
221- height = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("HEIGHT" , 0 ),
222- value = int (memory_percentage ),
223- min_value = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("MIN_VALUE" , 0 ),
224- max_value = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("MAX_VALUE" , 100 ),
225- bar_color = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("BAR_COLOR" , (0 , 0 , 0 )),
226- bar_outline = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("BAR_OUTLINE" , False ),
227- background_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BACKGROUND_COLOR" , (255 , 255 , 255 )),
228- background_image = get_full_path (THEME_DATA ['PATH' ],
229- THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("BACKGROUND_IMAGE" , None ))
230- )
226+ if math .isnan (memory_percentage ):
227+ logger .warning ("Your GPU memory relative usage (%) is not supported yet" )
228+ THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ]['SHOW' ] = False
229+ else :
230+ display .lcd .DisplayProgressBar (
231+ x = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("X" , 0 ),
232+ y = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("Y" , 0 ),
233+ width = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("WIDTH" , 0 ),
234+ height = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("HEIGHT" , 0 ),
235+ value = int (memory_percentage ),
236+ min_value = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("MIN_VALUE" , 0 ),
237+ max_value = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("MAX_VALUE" , 100 ),
238+ bar_color = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("BAR_COLOR" , (0 , 0 , 0 )),
239+ bar_outline = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("BAR_OUTLINE" , False ),
240+ background_color = THEME_DATA ['STATS' ]['GPU' ]['PERCENTAGE' ]['GRAPH' ].get ("BACKGROUND_COLOR" ,
241+ (255 , 255 , 255 )),
242+ background_image = get_full_path (THEME_DATA ['PATH' ],
243+ THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['GRAPH' ].get ("BACKGROUND_IMAGE" ,
244+ None ))
245+ )
231246
232247 if THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("SHOW" , False ):
233- display .lcd .DisplayText (
234- text = f"{ int (memory_used / 1000000 ):>5} M" ,
235- x = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("X" , 0 ),
236- y = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("Y" , 0 ),
237- font = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("FONT" , "roboto-mono/RobotoMono-Regular.ttf" ),
238- font_size = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("FONT_SIZE" , 10 ),
239- font_color = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("FONT_COLOR" , (0 , 0 , 0 )),
240- background_color = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("BACKGROUND_COLOR" , (255 , 255 , 255 )),
241- background_image = get_full_path (THEME_DATA ['PATH' ],
242- THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("BACKGROUND_IMAGE" , None ))
243- )
248+ if math .isnan (memory_percentage ):
249+ logger .warning ("Your GPU memory absolute usage (M) is not supported yet" )
250+ THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ]['SHOW' ] = False
251+ else :
252+ display .lcd .DisplayText (
253+ text = f"{ int (memory_used / 1000000 ):>5} M" ,
254+ x = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("X" , 0 ),
255+ y = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("Y" , 0 ),
256+ font = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("FONT" , "roboto-mono/RobotoMono-Regular.ttf" ),
257+ font_size = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("FONT_SIZE" , 10 ),
258+ font_color = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("FONT_COLOR" , (0 , 0 , 0 )),
259+ background_color = THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("BACKGROUND_COLOR" , (255 , 255 , 255 )),
260+ background_image = get_full_path (THEME_DATA ['PATH' ],
261+ THEME_DATA ['STATS' ]['GPU' ]['MEMORY' ]['TEXT' ].get ("BACKGROUND_IMAGE" ,
262+ None ))
263+ )
244264
245265 if THEME_DATA ['STATS' ]['GPU' ]['TEMPERATURE' ]['TEXT' ].get ("SHOW" , False ):
246266 display .lcd .DisplayText (
@@ -320,8 +340,8 @@ def stats():
320340 temperature_all = [item .getCurrentTemperature () for item in amd_gpus ]
321341 temperature = sum (temperature_all ) / len (temperature_all )
322342
323- # Memory usage not supported by pyadl
324- display_gpu_stats (load , - 1 , - 1 , temperature )
343+ # Memory absolute (M) and relative (%) usage not supported by pyadl
344+ display_gpu_stats (load , math . nan , math . nan , temperature )
325345
326346 @staticmethod
327347 def is_available ():
0 commit comments