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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to