Skip to content
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

Add Odroid N2 support #2692

Closed
wants to merge 1 commit into from
Closed

Add Odroid N2 support #2692

wants to merge 1 commit into from

Conversation

mseidl
Copy link

@mseidl mseidl commented May 5, 2019

So this is for adding odroid n2 support. This works in the sense it detects it correct with the setup script, but there are some issues that might be related to the ubuntu image that I used or a problem with the compiler flags.

@mseidl
Copy link
Author

mseidl commented May 5, 2019

root@odroid:~# apt install libglvnd-dev libegl1 libgles1 libgles2 mali-fbdev
Reading package lists... Done
Building dependency tree
Reading state information... Done
mali-fbdev is already the newest version (0.1-1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
mali-fbdev : Conflicts: libegl1
Conflicts: libgles1
Conflicts: libgles2
E: Unable to correct problems, you have held broken packages.

I end up with requirements for both mali-fbdev and the libgle packages which conflict with each other.

@mseidl mseidl changed the title WIP: Add Odroid N2 support Add Odroid N2 support May 11, 2019
@t-buss
Copy link

t-buss commented May 24, 2019

I tried installing this on a new installation with Ubuntu 18.04 minimal, it did not work, also because of dependency issues

@mseidl
Copy link
Author

mseidl commented May 24, 2019

@t-buss There is another issue with a similar with other devices...

#2469

@gotnull
Copy link

gotnull commented May 27, 2019

Can anyone confirm whether they've successfully installed RetroPie on an Odroid N2?

@t-buss
Copy link

t-buss commented May 28, 2019

@gotnull I can tell that as of now, it's not as easy as just following the manual. I will work on it on the weekend and try to get it working, and will share my solution (if I find one) here.

@mseidl That is another dependency, so I'm not sure it's related. Strange to see this. Hardware is the same, software is the same...

@t-buss
Copy link

t-buss commented Jun 1, 2019

Alright, party people, here's what I did:

  • Flash OS (Ubuntu Mate 18.04.2-4-9)
  • Insert and Boot Odroid
  • Configure Wifi through GUI
  • Update packages (Warnings for Locale not set; probably nothing but I mention it anyway)
  • Set Keyboard Layout to German
  • Install Git
  • Clone mseidl/RetroPie-Setup
  • run sudo retropie-setup.sh (Menu says it is Version 4.4.12, a4ebb44, build 4 weeks ago, which is the commit of this PR)
  • In Menu, add odroid user to groups input and video (says it required reboot)
  • Reboot
  • run sudo retropie-setup.sh again
  • In menu, start basic install
  • Get a heart attack as the screen goes black 30 Minutes in the setup
  • Realize it's just the screensaver and carry on
  • After over an hour: Could not successfully build retroarch /home/odroid/RetroPie-Setup/tmp/build/retroarch/retroarch not found
  • Could not install package(s): libgl1-mesa-dev
  • Could not successfully build emulationstation /home/odroid/RetroPie-Setup/tmp/build/emulationstation/emulationstation not found
  • Could not successfully build lr-mame2000 /home/odroid/RetroPie-Setup/tmp/build/lr-mame2000/lr-mame2000_libretro.so not found
  • Could not successfully build lr-picodrive /home/odroid/RetroPie-Setup/tmp/build/lr-picodrive/picodrive_libretro.so not found
  • Could not successfully build lr-stella /home/odroid/RetroPie-Setup/tmp/build/lr-stella/stella_libretro.so not found
  • Get a log file: rps_2019-06-01_161123.log.gz

The log has over 13000 LOC, so I still need to analyse where things go wrong.
If you're willing to help dig through this thing, that would be great!!

@t-buss
Copy link

t-buss commented Jun 2, 2019

I think the problem arises fairly early in the log: SDL2 needs to be installs and this is the following output:

= = = = = = = = = = = = = = = = = = = = =
Installing dependencies for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x
= = = = = = = = = = = = = = = = = = = = =

Did not find needed package(s): mali-fbdev. I am trying to install them now.
Hit:1 http://archive.canonical.com/ubuntu bionic InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease
Hit:5 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Hit:6 http://deb.odroid.in/n2 bionic InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  libcapnp-0.6.1 libdrm-dev libdrm-etnaviv1 libdrm-tegra0 libegl-mesa0
  libglvnd-core-dev libice-dev libllvm6.0 libmirclient-dev libmirclient9
  libmircommon-dev libmircommon7 libmircookie-dev libmircookie2 libmircore-dev
  libmircore1 libmirprotobuf3 libopengl0 libprotobuf-dev libprotobuf10
  libpulse-dev libsm-dev libsndio-dev libwayland-bin libwayland-dev
  libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev
  libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev
  libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxkbcommon-dev
  libxshmfence-dev libxt-dev libxv-dev mesa-common-dev x11proto-damage-dev
  x11proto-dri2-dev x11proto-gl-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libegl1 libegl1-mesa-dev libgl1-mesa-dev libgles1 libgles2 libgles2-mesa-dev
  libglu1-mesa-dev libglvnd-dev libsdl2-dev
The following NEW packages will be installed:
  mali-fbdev
0 upgraded, 1 newly installed, 9 to remove and 0 not upgraded.
Need to get 10.8 MB of archives.
After this operation, 31.5 MB of additional disk space will be used.

It says that libgl1-mesa-dev is to be REMOVED and then later fails to build other stuff due to dependency problems. But it should be installed.
In the installation script for SDL2 (scriptmodules/supplementary/sdl2.sh), there is this function:

function depends_sdl2() {
    # Dependencies from the debian package control + additional dependencies for the pi (some are excluded like dpkg-dev as they are
    # already covered by the build-essential package retropie relies on.
    local depends=(devscripts debhelper dh-autoreconf libasound2-dev libudev-dev libibus-1.0-dev libdbus-1-dev fcitx-libs-dev)
    # these were removed by a PR for vero4k support (cannot test). Needed though at least for for RPI and X11
    ! isPlatform "vero4k" && depends+=(libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev libgl1-mesa-dev)
    isPlatform "rpi" && depends+=(libraspberrypi-dev)
    isPlatform "mali" && depends+=(mali-fbdev)
    isPlatform "kms" && depends+=(libdrm-dev libgbm-dev)
    isPlatform "x11" && depends+=(libpulse-dev libegl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev)
    isPlatform "vero4k" && depends+=(vero3-userland-dev-osmc)
    getDepends "${depends[@]}"
}

Here, the libgl1-mesa-dev dependency is only added if the platform is not "vero4k".
Apparently, this is not the case.
@mseidl maybe your code needs other platform flags?

@mseidl
Copy link
Author

mseidl commented Jun 3, 2019

Yeah. I have the same issue too. The n2 has a mali gpu , so I'm guessing it needs the package?

@t-buss
Copy link

t-buss commented Jun 3, 2019

I think I found another clue: After some manual digging, it stumbled upon this:

$  sudo apt install mali-fbdev libgl1-mesa-dev
....
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mali-fbdev : Conflicts: libegl1
              Conflicts: libgles1
              Conflicts: libgles2
E: Unable to correct problems, you have held broken packages.

Apparently, these two packages cannot be installed at the same time.

@mseidl
Copy link
Author

mseidl commented Jun 4, 2019

Yeah, I mentioned this in my 2nd comment...

@t-buss
Copy link

t-buss commented Jun 6, 2019

@mseidl Whoops, must have missed that 😅
Anyway, I have a feeling we're unable to find the correct course of action because we're not sure how the dependecies between the packages behave.
@joolswills do you have an idea on how to proceed?

@joolswills
Copy link
Member

I don't have time to look into this until after RetroPie 4.5 (And I don't currently have a board, so will only be able to do work in an emulated chroot without video).

@mseidl
Copy link
Author

mseidl commented Jun 9, 2019

I don't have time to look into this until after RetroPie 4.5 (And I don't currently have a board, so will only be able to do work in an emulated chroot without video).

I have a device so if you need help debugging let me know.

@Furluge
Copy link

Furluge commented Jun 27, 2019

I really hope this gets working soon or maybe there'll be an image for it. It's still got better specs than the Pi4 and it's not much more. The prospect of being able to run N64 and Dreamcast games well is very exciting at this price point.

@slappymcphee
Copy link

we have a pretty solid build over at The Retro Arena, but of course it isn't RetroPie anymore and we have a dev team that has a dozen N2 kits among us.

@mseidl
Copy link
Author

mseidl commented Aug 14, 2019

Is retroarena a fork of retropie?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants