?

Log in

No account? Create an account
The value of writing code and instigating change. - LIBV Intentionally Breaks Videodrivers [entries|archive|friends|userinfo]
Luc Verhaegen

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

The value of writing code and instigating change. [Apr. 23rd, 2015|04:30 pm]
Luc Verhaegen
[Tags|, , , , , , , , , ]
[Current Location |Rumpelkammer.]
[mood |draineddrained]
[music |Groovesalad]

You probably saw this phoronix article which references the log of the #dri-devel channel on freenode. This was an attempt to trash my work on lima and tamil, using my inability to get much in the way of code done, and my unwillingness to throw hackish tamil code over the hedge, against me. Let me take some time to explain some of that from my point of view.

Yes, I have lost traction.

Yes, i am not too motivated to work on cleaning up code at this time. I haven't been too motivated for anything much since FOSDEM 2014. I still have my sunxi kms code to fix up/clean up, and the same is true for the lima driver for mesa. It is also pretty telling that i started to write this blog entry more than two months ago and only now managed to post it.

Under the circumstances, though, everyone else would've given up about 2 to 3 years ago.

Due to my usual combination of stubbornness and actually sitting down and doing the work, I have personally kickstarted the whole open ARM GPU movement. This is the third enormous paradigm shift in Linux graphics that i have caused these past almost 12 years (after modesetting, and pushing ATI to a point of no return with an open source driver). All open ARM GPU projects were at least inspired by this, some actually use some lima code, others would simply not have happened if I hadn't done Lima and/or had kept my mouth shut at important junctions. This was not without sacrifices. Quite the opposite.

From March 2011 on, I have spent an insane amount of time on this. Codethink paid, all-in-all, 6 weeks of my time when i was between customer projects. Some of the very early work was done on Nokia time, as, thanks to our good friend Stephen Elop, operations were winding down severely in late 2011 to the point where mostly constant availability was needed. However, I could've used that extra free time in many other useful ways. When I got a job offer at SuSE in november 2011 (basically getting my old job back due to Matthias Hopf taking up a professorship), I turned it down so I could work on the highly important Lima work instead.

When Codethink ran into a cashflow issue in Oktober 2012 (which apparently was resolved quite successfully, as codethink has grown a lot more since then), I was shown the door. This wasn't too unreasonable a decision given my increasing disappointment with how lima was being treated, the customer projects i was being sent on, and the assumption that a high profile developer like me would have an easy time getting another employer. During the phonecall announcing my dismissal, I did however get told that ARM had already been informed about my dismissal, so that business relations between ARM and codethink could be resumed. I rather doubt that that is standard procedure for dismissing people.

The time after this has been pretty meagre. If you expected at least one of linaro, canonical, mozilla or jolla to support lima, you'd be pretty wrong. Similarly, i have not seen any credible attempt to support lima driver development on a consulting basis. Then there is that fact that applying to companies which use mali and which have no interest in using an open source driver for mali is completely out, as that would mean working on the ARM binary driver, which in turn would mean that i would no longer be allowed to work on lima. All other companies have not gotten with the times with respect to hiring policies, this ranges from demanding that people relocate to interviewing solely about OpenGL spec corners for supposed driver development positions. There was one case in this whole time which had a proper first level interview, and where everything seemed to be working out, only to go dead without a proper explanation after a while. I have since learned from two independent sources that my hiring was stopped due to politics involving ARM. Lima has done wonders making me totally unhirable.

In May 2013 i wrote another proposal to ARM for an open source strategy for Mali (the first was done in Q2 2011 as part of codethink), hoping that in the meantime sentiments had shifted enough and that the absence of an in-between company would make the difference this time round. It got the unofficial backing of some people inside ARM, but they just ended up getting their heads chewed off, and I hope that they didn't suffer too much for trying to do the right thing. The speed with which this proposal was rejected by Jem Davies (ARM MPD VP of Technology), and the undertone of the email reply he sent me, suggests that his mind was made up beforehand and that he wasn't too happy about my actions this time either. This is quite amazing, as one would expect anyone at the VP level of a major company to at least keep his options open. Between the way in which this proposal was rejected and the political pressure ARM seems to apply against Lima, Mr Davies his claims that ARM simply has no customer demand and no budget, and nothing more, are very hard to believe.

So after the polite applause at the end of my FOSDEM2014 talks, it hit me. That applause was the only support i was going to ever get for my work, and i was just going to continue to hit walls everywhere, both with lima and in life. And it would take another year until the next applause, if at all. To be absolutely honest, given the way the modesetting and ATI stories worked out, i should be used to that by now, however hard it still is. But this time round i had been (and of course still am) living with my fantastic and amazingly understanding girlfriend for several years, and she ended up supporting me through Q4 2013 and most of 2014 when my unemployment benefit ran out. This time round, my trailblazing wasn't backfiring on me alone, i was dragging someone else down with me, someone who deserves much better.

