Subject: Graphics Cards | June 3, 2016 - 11:15 PM | Scott Michaud
Tagged: linux, graphics drivers, AMDGPU, amd
On Windows, we really only have one graphics driver per GPU. On Linux, however, there is a choice between open drivers and closed, binary-only blobs. Open drivers allow users to perpetuate support, for either really old hardware or pre-release software, without needing the GPU vendor to step in. It can also be better for security, because open-source software can be audited, which is better (albeit how much better is up for debate) than just having a few eyes on it... if any at all.
As we reported a few months ago, AMD has been shifting their structure. Rather than two completely different code-bases, AMDGPU is an open-source driver, officially supported by AMD, that communicates with the Linux kernel. This chunk is compliant with the GPL, so it can be bundled with the operating system. Above this, a user space driver adds the various APIs, game-specific optimizations, and so forth. AMD calls this plug-in component AMD GPU-PRO.
This component has now been released for Ubuntu 16.04, which includes OpenGL 4.5, OpenCL 1.2, and Vulkan 1.0.
Open-source developers can create their own components, using the same AMDGPU hooks that AMD uses, and release those on their own. This is not a perfect solution, though. If, at any point, AMD disagrees with a necessary, proposed change, then the only way forward could be to fork the project, which AMD wouldn't support with their closed-source blob, leading to the previous situation. That said, AMD is putting a lot of effort into this, so it would stand to reason that they aren't intending to throw all of that away over a pull request.
Either way, you can get AMD GPU-PRO Beta from AMD's page for Ubuntu 16.04. SteamOS added AMD GPU-PRO with their 2.80 update last week.
Subject: General Tech | May 2, 2016 - 03:36 PM | Jeremy Hellstrom
Tagged: windows 10, microsoft, market share, linux
We've all seen the comments about how Windows 10 has finally convinced people to switch operating systems but today we have numbers which show that some may have been true to their word. According to Netmarketshare the marketshare of Windows on desktop machines has dropped below 90% for the first time. Mac OSX holds onto 3.96% of the market but the Other category is up to 8.59%, which is the category that represents the various flavours of Linux; it holds 1.56%, as well as other non-Microsoft OSes. It may not be the year of Linux but it certainly is not Microsoft's year. You can read the calm, rational discussion over at Slashdot on this topic, it is guaranteed to provide amusement.
"Windows 7 is still the king, but it no longer holds the majority. Nine months after Windows 10's release, Windows 7 has finally fallen below 50 percent market share and Windows XP has dropped into single digits. While this is good news for Microsoft, April was actually a poor month for Windows overall, which for the first time owned less than 90 percent of the market, according to the latest figures from Net Applications."
Here is some more Tech News from around the web:
- If the Internet of Things will be SOOO BIG why did Broadcom just quit the market? @ The Register
- Intel loses its ARM wrestling match, kicks out Atom mobe chips @ The Register
- Iron Man-Inspired ROG GT51 Gaming Desktop Revealed @ Tech ARP
- Linksys LGS116P 16-Port Business Desktop Gigabit PoE+ Switch Review @ NikKTech
- Has Mankind Gone Too Far With Drone Fishing? @ Hack a Day
- Must listen: We've found the real Bastard Operator From Hell @ The Register
Subject: Systems | April 5, 2016 - 01:25 PM | Jeremy Hellstrom
Tagged: compulab, airtop, passive cooling, linux, SFF
Phoronix has spent a bit of time with the CompuLab Airtop PC, a SFF machine with passive cooling and no moving parts. It sports decent components, an i7-5775C Broadwell processor, 16GB of RAM, 256GB ADATA SSD, and a GeForce GTX 950, with Linux Mint installed and support for just about any other flavour of that OS you might prefer. It also has a very impressive array of outputs on the back including dual LAN ports and antennae for wireless connectivity, two power connectors for redundancy and a plethora of USB 3.0, HDMI, DisplayPort and other ports. Check out this overview of the construction and a quick peek at the performance of this passively cooled machine.
"At the end of February I posted my initial hands-on with the passively-cooled Airtop PC that's been exciting many readers over its unique design and being Linux-friendly. As I hadn't written anymore about it in the past few weeks, some Phoronix readers had emailed me and tweeted, curious what the deal was and if it wasn't living up to expectations. That's not the case at all and the Airtop PC continues to exhibit great potential and is yet another solid offering from CompuLab."
Here are some more Systems articles from around the web:
Subject: General Tech | March 30, 2016 - 06:16 PM | Tim Verry
Tagged: ubuntu, linux, mediatek, SoC, arm, tablet
Canonical, the company behind the Ubuntu Linux operating system, is now offering up its first Ubuntu tablet with Spanish manufacturing partner BQ. The Aquaris M10 Ubuntu Edition is a 10-inch tablet powered by ARM and loaded with Ubuntu 15.04.
The tablet features an all black (or white) case with rounded edges and a matte back. Mobilegeeks managed to get hands on with the Android version of the Aquaris M10 which you can check out here. The internals are a bit different on the Ubuntu Edition, but the chassis and design remains the same. It measures 8.2mm thick and weighs in at 470 grams (1.03 pounds). The front is dominated by a 10.1” AHVA touchscreen display that comes in either 1280 x 800 or Full HD 1920 x 1080 resolution depending on the model. A capacitive home button sits below along with two 0.7W speakers while a 5MP webcam is positioned above the display. There is an 8MP rear camera, and the sides hold Micro HDMI, Micro USB, Micro SD, and 3.5mm audio ports.
The Aquaris M10 Ubuntu Edition is powered by a quad core MediaTek SoC with Mali-T720MP2 graphics, 2GB of RAM, and 16GB of eMMC storage (with approximately 10GB usable by end users) that can be expanded via Micro SD cards up to 64GB. The Full HD model uses the MediaTek MT8163A clocked at 1.5 GHz while the HD Aquaris M10 uses the slightly lower clocked MT8163B running at 1.3 GHz.
Wireless capabilities include 802.11n (dual band) Wi-Fi, Bluetooth 4.0, and GPS. It is powered by a 7,280 mAh Li-Po battery. BQ has pre-loaded the tablet with Ubuntu 15.04 which users will likely want to update once drivers are ready as it is End-of-Life.
The Aquaris M10 is available for pre-order now, with expected ship dates in early April. The HD Ubuntu Edition tablet is listed at €259.90 ($295) while the Full HD version will run you €299.90 ($340). Currently, the Full HD tablet comes in black and the HD tablet is all white. Both models come with a screen protector and case as a pre-order bonus.
It is interesting to see an official Ubuntu tablet, but I wonder if this is too little, too late for the open source OS. Canonical is positioning this as a daily driver that can be a tablet when you want to be mobile, a PC when propped up with a case and paired with wireless keyboard and mouse, and a media streamer when connecting it to the big screen with HDMI. I would expect performance to improve over time once the community gets a hold of it and starts tweaking it though the hardware is going to be a limiting factor. I want a Linux tablet to succeed, and hopefully this will open the door for higher end models. I don’t see myself jumping on this particular one though at this price.
Are you excited for the Ubuntu Edition M10?
Subject: Graphics Cards | March 24, 2016 - 02:04 PM | Jeremy Hellstrom
Tagged: Ubuntu 16.04, linux, vulkan, amd, nvidia
Last week AMD released a new GPU-PRO Beta driver stack and this Monday, NVIDIA released the 364.12 beta driver, both of which support Vulkan and meant that Phoronix had a lot of work to do. Up for testing were the GTX 950, 960, 970, 980, and 980 Ti as well as the R9 Fury, 290 and 285. Logically, they used the Talos Principal test, their results compare not only the cards but also the performance delta between OpenGL and Vulkan and finished up with several OpenGL benchmarks to see if there were any performance improvements from the new drivers. The results look good for Vulkan as it beats OpenGL across the board as you can see in the review.
"Thanks to AMD having released their new GPU-PRO "hybrid" Linux driver a few days ago, there is now Vulkan API support for Radeon GPU owners on Linux. This new AMD Linux driver holds much potential and the closed-source bits are now limited to user-space, among other benefits covered in dozens of Phoronix articles over recent months. With having this new driver in hand plus NVIDIA promoting their Vulkan support to the 364 Linux driver series, it's a great time for some benchmarking. Here are OpenGL and Vulkan atop Ubuntu 16.04 Linux for both AMD Radeon and NVIDIA GeForce graphics cards."
Here are some more Graphics Card articles from around the web:
Subject: General Tech | March 9, 2016 - 01:14 PM | Jeremy Hellstrom
Tagged: linux, Fedora, ubuntu, debian, CentOS, opensuse, Antergos, Sabayon, Void Linux, Zenwalk, KaOS, Clear, Alpine, Skylake
Phoronix have just wrapped up a marathon benchmarking session comparing 15 different flavours of Linux on a system with a Skylake based Xeon E3-1280 v5 and a MSI Radeon R7 370. They tested a long list of programs, from SQLite through OpenGL based games and multi-threaded ray-tracer benchmarks. They wrap up the reveiw with a table showing all the results in an easy to see format for you to reference when choosing your preferred Linux distro. If you know what tasks your machine will be assigned to, you can see which of these 15 distros will offer you the best performance, as not every Linux machine is used for the same purpose.
"Succeeding January's 10-way Linux distribution battle is now a 15-way Linux distribution comparison on an Intel Xeon "Skylake" system with Radeon R7 graphics. Distributions part of this Linux OS performance showdown include Fedora, Ubuntu, Debian, CentOS, OpenSUSE, Antergos, Sabayon, Void Linux, Zenwalk, KaOS, Clear Linux, and Alpine Linux."
Here is some more Tech News from around the web:
Subject: Graphics Cards | February 19, 2016 - 07:11 PM | Scott Michaud
Tagged: vulkan, linux
Update: Venn continued to benchmark and came across a few extra discoveries. For example, he disabled VDPAU and jumped to 89.6 FPS in OpenGL and 80.6 FPS in Vulkan. Basically, be sure to read the whole thread. It might be updated further even. Original post below (unless otherwise stated).
On Windows, the Vulkan patch of The Talos Principle leads to a net loss in performance, relative to DirectX 11. This is to be expected when a developer like Croteam optimizes their game for existing APIs, and tries to port all that work to a new, very different standard, with a single developer and three months of work. They explicitly state, multiple times, not to expect good performance.
Image Credit: Venn Stone of LinuxGameCast
On Linux, Venn Stone of LinuxGameCast found different results. With everything maxed out at 1080p, his OpenGL benchmark reports 38.2 FPS, while his Vulkan raises this to an average of 66.5 FPS. Granted, this was with an eight-core AMD FX-8150, which launched with the Bulldozer architecture back in 2011. It did not have the fastest single-threaded performance, falling behind even AMD's own Phenom II parts before it in that regard.
Still, this is a scenario that allowed the game to scale to Bulldozer's multiple cores and circumvent a lot of the driver overhead in OpenGL. It resulted in a 75% increase in performance, at least for people who pair a GeForce 980
Ti ((Update: The Ti was a typo. Venn uses a standard GeForce GTX 980.)) with an eight-core, Bulldozer CPU from 2011.
Caught Up to DirectX 12 in a Single Day
I'm not just talking about the specification. Members of the Khronos Group have also released compatible drivers, SDKs and tools to support them, conformance tests, and a proof-of-concept patch for Croteam's The Talos Principle. To reiterate, this is not a soft launch. The API, and its entire ecosystem, is out and ready for the public on Windows (at least 7+ at launch but a surprise Vista or XP announcement is technically possible) and several distributions of Linux. Google will provide an Android SDK in the near future.
I'm going to editorialize for the next two paragraphs. There was a concern that Vulkan would be too late. The thing is, as of today, Vulkan is now just as mature as DirectX 12. Of course, that could change at a moment's notice; we still don't know how the two APIs are being adopted behind the scenes. A few DirectX 12 titles are planned to launch in a few months, but no full, non-experimental, non-early access game currently exists. Each time I say this, someone links the Wikipedia list of DirectX 12 games. If you look at each entry, though, you'll see that all of them are either: early access, awaiting an unreleased DirectX 12 patch, or using a third-party engine (like Unreal Engine 4) that only list DirectX 12 as an experimental preview. No full, released, non-experimental DirectX 12 game exists today. Besides, if the latter counts, then you'll need to accept The Talos Principle's proof-of-concept patch, too.
But again, that could change. While today's launch speaks well to the Khronos Group and the API itself, it still needs to be adopted by third party engines, middleware, and software. These partners could, like the Khronos Group before today, be privately supporting Vulkan with the intent to flood out announcements; we won't know until they do... or don't. With the support of popular engines and frameworks, dependent software really just needs to enable it. This has not happened for DirectX 12 yet, and, now, there doesn't seem to be anything keeping it from happening for Vulkan at any moment. With the Game Developers Conference just a month away, we should soon find out.
But back to the announcement.
Vulkan-compatible drivers are launching today across multiple vendors and platforms, but I do not have a complete list. On Windows, I was told to expect drivers from NVIDIA for Windows 7, 8.x, 10 on Kepler and Maxwell GPUs. The standard is compatible with Fermi GPUs, but NVIDIA does not plan on supporting the API for those users due to its low market share. That said, they are paying attention to user feedback and they are not ruling it out, which probably means that they are keeping an open mind in case some piece of software gets popular and depends upon Vulkan. I have not heard from AMD or Intel about Vulkan drivers as of this writing, one way or the other. They could even arrive day one.
On Linux, NVIDIA, Intel, and Imagination Technologies have submitted conformant drivers.
Drivers alone do not make a hard launch, though. SDKs and tools have also arrived, including the LunarG SDK for Windows and Linux. LunarG is a company co-founded by Lens Owen, who had a previous graphics software company that was purchased by VMware. LunarG is backed by Valve, who also backed Vulkan in several other ways. The LunarG SDK helps developers validate their code, inspect what the API is doing, and otherwise debug. Even better, it is also open source, which means that the community can rapidly enhance it, even though it's in a releasable state as it is. RenderDoc,
the open-source graphics debugger by Crytek, will also add Vulkan support. ((Update (Feb 16 @ 12:39pm EST): Baldur Karlsson has just emailed me to let me know that it was a personal project at Crytek, not a Crytek project in general, and their GitHub page is much more up-to-date than the linked site.))
The major downside is that Vulkan (like Mantle and DX12) isn't simple.
These APIs are verbose and very different from previous ones, which requires more effort.
Image Credit: NVIDIA
There really isn't much to say about the Vulkan launch beyond this. What graphics APIs really try to accomplish is standardizing signals that enter and leave video cards, such that the GPUs know what to do with them. For the last two decades, we've settled on an arbitrary, single, global object that you attach buffers of data to, in specific formats, and call one of a half-dozen functions to send it.
Compute APIs, like CUDA and OpenCL, decided it was more efficient to handle queues, allowing the application to write commands and send them wherever they need to go. Multiple threads can write commands, and multiple accelerators (GPUs in our case) can be targeted individually. Vulkan, like Mantle and DirectX 12, takes this metaphor and adds graphics-specific instructions to it. Moreover, GPUs can schedule memory, compute, and graphics instructions at the same time, as long as the graphics task has leftover compute and memory resources, and / or the compute task has leftover memory resources.
This is not necessarily a “better” way to do graphics programming... it's different. That said, it has the potential to be much more efficient when dealing with lots of simple tasks that are sent from multiple CPU threads, especially to multiple GPUs (which currently require the driver to figure out how to convert draw calls into separate workloads -- leading to simplifications like mirrored memory and splitting workload by neighboring frames). Lots of tasks aligns well with video games, especially ones with lots of simple objects, like strategy games, shooters with lots of debris, or any game with large crowds of people. As it becomes ubiquitous, we'll see this bottleneck disappear and games will not need to be designed around these limitations. It might even be used for drawing with cross-platform 2D APIs, like Qt or even webpages, although those two examples (especially the Web) each have other, higher-priority bottlenecks. There are also other benefits to Vulkan.
The WebGL comparison is probably not as common knowledge as Khronos Group believes.
Still, Khronos Group was criticized when WebGL launched as "it was too tough for Web developers".
It didn't need to be easy. Frameworks arrived and simplified everything. It's now ubiquitous.
In fact, Adobe Animate CC (the successor to Flash Pro) is now a WebGL editor (experimentally).
Open platforms are required for this to become commonplace. Engines will probably target several APIs from their internal management APIs, but you can't target users who don't fit in any bucket. Vulkan brings this capability to basically any platform, as long as it has a compute-capable GPU and a driver developer who cares.
Thankfully, it arrived before any competitor established market share.
Subject: Graphics Cards | January 20, 2016 - 03:26 PM | Scott Michaud
Tagged: nvidia, linux, tesla, fermi, kepler, maxwell
It's nice to see long-term roundups every once in a while. They do not really provide useful information for someone looking to make a purchase, but they show how our industry is changing (or not). In this case, Phoronix tested twenty-seven NVIDIA GeForce cards across four architectures: Tesla, Fermi, Kepler, and Maxwell. In other words, from the GeForce 8 series all the way up to the GTX 980 Ti.
Image Credit: Phoronix
Nine years of advancements in ASIC design, with a doubling time-step of 18 months, should yield a 64-fold improvement. The number of transistors falls short, showing about a 12-fold improvement between the Titan X and the largest first-wave Tesla, although that means nothing for a fabless semiconductor designer. The main reason why I include this figure is to show the actual Moore's Law trend over this time span, but it also highlights the slowdown in process technology.
Performance per watt does depend on NVIDIA though, and the ratio between the GTX 980 Ti and the 8500 GT is about 72:1. While this is slightly better than the target 64:1 ratio, these parts are from very different locations in their respective product stacks. Swapping the 8500 GT for the following year's 9800 GTX, which leads to a comparison between top-of-the-line GPUs of their respective times, and you see a 6.2x improvement in performance per watt versus the GTX 980 Ti. On the other hand, that part was outstanding for its era.
I should note that each of these tests take place on Linux. It might not perfectly reflect the landscape on Windows, but again, it's interesting in its own right.
Subject: Graphics Cards, Processors | January 8, 2016 - 02:38 AM | Scott Michaud
Tagged: Intel, kaby lake, linux, mesa
Quick post about something that came to light over at Phoronix. Someone noticed that Intel published a handful of PCI device IDs for graphics processors to Mesa and libdrm. It will take a few months for graphics drivers to catch up, although this suggests that Kaby Lake will be releasing relatively soon.
It also gives us hints about what Kaby Lake will be. Of the published batch, there will be six tiers of performance: GT1 has five IDs, GT1.5 has three IDs, GT2 has six IDs, GT2F has one ID, GT3 has three IDs, and GT4 has four IDs. Adding them up, we see that Intel plans 22 GPU devices. The Phoronix post lists what those device IDs are, but that is probably not interesting for our readers. Whether some of those devices overlap in performance or numbering is unclear, but it would make sense given how few SKUs Intel usually provides. I have zero experience in GPU driver development.