RigsOfRods / rigs-of-rods

Main development repository for Rigs of Rods soft-body physics simulator
https://www.rigsofrods.org
GNU General Public License v3.0
990 stars 175 forks source link

Display Scaling is COMPLETLY BROKEN. #3141

Open cooldudeseven7Dev opened 3 months ago

cooldudeseven7Dev commented 3 months ago

Hello, RoR community! I have an unfortunate issue while using RoR. When I set my display settings, to hd resolution (1920x1080), on arch linux, WITH fullscreen (in the app)- I come into this 1: No fullscreen, even if enabled- i see the dock 2: The scaling is broken- Even without fulscreen! Heres how it looks with fullscreen: image Overlapping corners, and gui [Cant get the whole screen] Settings: image

** My app is from itch. This happens on stable and devel.

ohlidalp commented 3 months ago

Hello, this is unpleasant indeed, but looks like hardware/driver issue, nobody reported anything similar before. To help you, at the very least I need your RoR.log file, it should be in ~/.rigsofrods/logs. I'm a windows user/dev myself so I can't advise much but your OS build and Mesa drivers (or other if that's the case) would also help. @tritonas00 Arch expert needed :)

Miner34dev commented 3 months ago

What GPU are you using?

cooldudeseven7Dev commented 3 months ago

What GPU are you using?

An Intel Graphics 620, Which works fine on windows and [some] linux distros.

cooldudeseven7Dev commented 3 months ago

Hello, this is unpleasant indeed, but looks like hardware/driver issue, nobody reported anything similar before. To help you, at the very least I need your RoR.log file, it should be in ~/.rigsofrods/logs. I'm a windows user/dev myself so I can't advise much but your OS build and Mesa drivers (or other if that's the case) would also help. @tritonas00 Arch expert needed :)

Arch Expert Indeed! I used the itch version to use Rigs of Rods

Also, I need to reset the config, as i acidentally made the display unusable on my small display.

Logs:

Angelscript.log MyGUI.log RoR.log

Miner34dev commented 3 months ago

RoR.log has a line that says: 01:20:01: GLRenderSystem::_createRenderWindow "Rigs of Rods version 2024.03-dev-f6de162", 2560x1600 windowed miscParams: FSAA=0 border=fixed gamma=No vsync=Yes Is 2560x1600 the right size? Also, please include RoR.cfg, it may be useful.

cooldudeseven7Dev commented 3 months ago

RoR.log has a line that says: 01:20:01: GLRenderSystem::_createRenderWindow "Rigs of Rods version 2024.03-dev-f6de162", 2560x1600 windowed miscParams: FSAA=0 border=fixed gamma=No vsync=Yes Is 2560x1600 the right size? Also, please include RoR.cfg, it may be useful.

No, Not at all! I need HD res, aka 1920x1080. Also, here is the RoR.cfg. [Its not supported, so here is text form]

; Rigs of Rods configuration file
; -------------------------------

; Application
Config uses long names=Yes
app_force_cache_update=No
NumWorkerThreads=3
app_custom_scripts=
Extra mod path=
Render system=
Country=us
SkipMainMenu=No
Disable Online API=No
Screenshot Format=png
app_recent_scripts=
app_force_cache_purge=No
AsyncPhysics=Yes
Language=en

; Multiplayer
Online API URL=http://api.rigsofrods.org
User Token=
Nickname=Player
Server password=
mp_cyclethru_net_actors=No
Multiplayer collisions=No
Auto connect=No
Server name=rorservers.com
Auto hide chat=Yes
Hide own net label=Yes
Server port=12003
Hide net labels=No

; Simulation
Engines spawn running=Yes
Replay mode=No
Replay length=200
sim_live_repair_interval=2.000000
sim_tuning_enabled=Yes
Races=Yes
sim_quickload_dialog=Yes
Replay Steps per second=1000
Realistic forward commands=No
DisableCollisions=No
GearboxMode=Automatic shift
DisableSelfCollisions=No

; Input/Output
Analog Input Smoothing=1.000000
Blinker Lock Range=0.100000
Force Feedback Gain=0.000000
Invert orbit camera=No
Keyboard Steering Speed Coupling=Yes
OutGauge Port=1337
Input Grab=1
OutGauge ID=0
Analog Input Sensitivity=1.000000
Force Feedback=No
Force Feedback Camera=0.000000
Force Feedback Stress=0.000000
ArcadeControls=No
OutGauge Mode=0
OutGauge Delay=10.000000
Discord Rich Presence=Yes
Force Feedback Centering=0.000000
OutGauge IP=192.168.1.100

; Graphics
Use alternate vehicle materials=No
Use RTShader System=No
Shadow optimizations=Yes
gfx_speedo_imperial=No
DigitalSpeedo=Yes
gfx_fixed_cam_tracking=No
gfx_static_cam_fov_exp=1.000000
FOV Internal=75
FOV External=60
Static camera height=5
SightRange=5000
Skidmarks=0
Declutter overview map=Yes
gfx_enable_videocams=No
Reflections=Yes
Lights=None (fastest)
FPS-Limiter=0
Overview map icons=Yes
Particles=0
Flexbody_UseCache=No
ReflectionUpdateRate=1
Waves=No
Vegetation=Full (best looking, slower)
External Camera Mode=Pitching
UseVideocameraWindows=No
Sky effects=Basic (fastest)
Shadow technique=No shadows (fastest)
Texture Filtering=Anisotropic (best looking)
Shadows Quality=2
Water effects=Reflection + refraction (speed optimized)
Anisotropy=4

; GUI
Show vehicle buttons menu=Yes
ui_show_live_repair_controls=Yes

; Audio
Creak Sound=No
Sound Volume=1.000000
AudioDevice=
MainMenuMusic=Yes

; Diagnostics
Preselected Truck=
AutoActorSpawnerReport=No
diag_spawn_position=
RigImporter_LogNodeStats=No
Camera Debug=No
diag_spawn_rotation=
Debug Truck Mass=No
Hide nodes=No
Enable Ingame Console=No
VideoCameraDebug=No
Hide broken beams=No
Enter Preselected Truck=No
Preselected Terrain=
EnvMapDebug=No
SimpleMaterials=No
Beam Break Debug=No
Trigger Debug=No
Warning texture=No
Hide beam stress=Yes
Hide wheel info=Yes
Hide wheels=No
Beam Deform Debug=No
diag_terrn_log_roads=No
diag_actor_dump=No
RigImporter_LogAllNodes=No
Preselected TruckConfig=

I cant even fix scaling anymore, because I cant see with the weird res, probably that 2560x1600 you said. Like I said, I need 1920x1080 [HD Resolution]

ohlidalp commented 3 months ago

The authoritative renderer config is in 'config/ogre.cfg'. Just stop game, edit it, start game and you're going. This is what mine looks like:

Render System=OpenGL Rendering Subsystem

[OpenGL Rendering Subsystem]
Colour Depth=
Display Frequency=N/A
FSAA=0
Full Screen=No
RTT Preferred Mode=FBO
VSync=Yes
VSync Interval=1
Video Mode=1440 x  900
sRGB Gamma Conversion=No

@cooldudeseven7Dev You said that you selected "1920x1080" in settings and ended up using something else - can you test it again? If that's true we have a bug in the Settings UI. The selector works by listing "supported resolution modes" from the renderer, which in turn gets it from the driver. Apparently your driver lists everything that the GPU can handle, ignoring the fact there's no actual monitor which can handle it.

cooldudeseven7Dev commented 3 months ago

The authoritative renderer config is in 'config/ogre.cfg'. Just stop game, edit it, start game and you're going. This is what mine looks like:

Render System=OpenGL Rendering Subsystem

[OpenGL Rendering Subsystem]
Colour Depth=
Display Frequency=N/A
FSAA=0
Full Screen=No
RTT Preferred Mode=FBO
VSync=Yes
VSync Interval=1
Video Mode=1440 x  900
sRGB Gamma Conversion=No

@cooldudeseven7Dev You said that you selected "1920x1080" in settings and ended up using something else - can you test it again? If that's true we have a bug in the Settings UI. The selector works by listing "supported resolution modes" from the renderer, which in turn gets it from the driver. Apparently your driver lists everything that the GPU can handle, ignoring the fact there's no actual monitor which can handle it.

Actually, I am connected to a mirrored monitor in HD, and it usually works. Anyways, let me edit it.

I have

Render System=OpenGL Rendering Subsystem

[OpenGL Rendering Subsystem]
Display Frequency=N/A
FSAA=0
Full Screen=No
RTT Preferred Mode=FBO
VSync=Yes
Video Mode=1920 x 1080
sRGB Gamma Conversion=No

And my GPU can handle It. View in overview: image

Actual view [when not viewing in overview] image

It might be because of my activity bar? but it should work...

CuriousMike56 commented 3 months ago

@cooldudeseven7Dev Yes, the Linux version doesn't take system UI into account: Screenshot_20240330_111614 Only workaround is to enable full screen or set a lower resolution.

cooldudeseven7Dev commented 3 months ago

@cooldudeseven7Dev Yes, the Linux version doesn't take system UI into account: Screenshot_20240330_111614 Only workaround is to enable full screen or set a lower resolution.

Interesting, But the same problem is also With Fullscreen! The side and slight bottom of the window still clips out.

As seen here: image

ohlidalp commented 3 months ago

Interesting, But the same problem is also With Fullscreen!

are you sure you tried both options? I mean fullscreen with UI-scaling on and off.

cooldudeseven7Dev commented 3 months ago

Interesting, But the same problem is also With Fullscreen!

are you sure you tried both options? I mean fullscreen with UI-scaling on and off.

Yeah. By the way, what is UI scaling?

also, your checks failed. image image

Will your update be on itch.io's RoR app? Experimental or stable, if so? I installed using itch, and I am on arch.

[Strikethru = outdated content] So, What do you want me to do exactly? Build your version?? Its on a different branch too...

cooldudeseven7Dev commented 3 months ago

Interesting, But the same problem is also With Fullscreen!

are you sure you tried both options? I mean fullscreen with UI-scaling on and off.

Also, what do you mean by UI scaling?

ohlidalp commented 3 months ago

Oh, I've got a typo there, IDK why only the linux build failed.

By UI scaling I mean the option to make all buttons/labels/progressbars and other UI elements bigger, like Windows has: obrazek IDK if/how Arch does this but I thought it may play a role.

Miner34dev commented 3 months ago

I can confirm that option exists (at least in KDE). If helpful, i found it in display configuration.

cooldudeseven7Dev commented 3 months ago

I can confirm that option exists (at least in KDE). If helpful, i found it in display configuration.

Oh, I've got a typo there, IDK why only the linux build failed.

By UI scaling I mean the option to make all buttons/labels/progressbars and other UI elements bigger, like Windows has: obrazek IDK if/how Arch does this but I thought it may play a role.

I am in GNOME, So looking at my settings: here they are: image

cooldudeseven7Dev commented 2 months ago

I'd just like to say, Is anybody on this thread anymore???

Miner34dev commented 2 months ago

What's your display resolution? If the two displays have a different resolution it might cause some issues.

cooldudeseven7Dev commented 2 months ago

What's your display resolution? If the two displays have a different resolution it might cause some issues.

Mirrored Display, 1920x1080 (HD Res)

Miner34dev commented 2 months ago

And the other display?

cooldudeseven7Dev commented 2 months ago

And the other display?

Both are not the same size. Monitor - 1920x1080 Main Screen - 2736x1824 But, My main screen is set to 1920x1080, and i mirrored displays.

ohlidalp commented 2 months ago

I finally fixed the typo which was breaking Linux build.

cooldudeseven7Dev commented 2 months ago

I finally fixed the typo which was breaking Linux build.

Would you like me to clone your repo, and build it? I am not exactly sure how to do this, because its on a different branch.

thank you, cooldudeseven7Dev

CuriousMike56 commented 2 months ago

PR builds can be downloaded from Actions: https://github.com/ohlidalp/rigs-of-rods/actions/runs/8681313083

cooldudeseven7Dev commented 2 months ago

I finally fixed the typo which was breaking Linux build.

Alright. Heres the output. https://pastebin.com/mJD7n4Ed

pastebin because long

PR builds can be downloaded from Actions: https://github.com/ohlidalp/rigs-of-rods/actions/runs/8681313083

Thank you by the way

ohlidalp commented 2 months ago

Hello again, apologies for the response lag, daily job kept me busy.

Thanks for testing with the extended logging, unfortunately it didn't provide any new insight. No errors, all reports consistently say 1920x1080.

Is it possible your monitor is distorting the image? I own an ultrawide 3440x1440 and when I launched with 1920x1080 fullscreen, I got a correctly sized image with black stripes on both sides (monitor "Aspect ratio" setting: "Auto resize"). The other settings I have are "21:9" (stretched to all available space) and "4:3" (slammed). If you have an option to try with a different monitor, it might be interesting to do that.

Other than that I have no advice, just improvised suggestions:

cooldudeseven7Dev commented 1 month ago

Hello again, apologies for the response lag, daily job kept me busy.

Thanks for testing with the extended logging, unfortunately it didn't provide any new insight. No errors, all reports consistently say 1920x1080.

Is it possible your monitor is distorting the image? I own an ultrawide 3440x1440 and when I launched with 1920x1080 fullscreen, I got a correctly sized image with black stripes on both sides (monitor "Aspect ratio" setting: "Auto resize"). The other settings I have are "21:9" (stretched to all available space) and "4:3" (slammed). If you have an option to try with a different monitor, it might be interesting to do that.

Other than that I have no advice, just improvised suggestions:

  • I noticed you're running 120Hz ... try the classic 60Hz just out of curiosity.
  • Try other fullscreen resolutions and tell me which have issues and which not.
  • Also try various resolutions in windowed mode and tell me which have issues.
  • Do you have any other OpenGL app to test with? Try also with glxgears pls - not sure it has fullscreen though.
  • If all else fails, try building OGRE 11.6 and running it's demos to see if they exhibit the same problem.

Sorry for the late reply... I dont even use 120hz though.. I have a max 75hz display, and I am mirrored? I am connected to my laptop. glxgears works! I also have noticed something- I can run OpenBVE (a train sim, but im not sure if it uses open gl!)

ohlidalp commented 1 month ago

Sorry for the late reply... I dont even use 120hz though.. I have a max 75hz display, and I am mirrored? I am connected to my laptop. glxgears works!

I take it that the problem only happens on the external monitor, not on the laptop screen. Either way, tell me which resolutions you tried on either one, please. Also try without the mirroring, just the external monitor or laptop screen.

I also have noticed something- I can run OpenBVE (a train sim, but im not sure if it uses open gl!)

OpenBVE githup page says: OpenBVE is built in OpenGL, using the OpenTK framework for windowing. - I take it you don't experience any issues there?