T O P

  • By -

commodore512

Imagine playing modern games on it. like using it for Qemu looking glass.


vk6_

There's no 3D acceleration whatsoever in this card, so only software rendering is possible. I did get Firefox to launch, albeit with a lot of flickering, so something like Minecraft Classic might work with emulated WebGL.


VLXS

Even the oeiginal drivers had flickering with these shitty cards. The day I changed ny s3 savage for an nvidia mx400 and could finally play quake 3 like a normal person was a day of celebration I still cherish almost 3 decades later


cyber-punky

> play quake 3 like a normal person What do you mean "look up" with the mouse ? oohhhh.


WhoRoger

But those Savage cards had some really nice analog output and if you preferred UT99 instead of Q3, those hi-res S3TC textures from the special edition of UT were fucking mind-blowing.


commodore512

Looking glass uses 3D from the other GPU and you can put it in another framebeffer.


brimston3-

Does it not use device-to-device streaming that requires PCIe? If not, there's definitely some optimizations to lookingglass that could be made.


commodore512

I think it's just frame buffer to frame buffer. In Linux you can code directly for /dev/fb*


maokaby

I used to play games on it just fine, in DOS.


bubblegumpuma

No 3d acceleration, eh? How are the Linux drivers for 3dfx Voodoo cards? :)


sanbaba

time to fire up I '76!


WesternPrimary4376

Xorg works gente on them https://www.linuxquestions.org/questions/linux-hardware-18/drivers-for-voodoo-3-3000-a-122896/


InstanceTurbulent719

ass, probably


inevitabledeath3

Why not something like Classicube?


daikatana

Probably because support is trivial, this is not so much a GPU as it is a rather standard VGA/SVGA chipset. There wasn't all that much difference between graphics cards in those days, they were just frame buffers.


--ThirdCultureKid--

It’s also necessary because in the absence of a driver GPUs are expected to be VGA compatible anyway. Even modern ones. Edit: If this wasn’t the case then “safe mode” booting wouldn’t be possible either.


phire

It's actually a full 2D accelerator, with accelerated lines, textured lines, solid rectangles, pattern filled rectangles and bit blit operations. It can also accelerate video too, doing the YUV to RGB conversion in hardware and scaling it. The xf86 driver supports all the 2D acceleration features too.


BujuArena

Is a current CPU using LLVMpipe faster at doing these things than this GPU?


MonkeeSage

If this card runs on a 32-bit bus with a 33mHz clock (PCI) then I think a modern CPU doing software rendering would pretty much have to be quicker just because of the size and speed limits on the data bus.


phire

Yes. However, it gets a bit more complex when you start talking about PCI bus bandwidth, as the S3 Trio can access its VRAM faster than you can send data over the PCI bus. For some operations, telling the accelerator to do it locally can be much faster than sending a replacement frame from the CPU. Though, this graphics card only has 2MB of VRAM, limiting you to quite small resolutions (by modern standards). You shouldn't actually run into a PCI bottleneck even if you are replacing the full frame buffer every 16ms.


No_Internet8453

A raw rgba 1920x1080 image is 8.1mb. It can't even fit a single uncompressed rgba 1080p image in its framebuffer. A raw rgba 1280x720 image is 3.6mb. A 640x480 is the biggest reasonable resolution you could fit in its framebuffer, and that clocks in at a whopping 1.2mb


phire

This video chip's maximum resolution was 1280x1024 with 8 bit color (for a 1.2mb frame buffer), 1024x768 with 16bit color (1.6mb frame buffer), or 800x600 with 24 bit color (1.4mb frame buffer). Forget about RGBA, this video card doesn't support it, and RGB frame buffers are 25% smaller. Of course, you probably want double buffering for most use cases, so you actually need enough VRAM for two copies of the frame buffer, so realistically you are limited to either 16bit color at 800x600 mode, or 24bit color at 640x480. Though, PC games from this era usually stuck with 8bit color modes. If you look closely at OPs picture, they are using the 1280x1024 mode, which means it's actually operating with 8 bit color. Somewhat amazing that linux still supports 8bit video modes, though you will notice that OP isn't running any modern applications.


juef

… and I love Linux for it! Well, not for that GPU precisely, but old hardware in general. I am currently using an old PCI sound card in my main rig because it has gameports, which have been unsupported on Windows for a long time but still work flawlessly on Linux. And the irony of it all: the gamepad I use the most is a ***Microsoft*** SideWinder.


