Fedora 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

Post Reply
MastaG
Posts: 324
Joined: Mon Aug 26, 2013 6:05 pm
languages_spoken: english
Has thanked: 22 times
Been thanked: 14 times
Contact:

Fedora 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

Post by MastaG » Wed Jun 10, 2020 1:43 am

Fedora 32 - XU Edition

ImageImageImage
Special thanks to AreaScout and memeka for making this possible!

Features / Info:
- Running on Linux 5.4 (thank you memeka)
- Full SELinux support (enabled by default)
- Wireguard support
- Support for rootless containers using podman (much better than Docker)
- Virtualization support enabled in the kernel (untested though)
- Firefox 76 for Wayand (built with optimized flags for XU4)
- FFMPeg built statically with patches for Kodi and TVHeadend (thanks AreaScout / memeka)
- Kodi 19 for Wayland and GBM (standalone mode) with Netflix, Amazon Prime and Disney+ pre-configured (thank you AreaScout)
- Kodi 19 binary addons pre-installed (almost all of them: PVR, RetroPlayer with almost all libretro cores, joystick support, screensavers etc etc..)
- TVHeadend with NEON-accelerated CSA descramling and all codecs enabled
- Oscam-emu pre-conigured for TVHeadend
- RetroArch for Wayland and GBM (standalone mode) with the following cores (all built with optimizations for XU4):
Flycast - Sega Dreamcast
Genesis Plus GX - Sega Genesis
Mupen64plus NX - Nintendo 64
Parallel N64 - Nintendo 64
Picodrive - Sega Genesis/MegaCD/32X
Snes9x - Super Nintendo
Gambatte - Gameboy Color
mGBA - Gameboy Advance
Nestopia - Nintendo
PCSX Rearmed - Sony Playstation
PPSSPP - Sony PSP (slow, use standalone version instead)
Yabause - Sega Saturn

- PPSSPP for Wayland and GBM (standalone mode)
- DOSBox Staging for Wayland and GBM (standalone mode)
- ODroid XU3 analog headphone jack output working
- ODroid XU3 OTG-port is configured to be used as a regular USB 3.0 host
- Suspend / Resume working (thank you memeka)
- HDMI-CEC working
- Kernel headers and config pre-installed for easily compiling modules (dkms/akmods etc)

