[Openchrome-devel] [ANNOUNCE] OpenChrome Version 0.5 is now available
kevinbrace at gmx.com
Wed Jul 6 06:53:23 UTC 2016
I took out the RC (Release Candidate) label from OpenChrome Version 0.5 RC8.
OpenChrome Version 0.5 is now officially released.
Since the last release was March 31st, 2016, it has been more than 3 months since the last major update. (Version 0.4.0)
Please note that I will no longer include patch level (Z portion of Version X.Y.Z) when naming the official release version.
Patch level will be used only during development between versions. (i.e., Version 0.5 and 0.6)
Anyway, the following features were newly added compared to Version 0.4.0.
- Support for multiple display outputs (i.e., RandR)
- Support for VIA Technologies VT1632A TMDS transmitter for DVI
The following bugs were fixed completely compared to Version 0.4.0.
- Changing the screen resolution during runtime will no longer crash the X.Org Server
- CLE266 chipset will not function correctly if "CRT + TV" option was chosen in BIOS setup
(observed in VIA Embedded EPIA-M mainboard)
- xf86InitFBManager implicit compilation warning
The following bugs are less severe compared to Version 0.4.0.
- VX800 chipset now resumes from ACPI S3 State correctly if only VGA is used
(Xubuntu 14.04 has a bug when resuming with VX800 chipset. The fix is working at least for Lubuntu 10.04 and 12.04.)
- Some improvement in ACPI S3 State resume behavior for P4M900 / VN896 / CN896 chipsets when LVDS FP (Flat Panel) is being used
(This fix is not perfect and the solution to fully solve this bug is still being investigated.)
The code itself contains more than 15 bugs, and the number of known bugs has increased, not decreased since Version 0.4.0.
This is because as more features are added to the code, more bugs are now exposed or activated as a result.
Just to defend myself, most of the new bugs discovered were in the code prior to myself becoming the maintainer of the OpenChrome project.
I will admit that I introduced a few regressions during the Version 0.5 development, but various vigilant users caught my mistakes, and I will need to thank them for that.
All the blocking level regressions were taken cared during RC (Release Candidate) testing.
For OpenChrome Version 0.5, my focus was to fix the most severe bugs so that OpenChrome is more useful to the VIA IGP user.
Multiple monitor and VT1632A TMDS transmitter code was already there since Version 0.4.0, but due to severe bugs in the code, they were not usable at that point.
I had to fix them to make the code functional, and I spent tremendous amount of my own time doing this.
I am aware that OpenChrome still contains several severe bugs in the code.
However, due to the way OpenChrome code was written, it is not practical to fix all the bugs in a matter of few months, especially when there is only one developer (myself) working on it.
Some bugs take months to fix, and some of the bugs show up only in certain models of the same chipset.
VIA Technologies never released hardware programming documents for anything older than CX700 chipset, and often times, I had to "guess" or use register dump tools to figure out the functionality of various registers.
This is one of the major reason why it is taking so much time to fix OpenChrome.
Inevitably, OpenChrome is going to be like Gentoo Linux or Arch Linux where the software components can be updated to the latest version.
For that matter, Microsoft Windows 10 is no different than that. (Thanks Microsoft!)
OpenChrome will be adopting this rolling release philosophy for the foreseeable future since the code will be imperfect for likely many years to come.
For OpenChrome Version 0.6, I am just hoping to fix one or two bugs and release a new version.
It will be like this for many more releases.
If you wanted to compile the latest OpenChrome code, here is the OpenChrome Git repository website.
Since OpenChrome Version 0.2.904 through 0.2.906, 0.3.x, and 0.4.0 have more problems with the code than Version 0.5, I recommend various FOSS developers to replace their older OpenChrome code with this version.
If your favorite distribution is not carrying the latest OpenChrome, please tell their developers to adopt the latest OpenChrome code.
At least, I tried my best to make sure the code will compile and run correctly with a fairly old OS like Ubuntu 10.04 LTS or Lubutu 10.04, and OpenChrome Version 0.5 is designed to be a drop in replacement for OpenChrome Version 0.2.904 through 906, 0.3.x, and 0.4.0.
However, many OS distributions do not update their code fearing a regression, and this tutorial is helpful for those wishing to update the OpenChrome on their own that came with their OS distribution.
Please note that if you are using Ubuntu / Xubuntu / Lubuntu 14.04.4 LTS or later version, please be advised that following the instructions above can wreck your OS installation.
If you are not sure, please contact me, and I can give you special instructions on how to install the compiled device driver in that particular environment (14.04.4 or later).
In terms of the environment OpenChrome can function correctly, X.Org Server Version 1.7 or later can successfully compile and run the code along with Linux kernel Version 2.6.32.
If you use anything older than that, the code may compile, but you may experience crashes.
If you are using Linux kernel Version 4.5 or above, there is a bug with VESA frame buffer device driver claiming the VIA Technologies IGP frame buffer before OpenChrome can, and this leads to the X Server refusing to start (i.e., no GUI).
If you see this, please blacklist VESA frame buffer device driver.
This bug has been reported to Linux kernel developers, but I have not received a reply from them so far.
I will be posting the bug list and future development roadmap in the next few days.
I hope you will have a better VIA Technologies IGP user experience using OpenChrome compared to the previous version, and I will get back to work fixing more bugs, as usual.
OpenChrome Project Maintainer / Developer
More information about the Openchrome-devel