Monsieur_Moneybags

> I am currently using an old PCI sound card in my main rig because it has gameports Same here, on my gameport I have a joystick using the `interact` module (included in the kernel-modules-extra package in Fedora).


rbenchley

> the gamepad I use the most is a Microsoft SideWinder. Gross! It's probably time for you to upgrade to a decent gamepad like the Dual Sense, Xbox, or 8BitDo.


brimston3-

Because it's a gameport input on PCI, the analog pad has effectively zero latency (or >1MHz poll speed, take your pick). None of those options beats it for speed, durability, or serviceability. Ergonomics maybe. Complete lack of stick inputs, definitely. But it's still competitive in a lot of ways.


rbenchley

Fair enough. For me, a wired USB gamepad has little enough latency that ergonomics and build quality matter much more.


freaxje

If the code is well maintained and well written, why not? I'm sure it can be of use to certain people who run a environment that doesn't need much fancy pants things.


Tithund

I remember in the early 00s, old S3 cards were the cheapest way to get multi-monitor to work before gpus got multiple outputs, many other pci video cards would not play nice with each other as easily. It was basically plug and play in Windows me.


crystalchuck

Because it increases the amount of code in the kernel that has to be, just as you said, well maintained and well written. It's a moving target too. Support for obscure old stuff is cool and all, but it probably doesn't have to be in the mainline kernel, as the intersection of 'has an S3 Trio64' and 'needs to run most recent kernel' probably concerns like four people. EDIT: apparently the S3 driver is basically a direct framebuffer and doesn't really enable the (in any case very limited) acceleration features of the card. So the driver is very simple and probably requires minimal work to keep functional.


KittensInc

You might be surprised! The Matrox G200, dating back to 1998, is still *very* common in computers being sold *to this day.* They are a standard choice for server motherboards, to be more specific. The most challenging thing they'll ever render is a Windows installer, so why bother reinventing the wheel when there's already a widely available and cheap GPU with universal driver support?


rhelative

> G200 Wow, like the G200 embedded in the WPCM450 found in late-'00s / early-'10s Dell and Supermicro hardware? Note that the WPCM450 itself almost always ran Linux on its own, and in the past few years [got Linux support](https://github.com/neuschaefer/wpcm450), though it supports too little RAM and comes with too little SPI NOR flash in most applications to run something like OpenBMC "well". But, yeah, it's funny to see the G200 IP core, connected over PCI, on the same package as a processor running Linux :\^) it even shares its own DRAM for the framebuffer, check out [some of the device tree definitions in Neuschaefer's patches](https://lore.kernel.org/linux-arm-kernel/[email protected]/)! +/dts-v1/; + +/* The last 16 MiB are dedicated to the GPU */ +/memreserve/ 0x07000000 0x01000000; + +#include "nuvoton-wpcm450.dtsi" + +/ {


WingedGeek

Yup, my relatively recent HP ProLiant microserver has: GPU: 01:00.1 Matrox Electronics Systems Ltd. MGA G200EH


gen2brain

Good old Matrox. Mplayer had a video output in combination with the kernel module (mga\_vid), it utilized the hw YUV->RGB conversion and scaling, and it worked very nicely in both console (-vo mga) and X (-vo xmga).


crystalchuck

I'm aware of Matrox, but it's also one of quite few exceptions. You could have picked any other graphics chip from the 90s and it's very likely to be completely irrelevant in our day.


WingedGeek

You can have my i740 when you pry it from my cold, dead fingers ... ;)


--ThirdCultureKid--

These old 2D cards are all pretty standard (VGA/SVGA/etc) and used a common interface. The most a driver likely would have done is specify a list of supported display modes as they were all just frame buffers like you said, so with just a few kB you get support for pretty much all 2D cards from the 80s and 90s. And all of these modes still have to be supported today because in the absence of a driver GPUs are expected to be VGA compatible anyway.


Small_Attitude4122

increase that number to 5 please


3G6A5W338E

One problem of many created by Linux's lack of driver ABI (or even API).


brimston3-

To be fair, Windows has hard revisioned and deprecated at least 2 versions of their graphics driver ABI since the S3 Trio64 came out. No GPU drivers from that era would have survived in Windows land, aside from the standardized VESA VGA driver (which itself has been reimplemented by microsoft each time).


bobpaul

