QGameX
Utilities
Score 69%
Description:

QGameX is a tool for launching games, optionally in a separated X11 session. It has a configuration GUI (QT 4), which is used for profile generation by setting certain options (see screenshots). The game itself can be simply run later by PROFILE=myprofile qgamex game-command game-args.

Compilation:
qmake (or qmake-qt4)
make

Then you may want to copy the resulting binary to your PATH.

***TIP***: Add nvidia-settings -l into the "commands to execute before running the game" field. It will apply your nVIDIA overclocking settings.
Last changelog:

11 years ago

* version 1.1.1
keyboard map is now restored after the game exits (but not 100% reliable)
* version 1.1.0
support for new FSAA modes
program displays only the options available for the selected GPU
program can run a game in the existing X session too
* version 1.0.3
a running X server is no longer necessary for running a game
* version 1.0.2
increased program verbosity
* version 1.0.1
added an option "vblank sync to device"
* version 1.0
initial release

Contrast

9 years ago

This looks like it could be a real lifesaver for me. I just got a 12-button mouse which I'm very happy with, but I have to use the evdev driver to get the extra buttons working, which doesn't seem to play well with most games.

The only problem is I can't get it working. I'm having the same problem jackiebrown mentioned:
Fatal server error:
Cannot move old log file ("/var/log/Xorg.1.log" to "/var/log/Xorg.1.log.old
I already tried the commands you mentioned, no joy. Any help with this would be greatly appreciated.

Report

C

LubosD

9 years ago

This has to be some permissions issue. First of all look at /etc/X11/Xwrapper.config and check that it says allowed_users=anybody. Then look at the permissions of /usr/bin/Xorg, it should have the setuid bit set.

Report

Contrast

9 years ago

I must have missed the part about setting /usr/bin/Xorg's setuid bit. It's working perfectly now. Thanks a lot!

Report

mattepiu

9 years ago

I like the Idea but not much the implementation.

IMHO the menu and the configurator should be more splitted and the menu should allow the use of screenshots/ thumbnails/icons for each game.

Report

C

LubosD

9 years ago

But that's not the way I like it :-)

The original idea is to use one profile for more games, not to have one profile per game. E.g. one profile for GPU intensive games, another profile for simple games etc.

Therefore screenshots and other stuff make no sense.

Report

spase

10 years ago

I get the following messages when running make (after running qmake of course)

xxx@xxx:~/qgamex-1.1.0$ make
/usr/bin/uic-qt4 mainform.ui -o ui_mainform.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I. -o qgamex.o qgamex.cpp
ui_mainform.h: In member function ‘void Ui_MainForm::setupUi(QDialog*)’:
ui_mainform.h:93: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:94: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:95: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:96: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:97: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:98: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:105: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:106: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:107: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:108: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:109: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:110: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:113: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:114: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:115: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:116: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:117: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:118: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:208: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:209: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:210: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:211: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:212: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:213: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:216: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:217: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:218: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:219: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:220: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:221: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:305: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:306: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:307: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:308: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:309: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:310: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:313: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:314: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
ui_mainform.h:315: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
ui_mainform.h:316: error: ‘class QGridLayout’ has no member named ‘setBottomMargin’
ui_mainform.h:317: error: ‘class QGridLayout’ has no member named ‘setHorizontalSpacing’
ui_mainform.h:318: error: ‘class QGridLayout’ has no member named ‘setVerticalSpacing’
ui_mainform.h:354: error: ‘class QHBoxLayout’ has no member named ‘setLeftMargin’
ui_mainform.h:355: error: ‘class QHBoxLayout’ has no member named ‘setTopMargin’
ui_mainform.h:356: error: ‘class QHBoxLayout’ has no member named ‘setRightMargin’
ui_mainform.h:357: error: ‘class QHBoxLayout’ has no member named ‘setBottomMargin’
make: *** [qgamex.o] Error 1

Report

C

LubosD

10 years ago

That's really weird. What version of Qt are you using?

Report

knuckles

10 years ago

I think those were added with Qt 4.3, and designer now uses them, but they don't work on earlier qt versions.

Having the same problem with 4.2.1 but not with 4.3.

Report

jackiebrown

11 years ago

I compiled it sucessully and am able to run the binary.

But when I try to run my games it doesn't do anthing and I get no error output so have no idea how to debug.

****@debian:~/qgamex-1_1.0.1$ PROFILE="et" qgamex et
****@debian:~/qgamex-1_1.0.1$

Any ideas? This tools seems really useful.

Report

jackiebrown

11 years ago

just to add, it works fine as root but obviously I do not want to run network games in root.

Report

C

LubosD

11 years ago

That's weird. I'm not sure how can this happen.

Do you have "startx" in your PATH?

Report

jackiebrown

11 years ago

I am sure I do because I can type startx in a terminal to launch my initial X session.

I am embarrassed to say but I really don't know how to check that. Path is kind of a generic term to google form

Report

watzke

11 years ago

which startx

Report

jackiebrown

11 years ago

xorg 7.1 with the nvidia driver.

It is in xbase-clients 1:7.1.ds-3 and lauches KDE

Report

C

LubosD

11 years ago

Try running "which startx" from KDE if it just yields some path or says not found.

Then try this modified version that should be more verbose: http://dolezel.info/sub/projekty/qgamex-1.0.1-verbose.tar.bz2

Report

jackiebrown

11 years ago

Starting new X session on display 1
Args: ("/tmp//qt_temp.J18442", "--", ":1", "-config", "xorggames.conf")
xauth: creating new authority file /home/david/.serverauth.18444
X: user not authorized to run the X server, aborting.
xinit: Server error.
Couldnt get a file descriptor referring to the console

and which startx /usr/bin/startx

Report

watzke

11 years ago

> X: user not authorized to run the X server, aborting.

Try running this:
# chmod 6755 /usr/bin/startx

Report

jackiebrown

11 years ago

Ok, I am closer. I made Xwrapper.config readable and changed the setting allowed_users=consol to allowed_users=anybody

Now I get:
Starting new X session on display 1
Args: ("/tmp//qt_temp.J21940", "--", ":1", "-config", "xorggames.conf")
xauth: creating new authority file /home/david/.serverauth.21942

Fatal server error:
Cannot move old log file ("/var/log/Xorg.1.log" to "/var/log/Xorg.1.log.old"

I feel very close

Report

C

LubosD

11 years ago

Try this command (as root) and see if it helps:

chmod +s $(which X)

Report

jackiebrown

11 years ago

I created on the log and made it read/writeable. (I will fix that later.) Then I got a tty0 error which was fixed in the same way.

I compared the two outputs (the one from root which works and the one as user that does not. I am starting with the last similar line)
(==) Using config file: "/etc/X11/xorg.conf"

Fatal server error:
xf86OpenConsole: Cannot open virtual console 8 (Permission denied)

Which is weird because I do use xorg

XIO: fatal IO error 104 (Connection reset by peer) on X server ":1.0"
after 0 requests (0 known processed) with 0 events remaining.

Report

jackiebrown

11 years ago

Ok, I am past that.

Now the screen turns black like it is starting to work and then I returns to the consol with this error:

xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)

Report

jackiebrown

11 years ago

Never mind, downgrading x11-common to 1:7:1.0-5 fixed the problem. Thank you for all your help

Report

kriko

11 years ago

Is it possible to make a binary with compiled in qt4?

Report

mattepiu

11 years ago

I don't understand.... what's the need
of launching games in a separate X
session? I can figure out only that
users with XGL may need that, cause
AIGLX doesn't needs at all.

Report

C

LubosD

11 years ago

I use a separate X session so I can switch back to the desktop easily without terminating the game.

MultiGPU mode also causes me some trouble in 2D, so I need to start another session for games (with MultiGPU enabled xorg config file).

Report

11 years ago

* version 1.1.1
keyboard map is now restored after the game exits (but not 100% reliable)
* version 1.1.0
support for new FSAA modes
program displays only the options available for the selected GPU
program can run a game in the existing X session too
* version 1.0.3
a running X server is no longer necessary for running a game
* version 1.0.2
increased program verbosity
* version 1.0.1
added an option "vblank sync to device"
* version 1.0
initial release

product-maker 13 36

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.1.1
updated Dec 09 2007
added Nov 11 2006
downloads today
0
page views today 4