BuddiesOfBudgie / budgie-desktop

Budgie Desktop is a familiar, modern desktop environment.
https://buddiesofbudgie.org
GNU General Public License v2.0
935 stars 48 forks source link

[Bug] Displays in the Budgie Control Center does not retain changes in Fedora 38 spin. #356

Closed 1010dvpt closed 1 year ago

1010dvpt commented 1 year ago

Description

Any changes to the Display settings in Budgie Control Center do not apply correctly and are not retained.

I've tried this on the live boot using two Samsung displays connected via USB-C Also did a full install (with updates and upstream firmware updates) on a Lenovo Thinkpad 460s that has a docking station with one external display. Same issue.

Budgie version

budgie-desktop 10.7.1

Operating System

Fedora release 38 (Thirty Eight) (Budgie Spin)

Steps to reproduce the issue

Prerequisite. Connect an external display.

  1. Go to Budgie Control Center
  2. Select Displays
  3. Make any change Resolution, set primary display, Scale, etc.
  4. Hit Apply
  5. Screen will flicker, you may see your change briefly.
  6. The settings will immediately revert to default.

Actual result

Once your settings are chosen. And after you click on Apply the screen will attempt to make the change, then the changes will revert.

Expected result

After I click Apply the chosen Display settings should update and be retained.

Additional information

I've experienced this issue on two systems: Type: Laptop System: HP product: HP ZBook Firefly 14 inch G8 Mobile Workstation PC v: N/A serial: Mobo: HP model: 880D v: KBC Version 30.33.00 serial: UEFI: HP v: T76 Ver. 01.06.02 date: 08/12/2021

Type: Laptop System: LENOVO product: 20FAS27P05 v: ThinkPad T460s serial: Mobo: LENOVO model: 20FAS27P05 serial: UEFI: LENOVO v: N1CET90W (1.58 ) date: 11/15/2022

fossfreedom commented 1 year ago

At step 5 a message from budgie-wm should be displayed asking if you want to keep the configuration.

If you are not seeing that then that's is the area to look more closely at.

Do check journalctl at around the time of the display change for any clues.

Zenity is also needed to be installed for the dialog to be displayed

1010dvpt commented 1 year ago

Thanks for replying @fossfreedom.

I am familiar with the second confirmation dialog box. I use Solus Budgie as my daily. I do not get that same dialog box on F38 Budgie. The action after hitting 'Apply' simply just flickers the screen immediately and then reverts to default. There is no time taken as if it rendered the confirmation and was just not in focus.

The journalctl does not have anything of interest other than me using sudo to open and close the journal during this time.

zenity is installed

sudo dnf info zenity
Last metadata expiration check: 1:25:27 ago on Fri 21 Apr 2023 02:06:06 PM PDT.
Installed Packages
Name         : zenity
Version      : 3.91.0
Release      : 1.fc38
Architecture : x86_64
Size         : 11 M
Source       : zenity-3.91.0-1.fc38.src.rpm
Repository   : @System
From repo    : updates-testing
Summary      : Display dialog boxes from shell scripts
URL          : https://wiki.gnome.org/Projects/Zenity
License      : LGPL-2.1-or-later
Description  : Zenity lets you display Gtk+ dialog boxes from the command line and through
             : shell scripts. It is similar to gdialog, but is intended to be saner. It comes
             : from the same family as dialog, Xdialog, and cdialog.
justinhschaaf commented 1 year ago

I'm running into the same issue, using a NVIDIA RTX 2060 on Fedora 38, Budgie 10.7.1. My current workaround is to configure the displays using NVIDIA X-Server Settings; however, any changes I make there are reset upon rebooting the system.

gitcontrib0 commented 1 year ago

I have been having the same issue. From my experience it seems to be a specific issue with budgie-desktop 10.7.1. I have the issue on both Fedora, which I was using, and also with OpenSUSE I am now using. This is on an AMD cpu/gpu combo.

In my testing of Budgie supported distros I ran the live version of Ultramarine Linux 37 and Ubuntu Budgie 22.10, which had an older version of budgie-desktop 1.6.4 with no issues and the confirm prompt is displayed. Probably the same reason it works for @1010dvpt on Solus, considering of the lack of Solus updates until recently.

fossfreedom commented 1 year ago

If you do have the time and inclination please do try UB 23.04 which has just been released.

