About Brace Computer Laboratory (BCL) Blog

Brace Computer Laboratory (BCL) blog writes primarily about the following computer / electronics related topics. · Open source software development, with a particular emphasis on graphics stack development like DDX (Device Dependent X) and DRM (Direct Rendering Manager) device drivers for Unix like OSes (i.e., Linux and BSD) · Electronics repair, particularly computer related · Reviews about the computer hardware related to open source software development projects For all practical purposes, BCL blog is Kevin Brace's personal blog related to computer / electronics. As for myself, I am a self taught electronic hardware developer with specializations in external memory (DRAM) controller design and I/O subsystem (PCI and PCI Express) controller design. I am also quite experienced with Xilinx FPGA. I am fluent in Verilog HDL and VHDL based design (both RTL and verification, but prefer RTL). I decided to start this blog to publicize my open source software development projects I work on, but also to raise funds to support my open source software development projects. I specialize in developing code for underserved (i.e., old and neglected) graphics devices. At this time, I primarily work on OpenChrome (community developed device driver stack for VIA Technologies integrated graphics). I maintain (testing and code release) and develop OpenChrome. I also plan to develop code for other underserved graphics devices in the near future as well.

xf86-video-tdfx Version 1.5 released

I tested the code on Voodoo Banshee (16 MB SDRAM, PCI  bus and 16 MB SGRAM, AGP bus), Voodoo 3 1000 (16 MB SDRAM, PCI bus), and Voodoo 5 5500 AGP (AGP bus; the original “monster” gamer graphics card) with Xubuntu 16.04.5 (X Server 1.19.6). Standby resume does not work.

xf86-video-s3virge Version 1.11 released

Here is the announcement.  I tested the code on Diamond Multimedia Stealth 3D 2000 (S3 ViRGE, 2 MB EDO DRAM, PCI bus) and Stealth 3D 4000 (S3 ViRGE / GX2, 4 MB SGRAM, AGP bus) with Xubuntu 16.04.5 (X Server 1.19.6).  Standby resume does not work.  If anyone has the hardware register documentation, feel free to e-mail me as long as you do not violate your NDA.

xf86-video-apm Version 1.3 released

Here is the announcement.  I do not really have a graphics card that this DDX supports, so I was not able to test the code prior to the release.  Actually, I do have one card (from Miro) with a chip from Alliance semiconductor, but it is ProMotion 3210, which is not supported by this DDX.  I honestly doubt anyone on this planet uses this DDX anymore, but I updated the code anyway.  If anyone has the hardware register documentation, feel free to e-mail me as long as you do not violate their NDA.

Got the initial version of TTM memory allocator for OpenChrome DRM working

It took me about 5 to 6 days to figure out what was wrong with the code, but I am happy to report that the initial implementation of TTM memory allocator for OpenChrome DRM appears to be working okay.  I have not gone through all the tests I should be doing at this point, but at least it is working on my HP 2133 mini-note.  I booted my usual Xubuntu 16.04.5 LTS 32-bit and now the code can start up the X Server properly.  Of course, standby resume is also working fine (A small unrelated bug with FP detection right after standby resume still exists in the code, but I have not encountered this yet).  I expect it will take another week or two to properly clean up the code for the commit push into the upstream repository.

Got the new TTM memory allocator code integrated with OpenChrome DRM

Finally, I got the new TTM memory allocator code merged with OpenChrome DRM.  The code now compiles without syntax errors.  As expected, it could not boot the X Server the first time or the second time I tried it.  I am still working on getting it to work properly, and I expect this to take a week or two.  Code commit will probably not happen for 2 to 3 weeks.  Anyway, this is a huge step forward for OpenChrome Project, and my other future underserved graphics device revival projects.

Compiling the new TTM memory allocator code for OpenChrome DRM

I am now in the process of compiling the new TTM memory allocator code for OpenChrome DRM.  I hope to test the code for the first time by tomorrow.  Again, I plan to reuse the code with the future DRM modernization project (i.e., adding Kernel Mode Setting or KMS support) for underserved PCI / AGP graphics devices.  That project has stalled for now pending the validation of TTM memory allocator code.  It will resume once the code is proven.  Things are pretty much going along the lines described in my XDC 2017 OpenChrome Project presentation, except the schedule.