Refresh rate of 75Hz is not used as expected by the Workspace and Display Preferences
Following the closed #451 discussion, we can note:
With some particular display (Acer 17 inches) and a refresh rate of 75Hz, the display mode guessed is bad.
-
While Xorg by its own chooses the good mode (
1080p @75Hz) the autoconfig (xrandr ?) of Workspace and then the 'Display Preferences' choose a bad mode (1080i: interlaced) although the screen is a LCD one and this is not appropriate. The result is a 'flickering' display. -
With the same hardware, but within an emulated context (NEXTSPACE running within
qemu-system-aarch64and a SPICE Display) we can note that another mode is available, without flickering:1080p @60Hz. -
So the issue is obviouly related with the refresh rate of
75Hzwhich ever falls in the bad mode:1080i(interlaced) in Workspace.
In the meanwhile, the only workaround seems to choose within the 'Display Preferences' another resolution associated with a default refresh rate of 60Hz.
@pcardona34 Please check latest changes to SystemKit and Preferences. Now you should see "1920x1080i" (as well as other resolutions) in "Resolution" popup button list. What refresh selected when you select 1080p resolution?
Please check also that you're able to see and select appropriate "Refresh Rate".
So I did:
- Built again Frameworks and Applications.
- Removed 'Library' folder in '/root' and in mine home directory.
- Set up clean user Library for root and me.
- Rebooted.
test 1
- a) The default new mode after login is: 1080i (flickering...) - The associated Refresh rates list is: [29,7Kz, 25Hz, 30Hz]
- b) Tried to select 1080(p): the monitor switched to acpi mode, after 'No Signal' message.
test 2 (after again steps 2, 3 and 4)
- a) The default new mode after login is: '1080i' (flickering...)
- b) Selecting a lower resolution, like '1280x1024': this is set and applied.
- c) Trying to select another resolution: You can select either a new resolution and a new rate, but those are not applied. I can see now that when I select 1080(p), the Refesh rate has got attended '74.9Hz' value in the list, but this value is empty by default.
- d) Logout and login again: only the first previous resolution ( '1280x1024') got saved.
- e) You can again change the resolution now, but only once.
- If You choose "1080(p)', You'll never have the opportunity to select the desired refresh rate ('74,9Hz') because the default rate is empty and because of the 'test 1_b' issue: like acpi mode... blank screen... and so no Workspace loaded.
Maybe two new buttons could help: 1- A test button with a discount should let us to choose resolution and refresh rate. After the delay, it should revert to the previous saved display parameters. 2- If the test is OK, an [Apply and save] button could let us save the new parameters..
I tried again within a new fresh install of Debian 12.10 (RPI OS Lite flavour) and a whole build of NEXTSPACE. If I start at graphic.target level (and so from 'Login', which is correctly displayed) I confirm the default bad modestting at '1080i' in Workspace... What seemed 'acpi' is just a bad resolution value (width=0 and heigh=0) due to the rate list issue. See logs...
If I remove and I renew the home 'Library' folder, and I start at runlevel 'multi-user' only the Workspace within startx, same issue as above.
But if I start it in debug mode (gdb script) then I get the attended '1080'(p) resolution with the good rate: '74,9Hz', but if I click on the rate list, all is getting bad, auto-setting '1080i' mode and falling again in the 'test 1' scenario...
I have 2 setups which behave differenty. One changes refresh rate on selection in Preferences, other - not. I need to make more investigation. Stay tuned.
Hello Sergii,
While sorting and reading again many notes written about different subjects, I found those, about error logs within NEXTSPACE.. So I reproduce those below:
1) Related to Preferences:
Bad W-Window error - BadDrawable (invalid Pixmap or Window Parameter) on display: 0.0 type:0 serialnumber:124 RequestCode: 70
2) And this, related to NSLog in 'OSEDisplay.m':
[874:874][OSEDisplay] HDMI-1 reoslutionSize: {width=1920; height=1080} frame: (null) [...] rateClicked: Selected resolution: {ResolutionName=1920x1080i; ResolutionRate="29.970101010101" ResolutionSize="{width=1920; height=1080}";} [874:874] Scanner initialized with nil string [OSEDisplay] HDMI-1 reoslutionSize: {width=0; height=0} frame: {null} X-Window error - BadValue (integer parameter out of range for operation) on display: :0.0 serial number: 230 request code: 140 Screen: Sending OSEScreen DidChangeN... Display: XRandR screen resource was updated, refreshcan...
What made me puzzled was the typo: "reoslutionSize" (expected: resolutionSize) and it could be a clue, I think so.
@pcardona34 I've fixed some various refresh rate related bugs in SystemKit and Preferences app. Please check out if your problems are gone.
Oh! Great! Sorry for the late answer. I will see that asap.
Hello Sergii, The new dialog "Keep/Revert" is useful. Unfortunately, I still cannot use the best resolution (1080p with 75Hz). It is still flickering like it is self reverting to 1080i.
I have worked on other GNUstep projects for five months with the same hardware, and I could ever use those with the best resolution. I think the way Nextspace tries to modifiy the kernel mod setting is an issue.