Slashdot Mirror


Nvidia Engineer Asks How the Company Can Improve Linux Support

sfcrazy writes "It seems that recent comments made by Linus Torvalds have made the people at NVIDIA take Linux more seriously. Recently Nvidia employee Stephen Warren asked in the Kernel Summit mailing list what could be done differently to make Linux support better. 'In a Google+ comment, Linus noted that we have mainly been contributing patches for Tegra SoC infra-structure details. I'm curious what other areas people might expect me/NVIDIA to contribute to. I assume the issue is mainly the lack of open support for the graphics-related parts of our HW, but perhaps there's some expectation that we'd also start helping out some core area of the kernel too? Would that kind of thing help our image even if we didn't open up our HW?'"

28 of 581 comments (clear)

  1. Ugh, this makes me mad. by intellitech · · Score: 5, Insightful

    [...] we'd also start helping out some core area of the kernel too? Would that kind of thing help our image even if we didn't open up our HW?

    You seem to care more about NVIDIA's image than about what the Linux community actually needs.

    I truly don't understand what the big deal is. Just open up your damn specifications already.

    --
    vos nescitis quicquam, nec cogitatis quia expedit nobis ut unus moriatur homo pro populo et non tota gens pereat.
    1. Re:Ugh, this makes me mad. by ethan961 · · Score: 5, Insightful

      If this engineer knows that will never happen (through no fault of his own, higher-ups would have decided this) then at least he's making an effort. People can get upset all they want, but nothing other than good is going to come out of this, whether it's exactly what would be ideal or not. Some help is better than none.

    2. Re:Ugh, this makes me mad. by FridayBob · · Score: 5, Informative

      ... Some help is better than none.

      Okay, so how about pointing him in the direction of the nouveau project? Even if his company refuses to share the full API, just a few hints here and there could make an enormous difference.

    3. Re:Ugh, this makes me mad. by SwashbucklingCowboy · · Score: 5, Insightful

      "You seem to care more about NVIDIA's image than about what the Linux community actually needs."

      Of course they do. Why in the world would this surprise you? It's a public, for-profit company. The vast majority of contributions to open source by companies are not done out of altruism. They're done out of self-interest.

      "I truly don't understand what the big deal is. Just open up your damn specifications already."

      There's probably something in how they do things that they think (rightly or wrongly) that gives them an advantage over their competition that either isn't patented or can't be patented (or maybe violates someone else's patents).

    4. Re:Ugh, this makes me mad. by Sir_Sri · · Score: 5, Insightful

      Or would give away something about how their hardware, or hardware development works that they don't want anyone to know too much about. Or at least not to wave around in public. I'm sure AMD know, enough staff move back and forth, but some random chinese hardware maker, that I'd be worried about.

      Remember nVIDIA sells it's 'first silicon' runs, they don't usually prototype, they do simulations first, and from the simulations that are used to design the hardware they go straight to manufacturing. It's possible some of their driver support would have some hooks (or parts) of their simulation tools in it that they don't really want to be broadcasting around.

      But broadly ya, for whatever reason, if their higher ups don't want to be telling the world how their drivers work, and so they won't. Hell for all we know it could be entirely paranoia from an MBA type who just doesn't understand and doesn't want his ass fired if something goes wrong.

    5. Re:Ugh, this makes me mad. by X0563511 · · Score: 5, Insightful

      We're asking for specs, not driver code. There's no reason they would have to give us any of those simulation hooks, or any information about them.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    6. Re:Ugh, this makes me mad. by jvillain · · Score: 5, Interesting

      BTW we aren't asking them to open up the HW. We are asking them to document the interfaces to the hardware. Just like the PCI interface they use has been documented and like the entire PC spec they have been leeching off of and almost every thing else in the world of computing has opened up. This attitude just isn't acceptable any more. Period. Even Microsoft is starting to wake up to that fact.

    7. Re:Ugh, this makes me mad. by rtfa-troll · · Score: 5, Insightful

      If this engineer knows that will never happen (through no fault of his own, higher-ups would have decided this) then at least he's making an effort. People can get upset all they want, but nothing other than good is going to come out of this, whether it's exactly what would be ideal or not. Some help is better than none.

      Right; I'm not getting upset about him. We love him and if he ever gets kicked out by NVIDIA, I'm sure there are lots of us here who will want to hear about it and offer him a job. What upsets us is that NVIDIA clearly has people who understand that we are upset and why we are upset and they still don't do anything. From my point of view this makes things even worse.

      NVIDIA; please: even if it's incomplete and misses your latest fastest newest stuff, please provide the Linux developers; both kernel and Noveau; with publishable open documentation which tells them how to set up the rest of the features and at the very least provide good, reliable and colour tunable 2D and low level support for your cards. Preferably provide full, documented access to any feature older than two years.

      This can have no possible bad influence on your competitive advantage and will go a long way to making those of us using Linux happier.

      --
      =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
    8. Re:Ugh, this makes me mad. by philip.paradis · · Score: 5, Interesting

      This is utterly wrong. It's telling that you posted as an AC, and I'm assuming that's because you're not a developer involved in any open source work on this issue, and you don't have the first clue about how these things actually work.

      However, you do sound like a user with an incredibly exaggerated sense of entitlement, or perhaps a college freshman with wild-eyed ideas that every line of code on the planet should be forcibly "freed." If the code for something hasn't already been written, I presume you're of the view that companies should be forced to pay developers to write it, and of course they should be sure to call you every day for your personal stamp of approval on the last 24 hours of coding. Naturally, the resulting code, which you didn't pay for and didn't write a single line of, must be licensed in precise accordance with your personal opinions on freedom, right?

      Let me be absolutely clear on this: the core developers in the open source community working on this stuff want the specs. Just like anything and everything else that open source code was been written for, even back before the term "open source" was even in common usage, precise hardware specifications allow developers to write software that properly interfaces with the specified hardware.

      I will be the first to stand up and strongly advocate for open hardware specifications. That said, the absurdly entitled position you're taking does far more harm than good in the community at large. In short, kindly shut the fuck up and stop ranting about things you have no understand of, and no honest stake in.

      --
      Write failed: Broken pipe
    9. Re:Ugh, this makes me mad. by Instine · · Score: 5, Interesting

      Agreed. They should help this project. While the opinions of readers here clearly matters to *some* degree, I'd like to think NVIDIA would care about my take. As I'm right now designing and building a GPGPU compute system. And while it won't get in the Linpack this year, it genuinely might in a few years from now. Right now (I broke away to write this) I'm pawing over the OpenCL vs CUDA options AGAIN, to weigh up which to go for. Right now OpenCL is pulling me strongest, simply because I know I could move to something else if I had to. I don't want to. NVIDIA apear to be leading the race to me, for stable, enterprise ready, server standard GPUs. I prefer CUDA.

      So guys, I prefer your products, I could spend hundreds of thousands, maybe million some day, but I'm nervous enough to choose a lesser option in order to leave myself an escape path - purely because your lack of openness at the interface with the hardware worries me. I don't want the hardware opened, I want its API. The lowest level software interface to it (and preferably the code to your supported drivers). If you opened up I'd know I could always get a driver that worked if I needed to move OS. Or that I could tweek for performance in the area I need it. etc... Open up. Why not? I've given you a bloody good reason to. Haven't I?

      --
      Because you can - or because you should?
    10. Re:Ugh, this makes me mad. by SplashMyBandit · · Score: 5, Insightful

      > The pilot project was worth an initial 250-350 million dollars, with the potential of much more to follow.
      People always say this, "more work to follow" but it hardly ever works out like that. The Chinese are notorious (as in *consistently and repeatedly*) ask for samples with the promise of more orders and they take it apart and reverse engineer it. They do this with electronics, shoes, ships, MiG and Sukhoi jets, missiles, commercial agricultural strains even Austrian towns. I'm not anti-Sino, just reporting what has been documented as happening and appears to be a sustained, systematic and government condoned effort to make unlicensed copies of technology (that is, 'steal'). Perhaps NVidia were aware of this, even if many Slashdotters are not.

    11. Re:Ugh, this makes me mad. by hairyfeet · · Score: 5, Interesting

      But whose fault is that when Torvalds flat out refuses to allow a hardware ABI that EVERYONE ELSE has? Solaris, BSD, Windows, OSX, hell even OS/2 has a fricking ABI now and the ONLY OS that doesn't is Linux. So why should Nvidia or anybody else jump through hoops to support a broken design?

      You can use Win2K drivers on XP, you can use Vista drivers on win 7 and 8, that's over a decade of support for a driver. That means that in all likelihood the hardware will be long dead before you can no longer run it on your choice of Windows OS.

      I'm personally using a 2008 Vista driver on my fully updated Win 7 simply because it interacts better with the software I prefer to use, yet on Linux its fully expected that driver simply won't work without a recompile or major futzing, that's just fucked up folks, and even one of the Red Hat developers says the current system simply isn't sustainable, you have too few qualified people trying to support too much and the QA and QC simply isn't there because of it.

      I can tell you that as a retailer that is why I'll sell a system with XP despite XP being creaky as hell now, simply because I can't even take a 4 year old Linux and upgrade it to current without shit breaking. The entire driver subsystem in Linux is a God awful mess and if this finally gets people to talk about it, instead of just accepting fixes and forum hunts as par for the course? let me be the first to say i'm ALL for it. there is no damned reason why companies like Nvidia and AMD should have to keep releasing drivers for old hardware simply because Torvalds ego won't let him see the current system doesn't work. And PLEASE don't say it would encourage binary blobs because in case you ain't notice? they ALREADY DO THAT NOW, you just have shittier support.

      So don't sweep it under the rug folks, this is simply a symptom of a MUCH larger problem, and that is the current driver model simply isn't sustainable. You can get by with it in server and embedded because hardware changes there are practically non existent and positively glacial, hell many servers still use Rage II for GPUs for the love of Pete, but to gain in the consumer market you need to be able to keep up with the constantly changing hardware and the current model simply doesn't work. Its always behind the curve, always way behind, hell by the time things are properly supported they usually aren't being sold in retail anymore. this really needs to change folks, and the only way it'll happen is if enough people get fed up with the status quo and complain. You can and DO deserve better fellas.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  2. Same thing as always by macemoneta · · Score: 5, Informative

    It's unnecessary, and likely impossible, for Nvidia to open source its proprietary driver, due to licensed software they don't own (they have stated in the past). All that's needed is for Nvidia to release the documentation on the components they manufacture, as AMD/ATI did in 2008 (and Intel has always done). The existing nouveau driver team will take it from there. Nvidia can also choose to provide funding, salaried developers, or sample cards for the team. That would put them in a parity position with AMD and Intel.

    --

    Can You Say Linux? I Knew That You Could.

    1. Re:Same thing as always by Crosshair84 · · Score: 5, Insightful

      All that's needed is for Nvidia to release the documentation on the components they manufacture, as AMD/ATI did in 2008 (and Intel has always done). The existing nouveau driver team will take it from there.

      Yea, how well has that actually worked. Oh yea, it's failed miserably. 4 years later and ATI Linux drivers are still garbage and the only reason Intel drivers work is because of the server market and because chips don't change often. It's not rocket science, writing graphics drivers are HARD and Linus continually poking his pecker into the kernel means they continually break and have to be tinkered with to work again.

      The VOIP visitation recorders at work have to have updates turned off because Ubuntu craps itself whenever it tries to update. When the box is 4 hours away that is a big deal. Our windows machines have auto-updates turned on and never have problems. We've tried having a development machine at the office to test the updates, but for whatever reason, the number of VOIP boxes and minor hardware revisions make it impossible to develop a standard update profile for us to reliably push out to all machines. So we have to just lock them down as much as we can and hope for the best. We are working on a Windows based solution so we can eliminate the Linux boxes in the future.

      It needs to be repeated so it sinks in, Linux needs a reliable ABI so ATI and others can just slap a Linux driver onto the CD that comes with the card and call it a day.

    2. Re:Same thing as always by macemoneta · · Score: 5, Informative

      Posting anon because I've already modded this thread - I've clearly been way too far out of the loop for way too long. Is this to say that ATI is now the Linux-friendly manufacturer whereas NVidia is not? I thought that in the past, NVidia had the lead by way of better drivers, better stability, and VDPAU. Did ATI/AMD leapfrog ahead or is NVidia still the better way to go when building a PC with the intention of running Linux on it?

      ATI/AMD's New Open-Source Strategy Explained:
      http://www.phoronix.com/scan.php?page=article&item=826&num=1

      AMD Releases 900+ Pages Of GPU Specs:
      http://www.phoronix.com/scan.php?page=news_item&px=NjA1Mw

      AMD Releases Additional R600 GPU Programming Documentation:
      http://www.phoronix.com/scan.php?page=article&item=960&num=1

      AMD Releases 3D Programming Documentation:
      http://www.phoronix.com/scan.php?page=article&item=amd_tcore_release&num=1

      --

      Can You Say Linux? I Knew That You Could.

  3. Easy by lennier1 · · Score: 5, Interesting

    Firstly, deal with the goddamn shitfucking Optimus hardware that's out there!!!!!!

  4. Optimus by jaminJay · · Score: 5, Insightful

    Better power management. KMS. More timely releases. Stop whinging that there are problems with Linux/Xorg/whatever preventing you from doing something and work with those up-streams to fix it. Stop making excuses, start releasing code. Extract the proprietry stuff to (a) smaller blob(s) and expose the trivial interconnects and such at the very least. Never say it can't be done: everything's possible. Etc.

    --
    Leela: "Is all the work done by children?" Alien: "No, not the whipping."
  5. Re:The very thing that they don't want to do. by Gaygirlie · · Score: 5, Insightful

    Open up the hardware such that proper drivers can be written for any card (recent or not) and platform w/o the need of binary blobs.

    That shouldn't be an impossible task given how much weight NVidia has towards third parties.

    People keep spouting these things without actually taking into account that NVIDIA most likely has all sorts of contracts and license agreements they just can't break. Yes, it's fun to bash NVIDIA and try to paint them as some sort of a big, black demon worth all the hatred in the world, but in the end that doesn't actually *help* anyone, least of all F/OSS movement. Intel has the advantage in that that they entered the GPU-market a lot later than NVIDIA et.al., so they could avoid many of the mistakes their competitors did and they also have the whole, complete chain needed to produce and ship GPUs all by themselves and that really makes the comparison feel more like apples and oranges than anything directly comparable.

    NVIDIA could possibly open up future hardware, but they'd still possibly have to then develop some areas completely from scratch in order to not run afoul of their previous engagements and such a move obviously would cost them huge amounts of time and money. And well, Linux-users simply ain't worth that. All this is to say that NVIDIA should open up as much as they can, that I agree with, but that it is also highly unlikely they could open it all up even if they wanted to.

  6. Re:The very thing that they don't want to do. by Gaygirlie · · Score: 5, Insightful

    I see why you're writing as an AC.

    because nothing prevents nVidia from collaborating

    Copyright, patent and contract laws quite likely do. Oh, but let's not let real-life facts bother us, eh? Ignorance is a bliss and all that.

  7. Summary of Previous Discussion by peanutious · · Score: 5, Informative

    Here's a summary of some of the most insightful discussions posted on slashdot when this discussion came up last week:

    nVidia Issues:
    *Proprietary drivers that don’t always survive kernel upgrades. So people who rely on nVidia's proprietary binary drivers can't always update their kernel or they lose their graphics until nVidia puts out an update. (from UnknowingFool) nVidia only provide a binary blob driver which makes bug fixing for it dependent on Nvidia's whims. (from AC)
    *open source drivers – nVidia refuses to provide specs and API's for their hardware which make writing open drivers much more difficult and time-consuming because of having to reverse-engineer everything to get a workable driver. (from AC) As a result, open source drivers are unable to use full card functionality like full 3D acceleration (from UnknowingFool)

    Summary of graphic chip vendor support (from Lonewolf666):
    *AMD provides specifications and a small developer team that actually works on open source drivers.
    *Intel provides open source drivers.
    *NVIDIA makes good binary drivers, but those have problems when a new kernel version comes out with changed interfaces: Only NVIDIA can adapt them, and until they get around to it, NVIDIA may not work with the latest kernel version.

    From rajafarian: If the kernel maintainers have a question about the hardware, they can't ask NVIDIA they have to test and reverse engineer to find the answer whereas with other companies, they may get an answer directly from the manufacturer. Get it? "...NVIDIA just made the damn drivers. Now that is not good enough." Not from a kernel maintainer's or Stallman's point of view, I'm pretty sure.

    From jmorris42 : Name another major chip vendor who hasn't figured out that getting into the Linux kernel is a required checkoff for market success. Doubly so for any product used in the enterprise vs the fanboi market. NVidia's CUDA is about the entire list these days, the last major holdout.

    From basscomm: Windows users who have SLI and multiple monitors have been able to enable SLI and use both of their monitors at the same time since about 2008. But under Linux, no dice. So if I had two monitors (which I do), and two Nvidia GPUs in SLI mode (which I do), and I wanted to run some 3D app that took advantage of SLI, I would have to: reconfigure X to disable my second monitor and enable SLI, restart X, play the game/use the app I wanted, when I was done I would have to reconfigure X again to enable my second monitor and disable SLI, restart X again, and reopen all my apps. Hardly ideal.

    Given all of this discussion, here are a few ways nVidia could work better with the community:
    *Open Source drivers - 1) provide specs 2) provide developer team that works on the OS drivers 3) provide rep to interface with the OS community 4) provide enough detail to get 3D working well
    *Proprietary drivers - 1) monitor upcoming kernel builds and proactively update drivers before the next kernel release or 2) have a dedicated nVidia contact to work on updating drivers ASAP when notified that an upcoming kernel build breaks them
    *Overall - enhannce SLI and multiple monitor support,

  8. Re:Of course by Anonymous Coward · · Score: 5, Informative

    Absolutely!

    However, AMD/ATI is a PR stunt. The drivers just wrap non-free software and can't be utilised at all on truly free software platforms. Intel is the way to go. While you can't buy an Intel card explicitly you can utilise boards and/or laptops without nVidia/ATI and then use an Intel CPU with integrated graphics.

    http://www.thinkpenguin.com/ offers absolutely the best hardware for free software users. There are no proprietary drivers or firmware required and even the free software endorsed Trisquel distribution is supported. That isn't just some hardware. It's everything. An impressive feet given the selection of hardware available.

    Actually. ThinkPenguin has the largest catalog of GNU/Linux hardware by far. There really isn't a comparable offering anywhere else.

  9. The Good, the Bad, and the Ugly by DrJimbo · · Score: 5, Insightful

    Years ago I got good support from Nvidia. I had a problem and sent a bug report and got a response late on a Saturday night (West Coast) that involved a kernel patch to fix a bug in the kernel that was causing the problem. I was an Nvidia fanboy for many years after that. I helped dozens of people get things like Twinview working.

    In recent years, working with Nivida has been very frustrating and I can no longer recommend them for Linux systems. For example some interaction between closed-source Flash and the closed-source Nvidia drivers turns people blue in Youtube videos but not other sites.

    There has also been a heart breaking struggle to remove video "tearing" (vsync problem) when watching dvds and blurays. The last time I checked I needed to use the GL video to remove tearing when watching dvds but I still have some tearing when watching blurays which is kind of heart breaking. At the very least Nvidia should have a sticky post in the Linux forum explaining all the hoops one must jump through to try to get rid of video tearing. Also, having the sticky posts show up on all pages, not just the first page is a big PITA. It wastes my time and attention. It is disrepectful.

    I don't understand why video tearing is such a recurring problem. Are these environment variables still needed?

    export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE="DFP-0"
    export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE="DFP-0"
    export GL_SYNC_TO_VBLANK=1
    export __GL_SYNC_TO_VBLANK=1
    export GL_SYNC_DISPLAY_DEVICE="DFP-0"
    export __GL_SYNC_DISPLAY_DEVICE="DFP-0"

    When an nvidia driver update causes tearing to start again, or worse, if it causes X (or the entire machine) to crash, it feels like you are telling me "F- you!"

    I get it that opening up your drivers is not an option. The problem is that this decision causes a lot of breakage and you do not make it easy to fix this breakage. Please just make it easy for me to get your drivers to work. Is Twinview plus non-tearing video playback really too much to ask for? Also, what about the problem with non-tearing and composite? Has that ever been fixed? If not, maybe that's something you could help with.

    Years ago I felt like I was getting support. Nowadays I'm not feeling the love.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
  10. Re:Nvidia Open Source Policies by Chibi+Merrow · · Score: 5, Insightful

    Eventually this policy is going to cost Nvidia in the pocket book, and they will either come around or sink into nothingness.

    And yet, our new deployment of thirty Linux-based image generators I just setup all have GeForce cards in them... Do we live in the same world?

    nVidia cards, with nVidia's binary blob driver, are the only way I can get any work done in Linux. That doesn't seem to be changing anytime soon, either.

    I wish it would. My home PC has a Radeon card... But the support under Linux just isn't there.

    --
    Maxim: People cannot follow directions.
    Increases in truth directly with the length of time spent explaining them
  11. Re:Of course by ppanon · · Score: 5, Informative

    However, AMD/ATI is a PR stunt. The drivers just wrap non-free software and can't be utilised at all on truly free software platforms.

    Seriously? What do you think this is about? What's the licence on this that makes you think it's non-free? You seriously don't think this licence cuts it?

    --
    Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
  12. Re:Of course by ArcherB · · Score: 5, Funny

    It's everything. An impressive feet given the selection of hardware available.

    Must be a Gnome user...

    --
    There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
  13. Re:The very thing that they don't want to do. by Phroggy · · Score: 5, Interesting

    nVidia is violating somebody's patents. I don't know which ones. They don't know which ones. It's really not possible for them to know which patents they're violating, and it could be that they're actually not violating anything, but it's probably a safe bet that they are. That's how broken our patent system is.

    The flip side of this is, whoever holds those patents that nVidia is violating also doesn't know that nVidia is violating their patents. However, if nVidia were to release the specifications and source code that we all want them to, it might become easier for somebody to recognize that nVidia has unknowingly violated their patent, at which point nVidia might be very screwed. Or maybe not, who the hell knows? In any case, a series of patent infringement lawsuits could be very very bad, and could potentially destroy the company. The only defense nVidia has against this is 1) building up a patent warchest of their own, so that if somebody sues them, nVidia can look for patents they own that the other company is violating and work out a trade, and 2) shrouding their hardware in mystery, so nobody knows how it works and therefore nobody can figure out if it's infringing on someone's patent or not. Note that #1 is not possible against a patent troll that doesn't actually produce anything, so #2 is really all they've got.

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  14. Re:Of course by fuzzyfuzzyfungus · · Score: 5, Interesting

    AC may be referring to the firmware blobs without which newer AMD chips are good for little more than spartan 2d... That said, you really end up picking your poison with firmware. Some vendors include enough flash to store the blob, some demand that the kernel hand them the blob. There are exceptional cases, where the firmware is OSS, or where the vendor is a real asshole and forbids the blob to be distributed(for no obvious reason, since somebody always whips up a script that grabs the windows driver from the vendor site and gouges the firmware out of that.) In this unfortunate vein, it is probably worth noting that Intel is better about not making the firmware stuff visible, but AMD has historically been overwhelmingly nicer about coreboot vs. BIOS.

  15. If the engineer knows it will never happen by Anonymous Coward · · Score: 5, Informative

    and we ought to just accept it, then he should know a better perception will never happen and just accept it and the consequent loss of sales.

    The REALLY DUMB thing about both the engineer (and NVidia) and you is that you don't seem to even consider "Hey, lets tell them why it can't ever be done.".

    Except that was tried a long time ago, where NVidia said something like "SGI owns some of the stuff we use and they won't let us release it". Well, given specific goals, the FOSS people went to SGI and asked "Can NVidia release the stuff they got from you?" SGI answered "We cannot conceive of anything that NVidia has off us that we wouldn't be happy with them releasing.".

    Now, given that, did NVidia release specs?

    No.

    And, having been caught out in a porkie-pie, they have refused since then to do other than let their fanbois (and I use their cards too) say "Oh, maybe they can't for contract reasons" because, not being party to any secret NDA, the fanbois cannot supply any information on who/what or why and therefore it can't be rectified.