I ended up being barely able to write code throughout most of 2014, and focused entirely on linux-sunxi. The best way to block things out was rewriting the linux-sunxi wiki, and that wiki is now lightyears ahead of everything else out there, and an example for everyone else (like linux-exynos and linux-rockchip) for years to come. The few code changes i did make were always tiny and trivial. In august Siarhei Siamashka convinced me that a small display driver for sunxi for u-boot would be a good quick project, and i hoped that it would wet my appetite for proper code again. Sadly though, the fact that sunxi doesn't hide all chip details like the Raspberry Pi does (this was the target device for simplefb) meant that simplefb had to be (generically) extended, and this proved once and for all that simplefb is a total misnomer and that people had been kidding themselves all along (i seem to always run into things like this). The resulting showdown had about 1.5 times the number of emails as simplefb has lines of C code. Needless to say, this did not help my mood either.

In June 2014, a very good friend of mine, who has been a Qt consultant for ages, convinced me to try consulting again. It took until October before something suited came along. This project was pretty hopeless from the start, but it reinstated my faith in my problem solving skills and how valuable those really could be, both for a project, and, for a change, for myself. While i wasn't able to afford traveling to Bordeaux for XDC2014, i was able to afford FOSDEM2015 and I am paying for my own upkeep for the first time in a few years. Finally replacing my incredibly worn and battered probook is still out of the question though.

When i was putting together the FOSDEM Graphics DevRoom schedule around christmas, I noticed that there was a inexcuseably low amount of talks, and my fingers became itchy again. The consulting job had boosted morale sufficiently to do some code again and showing off some initial renders on Mali T series seemed doable within the 5 or so weeks left. It gave the FOSDEM graphics devroom another nice scoop, and filled in one of the many many gaps in the schedule. This time round i didn't kid myself that it would change the world or help boost my profile or anything. This time round, i was just going to prove to myself that i have learned a lot since doing Lima, and that i can do these sort of things still, with ease, while having fun doing so and not exerting myself too much. And that's exactly what I did, nothing more and nothing less.

The vultures are circling.

When Egbert Eich and I were brainstorming about freeing ATI back in April and May of 2007, I stated that I feared that certain "community" members would not accept me doing something this big, and I named 3 individuals by name. While I was initially alone with that view, we did decide that, in light of the shitthrowing contest around XGL and compiz, doing everything right for RadeonHD was absolutely paramount. This is why we did everything in the open, at least from the moment AMD allowed us to do so. Open docs, irc channel, public ml, as short a turn-around on patches as possible given our quality standards and the fact that ATI was not helping at all. I did have a really tough uphill battle convincing everyone that doing native C code was the only way, as, even with all the technical arguments for native code, I knew that my own reputation was at stake. I knew that if I had accepted AtomBIOS for basic modesetting, after only just having convinced the world that BIOS free modesetting was the only way forward, I would've personally been nailed to the cross by those same people.

From the start we knew that ATI was not going to go down without a fight on this one, and I feared that those "community" members would do many things to try to damage this project, but we did not anticipate AMD losing political control over ATI internally, nor did we anticipate the lack of scruples of those individuals. AMD needed this open source driver to be good, as the world hated fglrx to the extent that the ATI reputation was dragging AMDs chips and server market down, and AMD was initially very happy with our work on RadeonHD. Yet to our amazement, some ATI employees sided with those same "community" members, and together they worked on a fork of RadeonHD, but this time doing everything the ATI way, like fglrx.

The amount of misinformation and sometimes even downright slander in this whole story was amazing. Those individuals were actively working on remarketing RadeonHD as an evil Microsoft/Novell conspiracy and while the internet previously was shouting "death to fglrx", it ended up shouting "death to radeonhd". Everyone only seemed to want to join into the shouting, and nobody took a step back to analyze what was really going on. This was ATI & red hat vs AMD & SuSE, and it had absolutely nothing to do with creating the best possible open source driver for ATI hardware.

During all of this I was being internally reminded that SuSE is the good guy and that it doesn't stoop down to the level of the shitthrowers. Being who I am, I didn't always manage to restrain myself, but even today I feel that if I had been more vocal, i could've warded off some of the most inane nonsense that was spewed. When Novell clipped SuSEs wings even further after FOSDEM2009, i was up for the chop too, and I was relieved as i finally could get some distance between myself and this clusterfuck (that once was a free software dream). I also knew that my reputation was in tatters, and that if i had been more at liberty to debunk things, the damage there could've been limited.

The vultures had won, and no-one had called them out for their insidious and shameless behaviour. In fact, they felt empowered, free to use whatever nasty and underhand tactics against anything that doesn't suit them for political or egotistical reasons. This is why the hacking of the RadeonHD repository occured, and why the reaction of the X.org community was aimed against the messenger and victim, and not against the evil-doers (I was pretty certain before I sent that emial that it was either one or the other, i hadn't forseen that it would be both though).

So when the idea of Lima formed in March 2011, I no longer just feared that these people would react. I knew for a fact that they would be there, ready to pounce on the first misstep made. This fed my frustration with how Lima was being treated by Codethink, as I knew that, in the end, I would be the one paying the price again. Similarly, if my code was not good enough, these individuals would think nothing of it to step in, rewrite history, and then trash me for not having done corner X or Y, as that was part of their modus operandi when they destroyed RadeonHD.

