Update on OpenChrome Project (XDC 2019)

During Day 1’s Lightning Talk session of X.Org Developer’s Conference 2019 (XDC 2019), I gave an update on the status of OpenChrome Project.  It is merely an update presentation since the last presentation was at XDC 2017. (The summary is here.  Presentation slides can be downloaded from here.)  As usual, only one graphics object (the title page OpenChrome Linux penguin logo I stole from the OpenChrome Project main website over at freedesktop.org) in the entire slides since I tend not to really put much effort into making the slides look nice.  To be honest, my presentation delivery was pretty awful for these reasons.

  1. Wanted to present on Friday (last day), but the organizers strongly wanted me to go on Wednesday
  2. When I attached overhead projector’s VGA connector, OpenChrome DRM caused a crash (known frame buffer management bug), and I had to reboot the computer (I went back to using OpenChrome DDX’s UMS code for the dual screen.)
  3. HP 2133 mini-note does not fully open 180 degrees, so when put on a tiling stand, it could not really read the screen very well
  4. Relating to the Point 3, I felt like I “had to” speak into the microphone attached to a microphone stand
  5. I used a smartphone based stopwatch (set for 4 minutes and 30 or 45 seconds) during the presentation so that I do not go over the 5 minutes limit, but I did not set up smartphone’s screen settings properly, so the screen kept turning off after 30 seconds of inactivity

Because I used a smartphone based stopwatch to time myself, I was told by the organizer that I was the only speaker who did not go over the 5 minute limit during the Day 1’s Lightning Talk session.  I guess that is about the only thing that went right.

As for the contents of the presentation, I went over the status of OpenChrome DDX and DRM.

For OpenChrome DDX, a new official release version has not been released for more than 2 years, and I mentioned 2 blockers (Less than reliable VGA connector detection code and EDID acquisition issue on GPIO based I2C bus) preventing the release.  I also mentioned the improvements made to the code slated for Version 0.7.  For those who have X.Org X Server 1.20, you will need Version 0.7 for a proper operation.

For OpenChrome DRM, I went over the progress I made with it since XDC 2017 and remaining issues before the code can be included in the Linux kernel mainline tree.  In terms of the progress made with the code, standby resume is mostly working (I use it almost everyday) and display device support is close to feature parity with OpenChrome DDX’s UMS (User Mode Setting) code.

As for recent progress, I announced that I got “legacy” universal plane (primary and cursor planes) working roughly 2 weeks prior to XDC 2019. (I was saving this good news to be announced first at XDC 2019 rather than posting a short blog post prior to the conference.)  I have been working on universal plane for several months, so getting this done roughly 2 weeks prior to XDC 2019 was not really intentional in terms of the timing. (Proposal to present was submitted in June, and resubmitted for Lightning Talk session in July since it got rejected for a half slot presentation session.  Back in June, there was no guarantee I could get cursor plane working prior to XDC 2019.)  Furthermore, I mentioned that I started the work to convert to atomic mode setting using transition helpers immediately, and while the code was finished in a week, I could not get it to work prior to XDC 2019. (I did try pretty hard to get it working in a week and half, but it crashes the system during boot time.)

I discussed all the remaining issues preventing Linux kernel mainline tree inclusion, and those are atomic mode setting (already discussed), frame buffer management issue (the cause of run time screen resolution change crash that appears to have gotten worse fairly recently), and code cleanup issues.

Finally, I talked about what I will do with OpenChrome Project after the OpenChrome DRM is mainlined in the Linux kernel mainline tree.  Obviously, I will like to get 2D acceleration (EXA) working when OpenChrome DRM is in use since the unaccelerated 2D performance is pretty awful.

Anyway, for more details, here is the slides I used for the presentation.  For those who use OpenChrome, I hope this presentation gives you some idea of where the thing is headed.

Got into Montréal, Québec, Canada

Arrived in Montréal this morning.  I could not really fall asleep during the long cross continental flight, so I tried to stay awake by spending a few hours at a coffee shop (sorry for the cross border corporate imperialism) right across the hotel I will be staying at, and work on a few items.  I pulled in drm-next-2019-09-27 version of upstream DRM code, and made a few code commits.  After that, I checked into the hotel around 1 P.M., and slept for about 5 hours.

I am writing this blog post from XDC 2019 Welcome Party being held at Kampai Garden.  Personally, I just showed up to pickup free food and beer, but the food they have served us has not been that great.  The bar beer is okay.  I am now onto my second glass of beer, and I am starting to get a little drunk.  I am writing this while I drink my beer.  I still need to do some slides preparation for tomorrow or Friday.