gitcontrib0 commented 1 year ago

I just downloaded the Ubuntu Budgie 23.04 iso and it is now running Budgie 1.7.1 and the display settings are working as intended and saving the settings, along with the confirmation box being displayed. Checking the versions of budgie-control-center in Fedora, Ubuntu Budgie, and OpenSUSE, they are all running v1.2.0.

1010dvpt commented 1 year ago

If you do have the time and inclination please do try UB 23.04 which has just been released.

Downloaded and tried it out on boxes, live boot USB, and installed on the Lenovo 460s. All display changes are followed by the popup confirmation dialog box as expected behavior.

JoshStrobl commented 1 year ago

This issue is caused by a new zenity, which has been rewritten, having numerous changes to accepted flags that Budgie Desktop calls. I've validated the correct flags it needs to be adjusted to and will be pushing a commit that fixes it. You can expect this to land in Fedora 38 as well once I update the package and bodhi processes it.

JoshStrobl commented 1 year ago

For those on Fedora 38, you can track the status at https://bodhi.fedoraproject.org/updates/FEDORA-2023-f1b068dfd5

Once there are testing instructions generated on that bodhi page, I would encourage to test it and provide your feedback, if it works (with the thumbs up / down) so that way we can get it merged sooner!

justinhschaaf commented 1 year ago

Thank you for moving to resolve this issue so quickly; however, I'm sad to report it's still broken for me after the update. Interestingly, when signing in after restarting, I noticed that the display configuration I set in NVIDIA X Server Settings is respected until I log into the desktop; furthermore, fixing it in X Server Settings then trying to change the layout in Budgie Control Center breaks it again. Is it possible that Budgie is somehow resetting the display configuration, and if not, is there any way I could troubleshoot it to hopefully make it work on my end?

https://user-images.githubusercontent.com/26681724/234170855-421db77b-0169-4399-910e-ede3580462bc.mp4

The main thing I did that might've broken it is attempting to install the update using the test instructions here having not realized it was downloaded and waiting to be installed with other system updates last night; however, I'm not sure this would've broken it, and I rolled back the manual update to do the proper system update again just to be safe and found the issue still persisting. Thank you in advance for your help!

JoshStrobl commented 1 year ago

Your issue is likely related to the fact that you did set it in NVIDIA X Server Settings and Mutter is, for some reason, unable to apply its configuration after-the fact. You can see your X11 configuration instead of the Mutter one at LightDM.

The issue I fixed isn't related to that. It's related to zenity not triggering a confirmation dialog, preventing you from accepting display configuration changes in Budgie Control Center after attempting to apply them.

Ventero commented 1 year ago

Apologies if this should be flagged on the Fedora tracker, but I'm also still running into the same problem on Fedora 38 with zenity 3.91.

Digging into the RPM build process, it seems that the invocation of zenity --version that meson executes to determine the version fails because the DISPLAY environment variable is not set in the RPM build environment. As a result, the version number reported by meson is unknown, the comparison against >=3.90 fails and HAVE_NEW_ZENITY is not set.

JoshStrobl commented 1 year ago

This is fixed in 10.7.2. You'll get it tonight in f38 and f37. See 868c87e and https://bodhi.fedoraproject.org/updates/FEDORA-2023-bf5ba1d490

Ventero commented 1 year ago

Ah, looks like you fixed it while I was digging into the root cause - much appreciated! :)

JoshStrobl commented 1 year ago

No worries. I noticed it in some mock builds and was like "alright...I guess I'll just do it with a good old fashion meson option" lol. I appreciate you looking into it, frustrating that zenity won't even report version without DISPLAY. Guessing it dies at gtk init so it never gets to that point.

justinhschaaf commented 1 year ago

Just installed the update and it works perfectly now, thank you so much!

darkjake commented 1 year ago

This issue is now evident on Endeavour OS's latest build, exactly the same down to the workarounds.

JoshStrobl commented 1 year ago

This issue is now evident on Endeavour OS's latest build, exactly the same down to the workarounds.

Sounds like Arch has latest zenity now and Budgie Desktop needs a package update without the legacy zenity flag. @serebit

serebit commented 1 year ago

The latest version of the budgie-desktop package on Arch doesn't have the legacy zenity flag enabled: https://gitlab.archlinux.org/archlinux/packaging/packages/budgie-desktop/-/blob/main/PKGBUILD