So these last few years, i have been caught in a catch-22 situation. ARM GPUs are becoming free, and I have clearly achieved what i set out to achieve. The fact that I so badly misjudged both ARM and the level of support i would get should not take away from the fundamental changes that came from my labour. Logically and pragmatically, it should be pretty hard to fault me in this whole story, but this is not how this game works. No matter what fundamental difference I could've made with lima, no matter how large and clear my contributions and sacrifices would be, these people would still try to distort history and try their utmost best to defame me. And now that moment has come.

But there are a few fundamental differences this time round: I am able to respond as i see fit as there is no corporate structure to shut me up, and I truly have nothing left to lose.

What started this?

To put it short:
12:59 #dri-devel: < Jasper> the alternative is fund an open-source replacement, but touching
                  lima is not an option
Jasper St. Pierre is very vocal on #dri-devel, constantly coming up with questions and asking for help or guidance. But he and his employer Endless Mobile seem to have their mind set on using the ARM Mali DDK, ARMs binary driver. He is working on integrating the Mali DDK with things like wayland, and he is very active in getting help on doing so. He has been doing so for several months now.

The above irc quote is not what i initially responded to though, the following is however:
13:01 #dri-devel: < Jasper> lima is tainted
13:01 #dri-devel: < Jasper> there's still code somewhere on a certain person's hard disk he
                  won't release because he's mad about things and the other project contributors
                  all quit
13:01 #dri-devel: < Jasper> you know that
13:02 #dri-devel: < Jasper> i'm not touching lima with a ten foot pole.
This is pure unadulterated slander.

Lima is not in any way tainted. It is freshly written MIT code and I was never exposed to original ARM code. This statement is an outrageous lie, and it is amazing that anyone in the open source world would lie like that and expect to get away with it.

Secondly, I am not "mad about things". I am severely de-motivated, which is quite different. But even then, apart from me not producing much code, there had been no real indication to Jasper St Pierre until that point that this were the case. Also, "all" the contributors to Lima did not quit. I am still there, albeit not able to produce much in the way of code atm. Connor is in college now and just spent the summer interning for Intel writing a new IR for mesa (and was involved with Khronos SPIR-V). Ben Brewer only worked on Lima on codethink's time, and that was stopped halfway 2012. Those were the only major contributors to Lima. The second line Jasper said there was another baseless lie.

Here is another highly questionable statement from Mr. St Pierre:
13:05 #dri-devel: < Jasper> robclark, i think it's too late tbh -- any money we throw at lima
                  would be tainted i think
What Jasper probably meant is that HE is the one who is tainted by having worked with the ARM Mali DDK directly. But his quick fire statements at 13:01 definitely could've fooled anyone into something entirely different. Anyone who reads that sees "Lima is tainted because libv is a total asshole". This is how things worked during RadeonHD as well. Throw some halftruths out together, and let the internet noise machine do the rest.