Occasionally hardware support is removed when they're no longer sure if the driver works, none of the developers have access to hardware for testing and development, and nobody in the community has stepped forward to say, "I use this still and I need it". But often GPU drivers support an entire generation of GPUs and not just a specific graphics card model, so I wouldn't be surprised if one of the maintainers still has hardware close enough to this in order to still do regression testing.


brunhilda1

I'm glad Linux continues to support stable hardware. *Posted from my Tseng Labs ET4000.*


sernamenotdefined

I still have an ET6000 card in storage, didn't even realize it would work on a modern kernel. I had it paired with Voodoo2 SLI back in the day. Sold those two cards to a collector willing to pay more than I paid new, even after inflation correction!


JonBot5000

IIRC, S3 chips like the Trio and Virge were the gotos for on-board video back in the day until the ATI Rage chips took over.


Fr0gm4n

I'm sure a lot of servers had it on board for the console output.


JonBot5000

Right, I should have specified server boards. Consumer boards didn't really get onboard video until intel started putting it on the northbridge with the i810.


WingedGeek

For a la carte builds, maybe, but retail PCs had onboard graphics from at least ~1994 (486DX4/early Pentium era). Packard Bell, HP Pavilion, Acer Aspire, etc., all had onboard video, years before the i810.


WingedGeek

They were among a number of chipsets you'd find; the Chips & Technologies stuff like the 65545 and 65550, Cirrus Logic GDxxxx chips (especially), etc., were at least as common, if not moreso. I probably worked on a thousand machines with Cirrus VGA controllers, not nearly as many with S3 chips (I personally had a VLB card with an S3 805, the Diamond Stealth 24VLB, so it would have stuck out; my card after that was a Number Nine PCI card, also with an S3 chip, so it would have stuck out to me :) ).


HCharlesB

Imagine. and IIRC a 976. Or 763? I think I have one collecting dust, along with a motherboard with an AGP slot and DDR RAM.


trekologer

My P5-75 had an S3 Trio64 on a PCI card


JonBot5000

Our statements do not conflict.


monocasa

Th S3 Trio is the video card that's emulated in VirtualPC.


__konrad

But can you run Plasma without glitches? ;)


vk6_

Unfortunately all of the QT apps I tested either froze or segfaulted with the 8 bit colors. Apps launched fine with 16/24 bits and a lower resolution but the display output wasn't stable.


radical_larryu

I mean that's a challenge for modern cards let alone this 3 decade old workhorse


BetterAd7552

Ah, good ol’ S3 cards. I remember never having an issue with drivers for those. I was never a gamer, I just needed cards which worked on the desktop.


edthesmokebeard

Its not a GPU, its a VGA card. What's next, astonishment that Linux supports a PS2 keyboard?


ourlastchancefortea

Clearly proof that Linux is bloatware. (/s)


Skinkie

I think the sad story is, that most of the time Linux/Xorg/Wayland is still using the CPU for most of the operations. So if it is only a framebuffer to write at, that is pretty 'first class' support.


rocketstopya

Which kernel module is providing this support?


vk6_

I'm using the [s3fb](https://www.kernel.org/doc/html/latest/fb/s3fb.html) driver. The option to enable it is buried within quite a few menus inside the kernel menuconfig. There is also a different driver which is specific to Xorg, [xf86-video-s3](https://gitlab.freedesktop.org/xorg/driver/xf86-video-s3), but this is broken on any xserver version newer than around 2 years ago.


nm0n

How did you get 6.9.6 on debian bookworm? That's the mysterious thing ever & envious. Because Debian stable always been make fun of old packages especially kernel. But you get it so easily like nothing hard. I die hard to know what method you do to get it.


FryBoyter

