Adapting of Nobara changes to Fedora including OSTree versions?

The Nobara project gets a lot of attention, and it doesnt only install RPMFusion and drivers automatically. From their website

Many things are special for gaming and preinstalling user software doesnt make sense for a general purpose distro (for a Fedora Lab it would!). But there are many kernel patches, updates drivers and more things that seem hard to find for users, but really useful for everything dealing with that hardware.

What are your thoughts on making it an official Lab?

Also it would be awesome to have an OSTree version of it, although witg Flatpaks only many packages would be probably not needed.

I would ignore preinstalling Discord, Onlyoffice, e.g. but are there copyright problems with enabling rpm-fusion (or the newer AMD repo) and automatic GPU detection?

  • kernel patched with cherry-picked zen patches (also used in TKG kernel on Arch)
    kernel patched with OpenRGB
    kernel patched to enable amdgpu for pre-polaris cards by default instead of radeon

  • kernel patched with steam deck support

  • kernel patched with microsoft surface support

  • kernel patched with asus-linux patches for better asus laptop compatibility.

  • kernel patched with simpledrm fix/workaround for nvidia

  • kernel patched with ACS override IOMMU patch for better vfio iommu group control

  • kernel patched with Lenovo Legion Linux support

  • kernel patched with customizable USB polling rate support (Patch1 + Patch2)

  • kernel configured with ashmem, binder, and android support for Waydroid

  • QSG_RENDER_LOOP=”basic” set for nvidia cards, fixes nouveau Wayland freezes. The nvidia proprietary driver sets this anyway after installation. This fixes the issue of KDE Wayland often times freezing on first login before nvidia proprietary drivers are installed.

  • latest mesa release version provided for AMD/Intel desktop/GL drivers, mesa-git vulkan drivers provided for latest vulkan fixes/updates, built and updated regularly (every few weeks to a month on average)

  • glibc patched with clone3 disabled (fixes CEF compatibility in applications using outdated CEF such as Discord, Steam beta)

  • glibc patched with broken commits reverted to allow EasyAntiCheat to work for Rogue Company

  • dnf max parallel downloads increased to 6

  • gst-editing-services disabled — causes WINE to hang when creating new prefixes

  • lspci symlink from /usr/sbin/lspci to /usr/bin/lspci for Dying Light:

  • ‘nobara-controller-config’ package provided for easy installation of xone and xpadneo drivers and firmware.

  • gnome variable refresh rate patches added for mutter:

  • gnome mutter check-alive-timeout increased from 5 seconds to 30 seconds. This is the amount of time gnome waits before trying to determine if an application is not responding. At 5 seconds it almost immediately triggers for league of legends (and some other applications) if those applications are still in the loading phase. We feel 30 seconds is a much more reasonable wait time.

  • gnome mutter patched with x11 fractional scaling:

  • gnome mutter wayland and x11 fractional scaling enabled by default:

  • gnome shell patched to allow gnome-extension-manager to auto-update without needing gnome-extension-app installed. (They both function the same but gnome-extension-manager allows management of extensions without a browser).

  • gamescope version regularly updated

  • goverlay version regularly updated

  • mangohud version regularly updated

  • vkbasalt version regularly updated

  • vm.max_map_count = 16777216 set by default for Star Citizen

  • xwayland patched with fix for6 locked fps on some systems:

  • supergfxctl and gnome extension + kde plasmoid enabled for laptops. Vendor agnostic and works with any combination of intel/amd/nvidia gpus.

General usage improvements:

Nvidia:

– Nvidia gpu detection and driver auto-installation
– SDL2 patched to fix an nvidia framerate issue with SDL_VIDEODRIVER:
– Please be aware that only Nvidia GPUs that work with driver version 515 or newer are compatible with Nobara. See the following for details:

Video Codecs :

– A post-installation codec installer asks the user if they would like to enable and install various important codecs and related packages for out of the box easy video encoding and decoding/playback.

Blender:

– available with ffmpeg support (allows H264 render output)
– available with HIP support for AMD GPU rendering

Davinci Resolve:

