5 ms·
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 v
by SillyUsername 19d 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 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 https://news.ycombinator.com/item?id=49415282
- mmastrac 19d agoOh 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.
- SillyUsername 19d agoAh you mean this https://www.pcworld.com/article/393815/the-asrock-rack-m2-vga-is-a-gpu-that-fits-in-a-tiny-m2-slot.html https://www.pcworld.com/article/393815/the-asrock-rack-m2-vg... That one is VGA so I think the original upstream driver should support it.
- ramon156 19d agolooks 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!
- bigstrat2003 19d ago[flagged]
- ChickeNES 19d agoDon't you people have something better to do than hound people for their choice of tools?
- Brian_K_White 19d agoThat's a thing that happens, but this doesn't look like that. 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.
- SillyUsername 19d agoI guess this is trolling, but I've never claimed credit for the traditional coding part. The unique bits I did do - Checked the specs for actual hardware limits, DMA and any acceleration - A magic dither based on my previous (normally coded) older projects (see GitHub) - Image width "compression" idea with loss reduction using sharpening and a slight aspect change. - Optimising DMA size chunking for optimal memory transfer. - A lot of actual manual testing, including sheer reduction, frame rate testing, and multiple resolution and different monitor tests (and I lost one - the HDMI port no longer works on my old Celcus) Failed experiments with: - using the onboard secondary controller to bypass the primary controller limitations - devising a hack that would use the vertical scan horizontally using monitor rotation - attempting an 8, not 16/32 bit desktop for higher performance (old school technique). - investigating non hardware hacks for overclocking the onboard chips. - fixing a KVM issue, that required multiple physical disconnects and reconnects to replicate, and a significant amount of weekend time. So yeah, vibe coded, because I'd never have been able to try these ideas in such a short timescale if I hadn't.
- exe34 19d agoI'm assuming your gotcha is going to be "but that's not vibe-coding", but in case you're sincere, you might not have realised this yet: there's a whole range between writing every line by yourself and letting the slop machine create the entire thing. You can rely on your knowledge and understanding to guide it, to the point that it writes code that you would have written, but saves you an enormous amount of time and effort looking up things and creating/running small tests to figure out details. It's a tool, not a spell, so your pearl clutching is a few years out of date...
- internet2000 19d agoTitle fix proposal: Why vibecoding rocks
- spockz 18d agoTo be fair, vibe coding is only possible because the models have been trained on the countless open source projects out there. And it could take the original drivers as basis in Linux.
- stuaxo 18d agoNice. Is your vibecoded driver from scratch or does it bring the old driver forward ?
- SillyUsername 18d agoBit of both. It uses the GPL low-level sm750 chip/DDK code from Linux’s old sm750fb driver, but it's not just that framebuffer driver updated. The DRM/KMS architecture, board specific SiI9024 HDMI support, modes, DMA updates, hardware cursor, ultrawide support and custom dither are new.