UPDATE - V2:
- (hopefully) Fixed the GDM segfault on first boot
- Fixed X11 armsoc configuration (unused though)
- Added picodrive libretro addon for Kodi (what's kodi without Sonic CD eh)
- Added the edid firmware blobs to the kernel (forgot this in the first release)
- Cleaned up the image a bit (SSH host keys will be generated on first boot)

Requirements:
- ODroid XU3, XU3-Lite or XU4 (MC1, HC1 and HC2 should work but untested)
- eMMC or sd-card of 16GB or larger

Download:
https://mega.nz/file/68twnYIa#rT_P8Nl5f ... 1lxvxfr_Do

Getting started: (please read all of it!)
Default user: odroid
Password for odroid: odroid
Password for root: odroid

- Unpack the downloaded archive and use your favourite tool to write the image to your eMMC/sd-card (Etcher/win32diskimager/dd).
- Insert it into your ODroid and power it up, you should be prompted by the Gnome Display Manager (logon screen).

You can now manage your ODroid using Cockpit by visiting: https://odroidIP:9090/ (login with the above credentials: odroid / odroid)

If your eMMC / sd-card is larger than 16GB, you can extend the root-filesystem by issuing:

Code: Select all

sudo extend_rootfs.sh
If you want to run Fedora as a headless server you can disable the graphical target (disabling Gnome) by issuing:

Code: Select all

sudo systemctl set-default multi-user.target
sudo reboot
If you don't want to boot into Gnome but run Kodi, RetroArch, PPSSPP or DOSBox in standalone mode:
- First disable Gnome Desktop:

Code: Select all

sudo systemctl disable gdm
- Then enable your favourite application: kodi, retroarch, dosbox or ppsspp (ONLY ENABLE ONE AT THE TIME)

Code: Select all

sudo systemctl enable kodi
sudo reboot

Optionally: If you're planning on using the desktop a lot you can try to enable swap on zram.
This will compress half the ram and enables it as swap-space.
You can change the amount of ram to compress in: /etc/zram.conf
However if you're going to be running Kodi or RetroArch in standalone mode you won't need it, as 2GB is more than enough.

Code: Select all

sudo systemctl enable zram-swap.service
sudo reboot

Kodi 19:
Kodi comes pre-configured for using Netflix, Amazon Prime and Disney+
Just open the addon, logon and play.

However if you would like to enable other addons (RetroPlayer, PVR clients, codecs, screensavers, whatever), you can do so by going to:
Settings -> Addons -> My Addons

If you would like to get very smooth playback it's advised to run Kodi in standalone mode (see Getting started:).

NOTE: In standalone mode: Always make sure DRM PRIME accelerated decoding is disabled or else playback will fail! (option not visible when running under wayland)
I've already disabled prime acceleration, but if you run Kodi in wayland first and switch to standalone mode afterwards, it will be re-enabled.
Settings -> Player -> Videos -> DRM PRIME Decoder <-- DISABLE !!!

In standalone mode you can make Kodi switch the display refresh rate to match the frame-rate of the video being played.
First whitelist the display modes supported by your TV:
Settings -> System -> Display -> White-list
Then enable the following option:
Settings -> Player -> Videos -> Adjust display refresh rate -> On start/stop

TVHeadend / Oscam:
If you would like to setup TVHeadend you can enable it by issuing:

Code: Select all

sudo systemctl enable --now tvheadend
Oscam will automatically get enabled and started as well.

You can access the TVHeadend webinterface by going to: http://odroidIP:9981/
For administrator access you can login with: admin / odroid
For regular access (e.g. Kodi addon) you can use: odroid / odroid

To configure Oscam visit its webinterface by going to: http://odroidIP:9191/
Oscam credentials: odroid / odroid

Known issues:
- Gnome Software will segfault when trying to open it, probably an arm 32bit bug, see: https://gitlab.gnome.org/GNOME/gnome-so ... ssues/1007
Hopefully they'll fix it soon, for the time being you can manually use the dnf command to install software or upgrade your system
- Kodi will show a black screen in standalone mode when PRIME acceleration is enabled, see Kodi section
- Kodi cannot run any hardware-accelerated RetroPlayer addons such as Mupen64, Parallel N64 or Flycast (not implemented yet)
- Gnome Display Manager will not start if a keyboard or screen is not present, so make sure to plug those in before booting, unless you want to run as a headless server (see Getting Started)
- Chromium segfaults all the time due to the mali driver not supporting wayland dmabuf and being outdated/broken (lets hope Panfrost will get better support for the ODroid platform in the future)
- 8BitDo SN30 Pro+ controller only works with Kodi when it's paired in Switch (Pro Controller) mode (not my fault)

Technical information:
- If you would like to update the dracut initramfs image and re-generate the uInitrd image, you can issue the following command:

Code: Select all

sudo gen-uinitrd
This is useful after changing (or blacklisting) module parameters (changes to /etc/modprobe.d or /etc/modules-load.d)

- Custom SElinux rules added for ODroid:

Code: Select all

fcontext -a -f a -t xserver_misc_device_t -r 's0' '/dev/mali.*'
- Custom dracut configuration: /etc/dracut.conf.d/odroid.conf

Code: Select all

install_optional_items+=" /lib/firmware/s5p-mfc.fw  /lib/firmware/s5p-mfc-v6.fw  /lib/firmware/s5p-mfc-v6-v2.fw  /lib/firmware/s5p-mfc-v7.fw  /lib/firmware/s5p-mfc-v8.fw /etc/udev/rules.d/10-odroid.rules "
compress="xz"
- Custom udev rules:
10-odroid.rules

Code: Select all

KERNEL=="mali", SUBSYSTEM=="misc", MODE="0666", GROUP="video"
KERNEL=="mali0", SUBSYSTEM=="misc", MODE="0666", GROUP="video"
KERNEL=="ump", SUBSYSTEM=="ump", MODE="0777", GROUP="video"
KERNEL=="ttySAC0", SYMLINK+="ttyACM99"
KERNEL=="event*", SUBSYSTEM=="input", MODE="0777"
KERNEL=="CEC", MODE="0666", GROUP="video"
KERNEL=="cec*", MODE="0666", GROUP="video"
KERNEL=="cec0", MODE="0666", GROUP="video"
KERNEL=="amvideo", MODE="0666"
KERNEL=="amstream*", MODE="0666"
20-smartreader.rules (For using USB Smartreader with Oscam)

Code: Select all

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="video", MODE="0666"
- ODroid audio configuration: /etc/alsa/conf.d/00-odroid.conf

Code: Select all

# Odroid configuration

pcm.!default {
    type plug
    slave {
        pcm "hw:0,0"
        format S16_LE
        rate 48000
    }
}

ctl.!default {
    type hw
    card 0
}
- I've installed both the ARM Mali driver for wayland (r12p004) and the Hardkernel Mali r17p0 driver (GBM/X11)
By default the ARM Mali wayland driver is enabled (required for Gnome desktop).
If you would like to switch to Hardkernel's Mali driver (only for Kodi, RetroArch, DOSBox or PPSSPP), you can do so by issuing:

Code: Select all

sudo rm -f /usr/lib/mali
sudo ln -s /usr/lib/mali-x11gbm /usr/lib/mali
sudo ldconfig
sudo reboot
To switch back to the ARM Mali wayland driver:

Code: Select all

sudo rm -f /usr/lib/mali
sudo ln -s /usr/lib/mali-wayland /usr/lib/mali
sudo ldconfig
sudo reboot
That's about it :)
Enjoy!
Last edited by MastaG on Mon Jul 06, 2020 9:22 pm, edited 7 times in total.
These users thanked the author MastaG for the post (total 3):
mad_ady (Wed Jun 10, 2020 3:15 am) • AreaScout (Wed Jun 10, 2020 4:33 am) • rooted (Wed Jun 10, 2020 6:10 am)

User avatar
AreaScout
Posts: 1356
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell, Go2, C4
Has thanked: 60 times
Been thanked: 194 times
Contact:

Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

Post by AreaScout » Wed Jun 10, 2020 4:32 am

    Wow MastaG, I mean that's a multimedia OS, by sure one of the most complete images I have seen flying around, great all round knowledge from your site, gaming, dvb tv station and multimedia center + OS, everything !!

    RG
    These users thanked the author AreaScout for the post:
    MastaG (Wed Jun 10, 2020 5:16 am)

    User avatar
    rooted
    Posts: 7744
    Joined: Fri Dec 19, 2014 9:12 am
    languages_spoken: english
    Location: Gulf of Mexico, US
    Has thanked: 720 times
    Been thanked: 208 times
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by rooted » Wed Jun 10, 2020 6:13 am

    Now I know what to do with my idle XU4, it has spent years as my tvheadend server and for compiling things but I recently took it offline since I basically stopped recording live TV and didn't need it running 24/7.

    User avatar
    odroid
    Site Admin
    Posts: 34586
    Joined: Fri Feb 22, 2013 11:14 pm
    languages_spoken: English, Korean, Japanese
    ODROIDs: ODROID
    Has thanked: 812 times
    Been thanked: 704 times
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by odroid » Wed Jun 10, 2020 9:14 am

    Very impressive all-in-one OS image!
    This thread is STICKY now. :D
    These users thanked the author odroid for the post:
    MastaG (Thu Jun 11, 2020 12:53 am)

    Luke.go
    Posts: 503
    Joined: Mon May 30, 2016 1:55 pm
    languages_spoken: english
    Has thanked: 51 times
    Been thanked: 52 times
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by Luke.go » Wed Jun 10, 2020 9:57 am

    These users thanked the author Luke.go for the post:
    MastaG (Thu Jun 11, 2020 12:53 am)

    MastaG
    Posts: 324
    Joined: Mon Aug 26, 2013 6:05 pm
    languages_spoken: english
    Has thanked: 22 times
    Been thanked: 14 times
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by MastaG » Wed Jun 10, 2020 11:51 pm

    Thank you for the recognition guys !
    I appreciate it :)

    I've did a quick update:

    UPDATE - V2:
    - (hopefully) Fixed the GDM segfault on first boot
    - Fixed X11 armsoc configuration (unused though)
    - Added picodrive libretro addon for Kodi (what's kodi without Sonic CD eh)
    - Added the edid firmware blobs to the kernel (forgot this in the first release)
    - Cleaned up the image a bit (SSH host keys will be generated on first boot)

    Enjoy!
    These users thanked the author MastaG for the post (total 3):
    rooted (Thu Jun 11, 2020 6:25 am) • Luke.go (Thu Jun 11, 2020 9:14 am) • odroid (Thu Jun 11, 2020 10:10 am)

    zkhmcknol
    Posts: 9
    Joined: Sat Jun 20, 2015 5:31 pm
    languages_spoken: english
    Has thanked: 0
    Been thanked: 0
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by zkhmcknol » Sat Jun 20, 2020 10:35 pm

    Looks good!! Thanks so much guys and girls. Will download it soon and try it

    MastaG
    Posts: 324
    Joined: Mon Aug 26, 2013 6:05 pm
    languages_spoken: english
    Has thanked: 22 times
    Been thanked: 14 times
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by MastaG » Sat Jun 27, 2020 1:31 am

    The next Fedora release (33) will probably feature Gnome 3.38 which will carry a few really important performance fixes by Daniel van Vugt: https://www.phoronix.com/scan.php?page= ... d-Multiply
    If I'm still able to get the mali driver to work, then this will run even smoother :)
    The XU4 is such a powerful thing.. sometimes I wished there was a revision with 8GB of ram and a slightly more updated wayland driver (drm prime, dmabuf, updated GBM/EGL lib etc), it could compete with the NUC when even when it comes to Desktop usage...(I think too much :P)

    zkhmcknol
    Posts: 9
    Joined: Sat Jun 20, 2015 5:31 pm
    languages_spoken: english
    Has thanked: 0
    Been thanked: 0
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by zkhmcknol » Fri Jul 03, 2020 7:17 pm

    Hi. Great OS this...many thanks.

    Wanna have the option to roll back so I can start Kodi manually but when automatically logging into Kodi, I cannot access other Terminal to enable gnome display manager again.
    For a few seconds I can press ALT CTRL F1 or F6 (of others) and those terminals tty1 and tty6 open.....but then Kodi starts up those other Terminals cannot be accessed. Exiting Kodi simply logs me out and starts up again. Any thoughts??

    MastaG
    Posts: 324
    Joined: Mon Aug 26, 2013 6:05 pm
    languages_spoken: english
    Has thanked: 22 times
    Been thanked: 14 times
    Contact:

    Re: Feodra 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by MastaG » Mon Jul 06, 2020 9:04 pm

    zkhmcknol wrote:
    Fri Jul 03, 2020 7:17 pm
    Hi. Great OS this...many thanks.

    Wanna have the option to roll back so I can start Kodi manually but when automatically logging into Kodi, I cannot access other Terminal to enable gnome display manager again.
    For a few seconds I can press ALT CTRL F1 or F6 (of others) and those terminals tty1 and tty6 open.....but then Kodi starts up those other Terminals cannot be accessed. Exiting Kodi simply logs me out and starts up again. Any thoughts??
    Hi there,

    I haven't tested it myself but you could try and edit the file: /etc/systemd/system/kodi.service
    And change: default.target to multi-user.target
    Like this:

    Code: Select all

    [Install]
    WantedBy = multi-user.target
    EDIT: That didn't work..

    I don't know if kodi-gbm supports virtual console switching.
    @AreaScout would you happen to know this?

    User avatar
    AreaScout
    Posts: 1356
    Joined: Sun Jul 07, 2013 3:05 am
    languages_spoken: german, english
    ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
    N1, Go, VU5A, Show2, CloudShell2,
    H2, N2, VU7A, VuShell, Go2, C4
    Has thanked: 60 times
    Been thanked: 194 times
    Contact:

    Re: Fedora 32 - XU edition (Gnome 3.36 / Kodi 19 / Retroarch etc)

    Post by AreaScout » Wed Jul 08, 2020 2:17 am

      @MastaG

      No it doesn't, Kodi GBM is always fullscreen and DRM Master, I haven't seen a configuration where you can switch to different tty and drop Master there and I have zero experience with Wayland desktop

      RG

      Post Reply

      Return to “Other OS”

      Who is online

      Users browsing this forum: No registered users and 4 guests