December 26, 2023

Nobara 39 Officially Released, Happy Holidays!

Changelog:
Gamscope-session rebase + improvements:
– moved DM service restarts/reloads to /usr/bin/gamescope-session-plus so that the session can cleanly close before restarting. this is required for gdm
– added polkit policy for /usr/bin/gamescope-session-plus to reexec itself as root in order to restart DMs
– added full GDM integration to os-session-select
– added full SDDM integration to os-session-select
– os-session-select relocated to /usr/libexec/
– steamos-session-select modified to run os-session-select AND shutdown steam afterwards instead of OR. This is part of making the sessions close cleanly
– Added desktop Return shortcut which points to steamos-desktop-return script
– Added steamos-desktop-return script which cleanly shuts down steam, calls os-session-select to set the default session, then cleanly shuts down the gnome or kde session
– Removed symlink of gamescope-session to gamescope-session-steam — this symlink causes duplicate sessions to be listed in DM session lists.

Steam package improvements:
– added libextest library override for using steamdeck and/or steam controller with wayland (needed for trackpad to work)
– the following steam download improvement is now added on installation: https://www.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/

Nobara Welcome app changes:
– Under ‘Optional Steps’ We’ve added an ‘Install Steam Game Fixups’ entry which adds overrides for allowing broken Source games to work on LLVM 16+ (https://www.reddit.com/r/linux_gaming/comments/165lk3r/llvm_16_breaks_valve_games_do_not_update/). This also adds a workaround which uses zink for payday 2 native, although these days most people just use proton for payday 2.
– Under ‘Optional Steps’ We’ve added an ‘Install Davinci Resolve Fixups’ entry which adds a small set of libraries ported from Fedora 37 as a runtime specifically to allow Davinci Resolve to work.
– The ability to install AMD Pro/Proprietary drivers have been completely removed. If we’re being blunt here it just isn’t needed anymore. Davinci Resolve doesn’t need it. AMDVLK also is not needed, and it just confuses people. Originally, it was only in place for AMF encoder, however that is no longer needed either. The FFmpeg vaapi plugin has matured greatly, and is now able to handle h264, h265, and AV1 encoding without any major issues as previously faced in the past (such as encoder overload or bad quality). Furthermore, the creator of the AMD AMF patch has explicitly stated they will no longer be maintaining the patch, and the same creator is actively working on the FFmpeg vaapi implementations instead. That same creator is ALSO actively committing to the encoder portions of the mesa driver stack. (Huge thank you to nowrep — you’ve done a ton of excellent work here!). To further add to that, using the firmware from the pro drivers often causes users more problems in the long run, especially when new hardware and kernels come out.
– We’ve removed the codec installer and instead integrated it as part of the ‘Update System’ app. The goal here was to streamline package updates into one place and give less popups for the user on clean installation. Now, when a user performs a new installation they will receive (1) one popup informing them they should update the system. Upon updating they will then be asked a few questions, including updating media codec packages, updating flatpaks, and updating snaps. There is still a popup for nvidia drivers if the user decides to change GPUs and/or did not install using an Nvidia ISO and has an Nvidia GPU.
– The layout picker has been removed as it was based around GNOME, and we are no longer focusing on GNOME as our primary desktop.

OBS Studio changes:
– The AMD AMF encoder patch has also been removed from OBS. As mentioned above the ffmpeg encoder in OBS has been updated greatly over the span of the last year and now performs on par and/or better than the AMF encoder, and is capable of H264, H265, and AV1 encoding, as well as 4k encoding.
– The gstreamer VAAPI encoder has been removed from OBS. Since the ffmpeg encoder is now working properly there is no need for a second encoder that does the exact same thing. We want to make things simple for people, not confuse them.

‘Update System’ app changes:
– The ‘Update System’ app has undergone a big rework. It now provides a cleaner viewable GUI while running update scripts, and creates a log at ~/.nobara-sync for the user when it finishes.

Nvidia Driver changes:
– Normally we follow Nvidia’s Production branch for driver releases, however we’ve added Nvidia’s 545.29.06 drivers from the New Feature branch for compatibility on wayland
– We’ve also added the required explicit sync patches for xwayland in order for this to work:
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/90
https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967
https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/59
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3300
As of now the full driver set has been tested and working on wayland in both KDE and GNOME on at least a 2060 super, gt 1030, and gtx 960m with no major problems.
– There was a problem with a typo in the previous N38 ISOs which was setting nvidia-drm.modeset=0 instead of =1, that has been corrected in the 39 ISOs and is now working correctly.

Nobara Official has now be rebased on KDE instead of GNOME for several reasons:
———–
(1) VRR (Variable Refresh Rate/Freesync) functionality. Gnome currently still requires patched-in VRR functionality. The pending MR has been waiting 3 years, and even doing so still breaks the system tray.

See:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1154
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6955

(2) DRM Leasing functionality. This is a requirement for VR (Virtual Reality) in wayland. This is another pain point that has had constant back and forth on the gnome side, but is implemented already in KDE.

See:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3205
https://gitlab.gnome.org/GNOME/mutter/-/issues/1743

(3) Fractional scaling functionality. This is what allows the desktop to be rescaled in fractions rather than whole percentages. This is still marked as experimental in GNOME even though it was merged in 2019, 5 years ago, while being implemented already in KDE.

(4) Drag and drop from Archive manager functionality. As stupid as this is, GNOME file-roller STILL cannot drag+drop files into nautilus folders, while KDE’s Ark can. Again, another bug opened 5 years ago.

See:
https://gitlab.gnome.org/GNOME/file-roller/-/issues/4

(5) Better integration with Steam. By default the Steam Deck uses KDE as the desktop mode. This inherently means it receives updates from Valve in terms of desktop related fixes, and they are actively working with KDE developers to bring updates to KDE (https://www.reddit.com/r/kde/comments/t2184m/is_there_any_cooperation_with_valve_and_kde/)

If you wish to switch from the previous GNOME based Nobara Official to KDE based, you can do so in N38 before upgrading. We have backported the KDE theming to N38 to facilitate this:

How do I switch from GNOME to KDE

Due to the shift from GNOME to KDE for Nobara official, the following Nobara-modified gnome shell extension packages have been either removed and/or reverted to their fedora-shipped versions:

gnome-shell-extension-dash-to-panel
gnome-shell-extension-desktop-icons
gnome-shell-extension-gamemode
gnome-shell-extension-custom-accent-colors
gnome-shell-extension-arc-menu
gnome-shell-extension-pop-shell
gnome-shell-extension-quick-settings-tweaker
gnome-shell-extension-blur-my-shell
gnome-shell-extension-gesture-improvements
gnome-shell-extension-wireless-hid
gnome-shell-extension-clipboard-history

Moving forward if you wish to use these on GNOME you will need to reinstall them yourself via the standard GNOME extension addon method:
https://docs.fedoraproject.org/en-US/quick-docs/gnome-shell-extensions/

What we are keeping in GNOME:

-Variable Refresh Rate (VRR) patches
-adw-gtk3
-gtk4 font metrics override (https://gitlab.gnome.org/GNOME/gtk/-/issues/3787)
-Nautilus patched with a toggle to turn breadcrumb navigator into typable search bar
-Nautilus patched to restore old typeahead functionality
-Nautilus patched to add ‘open as admin’ option to nautilus right click menu
———–

Additional misc changes:

-plasma-lookandfeel-nobara package has been added, includes wallpapers, sddm wallpaper, lockscreen, splash loading screen, extra gtk theming, app color palette, papirus icons, tinted panel with windows-like hide desktop bar on right side, rounded window corners (added via plasma-rounded-corners package: https://github.com/matinlotfali/KDE-Rounded-Corners).

-Additional bonus ‘mecha penguins’ wallpapers added via plasma-lookandfeel-nobara-extras-wallpapers package. This was an extra set of fun wallpapers we messed around with when working with AI generated wallpapers.

-plasma-lookandfeel-nobara-steamdeck-additions package has been added. Allows using nobara as ‘nested desktop’ inside steam gamescope-session, add ‘Add to Steam’ to right click menu.

-kernel patches have been added to allow full steamdeck OLED support. Please keep in mind this is still new and there are still bugs. Currently we know the frame limiter is not working properly on SD OLED in gamescope-session.

-kernel has been patched to set amdgpu.ppfeaturemask=0xffffffff as the default for users who want more control via applications such as corectrl or ryzenadj without having to mess with grub.

-we have upgraded our package manager to DNF5. There are still a handfull of subcommands that still do not work for DNF5, but most basic functionality is there, and it is much faster. If there is a command that does not work properly (such as ‘list installed’) you can use dnf4 as a fallback:

Ex:
dnf list installed
fallback:
dnf4 list installed

-we have added a second set of mirrors to our snapshot repositories for F39 onward which are hosted on Digital Ocean and use the Digital Ocean CDN. This is in addition to our already existing CloudFlare hosting and CDN. Between this and the upgrade to DNF5, updates should work significantly faster.

-we have switched from firefox to chromium for the default browser for the time being. this may change in the future, however currently the reasoning for this is because firefox’s ‘kiosk’ mode is broken — which is needed for EmuDeck compatiblity. Specifically in order to smoothly embed web pages as a full screen application. This is for things such as streaming services like netflix or jellyfin or crunchyroll, where EmuDeck creates a full screen kiosk version of the webpage when running in a gamescope session.

-OBS_VKCAPTURE=1 is enabled globally by default in /etc/profile. This prevents users from manually having to set it. Just open obs-browser, add game capture, and boom, done.

-we have patched glfw for native wayland support — this allows minecraft to run in native wayland rather than xwayland (and fixes the input lag that occurs on xwayland). In launchers such as prismlauncher just enable ‘Use system installation of GLFW’. You do not need to provide a path.

-prismlauncher for minecraft is now included in the nobara repos