View Full Version : Install on Rocky Linux 9 - MIT-SHM errors
xerxes
11-18-2022, 03:23 PM
Hey there,
I managed to get ShowEQ compiled on Rocky Linux 9 using Qt4, but it is having issues starting up with "MIT-SHM" errors. Searching on the forums, I found I can set the environment variable "QT_X11_NO_MITSHM=1" and it will start with an ugly UI.
The UI does start to load correctly as a non-root user, and there are no MIT-SHM errors, and it displays with a more modern UI, but it won't finish loading since ShowEQ requires root.
How can I use ShowEQ as root, without setting the aforementioned environment variable? I'd like to have the newer, cleaner looking UI.
Thanks for any suggestions!
BlueAdept
11-18-2022, 07:44 PM
is sudo an option? Have you tried that?
xerxes
11-18-2022, 09:08 PM
Yeah, same thing with sudo. It's weird because the UI loads fine as a normal user, just not as root, which ShowEQ requires. The old UI isn't too ugly, it's just missing some icons on buttons and stuff.
cn187
11-18-2022, 09:26 PM
I haven't used Rocky yet (though I'm installing it in a VM as I write this so I'll be able to test with it). Did you tell it to use X11, or is it using Wayland? (I think Wayland is the default? Not sure)
Asking because AFAIK Wayland support for Qt4 is bad/nonexistent. So you'd either want to switch to X11, or try Qt5.
xerxes
11-19-2022, 06:38 PM
I installed xrdp and am using that.As for QT, that was a good 2 hour time sink of manually downloading RPMs for CentOS 7 (el7) and some tagged as el9. I did end up managing to get Qt4 working with it, but it took forever to research each rpm.
xerxes
11-19-2022, 06:59 PM
Is support for Qt5 in the trunk? I was thinking it was still in some feature branch and would be missing other fixes, so opted for going with Qt4.
xerxes
11-19-2022, 07:00 PM
The other thing I want to try is the setuid bit on the showeq binary, that way ShowEQ can set PROMISC on the ethernet adapter without needing root. Seems like the better way to go regardless.
cn187
11-20-2022, 09:54 AM
Qt5 support is in trunk, but it's currently set so that Qt4 will be preferred if it's installed (I've switched to using Qt5, and I know some others have as well, but I'd like it to be tested more before we make it the default).
So to use Qt5, either uninstall Qt4, or you'll have to tell configure to use Qt5 (via the --with-qt-dir, --with-qt-includes, --with-qt-libraries args. See configure --help).
Since you're using xrdp, you might also try setting QT_GRAPHICSSUBSYSTEM (see the FAQ in the root of the source tree) and seeing if that helps at all. So far, this has only come up when forwarding X sessions, but since you're seeing weirdness with the interface rendering, it might be worth a shot.
Using setuid should work in general, but I can't say for certain if it will have any effect on your graphics issue (since it's not clear what the actual cause is). I'd be interested to hear what you find when you try it.
xerxes
11-20-2022, 11:42 AM
QT_GRAPHICSSUBSYSTEM did not make a difference. Still seems to load the old UI. Interestingly enough, if I set the uid bit, ShowEQ launches as a user without sudo, but it's using the older UI, too (missing icons on the buttons).Here's what I'm referring to... maybe this is just a side effect of going from CentOS 7 to Rocky Linux 9, maybe not.https://i.imgur.com/rir2TNX.jpg
cn187
11-20-2022, 12:42 PM
Hmm... Come to think of it, I don't remember ever having icons on those buttons. Wonder what else I'm missing?
I can't run showeq setuid root on my system as GTK complains and refuses to initialize for the app. But setting capture capabilities on the exe seems to let me at least start it as a user (haven't tried to actually use it in that fashion, though).
The really odd thing is that when running as a regular user, the initial popup prompt at startup for choosing the net device has icons, but if I go back into that dialog via the menu, it doesn't have them. It's the exact same code, so it's a little strange so it behaves one way one time, and then another way at other times.
cn187
11-20-2022, 02:30 PM
Digging into this a little deeper -
It looks like I get icons with Plastique, GTK2, and Fusion (the latter 2 aren't used by SEQ), but nothing else. Did you copy your preferences between the regular user and root? If not, it might be trying to use two different themes (one that has icons, and one that doesn't). Looking at your pic again, there's a slight color and decoration difference in the title bar between the two, so maybe plausible?
Another issue that I ran into is that plastique, cleanlooks, etc., were removed from base Qt5, and they have to be installed separately to work. (qt5-style-plugins on deb-based systems, qt5-qtstyleplugins on rpm-based systems).
So I think I'm going to rework the styles menu to detect what styles are available and let you choose from them, rather than hard-coding a specific set. Though that means that the "green" version of cde is probably going to go away (does anyone actually use that?). I'm also thinking we don't hard-set a default, and just use whatever Qt is using by default. I think this might help integrate with system themes a little better, and will set us up for more flexible styling in the future.
I know that doesn't directly help your issue, but hopefully it will help get us closer to something that actually will.
xerxes
11-20-2022, 03:25 PM
I didn't even realize ShowEQ had themes! I assumed that was something MITSHM was doing.
I checked and I copied over the same preferences file from root to my user, but it still displays differently between root and my regular user. Interestingly enough, I looked at my CentOS install and it was set to Cleanlooks - I don't recall ever changing it, but I must have at some point. Switching over the Rocky Linux 9 install to Cleanlooks makes it look identical. I'm not sure why the root user was trying to use Cleanlooks out of box.
Cleanlooks looks the most modern and could probably be the default for new installs.Thanks for your help!
Powered by vBulletin® Version 4.1.11 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.