Here is an example of what happens then:
13:11 #dri-devel: < EdB> Jasper: what about the open source driver that try to support the next
                  generation (I don't remember the name). Is it also tainted ?
13:19 #dri-devel: < EdB> I never heard of that lima tainted things before and I was surprised
Notice that Jasper made absolutely no effort to properly clarify his statements afterwards. This is where i came in to at least try to defuse this baseless shitthrowing.

When Jasper was confronted, his statements became even more, let's call it, varied. Suddenly, the reason for not using lima is stated here:
13:53 #dri-devel: < Jasper> Lima wasn't good enough in a performance evaluation and since it
                  showed no activity for a few years, we decided to pay for a DDK in order to 
                  ship a product instead of working on Lima instead.
To me, that sounds like a pretty complete reason as to why Endless Mobile chose not to use Lima at the time. It does however not exclude trying to help further Lima at the same time, or later on, like now. But then the following statements came out of Jasper...
13:56 #dri-devel: < Jasper> libv, if we want to contribute to Lima, how can we do so?
13:57 #dri-devel: < Jasper> We'd obviously love an active open-source driver for Mali.
...
13:58 #dri-devel: < Jasper> I didn't see any way to contribute money through http://limadriver.org/
13:58 #dri-devel: < Jasper> Or have consulting done
Good to know... But then...
13:58 #dri-devel: < libv> Jasper: you or your company could've asked.
13:59 #dri-devel: < Jasper> My understanding was that we did.
13:59 #dri-devel: < Jasper> But that happened before I arrived.
13:59 #dri-devel: < libv> definitely not true.
13:59 #dri-devel: < Jasper> I was told we tried to reach out to the Lima project with no response.
                  I don't know how or what happened.
14:00 #dri-devel: < libv> i would remember such an extremely rare event
The supposed reaching out from EndlessM to lima seems pretty weird when taking the earlier statements into account, like at 13:53 and especially at 13:01. Why would anyone make those statements and then turn around and offer to help. What is Jasper hiding?

After that I couldn't keep my mouth shut and voiced my own frustration with how demotivated i am on doing the cleanup and release, and whined about some possible reasons as to why that is so. And then, suddenly...
14:52 #dri-devel: < Jasper> libv, so the reason we didn't contribute to Lima was because we didn't
                  imagine anything would come of it.
14:53 #dri-devel: < Jasper> It seems we were correct.
It seems that now Jasper his memory was refreshed, again, and that EndlessM never did reach out for another reason altogether...

A bit further down, Jasper lets the following slip:
14:57 #dri-devel: < Jasper> libv, I know about the radeonhd story. jrb has told me quite a lot.
14:58 #dri-devel: < Jasper> Jonathan Blandford. My boss at Endless, and my former boss at Red Hat.
And suddenly the whole thing becomes clear. In the private conversation that ensued Jasper explained that he is good friends with exactly the 3 persons named before, and that those 3 persons told him all he wanted to know about the RadeonHD project. It also seems that Jonathan Blandford was, in some way, involved with Red Hats decision to sign a pact with the ATI devil to produce a fork of a proper open source driver for AMD. These people simply never will go near anything I do, and would rather spend their time slandering yours truly than to actually contribute or provide support, and this is exactly what has been happening here too.

This brings us straight back to what was stated before anything else i quoted so far:
12:57 #dri-devel: < EdB> Jasper: I guess lima is to be avoided
...
12:58 #dri-devel: < Jasper> EdB, yeah, but that's not for legal reasons
Not for legal reasons indeed.

But the lies didn't end there. Next to coming up with more reasons to not contribute to lima, in that same private conversation Jasper "kindly" suggested that he'd continue Lima if only i throw my code over the wall. Didn't he state previously that Lima was tainted, with which i think he meant that he was tainted and couldn't work on lima?

Why?

At the time, i knew i was being played and bullshitted, but I couldn't make it stick on a single statement alone in the maelstrom that is IRC. It is only after rereading the irc log and putting Jaspers statements next to eachother that the real story becomes clear. You might feel that i am reading too much into this, and that i have deliberately taken Jaspers statements out of context to make him look bad. But I implore you to verify the above with the irc log, and you will see that i have left very little necessary context out. The above is Jaspers statements, with my commentary, put closely together, removing the noise (which is a really bad description for the rest of the irc discussion that went on at that time) and boosting the signal. Jasper statements are highly erratic, they make no sense when they are considered collectively as truths, and some are plain lies when considered individually.

Jasper has been spending a lot of time asking for help for supporting a binary driver. Nobody in the business does that. I guess that (former) red hat people are special. I still have not understood why it is that Red Hat is able to get away with so much while companies like canonical and SuSE get trashed so easily. But that is besides the point here; no-one questioned why Jasper is wasting so much time of open source developers on a binary driver. Jasper was indirectly asked why he was not using Lima, nothing more.

If Jasper had just stated that Endless Mobile decided to not use Lima because Endless Mobile thought Lima was not far enough along yet, and that Endless Mobile did not have the resources to do or fund all the necessary work still, then i think that that would've been an acceptable answer for EdB. It's not something i like hearing, but i am quite used to this by now. Crucially though, i would not have been in a position to complain.

Jasper instead went straight to trashing me and my work, with statements that can only be described as slander. When questioned, he then gave a series of mutually exclusive statements, which can only be explained as "making things up as he goes along", working very hard to mask the original reasons for not supporting Lima at all.

This is more than just "Lima is not ready", otherwise Jasper would have been comfortable sticking to that story. Jasper, his boss and Endless Mobile did not decide against Lima on any technical or logistical basis. This whole story never was about code at all. These people simply would do anything but support something that involves me, no matter how groundbreaking, necessary or worthy my work is. They would much rather trash and re-invent, and then trash some more...

It of course did not take long for the other vultures to join the frenzy... When the discussion on irc was long over, Daniel Stone made one attempt to revive it, to no avail. Then, a day later, someone anonymously informed phoronix, and Dave Airlie could then clearly be seen to try to stoke the fire, again, with limited success. I guess the fact that most of the phoronix users still only care about desktop hardware played to my advantage here (for once). It does very clearly show how these people work though, and I know that they will continue to try to play this card, trying hard to trigger another misstep from me or a cause a proper shitstorm on the web.

So what now.

Now I have a choice. I can wait until i am in the mood to clean up this code and produce something useful for public consumption, and in the meantime see my name and my work slandered. Or... If i throw my (nasty) code over the wall, someone will rename/rewrite it, mess up a lot of things, and trash me for not having done corner X or Y, so essentially slander me and my work and probably even erase my achievements from history, by using more of my work against me... And in the latter case i give people like Jasper and companies like Endless Mobile what they want, in spite of their contemptible actions and statements. Logically, there is only one conclusion possible in that constellation.

At the end of the day, i am still the author of this code and it was my time that I burned on it, my life that i wasted on it. I have no obligations to anyone, and am free to do with my code what i want. I cannot be forced into anything. I will therefor release my work, under my own terms, when i want to and when i feel ok doing so.

This whole incident did not exactly motivate me to spend time on cleaning code up and releasing it. At best, it confirmed my views on open source software and certain parts of the X.org community.

This game never was about code or about doing The Right Thing, and never will be.
linkReply

Comments:
From: (Anonymous)
2015-04-23 06:04 pm (UTC)

Thank you for this eye opening post

Luc, I attended the last 7 FOSDEMs and call it "my favorite free software conference" too. I always admired your fight against the shitstorm for a free gpu driver. You started the movement and it looks good for the freedreno. Many got inspired by your work.

Thanks for getting this post out on your livejournal. It gives good insights. I am sorry for you, that your motivation, love, time, and all the rest have suffered so much in the past.

Someone has told me, that the linux foundation gives money to people for work on free software. He told me that he proposed a topic and they were quite open. Perhaps this is a possibility to found any work on any project you want to do.

I wish you all the best for you and your girlfriend.

Someone random from the internet.
(Reply) (Thread)
From: (Anonymous)
2015-04-23 06:22 pm (UTC)
As rude as you can be sometimes, i just have to praise you for being loyal to your principles
(Reply) (Thread)
From: (Anonymous)
2015-04-24 09:31 am (UTC)
Rudeness is easy to protect from. It just causes superficial burns at worst. Hypocrisy and lies are much worse, they kill you from inside.
(Reply) (Parent) (Thread)
From: ext_1717247
2015-04-23 08:04 pm (UTC)

thank you for explaining :)

