Forums » Linux
There's a hack to disable the use of xf86 vidmode extension in VO.
Edit the config.ini file and add or change the [refgl] section entry called xf86vidmode to 0.
[refgl]
xf86vidmode=0
That will cause only 1024x768 and 800x600 modes to be available.
Edit the config.ini file and add or change the [refgl] section entry called xf86vidmode to 0.
[refgl]
xf86vidmode=0
That will cause only 1024x768 and 800x600 modes to be available.
Doh.. I think I saw that option before but never checked what effect it has.
These days it'd probably be a good idea to add higher resolutions too.. like 1280x1024, 1600x1200 and a couple of wide screen modes.
These days it'd probably be a good idea to add higher resolutions too.. like 1280x1024, 1600x1200 and a couple of wide screen modes.
Heh, well, that's what the xf86vidmode extension is supposed to do for us. It reads all available resolutions from the X11 config file and discards resolutions that less than 800x600. However, it looks like there may be a bug where it doesn't properly discard those resolutions.
Can someone post their entire xorg.conf file here? I've never heard of the metamodes screen option before. That is something new and apparently isn't compatible to older ways of doing it.
Yea .. but in this case the vidmode extension only seems to provide one mode and ignores modes specified in the config file.
That's why I asked for the xrandr output in the other thread. With ATI the xrandr and vidmode lists are identical .. maybe it's different with nvidia. Somehow other games don't have this problem.
That's why I asked for the xrandr output in the other thread. With ATI the xrandr and vidmode lists are identical .. maybe it's different with nvidia. Somehow other games don't have this problem.
well 800x600 works when I do that, but when I try to switch to 1024x768 the game crashes with no feedback (It just goes away from the screen, yet continues to run and burn cpu till I kill it)
This was in the openglerr.log
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
../../../gk/gkgl/refgl/texmanage.cpp(92) : glGetError() returned 'invalid enumerant'
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
../../../gk/gkgl/refgl/texmanage.cpp(92) : glGetError() returned 'invalid enumerant'
and the errors.log
[Fri Sep 18 23:58:29 2009] Here are the available modes:
[Fri Sep 18 23:58:29 2009] 0) 800x600x24
[Fri Sep 18 23:58:29 2009] 1) 1024x768x24
[Fri Sep 18 23:58:29 2009] and it picked mode 0
I run 1920x1080 on my primary monitor so if I could get it at least in 1024x768 that would be better.
This was in the openglerr.log
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
../../../gk/gkgl/refgl/texmanage.cpp(92) : glGetError() returned 'invalid enumerant'
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
../../../gk/gkgl/refgl/texmanage.cpp(92) : glGetError() returned 'invalid enumerant'
and the errors.log
[Fri Sep 18 23:58:29 2009] Here are the available modes:
[Fri Sep 18 23:58:29 2009] 0) 800x600x24
[Fri Sep 18 23:58:29 2009] 1) 1024x768x24
[Fri Sep 18 23:58:29 2009] and it picked mode 0
I run 1920x1080 on my primary monitor so if I could get it at least in 1024x768 that would be better.
my xorg.conf (hopefully I didnt make any copy/paste errors, it is 144 lines long).
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@crested) Sun Feb 1 20:25:37 UTC 2009
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder62) Tue Mar 24 06:15:32 PST 2009
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "HSD AH191"
HorizSync 30.0 - 83.0
VertRefresh 55.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "HSD AH191"
HorizSync 30.0 - 83.0
VertRefresh 55.0 - 75.0
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Configured Video Device"
Monitor "Configured Monitor"
DefaultDepth 24
Option "NoLogo" "True"
Option "RandRRotation" "on"
SubSection "Display" Depth 24
Modes "nvidia-auto-select"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "RandRRotation" "on"
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT-0: nvidia-auto-select +0+0, CRT-1: nvidia-auto-select +1440+0; CRT-0: nvidia-auto-select +1440+0, CRT-1: 1440x900 +0+90"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "RandRRotation" "on"
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT-1: nvidia-auto-select +0+0"
# Removed Option "metamodes" "CRT-1: nvidia-auto-select +0+0"
# Removed Option "metamodes" "CRT-1: 1920x1080 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
# generated from default
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Device"
Identifier "Configured Video Device"
Driver "nvidia"
Option "RandRRotation" "on"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GS"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GS"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
Option "DontZap" "False"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
EndSection
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@crested) Sun Feb 1 20:25:37 UTC 2009
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder62) Tue Mar 24 06:15:32 PST 2009
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "HSD AH191"
HorizSync 30.0 - 83.0
VertRefresh 55.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "HSD AH191"
HorizSync 30.0 - 83.0
VertRefresh 55.0 - 75.0
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Configured Video Device"
Monitor "Configured Monitor"
DefaultDepth 24
Option "NoLogo" "True"
Option "RandRRotation" "on"
SubSection "Display" Depth 24
Modes "nvidia-auto-select"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "RandRRotation" "on"
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT-0: nvidia-auto-select +0+0, CRT-1: nvidia-auto-select +1440+0; CRT-0: nvidia-auto-select +1440+0, CRT-1: 1440x900 +0+90"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "RandRRotation" "on"
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT-1: nvidia-auto-select +0+0"
# Removed Option "metamodes" "CRT-1: nvidia-auto-select +0+0"
# Removed Option "metamodes" "CRT-1: 1920x1080 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
# generated from default
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Device"
Identifier "Configured Video Device"
Driver "nvidia"
Option "RandRRotation" "on"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GS"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GS"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
Option "DontZap" "False"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
EndSection
Thanks.
I just released an update that fixes a bug with the VO opengl driver. It was not properly using the enumerated resolutions if there were resolutions less than a height of 600 and then resolutions greater than or equal to height of 600.
I also added the ability to override the resolution via the config.ini file.
[refgl]
xsize=1000
ysize=1000
xf86vidmode=0
also if you want to change the location of the fullscreen window:
xpos=1440
ypos=0
(or whatever position you want, they default to 0,0)
I hope that will help.
Before you try the hack, try to select the res normally to see if the enumeration fix fixed it.
I just released an update that fixes a bug with the VO opengl driver. It was not properly using the enumerated resolutions if there were resolutions less than a height of 600 and then resolutions greater than or equal to height of 600.
I also added the ability to override the resolution via the config.ini file.
[refgl]
xsize=1000
ysize=1000
xf86vidmode=0
also if you want to change the location of the fullscreen window:
xpos=1440
ypos=0
(or whatever position you want, they default to 0,0)
I hope that will help.
Before you try the hack, try to select the res normally to see if the enumeration fix fixed it.
ok
I tried normally and no luck, it only finds the combined dual resolutions.
then I tried:
window_xsize=1850
window_ysize=1020
xf86vidmode=0
and now 1024x768 works without crashing, I only see 3 modes, 800x600, 1024x768 and 1280x1024. The 1850x1020 res does not show up at all in the list.
1280x1024 does not size correctly, it creates a 1280x1024 screen inside a 1024x768 window.
At least I can play in 1024x768 for a while.
Thanks.
I tried normally and no luck, it only finds the combined dual resolutions.
then I tried:
window_xsize=1850
window_ysize=1020
xf86vidmode=0
and now 1024x768 works without crashing, I only see 3 modes, 800x600, 1024x768 and 1280x1024. The 1850x1020 res does not show up at all in the list.
1280x1024 does not size correctly, it creates a 1280x1024 screen inside a 1024x768 window.
At least I can play in 1024x768 for a while.
Thanks.
when I try to switch to 1280x1024, I get this error in openglerror.log
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
texmanage.cpp(92) : glGetError() returned 'invalid enumerant'
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x27 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
texmanage.cpp(92) : glGetError() returned 'invalid enumerant'
Adriel, Sorry about the error, I meant to say xsize, ysize, xpos, ypos with no window_
I edited my post to reflect the correction.
I edited my post to reflect the correction.
That worked!
Thank you.
Thank you.
I just noticed a sideeffect of this. It makes it possible to run the game at resolutions below 800x600.
Please don't disable that again! I've wanted that for a while.
Please don't disable that again! I've wanted that for a while.
Heh. No guarantee whether the interface fits on res < 800x600 though.
Good thing this was fixed. Now I can actually see buttons since my dual monitor setup is an unequal pair. 1900x1200 and 1280x1024. :)
I can confirm that the default mode only sees the "virtual" desktop size which includes some undisplayable space under the second 1280x1024 monitor.
Interestingly enough glxinfo does tell me about other resolutions. Maybe you should see how glxinfo get's it's details correct to pick your resolution offerings in the menu.
I can confirm that the default mode only sees the "virtual" desktop size which includes some undisplayable space under the second 1280x1024 monitor.
Interestingly enough glxinfo does tell me about other resolutions. Maybe you should see how glxinfo get's it's details correct to pick your resolution offerings in the menu.
I just had this issue and needed to use the hack described here
linuuuux *shakes fist*
linuuuux *shakes fist*
One thing I notice when I use the hack (xf86vidmode=0) is that the performance drops. I get lower performance using 800x600 relative to when its in 3200x900. Which is just seems crazy to me. Is there some optimization with the xf86vidmode that gets disabled using this hack?
V.
V.