-
Notifications
You must be signed in to change notification settings - Fork 352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop Xorg server and libxklavier #5829
base: master
Are you sure you want to change the base?
Drop Xorg server and libxklavier #5829
Commits on Sep 25, 2024
-
Add GNOME Kiosk keyboard manager class
Add a class wrapping GNOME Kiosk's input sources API that future commits will use via the localization service to replace the X11 keyboard management logic. Resolves: RHEL-38399 (cherry picked from commit 805826c)
Configuration menu - View commit details
-
Copy full SHA for 02007a2 - Browse repository at this point
Copy the full SHA 02007a2View commit details -
Use GNOME Kiosk's API in XklWrapper
libxklavier is deprecated and X11-only. On RHEL, the GNOME Kiosk API can be used instead to handle the keyboard configuration. In order to make the code migration as simple as possible, keep the XklWrapper class and update its implementation to use GNOME Kiosk's API via the localization service. Resolves: RHEL-38399 (cherry picked from commit 3a0088e)
Configuration menu - View commit details
-
Copy full SHA for f868873 - Browse repository at this point
Copy the full SHA f868873View commit details -
Invoke gdbus-codegen as part of the make build and makeupdates script to generate C code from org.fedoraproject.Anaconda.Modules.Localization.xml. Resolves: RHEL-38399 (cherry picked from commit 68cde1a)
Configuration menu - View commit details
-
Copy full SHA for fad1a6b - Browse repository at this point
Copy the full SHA fad1a6bView commit details -
Use GNOME Kiosk's API in LayoutIndicator
This C widget is the last place were libxklavier is used. Use GNOME Kiosk's API via the localization service instead. Resolves: RHEL-38399 (cherry picked from commit 9a611fd)
Configuration menu - View commit details
-
Copy full SHA for 5deaf8f - Browse repository at this point
Copy the full SHA 5deaf8fView commit details -
Resolves: RHEL-38399 Resolves: RHBZ#1955025 (cherry picked from commit ce6cc95)
Configuration menu - View commit details
-
Copy full SHA for c69eb69 - Browse repository at this point
Copy the full SHA c69eb69View commit details -
Drop the X.Org server dependency
Start GNOME Kiosk as a Wayland compositor and run Anaconda as a native Wayland client. This commit is a follow up on the work done by Neal Gompa [1], Martin Kolman and Ray Strode [2]. Credit goes to them for the code I copied and pasted. [1] rhinstaller#5401 [2] rhinstaller#5309 Co-authored-by: Neal Gompa <[email protected]> Co-authored-by: Martin Kolman <[email protected]> Co-authored-by: Ray Strode <[email protected]> Resolves: RHEL-38399 Resolves: https://fedoraproject.org/wiki/Changes/AnacondaWebUIforFedoraWorkstation (cherry picked from commit 8800331)
Configuration menu - View commit details
-
Copy full SHA for c4029ba - Browse repository at this point
Copy the full SHA c4029baView commit details -
Add unit tests for GkKeyboardManager and its API in localization module
Resolves: RHEL-38399 (cherry picked from commit 27b097e)
Configuration menu - View commit details
-
Copy full SHA for 44f5b5f - Browse repository at this point
Copy the full SHA 44f5b5fView commit details -
Anaconda uses xrandr to set the screen resolution when the boot option "inst.resolution" [1] is used. In order to be able to drop the X.Org server, use Mutter's API instead of xrandr. The kickstart equivalent option has been removed, so we don't need to care about it [2]. [1] https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-resolution [2] https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#xconfig Resolves: RHEL-38399 (cherry picked from commit 8b94761)
Configuration menu - View commit details
-
Copy full SHA for 145e0a0 - Browse repository at this point
Copy the full SHA 145e0a0View commit details -
It wasn't used and it won't work on Wayland. Resolves: RHEL-38399 (cherry picked from commit 846dbde)
Configuration menu - View commit details
-
Copy full SHA for f6c7674 - Browse repository at this point
Copy the full SHA f6c7674View commit details -
Rename usevnc flag & similar variables
Rename the usevnc flag to use_rd, eq. "use Remote Desktop". This should better describe what this flag means with RDP support being added & differentiates this from a possible future remote Web UI access, that is using a different technology from remote desktop systems. Resolves: RHEL-38407 (cherry picked from commit d1abe94)
Configuration menu - View commit details
-
Copy full SHA for 942bd79 - Browse repository at this point
Copy the full SHA 942bd79View commit details -
Introduce GNOME remote desktop support
Add support for using GNOME remote desktop for providing remote graphical installation support via RDP. While GNOME remote desktop also supports VNC, we are not adding support for using it at this time. The main difference from VNC is that RDP requires both (RDP specific) username and password to be set and is encrypted by default (with locally generated SSL certificates). Resolves: RHEL-38407 (cherry picked from commit e45e07e)
Configuration menu - View commit details
-
Copy full SHA for d0f4f82 - Browse repository at this point
Copy the full SHA d0f4f82View commit details -
Add RDP boot options & deprecate VNC boot options
Add boot options for use with Remote Desktop Protocol, used to guide the installation remotely using the GUI. Also deprecate the VNC boot options. Resolves: RHEL-38407 (cherry picked from commit 3ce5351)
Configuration menu - View commit details
-
Copy full SHA for 0ef2b73 - Browse repository at this point
Copy the full SHA 0ef2b73View commit details -
Replace VNC support with GNOME remote desktop
Rebuild the original TUI Ask VNC spoke to a more generic "Ask Remote Desktop" spoke, supporting RDP. Replace the Tiger VNC provided VNC support with GNOME remote desktop provided RDP support & remove Tiger VNC support. Also log a warning if the old VNC options are used & these options will now no longer have an effect. Remove module from the code so it should be easier for backporting to rhel-10. However, we should replace Vnc module with Rdp module in later commit. Resolves: RHEL-38407 (merge of commit 883d6d0) (merge of commit da6f157)
Configuration menu - View commit details
-
Copy full SHA for 94b2c48 - Browse repository at this point
Copy the full SHA 94b2c48View commit details -
Adjust to freerdp and GNOME package changes
Adjust HOME variable to fix credential storage with new freerdp and also adjust GNOME remote desktop options for updated package. Resolves: RHEL-38407 (cherry picked from commit 04d5bb7)
Configuration menu - View commit details
-
Copy full SHA for 8783ed0 - Browse repository at this point
Copy the full SHA 8783ed0View commit details -
Looks like we enable network already in dracut if inst.vnc is used, lets switch the code to work with inst.rdp. Also drop the VNC related commands, as they are no longer expected to be used. Resolves: RHEL-41219 (cherry picked from commit d331ba0)
Configuration menu - View commit details
-
Copy full SHA for d033b11 - Browse repository at this point
Copy the full SHA d033b11View commit details -
Cleanup remaining Xorg and VNC references and dead code
After the main PR series that turned Anaconda into a native Wayland application and switched from VNC to RDP fro remote access, there were still some leftovers here and there. So lets address those - adjust various references in doc strings to correctly mention Wayland and RDP. And also drop various bits of code that are no longer needed. Lastly, drop a few Anaconda boot options that no longer work in the Wayland world: - xdriver - usefbx - vnc - vncconnect - vncpassword NOTE: Even with Anaconda running natively on a Wayland compositor, keyboard layouts are still called X layouts. This is the correct, as Wayland is still using the keyboard layout format introduced by the X server. Resolves: RHEL-41219 (cherry picked from commit ee14273)
Configuration menu - View commit details
-
Copy full SHA for a646178 - Browse repository at this point
Copy the full SHA a646178View commit details -
Redirect Anaconda main process stderr to Journal
This should prevent error messages (at the moment mostly from GTK, which stil runs in the main thread) from swamping the TUI running on TTY1. This also has the added benefit of any such errors now being captured in the Journal, which is usually stored from any test runs and easy for customers to send back if they encounter an issue. And thanks a lot to Ray Strode for helping us track this down! :) Resolves: RHEL-47097 (cherry picked from commit 9406a6a)
Configuration menu - View commit details
-
Copy full SHA for 21bc6f9 - Browse repository at this point
Copy the full SHA 21bc6f9View commit details -
Remove leftover debugging message
The address is printed correctly a few line below. Resolves: RHEL-47097 (cherry picked from commit fcb5154)
Configuration menu - View commit details
-
Copy full SHA for f3da24a - Browse repository at this point
Copy the full SHA f3da24aView commit details -
Redirect output of various GNOME related tools to Journal
This should avoid the output spamming TUI on TTY1 & any errors will be captured in Journal dumps. Resolves: RHEL-47097 (cherry picked from commit 487a26b)
Configuration menu - View commit details
-
Copy full SHA for 318946d - Browse repository at this point
Copy the full SHA 318946dView commit details -
Add missing support to localed for compositor
The plan is to use systemd-localed to control compositor keyboard and replace current `gk_keyboard_manager`. Most of the code is in place already but we need to add a few missing ones. The most problematic is missing support for next layout. The issue is that localed service don't have support for selection, to resolve this issue we will set the first in the list as selected. However, it means that we have to keep what user has set from Anaconda so we can find next candidate when switch to next layout is requested. Keep the information when user set the layouts to the compositor.
Configuration menu - View commit details
-
Copy full SHA for 52262c8 - Browse repository at this point
Copy the full SHA 52262c8View commit details -
Add localed signal support to LocaledWrapper
with this patch when compositor will change keyboard layout we will be able to react to that in Anaconda. This is mostly useful for Live ISO images. We have two signals currently to resolve that something has changed, one of the signals is that selected layout has changed in the compositor. The issue is that localed service doesn't have information about selected (first is taken as selected). To resolve that we need to keep values from our last query or last signal about the change so we are able to detect the change in selection.
Configuration menu - View commit details
-
Copy full SHA for 7824265 - Browse repository at this point
Copy the full SHA 7824265View commit details -
Switch keyboard management to Localed
Because of the switch to Wayland Anaconda has to change compositor keyboard manager because libxklavier doesn't work on Wayland. To fix that we migrated to Gnome Kiosk DBus API in RHEL-10, however, this solution can't be used outside of Gnome Kiosk. For that reason, we are switching to Localed which we set as the default to enable Anaconda to control keyboard switching.
Configuration menu - View commit details
-
Copy full SHA for dd9ae5d - Browse repository at this point
Copy the full SHA dd9ae5dView commit details -
Remove dead spice_vd_agent code
This code is not used since migration to Wayland. We need another solution for this feature.
Configuration menu - View commit details
-
Copy full SHA for 49e3916 - Browse repository at this point
Copy the full SHA 49e3916View commit details -
Do not create GRDServer on Live ISO
The GRDServer class have checks in the __init__ method which starts to complain about missing GRD in the system. That doesn't apply in Live environment where we don't support GRD in the first place.
Configuration menu - View commit details
-
Copy full SHA for efda6c7 - Browse repository at this point
Copy the full SHA efda6c7View commit details -
Remove Wayland detection logic from code
This logic was used to disable keyboard switching for given system. However, we we support even Wayland systems with the new solution, so let's remove this.
Configuration menu - View commit details
-
Copy full SHA for efd866c - Browse repository at this point
Copy the full SHA efd866cView commit details -
Set --rdp in liveinst unsupported
Previously it was vnc but we switched to RDP instead.
Configuration menu - View commit details
-
Copy full SHA for 870942d - Browse repository at this point
Copy the full SHA 870942dView commit details -
Configuration menu - View commit details
-
Copy full SHA for cedfa2c - Browse repository at this point
Copy the full SHA cedfa2cView commit details -
Do not change compositor options when not defined
If Anaconda will set keyboard layouts to compositor but options are missed then we shouldn't change the compositor options but rather use what is already set. This will avoid problematic behavior of changing what user has defined in the system or similar cases. Also we have this tested in kickstart-tests, so this commit is fixing these tests. Also fix existing tests and cover this functionality by tests.
Configuration menu - View commit details
-
Copy full SHA for 4cd89b3 - Browse repository at this point
Copy the full SHA 4cd89b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d963400 - Browse repository at this point
Copy the full SHA d963400View commit details -
Disable fedora-cisco repository in our containers
We need to disable these repositories to avoid dependencies from it. With this changeset we depends on gnome-remote-desktop which depends on librdp which depends (Fedora only) on openh264. However, if fedora-cisco repository is not enabled it will instead install noopenh264 package which is a stub package in the main repositories.
Configuration menu - View commit details
-
Copy full SHA for da20f70 - Browse repository at this point
Copy the full SHA da20f70View commit details -
Create GRDServer class only when required
Move the GRDServer class creation to the end of the `setup_display` method. This class have checks for binaries in the `__init__` method which is causing early failures. Also do not create the class if it is not really used.
Configuration menu - View commit details
-
Copy full SHA for db576ec - Browse repository at this point
Copy the full SHA db576ecView commit details