Thanks for this post. It at least clears up some things from your point of view which is now clear to me. Of course one's own point of view might be closer or further away from how things really happened but from what I've read yours seems to be pretty close to what happened.

To be quite honest the way you've reacted to people, some of them with good intentions, lately hasn't really helped your case much.

My personal advice ( as a programmer myself ) is to take some time off from it all, relax and maybe you can get back to coding later. It's a pity to let all the work you did go to waste and we have tons of Mali GPUs that could really need Lima.

You could also start a crowd funding campaign to see if people will put their money where their mouth is. I always hear about people wanting open source ARM drivers and Lima and stuff. I'm not sure how much money you'd raise but don't think it's a waste of time. At least when people come and say they want Lima ... sure, I got X amount from donations, how much do you really want it... ?

Talk and applause and you're doing a great job is cheap but I'd really love to see how much money people would give for Lima ...
(Reply) (Thread)
From: (Anonymous)
2015-04-24 10:42 am (UTC)

Re: thank you for explaining :)

+1 on crowdfunding

I'd love to throw some money at open GPU drivers.
(Reply) (Parent) (Thread)
[User Picture]From: shnatsel
2015-04-23 08:16 pm (UTC)
For what it's worth, what the linux masses end up hearing is quite different from the internal shitstorms among people involved with X.

Not being closely involved with X but generally following the landscape of what works and what doesn't work on Linux, I know that AMD started its open-source strategy only after the community and/or SuSE have independently written a good open-source X.org driver, and that driver helped bring the current r600g, radeonsi and now amdgpu about, which are worlds better than fglrx. Personally I've foregone fglrx completely, I'm on r600g as I'm typing this.

I also know that on ARM binary drivers are a huge pain in the ass getting in the way of pretty much anything interesting you could do with your device. And I know that driver reverse-engineering projects for ARM look pretty hopeless from the start, because no way a single person can write a decent driver without any docs before the hardware becomes obsolete, so people trying to do that anyway are basically heroes. I was surprised to know that one of such drivers is actually USABLE and HOLY SHIT these crazy selfless guys are REALLY bringing about POSITIVE CHANGE!!!

So, know this: your works is really appreciated by all the simple folk out there, who know zip about writing video drivers and just want their computer to work. Like me. We don't even know it was you, but we know that somebody from the community has stepped up and done such a great job on the driver in their spare time that it beats high-budget team-maintained fglrx in stability any day. So, thank you.

P.S. There are a lot of people annoyed with the lack of usable ARM GPU drivers out there. Have you tried crowdfunding? Realistically, you'd probably stick out your head even more by doing so because the exact amount of work required is hard to predict, but that could be one way to get full-time employment to work on Lima - if you want it, of course.
(Reply) (Thread)
From: (Anonymous)
2015-04-23 08:20 pm (UTC)

SOP:

Standard operating procedure for any firm influenced by redhat culture.

I can understand all this would leave a bad taste and I too would be careful before sharing my work given the implicite agenda expressed.

If all they are going to do is rehash fglrx binary in the same way they did before you've got plenty of time to do it your way as their own efforts are hardly likely to come to much.

All in all these are the people and the politics many of us came the the 'Free' side to avoid, disappointing that the nasties have caught up, if only it were all about the code.
(Reply) (Thread)
From: (Anonymous)
2015-04-23 10:16 pm (UTC)

Mali400 business model

My guess is that the business model for Mali400 is selling the driver, not so much the IP block. In fact, it's rather likely a free or very cheap Mali400 license is part of larger deal for ARM CPU cores. This would explain why ARM doesn't want a free Mali400 driver. It would break their business model. I don't know if this is also the case for the later Mali GPUs, but it could be. Obviously qualcomm doesn't have that problem, because Adreno isn't licensed to anyone. So an open Adreno driver might sell more qualcomm chips and generate more revenue for qualcomm. An open Mali400 driver might sell more chips with Mali400, but ARM would likely not get much extra revenue.
(Reply) (Thread)
From: (Anonymous)
2015-04-24 12:51 pm (UTC)

