Coder Social home page Coder Social logo

gom-app's Introduction

GPU Offloading Manager

plasmus777 gnome GpuOffloadingManager

GPU Offloading Manager aims to implement an user interface to configure and launch programs automatically under systems with hybrid graphics.

Objective

Linux based systems have always had issues and lack of support regarding computers with multiple video cards. In the recent years however, manufacturers managed to improve quite a bit in the driver department, implementing several lacking features that improved offloading capabilities. One of the few things that still did not improve is application profile selection - launching a program using a more/less capable GPU automatically/manually.

TODO:

  • UI Design
  • Code Implementation
  • Driver support
    • Open-source
      • Nouveau
      • Amdgpu
    • Proprietary
      • Nvidia
      • Amdgpu-Pro
  • Packaging
    • Compiling Instructions
    • Tar.gz file
    • Flatpak support
    • Snap support

Extra notes

  • This application is NOT a driver/switcher utility (like prime-select or others). What is does is simply allow the user to select the default graphic card for installed applications under systems with hybrid graphics.
  • The application expects your system to already have your drivers configured. Follow your distribution's documentation before using Gpu Offloading Manager.

Reminder: This project is mostly a hobby, and as such, no updates/features are a given. I'll try my best to update the project and make sure that it works, but no compromises.

gom-app's People

Contributors

plasmus777 avatar

Stargazers

 avatar

Watchers

 avatar

gom-app's Issues

UI - implement a basic "display" panel

-> The display panel must show basic display-related information to the user, such as:

  • Display protocol;
  • Integrated and Discrete GPU information:
    • Vendor name;
    • GPU model;
    • Driver name/version
    • PCI bus;

UI - implement a basic "running applications" panel

-> The running applications panel must allow the user to:

  • See what applications are running with the discrete GPU;
    • Display extra information about the applications (such as name, description, icon, PID).
  • Launch new applications using the discrete GPU;
  • Launch new applications using the integrated GPU (should be default, but depends on the system and the driver);
  • Select runtime variables to launch an application with.

UI - implement an "application profiles" panel

-> The panel must allow the user to see and manage "application profiles", each one having:

  • Application name;
  • Application description;
  • Preferred GPU - integrated or discrete;
  • (Optional) Environment variables to launch the application with;
  • (Optional) Script (s) to be executed upon launch;
  • (Optional) Script (s) to be executed upon exit;
  • (Optional) Notification that the application will run with discrete/integrated GPU on launch;
  • Saving an application profile;
  • Editing an application profile;
  • Deleting an application profile;
  • Importing application profiles;
  • Exporting application profiles;

The idea for "application profiles" is automatically launching certain programs using a predetermined GPU, similar to what you would have by default on another OS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.