Nvidia adds telemetry to latest drivers(majorgeeks.com) |
Nvidia adds telemetry to latest drivers(majorgeeks.com) |
Do you really want your software to be considered spyware?
Rather: by requiring the user to opt in.
However to not provide an opt-out is a slap in the face to those who know enough to care. And it is an increasingly common trend that is very concerning.
That said, having managed fleets of machines that were nominally running the "same" software, getting updates from all of them is a really powerful debugging tool. Once you get above about 1,000 machines logs comparison of all the machines immediately surfaces software issues (happens on all machines), connectivity issues (machines in a certain area), bad machines (unique problem signature), and environmental issues (time of day correlation with other things like power/temp/humidity/etc).
And that gives you a bit more courage to release things early because you'll see problems faster and can fix them.
So with a typical roll-out of 10% of the population followed by an additional 15% followed by the rest, you can catch a lot of errors and 75% of your population sees a really good experience (and in web services where 66% of the populations the minimum requirement for delivering rated service you can often get close to 100% uptime).
Does that justify their action? No. But since you really don't need everybody to participate to get the benefit I could see a path where you opt in for early access to drivers which requires the telmetry, and people who are ok waiting for the driver to be clean in the 'canary' population get a driver without telemetry.
Remember that it's not just games, but your web browser, media players and anything that might use hardware acceleration runs through these drivers, which then reports back to nVidia. Plus, all telemetry data is unencrypted during transmission.
On the plus side, it looks like this is only transmitted back to the mothership if you're running GeForce Experience, which I don't think is even available on Linux.
The engineering feature is designed with pure intentions, keep crap out of the results stream, but the mechanism is amoral. If you're executive team wants to exploit it for more money so that the company does better financially, your options are limited as an engineer.
And that gives you a bit more courage to release things
early because you'll see problems faster and can fix them.
I gotta say, if the major benefit of telemetry is that vendors can test less before they release, that sounds like a bad thing not a good thing for users?Testing less means they can release sooner.
Here is a bad example. New game comes out. Graphical driver glitch crash. Typically would take 2 weeks to get to public as whole. Now with this they can release in 2 days to 10% fix up and release to whole by end of first week. So 90% of population got a fix sooner(1 week) And some percentage of the 10% may have had some annoyances. Sucks for them. But if they roll out in a way that minimizes this. It'd be beneficial to all overall.
--
Here is my email:
Dear Nvidia,
I have been a life-long supporter since I was in college (14 years). I have recommended your products to many friends and purchased more than 15 of your graphics cards for my own computers. I build servers and run a cloud storage business. My friends and family look to me for advice on their own purchases. I am your target market - a technology leader that makes recommendations to others.
I have been extremely satisfied with your product for a long time and would like to be able to recommend your "issue-free" products to my friends, family, and associates. I'm a big fan of Nvidia.
-- Unfortunately, you have recently enabled telemetry reports (https://news.ycombinator.com/item?id=12884762), and I will be less willing to recommend your product, opting for an AMD solution, or on-board solutions.
-- To resolve this issue, please:
1: Please use opt-in defaults instead of opt-out defaults for privacy-sensitive reports2: Make a blog post publishing your public policy on prioritizing user privacy over other priorities.
--
On a more general note, privacy issues will be an increasingly important consideration for technology leaders before making recommendations. Microsoft made a mistake integrating privacy-invasive telemetry into Windows 10. Please don't make the same mistake. Nvidia needs leaders that will prioritize user privacy over other market concerns.
Thank you,
David
Shouldn't be a problem anymore under Linux as most distros today install Nouveau drivers by default. https://nouveau.freedesktop.org/wiki/
[1] https://technet.microsoft.com/en-us/sysinternals/bb963902.as...
There is an exception though - since Windows 10's enforced telemetry, I have turned off all of the telemetry for all of their software across the board. Until they start to conduct themselves respectably again, they can do without my drop in their ocean.
Hopefully Zen can complete at least at the $200 price point with Intel.
I don't think anybody is suggesting at this point we ditch automatic updates -- the consensus seems to be they fix more problems than they cause. So this is going to remain a problem.
The bloat is endemic to hardware companies. Is there some law of nature that says if you primarily build peripherals then you write terrible software?
It is not enough to focus on the telemetry giant corporations like NVIDIA or Microsoft while forgetting about all the P2P software being installed by game's vendors and "telemetry" of software smaller vendors.
On big computers/pcs the default mode makes the user give up too much control _forever_ once the software its has been installed. Most software only need to be doing anything when your actually using it.
What we need is not opt-in checkboxes from vendors, what we need is the operating-system level software to be better -> where our explicit permission is needed to "allow" some kind of activity like transmitting over the network or detecting my location.
Do recent drivers always include the latter? How do I check for them? Are they kernel modules?
In my case, all the nvidia drivers I see loaded are:
$ lsmod | grep nv
nvidia_drm 20480 1
drm 294912 3 nvidia_drm
nvidia_uvm 704512 0
nvidia_modeset 770048 3 nvidia_drm
nvidia 11866112 42 nvidia_modeset,nvidia_uvm @ECHO OFF
setLocal EnableDelayedExpansion
rem nvup.bat, a quick & dirty driver downloader since GeForce Experience requires a login.
rem In a folder with write permissions, drop the script and its two dependencies:
rem - jq: https://stedolan.github.io/jq/
rem - curl: https://curl.haxx.se/
rem For automation, just create a Scheduled Task that runs when you want it (I like on Resume).
rem Reuse / modify / redistribute at will.
rem http://stackoverflow.com/questions/19131029/how-to-get-date-in-bat-file
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo lastCheck: "%fullstamp%" > lastCheck.log
rem to get the update feed for your device/OS combo, go to http://www.geforce.com/drivers
rem , pick your device/os, pop the "Network" tab of your devtools, start the driver search,
rem and copy the url
curl --silent -o rawNv.json "http://www.geforce.com/proxy?..."
for /f "delims=" %%i in ('jq ".IDS[0].downloadInfo.DownloadURL" rawNv.json') do set lastUrl=%%i
set /p installedUrl=< installedUrl.txt
if %installedUrl%==%lastUrl% (
echo same version, quitting
exit /B
) else (
echo new version, updating
echo %lastUrl% > installedUrl.txt
pushd C:\Users\YOURUSERNAME\Downloads
%~dp0\curl -O %lastUrl%
popd
rem http://stackoverflow.com/questions/774175/show-a-popup-message-box-from-a-windows-batch-file
mshta "javascript:alert('New driver');close()"
) $URI = 'http://www.geforce.com/proxy?proxy_url=http%3A%2F%2Fgfwsl.geforce.com%2Fservices_toolkit%2Fservices%2Fcom%2Fnvidia%2Fservices%2FAjaxDriverService.php%3Ffunc%3DDriverManualLookup%26psid%3D101%26pfid%3D815%26osID%3D57%26languageCode%3D1078%26beta%3D0%26isWHQL%3D1%26dltype%3D-1%26sort1%3D0%26numberOfResults%3D10'
$Download = (Invoke-WebRequest $URI | ConvertFrom-Json | Select -ExpandProperty IDS)[0].downloadInfo.DownloadURL
# Installed driver version (21.21.13.7570) > NVIDIA driver version (375.70)
[Version]$Driver = (Get-WmiObject Win32_PnPSignedDriver | Select DeviceName, DriverVersion, Manufacturer | Where { $_.Manufacturer -eq "NVIDIA" -and $_.DeviceName -like "*GeForce GTX*" }).DriverVersion
[Version]$CurrentDriver = ("{0}{1}" -f $Driver.Build,$Driver.Revision).Substring(1).Insert(3,'.')
# Latest driver on NVIDIA's website
[Version]$LatestDriver = ([System.Uri]$Download).Segments[-2].Trim('/')
If ($CurrentDriver -lt $LatestDriver) {
Write-Output "New driver available"
Start-BitsTransfer -Source $Download -Destination "$env:USERPROFILE\Downloads"
(New-Object -ComObject WScript.Shell).Popup("New NVIDIA driver downloaded",0,"Update")
} Else {
Write-Output "Same version. Nothing to download"
}
Improvements welcome. :)Thank you for sharing your work with us!
There are some older versions of nvidea experience floating around that still work with shadowplay without the login.
Uninstalled. Never to be reinstalled.
AMD will be my next card. Thanks nVidia for letting me know what you think of me :)
Then Ubuntu 16.04 comes out, and guess what? No fglrx driver support any more [2] and users report the open source drivers use about a core and a half worth of CPU, slowing down their entire machines. Apparently our only options are to buy new cards or stay on 14.04 indefinitely.
Meanwhile, I had an nVidia card and I was able to upgrade to 16.04 with no problems at all.
This week you might have resolved not to buy from nVidia - but in the same week I've resolved not to buy from ATI.
[1] https://certification.ubuntu.com/hardware/201302-12679/ [2] http://www.omgubuntu.co.uk/2016/03/ubuntu-drops-amd-catalyst...
And if you think nVidia treats customers/users badly, just watch AMD's treatment of Apple hardware. They added artificial blocks preventing the "normal" driver from installing there (even though it is fully functional) and you have to use a special Bootcamp driver, which is incredibly outdated and buggy as hell in modern games. Their support is about as useful as you expect in a big corporation, and then some. It's so bad that enthusiasts are re-packaging AMD's drivers to have something: https://www.mxdriver.com
No harm, no foul, probably time to give AMD cards a chance. Variety is the spice of life and the spice must flow.
As much as I'd love true competition in the GPU/CPU space, it doesn't exist. AMD's cards simply cannot compete with Nvidia for GPGPU type scenarios, and even in its basic capacity, often have known heat/perf issues. Now that may be worth it for now to make a statement against the telemetry, but what if (less if and more when IMO) AMD then adds driver telemetry? And then intel?
These domains (Chip manufacture/GPU driver writing) are so advanced at this point that I don't see how competition could reasonably disrupt an incumbent over anything less than a samsung-grade failure (and even then probably not), and I'm concerned about the long-term wherein the producers realize this and through a combination of boiling the frog slowly and leaving consumers no other choices put themselves in the position to have a "pragmatic monopoly" of free reign over our machines. (I've always wondered what would happen from an antitrust sense, if it's "we're the only producer not because we WANT to but because we're the only ones who CAN")
We've certainly seen it happening with OSes, as well as some attempts from PC oems, I've always unfortunately thought it was just a matter of time until the more irreplaceable components got into the game too and I'd love some creative thoughts to actually stop the trend and not stand in its way, because I'm not sure we'll win that latter battle.
EDIT: as a child post points out, I completely forgot to mention drivers as well; as a strong argument to my "we don't have many options" thesis. AMD's linux support has been historically lacking next to NVIDIA which makes it a non starter in many cases.
I don't know about others, but I approach that stuff with the attitude of "I can't expect change if I just swear at my monitor", but stop short of actually expecting change
For now I have shadowplay set up correctly, but any changes aren't gonna be happening it seems.
Way to go Nvidia.. uninstalling your non-driver app crashes games :)
That's a weird edge case to support. After all, the app in question is responsible for recording in game video thus implying some kind of dependency.
There's a youtube video I fail to find where a nvidia driver engineer explains how many games are terribly broken, failing to respect OpenGL/DirectX basics. Drivers hand-patch that, just like Microsoft hand-patch Windows for specific games "because compatibility" [1].
Maybe true historically - but in recent years publishers have figured out a formula to subvert criticism (review embargos, sponsored reviews, reddit astroturfing). There's no action after the complaining, it's all bark, they still buy the game, little bit of heat on reddit/twitter but then you still set sales records. See The Division, No Man's Sky.
Why would I want to use this Exprience thing anyway? It's crapware, right?
As for telemetry - as long as software only sends reasonable things (feature usage etc) and uses reasonable bandwidth, I'm completely fine. I honestly don't even mind if programs do it without asking and I think all apps should have feature statistics telemetry to be able to cut (or make more discoverable) features no one uses.
I use it for NVIDIA Share. It's my understanding that GPU-based alternatives can't compete because NVIDIA won't give them access to NVFBC and NVIFR. The creator of RivaTuner goes into more detail here:
http://forums.guru3d.com/showpost.php?p=4687310&postcount=61
It is equivalent to installing spyware.
These are GPU drivers. It's not at all unreasonable that there may be something sensitive shown on the screen when a crash occurs. It might not even be shown on the screen but still present in GPU memory:
https://news.ycombinator.com/item?id=10873059
I would not be surprised if the telemetry included some parts of GPU state which could contain sensitive data.
It's not terribly secret, now was it? It was... you know... immediately discovered and I'm pretty sure my driver changelog AND firewall asked about it.
> These are GPU drivers. It's not at all unreasonable that there may be something sensitive shown on the screen when a crash occurs.
Pardon me, could you please explain exactly what in the telemetry or common crash logs might reflect "sensitive" information? You seem to me like you're arguing from some sort of grand final consequence, "Well I assume there is sensitive data here!" And while perhaps that's not an unreasonable default policy to take, you might want to state it as such rather than implying (as you have) that it's been observed already.
In general, telemetry doesn't include bulk memory dumps. The technology for collection strongly discourages this, as the endpoints collecting standard telemetry need to run at the scale of your customer base. I'd be much more concerned about sharing log dumps if you've filled your framebuffers with confidential information.
So as far as things go now what happens is, new game is released, players with card X and configuration Y N P and Z complain about driver crashes over reddit/forums, NVIDIA/AMD picks up on it and then starts to try to figure what the hell is going on. Usually some initial mitigating actions would be released within a few days, and within a week to a month a full driver update will be released.
While this isn't the end of the world, it's annoying that you have issues that prevent you from enjoying a game that you paid 60$ for on a system that you likely paid at least 1000$ if not 3-4 times that.
https://www.reddit.com/r/linux_gaming/comments/5bcppp/nvidia...
Evidently it does not handle getting the rug pulled from under itself well. :)
So I have a few questions to you or knowledgeable PS-passersby:
1. Any recommendations to get started with PowerShell? Good documentation, tooling, linters, useful packages?
2. Are there remaining cases where it's impossible or unreasonable to use PowerShell rather than Batch or VBScript?
3. PS runs on Win≥XP, right? How does the language evolve / is it versioned? If so, which version should I target?
1a. with powershell as an administrator run `Update-Help` That's all the help for the commands installed and up to date from online. Get-help <command> and don't forget to use wildcards `get-help get-*` will show every single get command you can run. Get-Verb will show what you should expect things to be called. `Get-module -listAvailable` worth looking at too. Tab complete is your friend.
1b. This and the advenced one are great although quite slow; https://mva.microsoft.com/en-us/training-courses/getting-sta...
2. No? Maybe stuff that's already fine or where working out the signing policy is a hassle.
3. Powershell is wrapped into the "Windows Management Framework" you can install. WMF 5 has PS 5, can install down to Windows 7. 7 shipped with PS 2.0 where you could write cmdlets in powershell itself, before that you had to use C++ and visual studio. PS3.0 is the minimum it's really pleasant to use but 2.0 support isn't crazy.
2. Not really. Worst case, you can batch & co.
3. Probably v2.
I know Logitech's software also makes network calls but I never bothered looking what it is, I just block everything. At least it doesn't ask for a login, it can save locally or in the on-board memory.
It's replay buffer where you start the replay buffer and it will keep the last n seconds of footage in a buffer. You set a keybind to save that buffer to file.
https://obsproject.com/forum/resources/obs-classic-how-to-us...
Ubuntu 16.04 does ship with a pretty old version of Mesa (full major version behind, about to be 2 major verions as Mesa 13 is in the RC stage) which probably isn't helping matters. Unfortunately, while there are some PPAs that make it fairly easy to install a bleeding edge build, there's not really a convenient way to install the latest stable release.
For some context, the reason fglrx/Catalyst has not been updated is due to an in progress driver transition for AMD cards on Linux. Generally speaking, Linux video drivers are split into a kernel part and a user space part. For quite some time, AMD has maintained two completely separate driver stacks on Linux. For the user space side, this didn't represent a huge amount of duplication of effort as most of the code is shared with the OpenGL portion of their Windows driver, but for the kernel side it was a bunch of wasted effort. A while back, they started on a new open source kernel driver, called amdgpu, that could provide the necessary facilities for both their open source and proprietary driver efforts. The new proprietary driver (AMDGPU-Pro) targets this kernel module. Unfortunately, amdgpu does not have production-ready support for GCN 1.0 GPUs like the 8570. This will get fixed eventually, but that doesn't really help you now.
[1] https://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-G...
I honestly don't care about this, these threads always attract those who value privacy above all else and believe that every should play on their terms. Most people do not care, and as an engineer I see extreme value in providing this data. This isn't to say that there aren't dark patterns being used here(the acceptance language is hidden in the EULA), but there is a simple work around...don't use GeForce Experience. Manually download the drivers from Nvida's website. In addition to there being a complete go around, I also use G-sync for my games which is superior technology to Freesync, so there is basically no chance that I'm leaving the Nvidia ecosystem unless they did something truly harmful to me.
After huge annoyance with required login in GeForce, this story will 100% convince me to uninstall it and check updates manually.
I know with my old Nvidia drivers, you can add extra icons for window management to every window (move to next monitor, etc). Would this be using DLL injection?
Might just try experience 2.x which is still around. I don't mind telemetry I do mind s mandatory Facebook login...
Seems to me getting the poorly tested drivers earlier isn't much of a deal for users. After all, just because I'm in the 99.9% this week, doesn't mean I will be next week.
Hardware-related problems are so fucking hard to debug in a lab. Many of the issues i've dealt with in the past only show up with pretty esoteric hardware mixtures, or are so specific that i'd be surprised if more than one person has that exact config on the planet.
A test lab might be able to get maybe a hundred different configurations. But in the wild, something like 60% of our users are on unique hardware configurations (as in nobody else has that exact set of hardware among our users).
Telemetry is pretty much the only real way you are going to be able to support a wide range of hardware when you start interacting with it on the lower levels, because buying and assembling all the different configurations is all but impossible, even if you prioritised it.
They could have implemented telemetry without requiring you to link your graphics card to your email or Facebook account, as GeForce Experience never required that in the past and still worked fine.
This isn't execs using innocuous data that the good engineers simply happened to have. This is new and specific personal data collection and association of information that they have no business collecting, except for the sole purpose of invading their users' privacy for side profits.
Man, that sounds like a breach of Magnusson-Moss, and anti-competitive at that.
You see, there's no way for users to know what data is being collected and sent today, or what they might change and decide to collect tomorrow.
What if government wants access to this data? What if some hacker gets access to the data or their methods of collecting it (MitM)?
As such, they need to prove we can trust them before we accept this at face value. They have not done so.
This is ultimately a trust relationship with your vendor. There is nothing they can do but be trustworthy.
Don't say, "open sourcing." Open sourcing code doesn't assert much of anything about the binaries you have running. sourceless propagating binary behavior is 30 year old technology.
Also: crash reports should be accepted individually and not part of "telemetry" (anonymous usage and hw/os stats).
GFE requires a separate installation and for you to signup and login.
This isn't a service required for you to get GPU drivers.
The only thing you lose is NVIDIA's screen capture software and game optimization (and some deals sometimes).
You can still use your card to the fullest without it.
Source: I have the latest drivers and don't have GFE, the telemetry software is part of the update core which is currently installed with GFE.
I would actually probably use that.
Meanwhile, AMD are active contributors to Mesa and DRM, which benefits everyone.
The "experience" app is just superfluous bullshit.
Anyway, everything is shit ;)
It's especially nice compared to normal H.264, and has the option of light compression with nominal CPU usage if you don't like large lossless files. It outputs normal MP4/H.264 files that I can then work with in Linux (as opposed to say Fraps) but uses the fact your GPU is already rendering the scene to then output it in H.264.
Anyone who ever worked on a crash report system knows that opt-in rates are below 10% even for corporate clients. Heck if you are lucky you get single digit % figures on "send this report" even if the checkbox is ticked by default, the vast majority of people just hit cancel.
The stats are actually pretty darn interesting, especially for image quality vs fps I had a chance to speak to a few reps from NVIDIA once and they told me that as much as PC players bitch and moan about 60fps vsync the vast majority of them would push settings at the expense of smooth(er) framerates even if they have no to very little effect on image quality.
Giving even the slightest incentive to send data brings those numbers up extensively even if what you get is meaningless.
Basically humans need a reason to tick a box.
This is why this is under GFE which gives you value added services.
CUDA only exists because Nvidia is attempting to pretend OpenCL, Vulkan, and DX12 don't exist [1]. These require hardware scheduling on the GPU to switch shaders. Rather then dedicated X amount of chip hardware to Y shader for Z ms.
It should be noted for GPGPU compute Nvidia is not the correct choice. AMD RX 480 has 5.8TFLOPS @$200 ($37/TFLOP) vs Nvidia GTX1080 8.9TFLOPS @$600 ($67/TFLOP). In reality you should be doing GPU programming in OpenCL so you are GPU agnostic. You can switch vendors or platforms seamlessly (in most cases if you avoid proprietary extensions) even target AMD64, ARM, and POWER8/9 hardware.
That being said I own a boat load of Nvidia stock because their marketing is excellent. Really marketing is all 80% of people pay attention too. CUDA has some great marketing around it. In reality CUDA is slower then OpenCL (on Nvidia's platforms even) and no easier to work in.
Let's hope it gets picked up by machine learning frameworks etc., because this market badly needs the competition, as your comparison of per-dollar raw performance numbers shows.
But I'm curious in how the FLOPS on these cards were measured. For example one concern I have is that presumably these two cards have slightly different levels of parallelism. So it may be more or less difficult to extract the full performance from a particular card due to parallelism overhead. Then there's driver overhead, ease of programming, etc.
Sample applies to integer math, long double math and so on.
Any info ever collected by no-permissions-asked telemetry must be such that it doesn't matter who has the information or what they do with it. If it isn't information of that kind then of course a program should ask permission. But that in my view isn't "telemetry" then. If it collects anything even remotely user-identifying or personal then it's in my definition not telemetry and should never be done without permission (if at all).
If a program really is malicious, then it doesn't matter if it asks for permission because why would that wouldn't respect the users wish anyway?
My argument wasn't pro/against telemetry, it was that asking permission doesn't change anything. Permission isn't what tells malicious programs from others. A benign program doesn't do things that needs permission to begin with.
It is not Nvidia's job to prop up the desktop linux ecosystem. It's wise not to invest time in that ecosystem, as far as I can tell. It's got an ongoing history of disappointing its customers and vendors over and over. And we get good enough computational support ever business or individual out there, Nvidia GPUs are still preferred for clustering.
> I will avoid Nvida like the plague till the day I die.
The way you talk makes it sound like it's a religious or political debate. You're mad that they don't support your demagogue or your shared values. Isn't Hacker News a place where we're supposed to keep politics at bay and focus on the technology?
NVIDIA released Linux drivers hand in hand with their Windows based ones, you get at least one update every month.
So while it's true that you can't have a completely open source driver for NVIDIA you do have excellent Linux drivers.
On the compute side NVIDIA's support for Linux is also unmatched, in fact for many things CUDA actually works better on Linux than on Windows.
But that won't stop me from trying to fairly apply the policy to the free software people who are utterly convinced that serving their agenda is a net good rather than a lifestyle choice.
F * (1/Hz) * 2 = FLOPS
Where F is # of FPU front ends (SIMD and scalar). This is wrong because scalar math often is slower then SIMD, and compute kernels rarely run on the scalar pipeline.Where Hz is the well.. the clock rate, inverse to get cycles per second. This is wrong because stalls happen, memory transfers, cache misses etc. It is also wrong because the clock rate is throttled and you are not always at Maximum boost clock.
Then multiply by 2 for FMA (fused multiply add). This is wrong because well not every operation is a one cycle FMA. Division can be many (>100). Also scalar pipelines don't have FMA.
Ultimately all vendors use the same crappy calculation so we are comparing apples to apples. Just rotten apples to rotten apples. It gives you a good ideal circumstance you can optimize towards but never actually attain.
That is not true, beta drivers require the login. They are often needed for new games to run without crashing, or bad performance.
This looks bad, it smells bad and it probably is just bad for the customer. The person that has already payed for the damn product and not for whatever happens in the background and I have to look up first somewhere on the internet...This behaviour towards customers is disgusting and I really hope it'll backfire in a spectacular way one day.
Really? Which brand of GPU pretty much ran Bitcoin during its inception, again?
Edit: read a sister post later article on the breakdown of the perf differences, and it seems to slightly affirm what I'm saying (re: bitcoin aligning with a functionality AMD performed very strongly in), although I'll admit to have only skimmed it.
I will say though, even despite this, it doesn't address the known heat/power issues even the "heyday" amd cards seemed to suffer from and that were still present when I was comparing them while looking at a 1070 recently.
EDIT: since I can't edit my original post any more, I'd note here that I didn't intend to turn this into a NVIDIA/AMD debate, even if we ignore that for a moment and consider it a duopoly situation instead of monoply, I'd ask readers to consider my core point in that light.
https://streamcomputing.eu/blog/2016-05-06/noticeable-proces...
So I think there's a very clear reason for that specific case.
You can do most any computation on any GPU with the right SDK support (and of course, the CPU hasn't gone anywhere). It's just fantastically less efficient.
I'm worried about the semiconductor industry in general as well, there is a lot of concentration currently all over the place, not sure where it's going to stop, and at some degree competition is going to become less fierce, you don't need to get to a monopoly but an oligopoly is likely and will lead to tacit agreement on market separation and price fixing as in the telecom industry.
As for drivers, AMD has pledged to open source their Vulkan and OpenCL implementations. While that release has been pending "legal review" forever now, alternative open source drivers are making great progress thanks to Vulkan's simpler driver model. While NVidia's generally had the "better" driver, both from adhering less strictly to the spec and having the manpower to routinely fix application bugs in their driver, that's all changed with Vulkan/DX12 being significantly closer to the hardware.
I'd say things are looking up for market balance.
I'm not very generous with my data at all - but I'd rather trust my firewall to protect my data, than a dialog that asks me if I'm OK with sharing it. That was my point.
Says who? You? Facebook? Microsoft? Google? You don't see the inherent conflict of benefiting from that position and declaring it, unilaterally, it to be so?
How many people do you think would be comfortable, and explicitly approve the kinds of "opt out" data collection that goes on, if you gave them the true extent of how that data can be/is used along with the impacts of it?
Frankly, fuck the attitude that you, or any other developer knows more than me, and decides that i "Just cannot be bothered", especially when its to their (often considerable) benefit.
I think you just answered your own question. "Says" the plurality or even majority of the human population who use services from the companies you just listed, despite constantly being under scrutiny for privacy concerns.
If you make $thing opt in, most people will not do $thing, regardless of what $thing is. Defaults matter.
[1]: https://news.ycombinator.com/item?id=11566720
[2]: https://github.com/Homebrew/brew/blob/master/docs/Analytics....
You've either missed the last decade of privacy-related discussions or you're playing for team spyware yourself.
Companies like Google have billions, lawyers lobbyists, sociologists and every bloody specialist working for them to suck all information out of everybody and there's always some clueless person jumping to their defense with some pointlessly pedantic arguments. Because we don't want to be unfair towards Google or nvidia.
AMD RX 480 has 5.8TFLOPS @$200 ($37/TFLOP) @231Watt Peak (2.5GFLOPS/Watt)
Nvidia GTX1080 8.9TFLOPS @$600 ($67/TFLOP) @318Watt Peak (2.8GFLOPS/Watt)
See Furmark benchmark for wattage values [1]
Typical KW-H in the US $0.12KW-H [2]. So the delta-cost of GTX1080 vs RX480 will be mitigated by GFLOPS/Watt efficiency savings in 4 years, 4 months. Which on a typical 2, 3, or even 4 year hardware replacement cycle the extra cost will NEVER be re-couped.
[1] http://www.anandtech.com/show/10325/the-nvidia-geforce-gtx-1... for load wattage numbers
[2] http://www.npr.org/sections/money/2011/10/27/141766341/the-p...
and
and use Postbox as my mail client. All great so far and only costs a few £'s a month. Probably less than lunch for a day or two.
There is still problem with switchable GPUs: namely those, where one GPU is using Mesa and the other is not (i.e. Nvidia). Those computers didn't disappear for the face of the Earth, people are still using it and expect it to work, even if there are never laptops available on the market. It is being worked on (https://blogs.gnome.org/uraeus/2016/11/01/discrete-graphics-...).
Do you have a source for this? In any case, just because some hardware has been recently phased out doesn't mean the manufacturer shouldn't be expected to support it. Not everyone has enough money to buy a new computer every year; I'm a student with an Optimus laptop and I know I won't be able to afford a replacement in the next year or two.
If NVIDIA can't be asked to fully support their hardware on Linux, the least they can do is release some documentation so the Nouveau devs don't need to grope in the dark.
I don't disagree in principle, but they've killed it, releasing information to make it work might be a problem for them, and since this thing is no longer supported adding compatibility for older devices isn't a high priority for them.
It worked poorly on many windows machine, it's effectively still doesn't work on Windows 10 [0] and it's been effectively killed since 2014.
[0]https://forums.geforce.com/default/topic/860554/geforce-mobi...
It's also worth noting that NVIDIA couldn't get the darn thing to work on Linux, it's also worth noting that AMD also had/has similar issues with PowerXpress on non-Iris based Intel CPUs, it does somewhat work well on AMD's own CPU's with integrated graphics and it's more modern "APUs".
>Do you have a source for this?
Source for what? under Iris Intel the CPU handles the switching between GPUs not that it works that well, but it doesn't work well on most OSs other than windows mostly due to how the display driver infrastructure is setup and how the composition manager works (even on OSX you still likely to want to use gpu-switch than rely on the OS).
If you want to blame some one blame the OS tbh, if OSX and Linux had proper user mode display drivers like WDDM, had modern display drivers like WDDM and actually had a composition manager capable of using multiple GPUs then there might be better solutions for this.
But overall it works, it does require you to use the proprietary drivers from both NVIDIA and Intel but it works, at least on Ubuntu I never had issues with following a similar guide to this http://ubuntuhandbook.org/index.php/2016/04/switch-intel-nvi... (reading the comments on that guide it seems that it missing an important part which is apt-get install nvidia-prime) So this just works...
To switch between the 2 on demand you can simply use these commands:
-prime-select intel
-prime-select nvidia
On other distros (or if you are not using nvidia-prime) you might need to use /proc/acpi/bbswitch And modprobe/rmmod to do the switching, there are bash scripts online ready to use which are available as long as you have the proper drivers installed.
P.S. Sorta OT but relevant: http://i.imgur.com/Ql1dsZC.jpg
Also it looks like PRIME supports synchronization now if you have a distro with DRM support (no not the bad kind ;) https://devtalk.nvidia.com/default/topic/957814/prime-and-pr... so if you are using their currently suggested setup you don't need to switch manually anymore.
This is much more expensive than hardware implementation of Nvidia Optimus.
It's more expensive on Linux because the DRM on Linux is broken, there is no longer "Optimus" since NVIDIA no longer uses a dedicated chip, you share a frame buffer with the IGP.
PRIME also supports the older Optimus chip laptops, but again this doesn't work that well, but then again these don't work well with Windows 10 either due to the changes to WDDM.
Intel doesn't supports GPU switching on its MESA drivers it requires the proprietary one.
Get the prop nvidia and intel drivers and get nvidia prime and you are golden.
Same issue with AMD GPUs with intel CPUs especially the PowerXpress ones.
They do have a binary firmware, for Broxton and newer, however that's a thing that runs on the GPU. It does not have anything with how Mesa or other OpenGL stack shares buffers and video output devices.
Pick a random person on the street and ask them, you need to understand that by enlarge simply by knowing about this site you are already part of a tiny subculture of of the general population, and most likely living in a walled garden as far as your social connections goes.
People don't opt in, but they don't care about their privacy just look at the amount of people that would sign up for a mailing list/club benefits at a store they'll only visit maybe once in their life for a 5-10$ worth of discount that they'll never lose - for that they'll be willing to give up a whole lot more of personal information that GA or NVIDIA GFE collects.
This doesn't excuses the practices, it's just the reality we live in.
That's why there are laws which by default protect those people from the maliciousness, greed or incompetence of companies. And why the US needs strong privacy laws.
The fact that the masses don't understand something is irrelevant.
FYI Same goes for Real Time, The Daily Show, and the Colbert Report.... You are literally preaching to the choir....
You don't seem to understand that being reasonable, impartial and giving companies the benefit of doubt doesn't work when you are a mere flea opposing gigantic conglomerates.
Privacy is very simple. The person's data should be controlled by that person: they should know what data is stored on them, should be able to correct it if wrong or ask for it to be deleted. Any kind of data transmission should be opt-in.
Anything else is bullshit and goes against the interests of the customer. If not at the beginning, when they inevitably decide to monetize that data.