gpu_info 0.0.3 copy "gpu_info: ^0.0.3" to clipboard
gpu_info: ^0.0.3 copied to clipboard

PlatformWindows

A Flutter plugin to access GPU information.

🚀 gpu_info #

Screenshot

The gpu_info Dart package allows you to query detailed GPU-related information using the Vulkan API. This package will soon support all platforms! 🌍

📢 Note: #

This package is being developed as part of the larger OpenLocalUI project. Check it out for more exciting features and updates! 🌟

📦 Installation #

Add gpu_info as a dependency in your pubspec.yaml file:

dependencies:
  gpu_info: ^0.1.0

Vulkan SDK Installation #

To build the gpu_info package, you'll need the Vulkan SDK installed on your system. Below are the commands to install the Vulkan SDK on different platforms:

Windows

Install the Vulkan SDK using winget:

winget install LunarG.VulkanSDK

Alternatively, you can download and install it directly from the LunarG Vulkan SDK website.

Linux

For Ubuntu or Debian-based distributions, use apt:

sudo apt update
sudo apt install vulkan-sdk

For Fedora:

sudo dnf install vulkan-tools vulkan-loader-devel

For Arch Linux:

sudo pacman -S vulkan-tools vulkan-headers vulkan-validation-layers

macOS

Install the Vulkan SDK using brew:

brew install --cask vulkan-sdk

Verifying the Installation #

After installing the Vulkan SDK, you can verify the installation by running:

vulkaninfo

This command should output detailed information about your Vulkan setup, indicating that the SDK has been correctly installed.

🚀 Example #

Here is a simple example of how to use the gpu_info package to retrieve and display GPU information in a Flutter app.

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:gpu_info/gpu_info.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _gpuInfoPlugin = GpuInfo();
  final List<GpuInfoStruct> _gpusInfo = [];

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  Future<void> initPlatformState() async {
    List<GpuInfoStruct> gpusInfo;

    if (!mounted) return;

    gpusInfo = await _gpuInfoPlugin.getGpusInfo();

    setState(() {
      _gpusInfo.addAll(gpusInfo);
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('GPU Info Example App'),
        ),
        body: Center(
          child: Container(
            padding: const EdgeInsets.all(32),
            height: 300,
            child: ListView.builder(
              scrollDirection: Axis.horizontal,
              itemCount: _gpusInfo.length,
              itemBuilder: (context, index) {
                return Card(
                  child: Padding(
                    padding: const EdgeInsets.all(16.0),
                    child: Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: [
                        Text(
                          'GPU: ${_gpusInfo[index].deviceName}',
                          style: TextStyle(fontWeight: FontWeight.bold),
                        ),
                        SizedBox(height: 8),
                        Text('Vendor: ${_gpusInfo[index].vendorName}'),
                        Text('Driver version: ${_gpusInfo[index].driverVersion}'),
                        Text('Memory: ${_gpusInfo[index].memoryAmount} MB'),
                      ],
                    ),
                  ),
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}

Explanation #

This example demonstrates how to use the gpu_info package to retrieve and display information about the GPUs available on the system. The GpuInfo class is used to query the GPU information, and the results are displayed in a horizontal list view.

  • Fetching Data: The initPlatformState method retrieves the GPU information asynchronously and updates the state.
  • Displaying Data: The GPU information is displayed in a list view within a Card widget.

This example showcases a simple way to integrate the gpu_info package into your Flutter app and display GPU details.

For more detailed information, refer to the package documentation and explore the OpenLocalUI project for more features and updates.

2
likes
130
pub points
39%
popularity

Publisher

unverified uploader

A Flutter plugin to access GPU information.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on gpu_info