[Openchrome-devel] [ANNOUNCEMENT] OpenChrome Version 0.4.0 is finally released
Kevin Brace
kevinbrace at gmx.com
Fri Apr 1 06:55:08 UTC 2016
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
More information about the Openchrome-devel
mailing list