Re: Mali400 business model

Phalanx and later ARM GPU devs were quite pro open source, or at least neutral. However ARM management was always quite strongly against the idea of open GPU drivers. CPU was then already open by de-facto. BTW, the same goes for IMG/PVR, as well. Always the management had some excuse about unknown IPR risks, competition doing the re-e and digging something to sue with. They both refused when the largest customer in the industry back then asked for open source drivers. (And finally managers on all related companies pretty much in unison gave up the idea of open drivers.) Meanwhile the binary blobs have been an unbelievable mess for all parties .. but it has been mostly hidden from public, so far.
(Reply) (Parent) (Thread)
From: (Anonymous)
2015-04-24 05:08 am (UTC)

I think you should be a bit more ignorant to attacks and more cooperative with those who are willing

I got to think you should learn to ignore personal attacks in first place. I know it could be hard thing to do since it could be kinda demotivating. Yet, it is really looks wrong if some single "Jasper" from some NoName Inc I never heard of can piss you off.

Then I guess you should also learn to cooperate with those who are willing to help. Power of open source is all about joining efforts and being able to interact with others, to be able to offload some jobs to others, to be able to scale, to be able to integrate and interoperate. That's what makes opensource projects to shine.

Then, about leadership and project management... leader is not one who writes most code. As we can see, Torvalds does not writes most code these days. And good project manager is all about keeping things from falling apart and taking balanced, weighted decisions. It is working thing what really counts in this world. Not some perfect architecture or best-of-the-best internals. And real project manager is one who could balance it right, select right compromises and manage to create something that works. From what I've seen you simply do not posess these skills at this point of time and space, so you tend to set project priorities in way nobody except you can understand.

Why I'm telling you this? Because I think video driver seems to be way too big project for single person at this point. Then, to be anyhow usable in any realistic scenarios, driver have to integrate with some other software, like MESA (I do not think you're in mood to code whole OpenGL singlehanded, are you?). Who needs driver wihch is not compatible with anything else and poorly integrated to OS?

From what I've seen you're too inclined on perfectionism, tend to deny any offers of compromises, disregard various changes and options, etc. This alienates many people who start to consider such upstream "bad" in sense that they do not really share goals and upstream is not willing to cooperate.

From what I've seen on MESA and dri-devel IRC, you managed to alienate about half of MESA and dri-devel people who have no reasons to have anything againt you "by default". And yeah, they maybe not doing perfect architect work and it could be better, but it works and they take iterative approaches to improve their stuff.

Disclaimer: these are random notes from side observer. I have no reasons to dislike someone, etc. So if someone dislikes my words... feel free to ignore them.
(Reply) (Thread)
From: (Anonymous)
2015-04-24 02:47 pm (UTC)

Re: I think you should be a bit more ignorant to attacks and more cooperative with those who are wil

Wow. Now it's too long. I don't feel like summarizing this. I'll split it in two comments. After all it will be moderated and can be erased or edited if considered abusive.

Part 1:

Being ignorant to attacks it's ok, but I don't think it's the main problem here. You should not read it as an ego getting in the way.

Being cooperative is not always as easy as you paint it.

To cooperate effectively everybody needs to share goals. When free software was an also ran competitor mostly everybody working on it did it because they wantd free software to exist, be useful, be liberating.

Nowadays free software is often the best available option (thanks to those efforts). And now companies are taking it and running with it for the money. Some do more to keep free software healthy and some do less, some find legal ways around the principles, some break laws hoping it won't cost
them more money than they gain by it.

There's inherent conflicts of interest in any organization (for profit or non profit as long as it has enough of a budget) that makes it very difficult to keep original goals of freedom and at the same time competing with companies who can do the same without the freedom goals.

If you (individual or organization, but it comes to individuals at the end) release code to the public, that public will include people who will evolve it in order to reach opposite goals to yours, will run more than
you could (fueled by money) and will take from your potential collaborators those that don't see or don't care for your original goals.

