
The AMDGPU Additions for Linux 4.7 Are Enormous - neverminder
http://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-Linux-4.7-Is-Big
======
vocatus_gate
I so badly want to ditch Windows on all my personal machines. Literally the
only thing keeping me is gaming support. Steam on Linux has helped a lot, and
I can play a lot of previous generation titles on my Mint laptop, but AMD
driver support is still lacking. It can't improve fast enough!

~~~
eumoria
I am in the exact same boat. My laptop is Xubuntu and my work computer is as
well. My home gaming rig is Windows 10 because Linux just doesn't compete yet
with the proprietary optimizations that the hardware manufacturers and game
developers use on the platform. Also my wireless card doesn't have Linux
support but I would throw that in the trash the moment Linux gaming can even
get to 80-90% of the Windows gaming performance.

If this were Slashdot we couldn't even have the discussion without being
swamped by fanboys claiming completely false things about Linux gaming. I've
been trying over and over again for about 15 years playing all different types
of games on different types of hardware and roughly speaking I would say an
average of 20-50% performance hit on 3D rendered games but it is getting much
MUCH better.

It does work but I didn't spend the, honestly, stupid amount of money on my
home PC to have it perform worse than it can just based on the software I
choose.

There's a billion reasons why this is the case so saying one specific thing or
manufacturer is going to fix it but AMD pushing support is a wonderful thing.
I can't wait until I can finally get rid of Windows completely.

Really what I would love is a gaming focused Linux distro that actually works.

~~~
neverminder
> Really what I would love is a gaming focused Linux distro that actually
> works.

I think SteamOS was supposed to be that distro, but at some point it just kind
of... ran out of steam?

~~~
eumoria
ha! yea, I tried it early in development and it was a bit of a mess I should
give it another shot that it's a little more mature. Their whole
steambox/steamcontroller thing seems to have flopped but I'm sure it's better
than it was on initial release.

~~~
seanp2k2
I think that it was just ahead of its time, and people didn't really "get it",
and it wasn't marketed with the right message or marketed enough. The next
PlayStation and Xbox seem more like gaming PCs than consoles, and it looks
like the market is trending toward a shared experience across all devices in
the future.

I really hope that SteamOS continues and sees wide adoption, but I also agree
from my experience mining btc on Linux years ago that drivers need to improve,
as does the hack factor. As a sysadmin then, I struggled for hours to get the
AMD + OpenCL stuff working right. Not sure if it's better now, but no way
would the mainstream accept that type of experience to play games.

------
supersnark
>More AMDGPU DRM driver

DRM is a really unfortunate acronym here. It took me a while to figure out it
refers to direct rendering manager.

~~~
Unklejoe
On a related note, I have a hard time understanding the layout of the Linux
graphics stack as a whole. You have MESA, DRM, DAL, Gallium3D, etc... All
these acronyms and systems that somehow relate to eachother.

It seems like there are many layers, and there aren't many good references
that really explain it "from the beginning".

~~~
ZenoArrow
The collective name is DRI (Direct Rendering Infrastructure), perhaps this
Wikipedia page will help?

