{"id":640,"date":"2026-02-26T01:21:18","date_gmt":"2026-02-25T14:21:18","guid":{"rendered":"https:\/\/securelang.net\/cms\/?p=640"},"modified":"2026-02-26T01:21:18","modified_gmt":"2026-02-25T14:21:18","slug":"graphics-rvvm-support","status":"publish","type":"post","link":"https:\/\/securelang.net\/cms\/blog\/2026\/02\/26\/graphics-rvvm-support\/","title":{"rendered":"Graphics &amp; RVVM Support"},"content":{"rendered":"\n<p>Back to work now on some features which I had already prototyped earlier but left unfinished &amp; broken.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Booting In RVVM<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/LekKit\/RVVM\">RVVM<\/a> is probably the fastest or most convenient RISC-V emulator for general purpose operating system work but hasn&#8217;t been a major focus of my porting efforts so far.<\/p>\n\n\n\n<p>Booting on RVVM with just the OpenSBI firmware seems to require a slightly different setup than when using uboot on real hardware so the current build has been tailored for that setup, which allows easy testing of new kernel updates.<\/p>\n\n\n\n<p>A fix to DTB support was required and the system is now recognised &amp; operational to some extent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Graphics Support<\/h2>\n\n\n\n<p>This means graphics is now working, since RVVM has an easy to use framebuffer device, but further work will be required on APIs, input drivers etc. to get a full GUI up &amp; running.<\/p>\n\n\n\n<p>Current graphics output is limited to some pixel tests so screenshots will come later after some font or GUI work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other Updates Needed<\/h2>\n\n\n\n<p>A little infrastructure like support for &#8220;hub&#8221; type devices (USB etc.) will probably be needed for more serious driver work whether in RVVM or on real hardware but there could be some easy options at least when working with emulators, I&#8217;ll see&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Back to work now on some features which I had already prototyped earlier but left unfinished &amp; broken. Booting In RVVM RVVM is probably the fastest or most convenient RISC-V emulator for general purpose operating system work but hasn&#8217;t been a major focus of my porting efforts so far. Booting on RVVM with just the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-640","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/comments?post=640"}],"version-history":[{"count":1,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/640\/revisions"}],"predecessor-version":[{"id":641,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/640\/revisions\/641"}],"wp:attachment":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/media?parent=640"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/categories?post=640"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/tags?post=640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}