3 comments

  • SillyUsername 2 hours ago
    I wrote* a modern Linux driver that supports ultrawide resolutions, higher refresh, and faster performance than the original driver(s) on this cheap HDMI only variant server GPU.

    I created it because I wanted my Nvidia GPUs to be compute only, and needed a cheap and small display GPU to run X11. I bought this GPU on AliExpress, after learning it had Linux support. It does, but kernel 5.x series and the sm750 driver in modern Linux only supports the older VGA/DVI variants.

    Rather than send it back or throw it away, I decided to vibe code a new driver with new features, to make it usable for day to day desktop use. I've a little bit of a background in low level graphics so also added a cool little magic ordered dither (a pretty good one I think!) I devised myself, called "bbdither", and a few hacks to get 2560x1080 at 75hz on a device only officially documented as capable of up to 1920x1200 at 60hz, and PCI-E 1x speed.

    Screenshots here: https://github.com/KodeMunkie/sm750hdmifb#screenshots

    If you try it out, be careful - read the project disclaimer :)

    *Vibe coded, as mentioned in Hackernews comments here https://news.ycombinator.com/item?id=49415282

    • ramon156 43 minutes ago
      looks cool, and thanks for being upfront about the LLM-assisted part. It seems like a genuine project with a lot of time put into it!
    • mmastrac 1 hour ago
      Oh nice. I have a little PCIe/VGA one that I use for truenas and it's a bit flaky but I love that it's basically free from a PCIe perspective (just toss it off _any_ root). These are super useful and there are even m.2 variants.
    • bigstrat2003 12 minutes ago
      > Vibe coded, as mentioned in Hackernews comments here

      In other words, you didn't make a thing. Don't claim credit in that case.

      • ChickeNES 3 minutes ago
        Don't you people have something better to do than hound people for their choice of tools?
  • userbinator 1 hour ago
    A GPU with HDMI and 16MB of VRAM is a very strange combination.
    • pdpi 8 minutes ago
      16 * 1024 * 1024 / 1920 / 1080 = 8.0909, so you have enough VRAM for double-buffered 24-bit 1080p, with a bit to spare. For pure software rendering, that's good enough!
    • wtallis 46 minutes ago
      It doesn't really do much in the way of processing (https://www.siliconmotion.com/download/3PS/a/SM750_PB_EN_201...); it's pretty much just a dumb framebuffer. You can wire it up to output over an HDMI connector, but with the features it supports you're really just getting a single-link DVI signal.
      • SillyUsername 28 minutes ago
        It is just an old school 2D style card, with some (shape) primitives acceleration (unused), two logical controllers (no idea why), but has DMA (used) and a hardware cursor (also used). There's no onboard audio either. It's pretty much a GPU for rack mount servers that require occasional log in. It's exactly what I was looking for desktop work, it runs cinnamon fairly well, and won't clash with my Nvidia setup :)
        • userbinator 22 minutes ago
          two logical controllers (no idea why)

          For dual-monitor versions?

    • SillyUsername 1 hour ago
      I agree but these things are only about $25 USD. Arguably an older Nvidia GPU is a better investment at this price if you just want basic desktop use. Unfortunately if I did that, the old Nvidia drivers wouldn't support my newer Nvidia Blackwell hardware.
      • theokrueger 53 minutes ago
        old nvidia cards are pretty terrible actually on linux due to the proprietary drivers not working on mainline kernel after ~6.6
      • userbinator 18 minutes ago
        Maybe an LLM can also assist with modifying the Nvidia driver appropriately.
    • numpad0 31 minutes ago
      3840 x 2160[px] x 24[bit/px] / 8[bit/byte] = 24883200[bytes]

      ^ / 1024^2[bytes/MB] = 23.73[MB]

  • realusername 1 hour ago
    Will you upstream it?
    • SillyUsername 1 hour ago
      Possibly, but in order to be safe for everyone, reviewers may want me to remove features that allow the driver to achieve the non-standard performance. There's a lot of hoops to jump through :)
      • cromka 10 minutes ago
        How did they react to it being vibe coded? Were they pragmatic about it, as Linus recently suggested

        I have like 4 drivers to upstream myself, plus a couple of patches here and there. Quality is good and they're tested, and while I understand the code and how things work low level, I wouldn't be able to write them myself.