Interested to learn a little about the people who make cool open source programs? Today I have interview with Flávio, the creator of the popular Heroic Games Launcher used on Linux desktop, Steam Deck, macOS and Windows.
Q: First of all can you introduce yourself
"Hi! My name is Flávio, I am a developer originally from Brazil but moved to Sweden 4 years ago. Father of 2 kids and passionate about tech, open source, gaming, history and heavy metal."
Q: How did you get started with programming?
"Well, I started working on IT in general when I was 16 and at that time I started to experiment with web development. Professionally I started to work as a developer around 7 or 8 years ago. Web and Android development."
Q: Tell us about the Heroic Games Launcher, what is it and why did you make it?
"Heroic is an open source games launcher, it supports downloading, installing and playing games from Epic and GOG stores. It is available for Linux, Windows and macOS. Behind the curtains it uses the great tool called Legendary to deal with the Epic games and our in house solution called GOGDL to deal with the GOG games.
Besides that, it is also possible to add your own games using what we call ‘Sideload’ feature, so since a couple of releases ago you can use Heroic even if you do not have an Epic or GOG account.
I use Linux since 2007 and always used it to play some games. But since Valve has developed Proton and DXVK and VKD3D started to be a thing, I migrated 100% to play on Linux, since almost all my library was playable on it and it is the system I also use for everything else.
When Epic started to give free games was when I discovered Legendary and started using it to play those games on Linux. One example of a game that I finished at the time using it was Control, that was Epic exclusive for a while and I really wanted to play it.
So since Legendary is a CLI tool and no GUIs were available for it at the time, I saw a good opportunity to contribute to the open source community and started to think on how I could develop a GUI for it with the developer stack I am used to.
I wrote a post on the linux gaming community on reddit to see first if people were interested in that and I got more than 300 comments and people were really excited for that.
A couple of days after the post I released the first version with basic features.
Then I asked my wife to help me with the UI/UX (she is a designer) and she did some research on the gaming community about the launchers we have on Linux and based on that feedback she started to make the design for it and we started to improve based on the feedback we were receiving as well."
Q: Has anyone from Epic Games or GOG reached out to you about the Heroic Games Launcher at all?
"No, so far no one has reached us about it."
Q: How difficult is it to support these stores that don’t support Linux directly with a launcher? What problems do you face?
"Well, first is the lack of documentation. Since they do not have an open API, both Legendary and GOGDL are reverse engineering them to make the basic stuff. Some things for GOG are still not available, some Galaxy features for instance. But Linguin (one of our devs) is putting a lot of effort into improving this part and supporting GOG was a huge milestone for the project. And in parallel he is also developing Nile, a CLI tool for Amazon games that we will implement a frontend in Heroic pretty soon."
Q: Heroic has been out for a while now, how have you found the reception to it? How’s things going overall?
"Well, we know that a lot of people really dislike Epic Games and part of that is related to some comments from their CEO about Linux.
In general the reception was always good and several people came to give me thanks for the project and how it was making their gaming life more productive on Linux.
But there were some people that were saying that I should not waste my time on that, that I should do other stuff. Or they were complaining that it was an Electron App and I should write it in another framework or language.
Bottom line, deciding to stick with Electron was the best decision I made for the project, since it makes it a lot easier to distribute the app and that is why we have AppImage, Flatpaks, debs, RPMs and also why was somehow simple to distribute it on Windows and macOS as well.
Some people come to me from time to time saying that they discovered that it was possible to game on Linux because they were using Heroic on Windows and saw that there was a Linux version. So this made them experiment and even migrate to Linux because of that and I think this is pretty cool."
Q: Why do you think people should use Heroic over Lutris, or Bottles or *insert other app*? Do you see them as competition, or is it more like companions?
"I have a lot to thank Lutris and also PlayOnLinux for making my life a lot easier to play games on when this was a pretty hard task and we did not have Proton, etc. Lutris was definitely an inspiration for Heroic and still is.
We have a great relationship with the developers of Bottles and Lutris and they help us when we need and vice-versa. The way I see it is that we are united for the same cause, that is to make gaming on Linux easier and accessible for everyone, especially newcomers.
Sometimes some games won’t work on Heroic and they work fine on Lutris or on Bottles and the other way around so having alternatives is great and that is the best thing of the Open Source community.
So, cheers to all of them! :)"
Q: How did you get started with Linux and what’s your favourite distribution and why?
"I started with Linux in 2007, my first experience was not that good, it was with Fedora 6 or 7 I guess and GNOME at that time was not really welcoming so I hated it.
After a couple of months, a friend of mine showed me a Brazilian distro called Kurumin that came with KDE3 and had several scripts and automations for everything. We need to remember that at that time even to use a CD or USB drive you needed to mount it manually on the terminal, so having these automations and scripts was great. So then I started to use it and love it.
Nowdays I don’t have a favourite distribution. The ones I used the most were OpenSuse (around 2 years), Slackware and Gentoo for around 1 year each and then Manjaro for I guess almost 4 years until I discovered Garuda that is my distro of choice today. Although I want to experiment with Vanilla OS now from my friend Mirko from the Bottles team. I basically only hear great things about it.
The thing is that I don’t really have time to setup things from scratch so I like to use distros that does most of the work for me and I just need to configure basic things for my workflow."
Q: What is your opinion on the Steam Deck? Valve sent the developer Lutris a Steam Deck, did you ever hear anything from Valve on a bit of support to help you?
"Steam Deck is basically the best thing in Linux gaming since forever I would say. The amount of work that Valve did on it and making all this progress available for the Linux community is amazing. It is a great piece of hardware and it’s software is only getting better.
Valve never got in touch to send a Deck to us but we were able to buy one with donations from our community that I think it is great.
I think makes sense that Valve sent one to the Lutris team due to the importance and longevity of the project."
Q: What are your favourite games? Give us your top 5!
"Oh, that is a really hard question because I play games since I was 6 and I play on console as well.
I will probably forget some but If I need to get 5 games that I had a pretty good time those would be:
- Castlevania SOTN
- Metal Gear Solid 3
- NieR: Automata
- The Witcher 3"
Q: If someone wanted to help with development on the Heroic Games Launcher, what are you looking for? How can they get involved?
"There are several ways of helping with Heroic development, even if you are not a developer you can help with translations on our Weblate project.
Developers should first be nice people, I have to say that I consider myself pretty lucky because our team today is pretty nice and we work pretty good together and they made a lot for the project.
Our stack is basically NodeJS, Typescript, CSS/SASS and ReactJS.
On our GitHub we have issues and feature requests with a label called ‘Good-First-Issue’ that is where people can start to understand how the code works and so on.
We have opportunities for all levels of developers from students until seniors and Heroic is a great way to put something on your CV. We have even created a Heroic Organization on
Linkedin so people can add their contributions and link to our official page there. This is good if you are searching for work to show their skillset.
If you develop with Python you can also get involved on GOGDL or even Legendary as well.
So if you want to contribute, just go to our Discord community and get in touch with us :)"
Q: What are you most excited about for the future of Linux gaming as a whole?
"I am pretty excited about that because gaming on Linux today is totally proven and I believe this year will get even better. I mean, if the Steam Deck made Ubisoft add Easy Anti-Cheat support for Linux on The Division 2, I really can only expect things will get even better from now on.
I think 2023 will be simply great for us and we will have more and more support from big publishers."
Q: Is there anything you would really love to add to the Heroic Games Launcher, that’s just perhaps out of reach right now?
"I think there are several things that could (and perhaps will) be added to Heroic in the future. We plan on adding more stores of course, Amazon, maybe Itch.io and others. We also are planning a way of automating fixes like Proton does with Protonfixes by using a database of what we call ‘workarounds’. We are also working on a new design for Heroic to make it more modern but also with a better UX in general.
I would like to have is a native support for EA and Ubisoft games because their official launchers simply sucks, not only on Linux, but on Windows they are terrible as well. We have started to investigate and look into them, so might be possible in the future but definitely not an easy task."
Big thank you to Flávio for taking the time to have a chat and answer my questions.