So there is a dilema. Your original goal when doing a project may have some part of ego (see if you can do it, learn, recognition, etc.) but it will usually have a public interest part (advancing a field, giving back to free software, enabling solutions which weren't possible before). So you want to help the public, you want the public able to use more devices with freedom than before you started. But this same public is majoritary against your goal in their very practice (by buying devices that don't respect their freedom and so feeding those who take advantage of free software but don't use the earnings to expand it).

Luc's problem, if I understand it, is how to help the public against this public own majority wish. Imagine you are a doctor in a village where everybody thinks something harmful is a remedy and you have the moral duty of helping them against their ignorance, or something like that. And then being criticized for not administering the conventional wisdom medicine, and being stubborn. And the conventional wizards are not only openly provoking
the public to it, but also working underhand to prevent your therapy from being applied.
He's tried several ways and those who are in effect working to give the public what they're buying have maneuvered to avoid him, isolate him, or otherwise frustrate his goal.

[to be continued]
(Reply) (Parent) (Thread)
From: (Anonymous)
2015-04-24 02:48 pm (UTC)

Re: I think you should be a bit more ignorant to attacks and more cooperative with those who are wil

[part 2]

I don't think he's alienated half of MESA or whoever. I think half of MESA was already alienated from people sharing Luc's goals, and he may have simply made this more evident (which happens naturally as decisions have to be taken). It's not perfectionism, it's simply different goals among a group working on the same resources. Some want a particular device to work now, some want a software corpus being sustainable, and users being able to control their computing. Just like villagers believing in their traditional remedy may call the doctor with the proof of it being poisonous a perfectionist, people who know what they are paid to do but don't see the larger scheme of things (or see it and don't see it so bad) may feel anyone not playing along is uncooperative, but people may have good reasons to be uncooperative.

Now he may feel working more in this may be counterproductive. Or not.
Producing or releasing more code may help both people sharing his goals and people with conflicting goals. Those with conflicting goals seem to have more power to buy work on it. And while intellectual work is relatively democratic in that the production means (brains) are more or less democratically distributed (it's only capital to pay hours on those brains that's concentrated), hardware is not only intellectual work. So those with expensive factories have a big say on what hardware is available, have information on hardware details that they can publish or not, and have the money they get when selling the hardware to push work in their preferred direction. Working in hardware drivers it's not the same scenario as working on an office suite.

I think Linus success is not a result of him being a good leader, it's more like his goals and the market goals are better aligned. If his goals were closer to mine, I don't know how many places linux would be, but I know they wouldn't have to put the effort they put in producing linux-libre. And I think there would be a better chance of the hardware market being more sustainable (both intellectually and environmentally) if Linus were more like Luc.

For me the only thing that's clear is that Luc wouldn't be frustrated with lima if Mali had have decent support from the start. Decent means 100% free software, no NDAs, etc. Maybe the uncooperative people is at ARM's board and at shop counters buying phones ?

What I don't undesrtand is why lima license is MIT instead of some copyleft like GPL .
(Reply) (Parent) (Thread)
From: (Anonymous)
2015-04-24 10:25 am (UTC)

Clap, clap, clap

Well if the only good thing you got from efforts to get freedom from blobs was an applause at FOSDEM, I thought since I didn't go to FOSDEM I could clap here?

I like people who stick to principles.
I was trying to work out some advice but it reads as crap so I'm not sending it.

Just take care and don't be too worried. The economic system is
fundamentally dishonest, so it's no wonder the world is this broken.
The only good news is the economic system is falling to pieces.
Not fun, anyway.

I wish you luck in finding a job that keeps your dignity safe.




(Reply) (Thread)
From: (Anonymous)
2015-04-25 12:09 am (UTC)

hey libv

Hey Luc,

Please do push something.. even if it is not perfect/complete/pretty. The world really needs an FOSS driver for mali, and even if it isn't ready for end users, I hope it enables others to join in and contribute. And if you do get the energy/time to work on lima/tamil, please do consider the crowd funding option. (Personally, I would focus on tamil since a graphics driver is a long term project and also because one less shader ISA to deal with.)

PS. lima was definitely an inspiration for me, and got me over the "It's hopeless" stage about the arm gpu situation, and into the "hey we can actually do this" phase with adreno/freedreno. So thank you for that.

PS2. don't be too hard on Jasper. I know him personally, and I know he joined Endless after a lot of decisions where already made. I'm pretty sure his "tainted" comments were more in reference to his position (having access to blob ddk), rather than an attempt to badmouth lima. Certainly badly worded, and it was unfortunate that phoronix picked up on it, but I don't think he meant badly.

BR,
-R
(Reply) (Thread)
[User Picture]From: libv
2015-04-25 07:38 pm (UTC)

Re: hey libv

Rob,

Whatever endless mobile decided, that's the standard way of things. Jasper was the one doing the trashing. He was the one smearing the shit.
(Reply) (Parent) (Thread)
From: (Anonymous)
2015-04-25 08:24 am (UTC)
Great post. Like so many others, I think crowdfunding might be a smart thing to consider. Good luck, thanks for the insight and hang in there.
(Reply) (Thread)
From: (Anonymous)
2015-04-26 12:25 am (UTC)

Linaro

Hi,
since you mention Linaro, let me clarify Linaro's internal view on the issue.

We really like the Lima/Tamil drivers and wish you the best of luck -- but unfortunately there's little we can do officially to support the project.

As you probably know, we heavily rely on ARM -- for funding, for providing us with extra engineers, and also for recruiting new members, ARM has much better inroads into potential members than any of us -- and ARM's management is not (yet) at a point where they would support an open driver for Mali chips. So for Linaro people, the question really comes down to what would be a greater help -- support Lima/Tamil and lose ARM's support (which would very likely result in having to close down), or remain silent on the issue and keep up the capability to contribute to toolchains, the kernel, libraries, Android, and all (and gain ARM's trust so in the longer run, we stand a better chance to influence them towards supporting or at least accepting open GPU drivers).

We hope to see Lima/Tamil making great progress -- but unfortunately, at this time there is little we can do to help make it happen.

Yes, this sucks - but sometimes it does come down to having to pick between doing the right thing or not doing one particular right thing to keep up the capability to do other things right.
(Reply) (Thread)
From: (Anonymous)
2015-04-28 03:20 pm (UTC)

All in one: badasses, stupids, FOSDEM

Hi Luc,

Indeed at your place I would be immensely pissed off by the global behaviour of some part of the world about your work.
But hey don't lose your stubbornness and perseverance. This is what makes what you do go forward, and brilliantly.

About all badasses and generally stupid and selfish people hollering either because they would like to see you disappear from the fight or because stuff takes too long to be released, their membership to the side of the world that you should NOT listen to is clear.
They are way too often making the loud noise that blow away all appropriate signal, whatever the subject by the way. Don't let anything out of this bring personal dejection.
Despite that you have your community of big fans, that respect you, what you do, and what you believe in. Carry on!

About FOSDEM if you say you can't go for money reasons, please ask. I'm pretty sure many people would be a glad to personally offer all of that trip including fetching you at home and bring you back. If that can be a personal contribution to your mood I totally would :-)
(Reply) (Thread)
From: (Anonymous)
2015-11-27 06:11 pm (UTC)

So what about imagination?

In recent news, it seems Imagination is trying to hire a developer for an open-source PowerVR driver. For outsiders that looks like a very interesting move. Can it actually be a serious shift from Imagination? Somebody have considered this position?

http://www.phoronix.com/scan.php?page=news_item&px=Imagination-Still-No-OSS-Dev&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Phoronix+%28Phoronix%29
(Reply) (Thread)
From: (Anonymous)
2015-12-20 02:44 am (UTC)

Don't give up!

Hey, I know there are mean people, there are bad circumstances, but still, you can do something good for community and you're good at it, so why not continue and make something interesting? Thanks for your work. David
(Reply) (Thread)
From: (Anonymous)
2016-04-04 03:39 am (UTC)

Please release

For what it's worth I'd chip a couple hundred USD into a crowdfunding campaign for these drivers, even if they just enabled basic 3D support.

Signed, a very happy nouveau and openradeon user looking to also use an ARM laptop without binary blobs.
(Reply) (Thread)
From: (Anonymous)
2016-04-29 12:51 am (UTC)

Linux is becoming a mess

Supplier with long term plans and multiple products already and more coming
https://olimex.wordpress.com/2014/11/27/how-long-olinuxino-with-allwinner-socs-will-be-produced-again-now-we-know-the-answer-forever/
not very confident even if supporting could mean more sales
http://hackaday.com/2016/04/27/the-open-source-hackers-laptop/#comment-3004205
And we all probably know about Allwinner/GPL/sunxi. So hard to understand that it's simpler to integrate upstream instead of forking and reforking and rereforking?

I understand your mood. : (
(Reply) (Thread)
[User Picture]From: ec1oud
2016-07-15 01:05 pm (UTC)

the time is now

Because of this: https://www.crowdsupply.com/eoma68/micro-desktop He's using the A20, which has a Mali 400. It will be a shame if yet another free-software-oriented platform ends up being crippled with no GPU support.

If you were to run a crowdfunding campaign to continue your work, I would definitely contribute.

I might even be interested in helping, although I don't have any video-driver experience yet. I'd actually rather work on an FPGA-based GPU design, but maybe a project like Lima would be a good way to learn what the baseline should be.
(Reply) (Thread)
From: (Anonymous)
2016-10-21 04:46 pm (UTC)

Go for Lima wiki and roadmap, let other devs join in!

Now I know why linux-sunxi wiki is that good! It has been a much valuable resource. Thanks Luc! Even when not writing code you still keep pushing the envelope.

That leaves me wondering, if you are not in a mood to write code for Lima, why don't you take the same approach and document it more throughly? A roadmap detailing the steps needed to integrate Lima into MESA would be much useful, something akin to https://linux-sunxi.org/Linux_mainlining_effort Small steps and milestones would enable others to step in and do the coding. There certainly are some competent and willing devs around. Perhaps this could be a good chance to improve your organizational/leadership skills.

Even if the end result is not mainlined for political reasons, it could still be much useful for all of us. Projects such as Replicant are in *desperate* need for this driver. I bet you could find maintainers once the code is out.

Like others above, I urge you to try crowdfunding. Every other day I see new people coming to Replicant only to get frustrated about the missing EGL implementation. I see enough people here to support you for at least a couple of months. Try it out! There is little to loose.
(Reply) (Thread)
From: (Anonymous)
2016-11-30 06:49 pm (UTC)

What an absolute bunch of cunts

Well, that was very enlightening and quite possibly explains why the AMD "free" drivers are taking so fucking long. As for releasing the source. Do it, put it on github, don't allow anyone access to it, just you, don't allow anyone to send pull requests, make it email only and filter it like fuck and demand copyright assignment on every email sent in or it gets rejected. If releasing it fucks ARM's business model, so what? It's about time GPU's weren't black fucking boxes, there should be good documentation - I'm not counting AMD's here, as they lack a something as simple as an intro for new people, i.e. this is really how this shit works and this is what you have to do to do something, kind of thing. Or if you don't release it, write up how it works and how it should be programmed so someone else can take the flack. Or, take what you've learnt and design an open GPU and release the VHDL for that. Good luck - don't let the cunts get you down.
(Reply) (Thread)