maanantai 17. lokakuuta 2016

Linux - Torn between Nvidia 1060 vs ATI RX480

I'm kind of torn. I'm on an old iMac 2011, thinking about building my next PC vs a new Mac, and Windows vs Linux. For the time being, I'm back on Linux to see if I can get by and enjoy it, I used it as my only desktop OS for a decade almost before switching to OSX in 2011.

In Windows, the 1060 ends up maybe 10 or 15% faster in many cases. The RX480 runs slightly hotter, slightly less power efficient, and the price roughly the same as the 1060.

In Linux - however - a lot more interesting stuff is going on with the ATI drivers.

Behind the scenes, a ton has happened with GPU drivers and video cards over the past decade.

XAA -> EXA or UXA used by XRENDER, used by Cairo, which is used by GTK

Now that whole chain is probably going to get replaced by Glamor, which replaces the need to write 2d GPU acceleration for drivers.

Gallium3d has also been adopted by some driver writers, a common framework for writing 3d drivers.

The ATI open driver runs on Gallium3d, and folks have also ported d3d9 to the actual mesa driver layer. There are patches out there to make Wine use it. It can drastically help with performance and features but only the open ATI drivers have gone that far.

  • Does the Nvidia binary driver support Glamor, or, are 2d apps at least snappy, last I knew, they used their own XAA or EXA implementation?

  • All that cool stuff going on in the ATI driver might not even matter - the 1060 has very fast OGL performance with the binary blob, the wine developers are making the command pipeline multithreaded, it still wastes CPU cycles vs Gallium-Nine, but, CPU no longer becomes a bottleneck.

  • Folks may or may not ever write Gallium DX 10 or 11 code.

  • Super unfortunate, Wine already rejected patches to enable support as too esoteric, even though the hooks are a small amount of code. They are being maintained by a third party as a set of patches that gets updated when needed. I sort of wish though that doing this at the Gallium layer was more of the standard, I think it's more in line with how other OSs do it.

  • I might consider GPU passthrough and windows in a VM, my understanding is the RX480 is better supported for that? Could also dual boot.

Anyway - the RX480 seems to have a lot of options for tinkering, and trying out new frameworks that are being developed for Linux. The 1060 will probably mostly "just work" as a blob. I like the idea of open drivers, though?

I am very happy with the open source radeon driver right now, but I am using an old card, ATI 6970M

It's still funny to see all these standards constantly changing, and Nvidia throwing the middle finger to it all and doing their own thing that works mostly.

In my experience with binary blobs - it works or it doesn't. With open drivers, you're more likely to get something working as you have the option to pull and install the latest patches from GIT, and the developers are often very responsive to issues and have tools to report information.

To me, it seems the ATI driver is progressing towards a pretty interesting future, adopting the latest standards, with significant benefits, provided it continues. The Nvidia driver is what it is.

submitted by /u/d13f00l to /r/linux
[link] [comments]

Ei kommentteja:

Lähetä kommentti

Huomaa: vain tämän blogin jäsen voi lisätä kommentin.