logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

Status-update-March-2019.md (7408B)


  1. ---
  2. date: 2019-03-15
  3. layout: post
  4. title: Status update, March 2019
  5. tags: ["status update"]
  6. ---
  7. My todo list is getting completed at a pace it's never seen before, and growing
  8. at a new pace, too. This full-time FOSS gig is really killing it! As the good
  9. weather finally starts to roll in, it's time for March's status update. Note: I
  10. posted updates [on Patreon][patreon-archive] before, but will start posting here
  11. instead. This medium doesn't depend on a proprietary service, allows for richer
  12. content, and is useful for my supporters who support my work via other donation
  13. platforms.
  14. [patreon-archive]: https://www.patreon.com/sircmpwn/posts
  15. Sway 1.0 has been released! <img style="display: inline; height: 1.2rem"
  16. src="/img/party.png" /> I wrote a [detailed
  17. write-up](/2019/03/11/Sway-1.0-released.html) on the release and our future
  18. plans separately, which I encourage you to read if you haven't already. However,
  19. I do have some additional progress to share outside of the big sway 1.0 news.
  20. In the last update, I mentioned that I got a Librem 5 devkit from Guido
  21. Günther[^1] at FOSDEM. My plans were to get this up and running with sway and
  22. start improving touch support, and I've accomplished both:
  23. [^1]: A Purism employee that works closely with wlroots on the Librem 5
  24. ![A picture of a Librem5 devkit running pmOS and sway](https://sr.ht/fGxf.jpg)
  25. As you can see, I also got [postmarketOS](https://postmarketos.org/) running,
  26. and I love it - I hope to work with them a lot in the future. The [first
  27. patch](https://github.com/swaywm/sway/pull/3711) for improving touch support in
  28. sway has landed and I'll be writing more in the future. I also sent some patches
  29. to Purism's [virtboard](https://source.puri.sm/Librem5/virtboard) project, an
  30. on-screen keyboard, making it more useful for Sway users. I hope to make an OSK
  31. of my own at some point, with multiple layouts, CJK support, and client-aware
  32. autocompletion, in the future. Until then, an improved virtboard is a nice
  33. stop-gap :) I've also been working on wlroots a bit, including [a patch adding
  34. remote desktop support][rdp].
  35. In other Wayland news, I've also taken a part time contract to build a module
  36. integrating wlroots with the [Godot game engine](https://godotengine.org/):
  37. [gdwlroots](https://git.sr.ht/~sircmpwn/gdwlroots). The long-term goal is to
  38. build a VR compositor based on Godot and develop standards for Wayland
  39. applications to have 3D content. 100% of this work is free software (MIT
  40. licensed) and will bring improvements to both the wlroots and Godot ecosystems.
  41. Next week I'll be starting work on adding a Wayland backend to Godot so that
  42. Godot-based games can run on Wayland compositors directly. Here's an example
  43. compositor running on Godot:
  44. [rdp]: https://github.com/swaywm/wlroots/pull/1578
  45. <video
  46. src="https://sr.ht/9bV-.webm"
  47. autoplay muted loop controls
  48. style="max-width: 100%;"
  49. ></video>
  50. I've also made some significant progress on
  51. [aerc2](https://git.sr.ht/~sircmpwn/aerc2). I have fleshed out the command
  52. subsystem, rigged up keybindings, and implemented the message list, and along
  53. with it all of the asynchronous communication between the UI thread, network
  54. thread, and mail server. I think at this point most of the unknowns are solved
  55. with aerc2, and the rest just remains to be implemented. I'm glad I chose to
  56. rewrite it from C, though my love for C still runs deep. The Go ecosystem is
  57. much better suited to the complex problems and dependency tree of software like
  58. aerc, plus has a nice concurrency model for aerc's async design.[^2] The next
  59. major problem to address is the embedded terminal emulator, which I hope to
  60. start working on soon.
  61. [^2]: "aerc" stands for "asynchronous email reading client", after all.
  62. <script
  63. id="asciicast-pafXXANiWHY9MOH2yXdVHHJRd"
  64. src="https://asciinema.org/a/pafXXANiWHY9MOH2yXdVHHJRd.js" async
  65. ></script>
  66. aerc2's progress is a great example of my marginalized projects
  67. becoming my side projects, as my side projects become my full-time job, and thus
  68. all of them are developing at a substantially improved pace. The productivity
  69. increase is pretty crazy. I'm really thankful to everyone who's supporting my
  70. work, and excited to keep building crazy cool software thanks to you.
  71. I was meaning to work on RISC-V this month, but I've been a little bit
  72. distracted by everything else. However, there has been some discussion about how
  73. to approach upstreaming and I'm planning on tackling this next week. I also
  74. spent some time putting together a custom 1U I can install in my datacenter for
  75. a more permanent RISC-V setup. Some of this is working towards getting RISC-V
  76. ready for builds.sr.ht users to take advantage of - that relay is for cutting
  77. power to the board to force a reboot when it misbehaves - but a lot of this is
  78. also useful for my own purposes in porting musl & Alpine Linux.
  79. ![Picture of a 1U chassis with a bunch of custom components within](https://sr.ht/M7me.jpg)
  80. One problem I'm still trying to solve is the microSD card. I don't want to run
  81. untrusted builds.sr.ht code when that microSD card is plugged in. I've been
  82. working on some prototyping (breaking out the old soldering iron) to make a
  83. microSD... thing, which I can plug into this and physically cut VCC to the
  84. microSD card with that relay I have rigged up. This is pretty hard, and my
  85. initial attempts were unsuccessful. If anyone knowledgable about this has ideas,
  86. please get in touch.
  87. Outside of RISC-V, I have been contributing to Alpine Linux a lot more lately in
  88. general. I adopted the sway & wlroots packages, have been working on improved
  89. PyQt support, cleaning up Python packages, clearing out the nonfree MongoDB
  90. packages, and more. I also added a bunch of new packages for miscellaneous
  91. stuff, including alacritty, font-noto-cjk, nethack, and Simon Ser's
  92. [go-dkim](https://github.com/emersion/go-dkim) milter. Most importantly,
  93. however, I've started
  94. [planning](https://wiki.alpinelinux.org/wiki/Python_package_policies) and
  95. [discussing](https://lists.alpinelinux.org/alpine-devel/6465.html) a Python
  96. overhaul project in aports with the Alpine team, which will including cleaning
  97. up all of the Python patches and starting on Python 2 removal. I depend a lot on
  98. Alpine and its Python support, so I'm excited to be working on these
  99. improvements!
  100. I have some Sourcehut news as well. Like usual, there'll be a detailed
  101. Sourcehut-specific update posted to the
  102. [sr.ht-announce](https://lists.sr.ht/~sircmpwn/sr.ht-announce) mailing list
  103. later on. With Ludovic Chabant's help, there have been continued improvements to
  104. Mercurial support, notably adding builds.sr.ht integration as of yesterday.
  105. Thanks Ludovic! We've also been talking to some NetBSD folks who may be
  106. interested in using Sourcehut to host the NetBSD code once they finish their
  107. CVS->Hg migration, and we've been improving the performance for large
  108. repositories during their experiments on sr.ht.
  109. There's a bunch more going on with Sourcehut - paste.sr.ht, APIs, a command line
  110. interface for those APIs, webhooks, and more still - check out the email on
  111. sr.ht-announce later. That's all I have for you today. Thank you for your
  112. support, and until next time!
  113. <small class="text-muted">
  114. This work was possible thanks to users who support me financially. Please
  115. consider <a href="/donate">donating to my work</a> or <a
  116. href="https://sourcehut.org">buying a sourcehut.org subscription</a>. Thank you!
  117. </small>