You are not logged in.
So I have spent yesterday and half today trying my best to avoid having to ask, but after pouring through the docs and scouring the internet I seem to be running into a problem and I am not 1000% sure why. I imagine there is some validation occurring?
Ill begin with what I am trying to do and why. I play a game called Albion Online(Native Linux game), on my 2560x1440 monitor it runs fine at that native resolution, however the game supports Ultra Wide screen resolutions 2560x1080 and I believe 2560x1200. Now as for my monitor it does not actually need to run that Resolution, the game just needs to 'think' it exists so I can select it in game and the game will fit the 2560x1440 resolution with two big black bars at top an bottom but have the game running at 2560x1200 or 1080.
So what I need is to be able to add a custom resolution that the monitor itself will never actually run or use. (This is probably why I am having problems....)
To continue I have been pouring over the docs here, https://wiki.archlinux.org/title/Xrandr … esolutions but i keep getting an error message with trying to add the mode via xrandr.
My setup
I am running GNOME in a fresh arch Linux install.
Linux myhostname 6.6.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 21 Dec 2023 19:01:01 +0000 x86_64 GNU/Linux
I installed the official NVIDIA driver through
pacman -S nvidia
3080TI
8086k (coffeelake)
32GB ram
I am using X11 as my windowing system.
Ok so on to what I have actually tried. First I will start with showing my xrandr output for context.
[me@myhostname ~]$ xrandr
Screen 0: minimum 8 x 8, current 7680 x 1440, maximum 32767 x 32767
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 connected primary 2560x1440+2560+0 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440 59.95*+ 165.00 144.00 120.00 99.95 84.98 23.97
1024x768 60.00
800x600 60.32
640x480 59.94
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440 59.95 + 165.00* 144.00 120.00 99.95 84.98 23.97
1024x768 60.00
800x600 60.32
640x480 59.94
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected 2560x1440+5120+0 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440 59.95 + 165.00* 144.00 120.00 99.95 84.98 23.97
1024x768 60.00
800x600 60.32
640x480 59.94
DP-5 disconnected (normal left inverted right x axis y axis)
So reading the instructions via the Arch wiki I performed the following.
[me@myhostname ~]$ cvt 2560 1080 165
# 2560x1080 164.82 Hz (CVT) hsync: 196.47 kHz; pclk: 701.00 MHz
Modeline "2560x1080_165.00" 701.00 2560 2784 3064 3568 1080 1083 1093 1192 -hsync +vsync
[me@myhostname ~]$ xrandr --newmode "2560x1080_165.00" 701.00 2560 2784 3064 3568 1080 1083 1093 1192 -hsync +vsync
[me@myhostname ~]$ xrandr
Screen 0: minimum 8 x 8, current 7680 x 1440, maximum 32767 x 32767
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 connected primary 2560x1440+2560+0 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440 59.95*+ 165.00 144.00 120.00 99.95 84.98 23.97
1024x768 60.00
800x600 60.32
640x480 59.94
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440 59.95 + 165.00* 144.00 120.00 99.95 84.98 23.97
1024x768 60.00
800x600 60.32
640x480 59.94
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected 2560x1440+5120+0 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440 59.95 + 165.00* 144.00 120.00 99.95 84.98 23.97
1024x768 60.00
800x600 60.32
640x480 59.94
DP-5 disconnected (normal left inverted right x axis y axis)
2560x1080_165.00 (0x21f) 701.000MHz -HSync +VSync
h: width 2560 start 2784 end 3064 total 3568 skew 0 clock 196.47KHz
v: height 1080 start 1083 end 1093 total 1192 clock 164.82Hz
You can now see that the new mode is showing in xrandr at the bottom, however now I need to add it to a display this is where the problem starts.
[me@myhostname ~]$ xrandr --addmode "DP-0" 2560x1080_165.00
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 45
Current serial number in output stream: 46
So I am not sure what to do beyond this. Some of the things I have found to try are the following
https://www.reddit.com/r/pop_os/comment … parameter/ - "Option "UseEDID" "FALSE" (I tried this, however Gnome refuses to load or gdm.service I never reach a graphical target it seems. So I end up switching TTY and modifying /etc/X11/xorg.conf to comment out UseEDID false.)
The rabbit hole I am afraid I am going to have to go down to trick X11 is generating an EDID. Which there are solutions out there, but I need more time to get through those and figure it out. One I found so far is the following.
https://github.com/akatrevorjay/edid-generator
There seems to be a limitation with this software though that it is not accounting for multiple modes. Anyway I have not had enough time to fiddle with it.
My hope is if there is no way for me to do it with XRANDR that perhaps I can build and EDID to make the resolution available, again I don't plan to actually use it for the monitor it just needs to be there so the game detects it.
For more history or context the following video illustrates what I am trying to do for AlbionOnline. But obviously this is in Windows. - https://www.youtube.com/watch?v=btTsNQkxCaI I have done this with windows on this very same hardware. I know that does not mean it should work, just answering this question in case it is asked.
Lastly I am not trying to get support for the game. I simply need to make an ultra wide screen resolution available to X11 in ARCH linux. Not that this would be different in another Distro.
Last edited by Haste (2023-12-28 22:29:08)
Offline
https://download.nvidia.com/XFree86/Lin … tions.html, look for "ModeValidation"
But there's probably a flaw in your logic:
my 2560x1440 monitor … game supports Ultra Wide screen resolutions 2560x1080 and I believe 2560x1200 … the game just needs to 'think' it exists so I can select it in game and the game will fit the 2560x1440 resolution with two big black bars at top an bottom
What makes you believe any of that's gonna happen?
If you offer the game a modeline it'll activate that.
What you're more likley looking for is nvidias output transformation, nvidia-settings/X Server Display Config/Advanced…
Set Viewport In and out to 2560x1080 and 2560x1080+0+180
Offline
https://download.nvidia.com/XFree86/Lin … tions.html, look for "ModeValidation"
But there's probably a flaw in your logic:my 2560x1440 monitor … game supports Ultra Wide screen resolutions 2560x1080 and I believe 2560x1200 … the game just needs to 'think' it exists so I can select it in game and the game will fit the 2560x1440 resolution with two big black bars at top an bottom
What makes you believe any of that's gonna happen?
If you offer the game a modeline it'll activate that.What you're more likley looking for is nvidias output transformation, nvidia-settings/X Server Display Config/Advanced…
Set Viewport In and out to 2560x1080 and 2560x1080+0+180
Thank you for your valuable time and response allow me to answer the first question "why do I believe this will happen."
Because the game will do this in Windows if you have a custom UW resolution available. And I have performed this several times with the nvidia control panel in Windows. I knew switching to Linux this actually might be the part that would be the hardest for me to figure out.
For reference I linked a video in the original post showing how the game uses ultrawide screen resolutions on non ultrawide screen monitors in Windows.
All that said, I understand this is not a support forum for the game I am trying to play, so if I need to figure this out on my own, I completely understand.
My motivation for creating a custom resolution was to mimic what I had previously done as well as many others in the Albion community have done in Windows.
My motivation for running Arch Linux is because I just wanted to, and learn more along the way, plus Albion offers a native Linux client and I have some experience with other Linux Distros mainly RHEL/CentOS.
Now to your suggestion, I was weary of the viewport I had seen that before but was not sure what the impact would be messing with it. So I tried your suggestion and while the viewable region changes, the game will still open at 16:9 resolutions because it does not see a 2560x1080 resolution. I have pasted a screenshot of the available resolutions the game detects at the bottom.
Now to be fair there is a part I did not try first. You said something to the effect of feeding the game a modeline. I would like to attempt that, ill research how that would be achieved and get back to you as I do not know currently how to do that.
Last edited by Haste (2023-12-28 22:19:37)
Offline
https://download.nvidia.com/XFree86/Lin … tions.html, look for "ModeValidation"
But there's probably a flaw in your logic:my 2560x1440 monitor … game supports Ultra Wide screen resolutions 2560x1080 and I believe 2560x1200 … the game just needs to 'think' it exists so I can select it in game and the game will fit the 2560x1440 resolution with two big black bars at top an bottom
What makes you believe any of that's gonna happen?
If you offer the game a modeline it'll activate that.What you're more likley looking for is nvidias output transformation, nvidia-settings/X Server Display Config/Advanced…
Set Viewport In and out to 2560x1080 and 2560x1080+0+180
Thank you for your genius, the game has a launcher, but I knew if I launched the game, I could check ps and see what parameters were that the launcher launched the game with and voila!
/home/me/albiononline/game_x64/Albion-Online "-screen-fullscreen 0" -screen-width 2560 -screen-height 1440 -force-glcore +lang EN-US +server loginserver.live.albion.zone:5055 +serverenvironment live
So I changed it to
/home/me/albiononline/game_x64/Albion-Online "-screen-fullscreen 0" -screen-width 2560 -screen-height 1080 -force-glcore +lang EN-US +server loginserver.live.albion.zone:5055 +serverenvironment live
And it worked!
Thank you for your patience, I know this is typically a thankless thing you are doing.
Offline
Edi: cross-talk, only of academic interest now
See the ModelineValidation section and also https://bbs.archlinux.org/viewtopic.php … 6#p2093526 for reference/example.
But I suspect that it's rather windows (resp. the nvidia driver) than the game adding such bars (notably if the game believes there truely is such a mode - why would it then render at 16: 9 and add a letterbox?)
At best your monitor will handle the resolution by adding a letterbox itself.
Last edited by seth (2023-12-28 22:34:39)
Offline