Running Doom on Qt for MCUs
April 28, 2022 by Åsa Forsell | Comments
You're probably familiar with the meme that "Doom will run literally on anything", with people running the classic game on, well, anything. It has almost become a competition of who can launch the game on the funniest, or most challenging, environment. Some of my favorites include running doom on a pregnancy test, a calculator, a 1998 digital camera, and literally on a potato.
Considering this, it was only a matter of time until someone would try to run Doom on an embedded micro controller powered by Qt for MCUs and Qt Quick Ultralight. The noble task was taken on by a trio of Qt developers during our internal Hackathon earlier this year. The trio, consisting of Tommi Tauriainen, Kari Hormi, and Timo Aarnipuro, succesfully completed the task and won the "most suprising entry" price for it.
DOOM running on MCU and rendered to the screen via Qt for MCUs
- Add image of an old PC as the background
- Run DOOM 1 Shareware on a separate FreeRTOS task
- Provide touch input information from QUL to DOOM to add controls
- Render Doom on the "display" of the old PC
The demo utilizes Painted item to draw Doom to the application. The same method can be used in real world scenarios to draw custom content like video feed from a vehicle rear-view camera.
- MIMXRT1052DVL6B MCU featuring 600MHz ARM® Cortex®-M7 core, 512KB RAM
- 4.3” 480x272 RGB Touch Display
- 256-Mbit SDRAM memory
- 512-Mbit Hyper Flash
- 64-Mbit QSPI Flash
- Socket for SD card
But wait... there's more!
We loved seeing Doom run on Qt for MCUs so much that we started digging into the Qt community to see if there were other cool Doom projects around. We were not disappointed. We wanted to share some of our favorite Doom projects made by our talented community. All credit goes to the amazing developers that created them.
QtDoom: Portable Doom Wrapper by Mertcan Özdemir
Qt SDL2 plugin by Jesus Fernandez
OpenGL/Qt TEXTURED Doom map renderer by jewalky
Let us know if you have a cool Doom project running on Qt, we'd love to add it to the list!
Subscribe to our newsletter
Try Qt 6.4 Now!
Download the latest release here: www.qt.io/download.
Qt 6 is the productivity platform for the future, with next-gen 2D & 3D UX and limitless scalability.
Explore Qt World
Check our Qt demos and case studies in the virtual Qt World
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.
Want to build something for tomorrow, join #QtPeople today! We have loads of cool jobs you don't want to miss! http://qt.io/careers #builtwithQt #software #developers #coding #framework #tool #tooling #C++ #QML #engineers #sales #tech #technology #UI #UX #CX #Qt #Qtdev #global #openpositions #careers #job
Henkilön Qt (@theqtcompany) jakama julkaisu