– dependencies installed (yes, it works -easily- on a fresh install!

OBS Studio:

– available patched with browser plugin
– available patched with vulkan and opengl game capture plugin: Using Game Capture
– available patched with AMD AMF H.264 + H.265/HEVC encoder (AMD’s version of NVENC):
obs-ffmpeg: Make AMF encoder work on Linux by nowrep · Pull Request #7206 · obsproject/obs-studio · GitHub
– FFMPEG VAAPI plugin replaced with with AMD/Intel VAAPI H.264+H.265/HEVC Gstreamer encoder (far superior): GitHub - fzwoch/obs-vaapi: OBS Studio VAAPI support via GStreamer
– includes Nvidia NVENC H.264+H.265/HEVC encoder.
– available patched with PipeWire application audio capture plugin: linux-pipewire: Add PipeWire audio captures by dimtpap · Pull Request #6207 · obsproject/obs-studio · GitHub
– available patched with Source Record plugin: GitHub - exeldro/obs-source-record plugins/obs-source-record
– available patched with websockets plugin: GitHub - obsproject/obs-websocket: Remote-control of OBS Studio through WebSocket plugins/obs-websocket

WINE:

– included in installation.
– Wine version provided by official WineHQ instead of Fedora — this allows for easier, more viable bug reporting due to some conflicts with how Fedora packages wine.
– 64 and 32 bit WINE dependencies including winetricks and gstreamer installed for hassle-free out of the box Lutris + WINE gaming

Proton:

– protonup-qt included in installation. (This is a GUI that can be used for installing Proton-GE and Wine-GE)

Discord:

– Our Discord package is built with the following enhancement launch options added based on user feedback:

--no-sandbox --ignore-gpu-blocklist --disable-features=UseOzonePlatform --enable-features=VaapiVideoDecoder --use-gl=desktop --enable-gpu-rasterization --enable-zero-copy

Please note that Discord is -NOT- included with the default installation by request of various users, but the package IS available in our repositories with the modifications mentioned above.

Flatpak:

– flathub repository enabled by default
– flatpak patched to allow modify_ldt by default (allows league of legends to run in flatpak:

Nautilus (GNOME/Official file manager):

– classic type-ahead functionality has been restored. This allows you to start typing to go to the file closest to the typed text within the folder instead of initiating a full system search.
– button for toggling between breadcrumb navigation and a text navigation bar has been restored.
– workaround added to fix not being able to drag+drop from file roller/ark to extract files as well as other file drag issues.

SELinux:

– We have replaced SELinux with AppArmor (AppArmor is used in Ubuntu and OpenSUSE) as we find it to be more user-friendly, less intrusive, and easier to write policies for. You will still see some SELinux packages as they are required to keep Fedora compatibility and not break package dependencies.

RPMFusion:

– Repos enabled by default

Steam:

– included in installation.

Lutris:

– included in installation, updated frequently

MangoHud + Goverlay + Gamescope:

– included in installation, updated frequently

OnlyOffice:

– included in installation as office suite

CUPS/printer drivers:

– installed by default

Vapoursynth:

– updated to latest version

ffms2:

– patched to fix compatibility with vapoursynth

Many things realized in Nobara are simply not possible in Fedora Linux due to licensing issues. Fedora can only packackage and distribute free software. For more information, start here: Allowed Licenses :: Fedora Docs

Yes, rpmfusion included.

1 Like

About a month ago I was fed up with numerous usb/thunderbolt issues in W10, and considering the state of W11, it was the last straw that helped to start considering migration to Linux. I spent 2 weeks learning about various modern distros on Youtube (like Chris Titus Tech and Brodie Robertson), and shortlisted Nobara first with Fedora second for real-life tests on bare metal thanks to good reviews. The project description looked very appealing, as it promised to save newcomers to linux from lots of painful tinkering.

However Nobara (along with Manjaro and a few others) refused to boot up on a Tiger Lake Thinkpad. No matter what i did (various tools and usb image writing methods), there was no way to try it and get a personal opinion.
Then I decided to have a closer look at Nobara’s list of changes (that you have listed above) to see whether having them is really a crucial thing. If I got it right, they mostly fall into these categories:

  1. the majority of tweaks are for gamers. I do not game so would not want any gaming related extras in the system (as it would be considered “unnecessary bloat”)
  2. and Nvidia owners (understand Nvidia issues on Linux, but do not have it and would not want any related changes by default IF it could affect non-Nvidia hardware)
  3. also video content creators (perhaps useful for those doing actual work on their systems)
  4. some software like Onlyoffice can easily be installed, and things like Wine could be a disadvantage for Silverblue users. I’ve seen opinions that having Wine or Bottles actually adds vulnerabilities.
  5. custom repos and codecs are possibly a must. However Silverblue users centered around stability and security may want to stick to a flatpak-only system (not sure whether it’s really feasible, a lot of apps still do not show up there)
  6. and finally, kernel or software tweaks that are usually the most time-consuming and difficult to apply and debug if something goes wrong, especially for newcomers.

For me personally, from the new linux user perspective with obviously quite limited understanding of what exactly these fine-tune tweaks do, only 5) and 6) made sense, but even revising it I could not see anything really necessary at the moment. And it’s very difficult to decide whether one needs all these tweeks in 6).