[https://en.wikipedia.org/wiki/Direct_Rendering_Infrastructur...](https://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure)

I think the basic way to understand it all is that the decision was made to
pull more of the graphics stack into the Linux kernel, and this has enabled
thinner abstractions to be built on top for various purposes. For example,
Wayland makes use of the underlying DRI infrastructure.

~~~
cm3
I've been wondering how Wayland actually works underneath. Seeing how Wayland
window managers usually have a drawing layer that among others have a specific
backend for Intel, I scratched my head wondering if people have to
reinvent/reimplement parts of what xf86-video-intel provides in Xorg. Any
insight?

~~~
ZenoArrow
I'm not an expert, but here's how I see it...

There are different ways to create GPU drivers for Linux. In order to make use
of DRI, the GPU has to have a DRM driver. This DRM driver is specific to the
GPU hardware.

The DRM is the interface that software can work with to make calls to the GPU.
You could think of DRM as a way to have a standard interface for GPU calls, so
other software will speak to this DRM layer, but the DRM driver will speak to
the hardware, which is why the DRM driver needs to be device specific.

The DRM driver is the part of the GPU driver that sits in the kernel, there
will also be a userland part of the GPU driver. I believe the part of the
driver that gets used will depend on what the software is targetting. Wayland
will target the kernel side, but games would work with the userland side.

These images from Wikipedia may help visualise what DRM is doing. Without DRM:
[https://en.wikipedia.org/wiki/Direct_Rendering_Manager#/medi...](https://en.wikipedia.org/wiki/Direct_Rendering_Manager#/media/File:Access_to_video_card_without_DRM.svg)

With DRM:
[https://en.wikipedia.org/wiki/Direct_Rendering_Manager#/medi...](https://en.wikipedia.org/wiki/Direct_Rendering_Manager#/media/File:High_level_Overview_of_DRM.svg)

As a side note, it's possible for GPU vendors to create more generic GPU
drivers by using Gallium3D. This also creates drivers that work with DRI, but
GPU drivers don't need to use Gallium3D to use DRI. I would suggest thinking
of Gallium3D as a set of reusable GPU driver components, you could code a
driver using these reusable components, or you could code something bespoke.

[https://en.wikipedia.org/wiki/Gallium3D](https://en.wikipedia.org/wiki/Gallium3D)

In terms of Wayland in particular, you may be interested in this:

[https://wayland.freedesktop.org/architecture.html](https://wayland.freedesktop.org/architecture.html)

Does this help?

~~~
cm3
Yes, the picture kinda confirms my suspicion. Looking at this
[https://github.com/michaelforney/wld/blob/master/intel/i965_...](https://github.com/michaelforney/wld/blob/master/intel/i965_pci_ids.h)
you have to wonder how much device-specific stuff one has to implement now
when targeting Wayland and if that's avoidable or why libwayland doesn't have
libwayland-intel etc?

~~~
pritambaral
FWIU, drivers don't have to specifically support Wayland. As long as they
support Khronos's EGL spec, wayland will run on those drivers.

EGL is sort of a cross-platform spec for window managers to work with graphics
cards.

~~~
cm3
So is it just that the APIs are not there yet which motivated wld to talk
directly to Intel's DRM?

~~~
pritambaral
I doubt that. libdrm should have been enough, but this was about two years
ago, when Wayland wasn't ready. I don't know much about how wld is using
libdrm_intel, and I don't think I'll be much the wiser even if I read the
code. Maybe ask the author.

------
Zpalmtree
Super hype for a zen+polaris GNU/linux machine. Not a big fan of nvidia anti
consumer practices but AMD have always been rubbish on GNU/linux, hopefully
this will change!

~~~
Unklejoe
Me too.

It seems like AMD is really trying to do well by the open source community. I
do realize that this isn't out of the kindness of their heart, but rather the
fact that they're the underdog, but still, it's good for the community.

I really think things are going to turn in their favor within the next 2 years
(at least in the graphical side of things).

Every single one of the major game consoles are using AMD chips, and consoles
are usually first priority for game developers. I am guessing this could have
some advantages when it comes time to do a PC port.

Also, with the new APIs such as Vulkan and DX12, the amount of optimization
"games" you can play inside the driver is reduced since they are apparently
much closer to the hardware. This could wash away some of the lead that NVidia
has (as is proven by many recent DX12 benchmarks).

Finally, I think the recent rise in popularity of Apple computers (last 5
years or so) could be a good thing for Linux gaming since they will both rely
on the Vulkan/OpenGL APIs which could give more incentive for developers to do
the port.

~~~
oarsinsync
> Apple computers ... will both rely on the Vulkan/OpenGL APIs

Apple haven't included any real OpenGL updates in years, and have meanwhile
released Metal, their own cross platform (OS X / iOS) abstraction layer.

Wouldn't get your hopes up expecting Vulkan support from Apple.

------
wyldfire
The thing I'm most psyched for is the continuing evolution of OpenCL support.
It seems like the AMDGPU+Gallium3d/etc stack has some support for OpenCL
already. Image2d/3d support would be outstanding.

I've seen so much instability from catalyst+southern islands and I'm hoping
the issues are driver related and Linus' Law will result in a higher quality
computation stack.

------
cm3
I want to use an AMD GPU but would like to have one that is comparable in
energy requirements to Intel's GPU. I just don't want to have a GPU that uses
150 or 200 watts but the Intel drivers are regressing so much that AMD seems
like a safer bet.

~~~
Avshalom
The APU chips all have GPUs that handily beat Intel's and still have TPD from
CPU+GPU of 100w or less. My desktop is an A8 from 2013 and while no power
house even while new it runs XCom and GRID just fine (though I am using the
very up-to-date drivers from the oibaf ppa)

~~~
cm3
I compile a lot of code and also encode videos where an Intel i3 will beat the
APU. That's the dilemma I'm in, and it's a pity that the Zen APUs don't arrive
until 2017. First it's the CPU only Zen chips, but maybe the new AMD GPUs will
allow for low-power variants.

------
hb42
"That pull request adds in around 60,000 lines of code"

what could possibly go wrong ...

~~~
cm3
Drivers make up pretty much all of the code in the Linux kernel, so not very
surprising.

