[Openchrome-users] 答复: [Openchrome-devel] [ANNOUNCEMENT] OpenChrome Version 0.4.0 is finally released
黄然
huangran at iscas.ac.cn
Fri Apr 1 10:16:10 UTC 2016
Hi Kevin,
First of all, Congratulations for 0.4.0 release of OpenChrome UMS driver!
I went through your long article below although I am not a native speaker for English. Thanks for sharing all your thought here about OpenChrome, especially the idea and reason why you want to be involved into OpenChrome project. It inspired me a lot!
Actually I did join Openchrome-devel list few months ago and see your progress from start to now. You added enormous comments in the code to make the driver clear, solved several important mode setting bugs to other users happy, delete several obsolete code to make the architecture simple. Besides this, you learned how to use git and got the commit privilege to the openchrome. All you have done is definitely helpful whatever for VIA HW users and OpenChrome itself.
I have been working in ASIC design for several years before with Verilog(actually I have the similar background of you). And after I worked in AMD, I devoted my passion in graphics driver for 5 years which I found it is very interesting. So what I can tell you is that although you are not a "pure SW developer", but I do think your knowledge in HW design will help you a lot on graphics driver development and maintain work, especially for registers setting works and how graphics HW internal works.
For guys who helped us, actually I am more lucky than you at that time because a lot guys(including Alex, John, Michel, Christian) in AMD/Community help me to grow up and tell me how graphics driver works. And with those guys' help, I gradually do my first graphics driver for an embedded system. So I do think in order to be involved into open source graphics driver development, you need three things as I have worked for this area in the past:
1) Document(OGPM is not enough)
2) Nemours learn and ask
3) Time and Passion
So for some criticize you got, just accept it. I think most of the suggestion from others is good for you and all of us. In this process, you can learn from other developers.
By the way, for VIA platform, as you said, it is not belonging top3 graphics card companies anymore. But as you said, actually there are still a lot of users here for VIA's old platform and they really need help. Another reason you have mentioned is that current HW is already strong enough for some cases/projects, following close to latest one is not a MUST. I agree with this point. Furthermore, right now VIA is not die, its latest one is VX11(designed in 2012) which is still used by a lot of users/companies. And I believe more chips will show up.
And from the graphics driver architecture point of view based on what I have learned those days, current close driver of VX900 is also following KMS architecture(CRTC/Encoder/Connector mode setting) which is similar as OpenChrome KMS driver and DRI2 is supported. I didn't see there is too much difference between VIA's openchrome driver and other mainstream open source graphics driver for this point(although right now DRI3 is used).
Althought 3.19 kernel is used for current drm-openchrome, actually I didn't see there is obvious obstacle to use latest kernel with current drm-openchrome. We just need use latest DRM/TTM APIs to replace the old one calls.
So let's go ahead and move forward!
Thanks,
Frank
> -----邮件原件-----
> 发件人: Openchrome-devel
> [mailto:openchrome-devel-bounces at lists.freedesktop.org] 代表 Kevin Brace
> 发送时间: 2016年4月1日 14:55
> 收件人: openchrome-devel at lists.freedesktop.org;
> openchrome-users at lists.freedesktop.org
> 主题: [Openchrome-devel] [ANNOUNCEMENT] OpenChrome Version 0.4.0 is
> finally released
>
> Hi everyone,
>
> Okay, midnight / early morning of March 30th / March 31st, 2016, I finally
> released the long awaited OpenChrome Version 0.4.0.
> I replaced the old README file with a newly written one (actually, it was mostly
> done about 2 weeks ago) and changed the version number of the compilation
> script to 0.4.0.
> If you check the version via Xorg.0.log located at /var/log, you will see that.
> I also assigned a new tag for OpenChrome Version 0.4.0 which follows the
> previous developer convention.
> For me personally, this is the first time I have been involved in an open source
> software development project, and with almost no guidance given by
> developers who worked on OpenChrome previously (Benno Schulenberg helped
> me on how to use Git from time to time, but I was probably being scolded by
> him more often than not for not knowing how to use Git effectively. Benno, I do
> not take it personally.), I pretty much had to figure out everything on my own.
> With a background in digital hardware design engineering (Xilinx FPGA design
> specialization with an emphasis on memory and I/O subsystem architecture,
> design, and verification with technologies like DDRx SDRAM, PCI, and PCI
> Express.), learning the open source software development process was a new
> challenge to me.
> I got interested in developing VIA Technologies IGP device driver mainly
> because I started collecting abandoned computers starting around 2010 and I
> live within a driving distance of WeirdStuff Warehouse (Sunnyvale, California,
> United States of America) where I can obtain used mainboards.
> VIA releasing some 2D / 3D hardware programming documents between 2008
> to 2011 (This was well chronicled by Michael Larabel of Phononix. More on him
> in a minute.) was a definite factor in deciding to work on OpenChrome.
> While many second and third tier graphics chip vendor dropped out of the PC
> graphics business between early to mid year 2000s not being able to compete
> with NVIDIA, ATI Technologies (now AMD), and Intel, one way or another, VIA
> continued to release chipsets with Chrome family IGP.
> Excluding the Big 3 of x86 platform graphics, I would imagine that VIA IGP still
> has the most active usage share of x86 platform graphics.
> Of course, I know that its active usage share is way less than 1% of all x86
> platform graphics, but at least within that super small minority group, VIA IGP
> probably has the most users still actively using it.
> Perhaps, the bigger reason why I got involved in this project, is mainly due to
> the dilapidated state of many open source graphics device drivers, particularly
> ones that are not actively developed by financially resourceful corporations like
> AMD and Intel.
> While I am sure there are some who do not appreciate my criticisms of open
> source software, the device driver stability and reliability is still far below of
> that of Microsoft Windows level, and I honestly have not been very happy with
> this situation.
> So I wanted to do something about it, hence, I got involved in the OpenChrome
> project.
> There are other reasons why I got involved in this project other than the
> reasons I have already written here, but I probably should not get into that
> since I can easily get blacklisted by the "industry" located in what the media
> commonly calls "Silicon Valley."
> Personally, I am not a huge fan of VIA Technologies (I do not hate them,
> either.), and if the management of VIA were more competent between year
> 2004 to year 2010 or so, perhaps, they might have still been somewhat
> relevant as a comprehensive silicon solution vendor (i.e., a vendor that "owns"
> capable microprocessor cores, DirectX 9 / 10 level graphics cores, and
> peripheral subsystem) even today.
> However, they have been in severe decline as a firm for the past 8 years or so,
> and I will not be surprised if they disappear all together within the next 5 to 10
> years since they have been losing money for the past 9 years.
> I am not trying to trash VIA here, but the reality cannot be denied.
> I am sure someone who works for VIA Technologies will likely read this posting
> at point (and not like it, I suppose), and if they wanted to reach out to the
> OpenChrome project, at least I will be willing to go talk to them over at their
> Fremont, California office since I live within 20 miles (30 km) of their U.S. design
> center.
> Looking forward, due to the end of what is called Moore's Law, it is my
> view as a digital hardware engineering background person that what people
> will consider "trailing edge" hardware or even "garbage" hardware will be used
> much longer than people would have historically expected.
> This is because the hardware capacities and capabilities have already reached
> a point where other than hardcore 3D gaming, physics simulations, "Machine
> Learning" stuff (this used to be called "AI"), and 50+ million gate ASIC design (I
> am a digital hardware engineering person, after all.), the computers people
> own are quite adequate for mundane everyday use.
> Not to mention, the cost of developing an ASIC (Application Specific Integrated
> Circuit) has got to the point where a minimum of 1 billion USD or greater sales
> is typically necessary to undertake it (at 28 nm process generation or below),
> and even in Silicon Valley, many companies have been downsizing hardware
> engineering positions (There are more dark side to what is going on in this field
> than what I can write here, but I will digress since I do not want to be
> blacklisted by the "industry.") for the past 10+ years.
> Contrary to what journalists like Michael Larabel of Phoronix might naively think
> (I had to avenge for writing stuff like "Kevin working on the
> xf86-video-openchrome driver can't even figure out how to make use of the
> OpenChrome KMS driver so there's nothing happening on that front . . .")
> electronics will likely not evolve like the way it did throughout 1980s, 1990s,
> and 2000s, moving forward (Michael, the "avenge" part is a joke. Don't take it
> too seriously!).
> In particular, CPU performance (x86 and ARM) is pretty much saturated and
> GPU performance is already hampered by memory bandwidth limitation.
> Theoretically, technologies like HBM2 (High Bandwidth Memory 2) can break
> the memory bandwidth limitation of GPU, but I personally have doubts that if it
> ever can come down to the mainstream price point of the market.
> More importantly, heat is becoming a huge problem for both CPU and GPU, and
> that is one of the biggest limiter of performance these days.
> If I were to summarize, physics and economics are becoming the limiting
> factors of computer / electronics industry, hence, the evolution of the hardware
> will be much slower moving forward.
> I am not sure which one will stop the process geometry progression (i.e., 16 /
> 14 nm to 10 nm to 7 nm and beyond), but short of a huge breakthrough, these
> twin factors will stop it in the next 10 to 15 years.
> What this means is that more than ever, it is important to develop and
> maintain existing computer hardware that have been manufactured, and to me,
> fixing and developing OpenChrome fits within this trend I have articulated here.
> In the computer / electronics industry, developers doing maintenance / trailing
> edge work is often treated like a low caste person (Michael Larabel definitely
> has something of an editorial bias against people using graphics hardware
> other than the Big 3 of x86 platform graphics I have discussed.), but based on
> the state of open source software graphics device driver I have seen in the past
> few years, I feel like someone has to do the unappreciated, dirty, and low caste
> people work, and I guess I decided to specialize in this unappreciated field.
> In addition to OpenChrome, I personally plan to work on rehabilitating and
> retrofitting many long forgotten graphics device drivers for open source
> software, moving forward.
> However, OpenChrome will likely get the most of my attention since it is the
> most developed and most capable outside of the Big 3 of x86 platform graphics.
> Obviously, I am not getting out of OpenChrome development, and in fact, I am
> just getting started, in terms of the actual development.
> Based on my own testing and many other bug reports users of OpenChrome
> have filed, there are about a dozen (12) serious bugs that remain in
> OpenChrome.
> I plan to fix them one by one moving forward, and in general, when one serious
> bug is fixed, the patch level will go up (i.e., Version 0.4.0 to Version 0.4.1).
> The good news is that patch level will go up much faster than it did in the past
> (OpenChrome stayed at Version 0.3.3 for almost 3 years . . .), so there will be
> much less confusion moving forward.
> I will start looking into adding support for extended screen since I do want this
> myself for my 2 VIA IGP based laptop computers.
> In addition to this, DVI related issues have to be fixed since I had to disable DVI
> support for those with DVI coming from an external transmitter.
> Just for the record, OpenChrome Version 0.4.0 had to come out at this
> timing because the previous version (Version 0.3.3) had a bug that made it
> inoperable with some hardware not "known" by this particular OpenChrome,
> and pretty much all Linux / BSD distributions still use this buggy version.
> I personally wanted to fix a few more bugs, but I had to do my best to turn it
> into a releasable condition, so that Version 0.3.3 can be retired for good.
> If the bug you personally reported has not been fixed yet, I will start working on
> it in the near future, so please be patient.
> I probably should not get into the UniChrome / OpenChrome development
> schism from year 2005 or so (I was not involved in the controversy.), but in
> some ways, OpenChrome Version 0.4.0 settles the matter, at least
> philosophically.
> I removed most legacy mode setting features like VBE and a different
> alternative mode setting option from the code completely.
> The support over VBE mode setting was a huge reason, apparently, that
> caused the schism.
> VBE mode setting should have been removed from the code around 2010 or so
> after VIA finally release long awaited hardware programming documents, but
> developer interest declined in the past 2 years, and probably as a result, it
> never happened until now.
> In some ways, UniChrome project's views on mode setting was finally
> incorporated into OpenChrome starting with Version 0.4.0.
> I hope this version settles the bitterness it generated back then.
> As for KMS and TTM support Michael Larabel keeps beating me and
> OpenChrome up, Frank Huang and I have started the work on the new DRM
> module, and have recently made a patch fixing a small error message it was
> leaving with dmesg if Chrome9 based IGP was used.
> I finally was able to compile and install the new DRM module supporting KMS
> and TTM, but I will have to install it with a newer OS than Lubuntu 12.04 for
> further testing.
> At this point, the new DRM modules can be compiled only for Linux 3.18 or later
> kernel since James Simmons appeared to have been using the latest TTM APIs
> (I tend to be against using the latest API, but that's my opinion.).
> Frank has told me that HDMI is not currently working even though it was
> supposedly working 2 years ago when James was working on it.
> Frank will soon obtain commit privilege, so moving forward, he will become the
> other project maintainer.
> If there are other people who want to be involved in the development side of
> the project, I definitely will welcome that.
> Finally, this message got a little too long, and I will try not to post such a
> long message in the future (I guess there is a thing called "blog" to post an
> essay like this one I did here.), but I hope the new version can get people with
> VIA hardware to resurrect their long forgotten hardware.
>
> Regards,
>
> Kevin Brace
> OpenChrome Project Maintainer
> _______________________________________________
> Openchrome-devel mailing list
> Openchrome-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/openchrome-devel
More information about the Openchrome-users
mailing list