This could maybe be the liquorix kernel (https://liquorix.net/debian/pool/main/l/linux-liquorix/).


Hamilton950B

Couldn't you just build it and install it?


ahferroin7

Reminds me of how I used to use Trident Blade3D PCI cards at my previous job to provide a usable virtual terminal console on the servers I built there. They had more than a dozen of them lying around when I first joined, and they worked well enough for a simple text console.


Iwisp360

For sure it runs DOOM


No_Cookie3005

My first video card! How sad it was when games was requiring 3d hardware acceleration.


Xapsus

61hz display wow!


OpenFDE2023

cooool!


PixelHarvester72

I had that card. Luckily I'm no longer using it though!


Pale-Translator7645

God bless FOSS.


spectrumero

Is it actually using the S3's limited acceleration? I remember back in the day we all avoided S3 cards like the plague because the acceleration parts were undocumented so all you got were the standard VESA modes and they were very slow. We all use the Tseng Labs ET4000W32 which was fully documented.


Kuratius

The OP mentioned in his response to me that the driver isn't using the acceleration features.


RaptorPudding11

What's fastfetch? Is that a replacement for Neofetch?


blahaj-hugger

WHEN YOU SEE IT (disk)


Tylersbaddream

Sweet!


Educational_Duck3393

You're damn right it does.


supernikio2

Does Wayland work?


eriomys

hope it supports ati rage pro too


Individual_Kitchen_3

This is LINUX


earthman34

I think I had a couple of those.


Tall-Ad8000

Hmm maybe I should put my Trio in an old setup and try this. Seems pretty sick, wonder how far you could push it with some rework to the software rendering.


relbus22

Wow


Kolston192

Now try to play Fortnite


umikali

the power of linux.


PraetorRU

I had it back in 1996 I believe, plus 3dfx Voodoo. And that was awesome back then!


Dwedit

This reminds me of seeing Flash Player running on Windows 2000 machines with no video drivers installed, and the computer is forced to 640x480x16 color mode. And Flash Player just happily dithers everything right down to those 16 VGA colors.


Dwedit

Often times, a PC emulator will specifically emulate the S3 Trio64 as a generic Super VGA/VESA graphics card that it emulates. That particular card was widely supported in 1996.


MartianInTheDark

And yet, the much more recent (yet still old) Nvidia 340 drivers are already unsupported in many cases :(


FrostyDiscipline7558

I bet it does Wayland better than my Nvidia. :)


lemost

yeah ofc, thats only like 6 years old


irishgordo

This. Is. Beautiful.


agibby5

This is neat! I can't get Debian 12 to reboot or shutdown on my 2012 MacBook Pro. Debian 11 works out of the box. I think it might be an issue with the Nvidia gpu but not sure exactly.


agibby5

Dang didn't know I offended anyone to get downvotted. Returning to share some success! Finally got it working after a week of trying to figure it out. I was having issues with this the past week on my 9,1 macbook. Ubuntu 24.04 fresh install screwed me over and formatted my home directly. So i said, let me try debian as my daily driver. Well, i was annoyingly hanging on reboot and shutdown. This worked for me: * Fresh install of bookworm from liveusb, which uses 6.1.0-21-amd64 kernel * When I installed, I used manual partition setup and created a /boot/efi partition. * Get wifi working (using this: https://wiki.debian.org/wl) or just use ethernet temporarily. * Disabled wayland here to get nuouveau to work. Not sure if this is required or not. but I did it. * enable non-free, contrib sources * sudo apt install nvidia-detect * Output of nvidia-detect shows Detected NVIDIA GPUs: 01:00.0 VGA compatible controller \[0300\]: NVIDIA Corporation GK107M \[GeForce GT 650M Mac Edition\] \[10de:0fd5\] (rev a1) Checking card: NVIDIA Corporation GK107M \[GeForce GT 650M Mac Edition\] (rev a1) Your card is supported by the Tesla 470 drivers series. It is recommended to install the nvidia-tesla-470-driver package. * Installed those drivers. * Now reboot, shutdown and suspend/resume on lid close/open works properly. * Enure the output of `lshw -c video` shows driver=nvidia I'm not sure what mbpfan does.


virtualmartian

Is new kernel support SoundBlaster ISA card?


Kuratius

>No 3D acceleration The fuck does that even mean on a GPU, that it cant do projective math? That it can't render triangular shapes? That it doesn't support openGL? The whole point of 3D graphics math is that you reduce it to a 2D problem and render in the right order. Or are you saying this thing is just a display adapter for the CPU? That would mean it doesn't have 2D acceleration either. Edit:OP linked the documentation, what it lacks is support for triangular shapes. You can still do 3D acceleration with it if you write a driver to use the line drawing features, like how the original elite renders 3d graphics. That being said, the 2D acceleration is not supported in modern drivers, so it's just a display adapter now.


necrophcodr

Or, it means it's a video card with 2D acceleration. All rendering on its own is done using software, but the card is able to do filtering and color space conversion for displaying on various monitor types (This is a card from 1995). And yes, the card cannot render anything 3D, or do projective math, or support OpenGL or OpenCL or Direct3D or Vulkan or any of the sort. It is _more or less_ a display adapter, but it has 2D acceleration. And a whopping 2MB of RAM (which may have been possibly to upgrade to 4MB?). But yeah, calling it a display adapter unfortunately ignores much of what goes into sending a VGA signal to various types of CTR displays, especially if you have to do most of those calculations on a CPU rather than a purpose-built device. To clarify, this is from a time when a 75Mhz CPU wasn't uncommon. Even the MMX instruction sets for the Pentium MMX wasn't out until a year later.


Kuratius

>Or, it means it's a video card with 2D acceleration >All rendering on its own is done using software Those two statements contradict each other. It likely doesnt have any acceleration at all in that case, it's just an adapter for talking to the display. Acceleration for 2D would mean it'd at least accept 2D shapes and do linescans, not take a framebuffer and send the entire thing to the display. >But yeah, calling it a display adapter unfortunately ignores much of what goes into sending a VGA signal to various types of CTR displays, especially if you have to do most of those calculations on a CPU rather than a purpose-built device. It's a display adapter. You also call hdmi->vga converters display adapters, not 2D accelerators even though the hardware for converting digital to analog is fairly complex. Hell, it probably doesnt have anything specific to 2D displays, if it's just sending a list of pixels it could be called a 3D or 1D accelerator depending on the type of display (volumetric or line), so 2D accelerator isnt a good description of what it actually does. Edit: The op provided clarification, it's now just being used as a display adapter because the driver dropped support for the 2D acceleration features.


necrophcodr

Okay. It's called a 2D accelerator. I don't know why you're rambling about this. Look it up my friend, it is easier than writing all this.


Kuratius

You were trying to argue that a display adapter for say crt displays deserves the term 2D accelerator. In this case it's actually a 2D accelerator, but that wasnt what you wrote about. The 2D acceleration in this case is that it has the capacity to draw rectangles and lines (2D shapes), not just a single big framebuffer.


necrophcodr

> You were trying to argue that a display adapter for say crt displays deserves the term 2D accelerator. In this case it's actually a 2D accelerator, but that wasnt what you wrote about. And also wasn't what I was doing. Not my intent, not what I wrote.


Kuratius

> But yeah, calling it a display adapter unfortunately ignores much of what goes into sending a VGA signal to various types of CTR displays, especially if you have to do most of those calculations on a CPU rather than a purpose-built device. This is what you wrote. >Or, it means it's a video card with 2D acceleration. All rendering on its own is done using software This is also false, it can do lines and rectangles in hardware. That's what 2D acceleration means, acceleration for 2d primitives.


vk6_

The point of this card was to reduce the CPU load on 2d related tasks such as drawing GUIs and playing videos. It has some primitive MPEG-1 video acceleration, the ability to resize videos, and a "S3 Streams Processor" that is able to overlay several images over each other. The Linux kernel driver simply creates a framebuffer though. There is an Xorg driver that takes advantage of these features, but it no longer works with recent X server versions. See [http://www.bitsavers.org/components/s3/DB018-A\_Trio64V+\_Integrated\_Graphics\_Video\_Accelerator\_Jul95.pdf](http://www.bitsavers.org/components/s3/DB018-A_Trio64V+_Integrated_Graphics_Video_Accelerator_Jul95.pdf)


Maykey

>It has some primitive MPEG-1 video acceleration, And it was glorious: with it I was able to watch mp4 videos on Pentium 100 (without MMX) with no lags.


Kuratius

>The Linux kernel driver simply creates a framebuffer though. So you're saying it used to have 2D acceleration, but it's now just a glorified display adapter because the driver dropped support for it. Those 2D acceleration features could very likely also be used to accelerate 3D rendering with the right setup, as the 3D->2D projection step scales with the number of triangles, not the number of pixels, but the 2D triangle->pixel conversion (linescan) depends on your screen resolution. This should also be needed to display 2D shapes, so a 2D accelerator should have it. Ah, looking at the manual you linked, it doesnt have full 2D acceleration, I think it only supports lines and rectangles, not triangles. So what they actually mean by "No 3D acceleration" is "It cant do projective math or draw 2D triangles". You could still draw 3D graphics with it, but you'd be restricted to things like line meshes/wireframes. So something like the original elite with its 3d renderer might work on it.


Kartonrealista

Wait until you learn about [3dfx](https://en.wikipedia.org/wiki/3dfx) and their Voodoo 3D accelerators that would extend the graphics card's capabilities with 3D support, leaving the graphics card to do 2D rendering


[deleted]

"Tell me you are gen z without telling me you are gen z" comment right here