RPi Ranting
Hey guys, it's been a little bit since I last blogged and this time it's because I'm extremely unhappy with the current state of GUI development on the Raspberry Pi.
Now, I'm not an idiot, I recognise that microcomputers aren't necessarily supposed to be used as real computers, and that's never been my intention. But then, you release games and shit for them and it starts to cloud the proper use for RPis. Are they supposed to be gaming consoles? They aren't exactly the most powerful... Or are they supposed to be used to power small devices that serve one or two purposes? Of course, the model you have would also change this. Now, I went cheap and asked for a Zero W, which is about as weak as you can get without buying the original Pi.
So, as you may or may not know, I've been working on a project called RPiMorse, which is a simple Morse Code translator using two pins on the GPIO header (default 18 and any ground). Well, my past week has been spent trying to configure a GUI for it, except that instead of writing a GUI I've been fighting with my Pi and Qt5.10.1. It's been... Frustrating, to say in the least.
As I said, Pis aren't necessarily meant to act as a computer, but even something as simple as a Qt graphical application shouldn't be as painful to work with as it has been for me. It seems to be a very common thing that people do, though. I personally dislike using GTK+ and wxWidget as they both look terrible by default and neither have a built-in editor with a designer like Qt does. So, I've spent a week cross-compiling Qt, with shitty internet. Perhaps it wouldn't be so bad if I had a network that could actually clone Git repos, but I don't, because my parents are complete morons who thought it would be a good idea to get rid of the internet and replace it with access to unlimited mobile data and hotspots.
I spent at least three days just trying to collect all of the necessary libraries, source code, and other shit just to make a cross-compiler with Qt5 support. Every step and turn lead to further frustrations. Of course, everything's made worse by the fact that when I have to leave for work I take my mobile with me, meaning my computer cannot be downloading anything while I'm away. Add onto that the fact that Git does not have continuous downloading and would fail all the time, so I could spend hours retrying a clone and nothing would really be achieved. Eventually I did get everything, but in about the same amount of time as it took for me to use workarounds, like having someone clone the repo and upload it somewhere that I could wget it, for continuous downloading.
All of this isn't the worst part. In the past two days I've gotten further with Qt5 than in an entire week. I finally got it working, only to struggle to keep it working. Not only was it a pain in the ass to install, but once I got it everything went to hell and I've already had to reset several times. I think the biggest struggle is the incompatibilities that exist in the latest version of Raspbian. So many work arounds to get the right versions of the graphical libraries. Added on top of the fact that suddenly, after getting everything working, Qt decided it wanted to run as an embedded app and not as a windowed application. So my latest attempt (which is going as I type all of this) has been forcing XCP mode and disabling EGLFS mode, which attempts to force the application in fullscreen, no window borders, and over taking everything else. I understand the usefulness of something like that, unfortunately, it's not what I'm after. I need something that can be accessed on the Pi's desktop environment through VNC (or SSH with x-server access, I suppose).
All the problems I had with it have just been angering. I got it running at first, then it would start randomly segfaulting, then it would rarely run properly, and then it wouldn't run at all, as is the fault of EGLFS mode. So now I'm forcing XCB mode, which worked every time I forced it. It's just an annoyance to have to append -platform xcb every time I need to run my application.
This entire thing has just been problem after problem. My primary dev machine's version of Qtcreator refused to let me configure for remote compilation and running, so everything's being done on my dual-core Intel Centrino laptop processor, which takes about 8 hours to compile Qt5.
I think I've ranted for long enough now. Just one final annoyance: Python. Just... Python on the RPi.
Now, I'm not an idiot, I recognise that microcomputers aren't necessarily supposed to be used as real computers, and that's never been my intention. But then, you release games and shit for them and it starts to cloud the proper use for RPis. Are they supposed to be gaming consoles? They aren't exactly the most powerful... Or are they supposed to be used to power small devices that serve one or two purposes? Of course, the model you have would also change this. Now, I went cheap and asked for a Zero W, which is about as weak as you can get without buying the original Pi.
So, as you may or may not know, I've been working on a project called RPiMorse, which is a simple Morse Code translator using two pins on the GPIO header (default 18 and any ground). Well, my past week has been spent trying to configure a GUI for it, except that instead of writing a GUI I've been fighting with my Pi and Qt5.10.1. It's been... Frustrating, to say in the least.
As I said, Pis aren't necessarily meant to act as a computer, but even something as simple as a Qt graphical application shouldn't be as painful to work with as it has been for me. It seems to be a very common thing that people do, though. I personally dislike using GTK+ and wxWidget as they both look terrible by default and neither have a built-in editor with a designer like Qt does. So, I've spent a week cross-compiling Qt, with shitty internet. Perhaps it wouldn't be so bad if I had a network that could actually clone Git repos, but I don't, because my parents are complete morons who thought it would be a good idea to get rid of the internet and replace it with access to unlimited mobile data and hotspots.
I spent at least three days just trying to collect all of the necessary libraries, source code, and other shit just to make a cross-compiler with Qt5 support. Every step and turn lead to further frustrations. Of course, everything's made worse by the fact that when I have to leave for work I take my mobile with me, meaning my computer cannot be downloading anything while I'm away. Add onto that the fact that Git does not have continuous downloading and would fail all the time, so I could spend hours retrying a clone and nothing would really be achieved. Eventually I did get everything, but in about the same amount of time as it took for me to use workarounds, like having someone clone the repo and upload it somewhere that I could wget it, for continuous downloading.
All of this isn't the worst part. In the past two days I've gotten further with Qt5 than in an entire week. I finally got it working, only to struggle to keep it working. Not only was it a pain in the ass to install, but once I got it everything went to hell and I've already had to reset several times. I think the biggest struggle is the incompatibilities that exist in the latest version of Raspbian. So many work arounds to get the right versions of the graphical libraries. Added on top of the fact that suddenly, after getting everything working, Qt decided it wanted to run as an embedded app and not as a windowed application. So my latest attempt (which is going as I type all of this) has been forcing XCP mode and disabling EGLFS mode, which attempts to force the application in fullscreen, no window borders, and over taking everything else. I understand the usefulness of something like that, unfortunately, it's not what I'm after. I need something that can be accessed on the Pi's desktop environment through VNC (or SSH with x-server access, I suppose).
All the problems I had with it have just been angering. I got it running at first, then it would start randomly segfaulting, then it would rarely run properly, and then it wouldn't run at all, as is the fault of EGLFS mode. So now I'm forcing XCB mode, which worked every time I forced it. It's just an annoyance to have to append -platform xcb every time I need to run my application.
This entire thing has just been problem after problem. My primary dev machine's version of Qtcreator refused to let me configure for remote compilation and running, so everything's being done on my dual-core Intel Centrino laptop processor, which takes about 8 hours to compile Qt5.
I think I've ranted for long enough now. Just one final annoyance: Python. Just... Python on the RPi.
Comments
Post a Comment