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.
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.
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.
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 :)
Yes. Stupid comment of mine tbh, I saw it as pointless for this card, but they wouldn't make a separate version of the controller just for this
One avenue I looked at for a real 2560px width was that the second controller was physically independent and could have different hardware limits of the first controller by virtue of supporting DVI directly (but not being physically connected to another port).
Unfortunately other controller is logical so that was a bust.
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!
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.
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 :)
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.
I've never tried it, I am put off by the amount of work for a few weekends on what I considered a personal project, plus I don't understand the code base well enough (problem domain is ok, I grew up with 8 and 16 Bit machines, and pushing graphics driver boundaries in Amiga and VGA monitor era machines). This is why my readme asks for help with issues :)
The dev on this driver used a combination of local Qwen 3.6 and 3.8 27B for admin and basic work, and extensive Codex 5.6 Sol Max to catch the issues I found and do last stage optimisations / isolate the bugs.
I'll freely admit I relied heavily on AI, my expertise and day job is in other software stacks.
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
That one is VGA so I think the original upstream driver should support it.
In other words, you didn't make a thing. Don't claim credit in that case.
The words "I vibe coded this" explicitly disclaim any excess credit.
They did exactly what anyone can reasonably ask for. They exhibited essentially perfect integrity.
For dual-monitor versions?
One avenue I looked at for a real 2560px width was that the second controller was physically independent and could have different hardware limits of the first controller by virtue of supporting DVI directly (but not being physically connected to another port).
Unfortunately other controller is logical so that was a bust.
^ / 1024^2[bytes/MB] = 23.73[MB]
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.
The dev on this driver used a combination of local Qwen 3.6 and 3.8 27B for admin and basic work, and extensive Codex 5.6 Sol Max to catch the issues I found and do last stage optimisations / isolate the bugs.
I'll freely admit I relied heavily on AI, my expertise and day job is in other software stacks.
I stand on the back of giants :)