GithubHelp home page GithubHelp logo

joshuaboniface / hwatest Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 2.0 34 KB

A CPU and Hardware Acceleration (GPU) tester for Jellyfin

License: GNU General Public License v3.0

Shell 2.54% Python 97.46%

hwatest's Introduction

Hello, I'm Joshua Boniface

You may remember me from such successful projects as Jellyfin and Parallel Virtual Cluster.

By day, I'm a Senior Systems Architect (a.k.a. Sysadmin, DevOps Engineer, and Python developer all rolled into one fun package).

By night, I contribute to several open source projects. I lead the Jellyfin Project and my own Parallel Virtual Cluster HCI manager solution, as well as many other small projects that tickle my fancy. Check below for some of the more interesting ones.

When I'm not contributing, I'm usually geeking out, drumming, gardening, or biking. I'm a big fan of (big shock) Star Trek & Stargate, Magic: The Gathering, and tabletop gaming. Currently trying to find a decent TNG-era Engineering/Ops uniform.

hwatest's People

Contributors

joshuaboniface avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

hwatest's Issues

Catch/ignore GPU with no vendor property

Currrently trying this out in a virtual machine w/ gpu passthrough. Seems the logic for detecting known GPUs assumes the vendor key always exists. It does not. Should probably either fail gracefully or should just ignore. Seems manually selecting GPU doesn't actually bypass this.

Output python3 hwatest/hwatest.py --debug --output out.json

Using Jellyfin FFmpeg binary "/usr/lib/jellyfin-ffmpeg/ffmpeg"
Using temporary video directory "/home/andrew/hwatest"
Using JSON output file "out.json"
Traceback (most recent call last):
  File "/home/andrew/hwatest/hwatest/hwatest.py", line 639, in <module>
    main()
  File "/home/andrew/hwatest/hwatest/hwatest.py", line 635, in main
    return cli(obj={})
  File "/home/andrew/.local/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/andrew/.local/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/andrew/.local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/andrew/.local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/andrew/hwatest/hwatest/hwatest.py", line 622, in cli
    results = benchmark(ffmpeg_path, video_path, gpu_idx)
  File "/home/andrew/hwatest/hwatest/hwatest.py", line 297, in benchmark
    all_results = get_hwinfo(all_results, ffmpeg)
  File "/home/andrew/hwatest/hwatest/hwatest.py", line 281, in get_hwinfo
    if element["vendor"] not in [
KeyError: 'vendor'

Output of lshw -json -class "display"

[
  {
    "id" : "display:0",
    "class" : "display",
    "claimed" : true,
    "handle" : "PCI:0000:00:02.0",
    "description" : "VGA compatible controller",
    "product" : "bochs-drmdrmfb",
    "physid" : "2",
    "businfo" : "pci@0000:00:02.0",
    "logicalname" : "/dev/fb0",
    "version" : "02",
    "width" : 32,
    "clock" : 33000000,
    "configuration" : {
      "depth" : "32",
      "driver" : "bochs-drm",
      "latency" : "0",
      "resolution" : "800,600"
    },
    "capabilities" : {
      "vga_controller" : true,
      "bus_master" : "bus mastering",
      "rom" : "extension ROM",
      "fb" : "framebuffer"
    }
  },
  {
    "id" : "display:1",
    "class" : "display",
    "claimed" : true,
    "handle" : "PCI:0000:00:08.0",
    "description" : "VGA compatible controller",
    "product" : "HD Graphics P530",
    "vendor" : "Intel Corporation",
    "physid" : "8",
    "businfo" : "pci@0000:00:08.0",
    "version" : "06",
    "width" : 64,
    "clock" : 33000000,
    "configuration" : {
      "driver" : "i915",
      "latency" : "0"
    },
    "capabilities" : {
      "vga_controller" : true,
      "bus_master" : "bus mastering",
      "cap_list" : "PCI capabilities listing",
      "rom" : "extension ROM"
    }
  }
]

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.