SillyUsername 1 hour 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

  • mmastrac 42 minutes 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.

userbinator 16 minutes ago

A GPU with HDMI and 16MB of VRAM is a very strange combination.

  • SillyUsername 10 minutes 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.

realusername 49 minutes ago

Will you upstream it?

  • SillyUsername 13 minutes 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 :)