Wrapping up: Licensing issues aside, if this could be done in a modular way where one can use what changes to apply, it will very likely be very useful for the vast majority. As a have-it-all pack not so much, especially for the Silverblue userbase.

I think you ran replace “Gamers” with “Graphics card users” here. But yes of course, there is gaming stuff that could end up in a Lab, or just stay at this nieche project as its also often proprietary.

Not all changes can be applied by the user, for example kernel changes. Your kernel even supports Apple M1 probably somehow, even though you dont use it.

Preinstalling software is a very subjective thing, and onlyoffice shouldnt be preinstalled. But doing this (Gaming! Why the hell Onlyoffice?) in a Lab, which pretty much only is “Fedora with preinstalled Software”, would be really nice.

Imagine people calling Fedora a “gaming Distro”. Every distro is, and if preinstalling proprietary stuff can be avoided by just offering manual install, they could do what they want without licensing issues.

Flatpaks are nice, I havent tested them with Video editing or Gaming (a lot of hardware interaction) and dont know if they can use these components at all.

But if there are stable drivers, it should be easy to add. I dont think AMD will ship buggy software.

I think the tweaks for specific brands are really important. Linux has to run everywhere, if you have a surface you need to hack a lot too much.

I also have very old hardware, my machine can even use coreboot (lovely Thinkpad T430). But I also dont have blur or transparency anywhere, and I never gamed or did Video editing, I guess this is horrible.

So I have no idea if this is nessecary, but some tweaks sound really important and well-chosen. I hope many of those just get upstreamed.

Afaik Gnome fedora allows to enable rpmfusion with one click.

I dont know what kernel changes and mods are licensed, but couldnt this technique be used for everything able to layer /install ?

If there are licensed drivers there could be a dnf/rpm-ostree integration. Nothing is shipped, just a installer containing the links where to download.

Isnt that what Fedora is already doing?

Not really, it only includes the Steam and NVIDIA Driver repos.
This is just a small part of the RPM Fusion Nonfree repo, not to mention the Free repo.

3 Likes

information on third-party policies and repos:

as for the kernel stuff, the Project likes Fedora Linux to be as close to upstream as possible (minimizing work load of volunteers putting the distro together).

fedora can redirect to nobara for game-spin maybe this is a good option…

But this means there are no legal problems enabling nonfree repos? Its a weird choice to make it so intransparent (choosable repos would be way better) but its just to prove that this is possible.

@frankjunior
I think this is a good and quick option. But it would be an interesting discussion what elements could fit an OSTree based system and what not.

@augenauf
That makes sense, I also dont think creating own projects is a better solution than using upstream. Any idea why these patches are not yet there? Why is Surface-Linux not in upstream for example? Are the patches too big to be universal?

I think Linux should run on all hardware, and especially hardware like macs or Surfaces are already hard to setup, but should nonetheless profit from an immutable system.

i think this you need to ask microsoft for that they could answer why
Upstream status · Issue #205 · linux-surface/linux-surface · GitHub 3rdparty support is already working and it should be upstream once ready. and you can help them upstream or ask about it
but if really want a device with best linux experience right now macbook M1 M2 are the best option due to the asahi project and now all drivers drm and others are going upstream this will be the best linux laptop you can get.
i am not a lawyer but in plain text fedora is very close to redhat policy and only allow opensource patches and stuff. so what nobara have done is a combination of open and close components and whatever nonfree you are seeing are user opt in and once opted it will be installed after that those are not included in the iso.

1 Like

Just a head-up since there seems to be talk of OSTree system with pre-installed packages.
This should be useful:

https://fedoraproject.org/wiki/Changes/OstreeNativeContainerStable

I don’t know what the current status of that is, but there was work on encapsulating OsTree commits inside container images.

It should be possible to, if one wanted, create a version of Silverblue with some pre-installed packages and just host that version on some container registry.

1 Like