Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Redroid on Unraid

Featured Replies

I have the same issue and actually posted the same one.

 

I guess adding binderfs driver to tools > system driver menu or making a plugin to load additional module will solve the problem... but I do not know how to do so in slackware/unraid environment.

  • 3 months later...

I have successfully run Redroid in Unraid.

You should compile the unraid linux kernel with the brinder ,dma-buf and psi features available.

  • 2 months later...
On 4/9/2024 at 11:00 PM, magicwolf said:

I have successfully run Redroid in Unraid.

You should compile the unraid linux kernel with the brinder ,dma-buf and psi features available.

can u share the kernel?

  • 4 months later...

@ich777
Sorry for tagging out of the blue, but I could really use your expertise on this.

I and seemingly a few others are trying to get an Android Docker container running on Unraid, but it looks like we’re missing some key kernel modules for it to work.
The dev listed these as mandatory kernel features:
 

binderfs

ashmem / memfd

IPv6

ION / DMA-BUF Heaps

4KB page size


If I'm not mistaken, memfd, ipv6, and 4KB page size are already present, but the rest are missing. binderfs and DMA-BUF Heaps being the main pieces, but I believe ION and ashmem are beneficial for it as well.

What would be the best way to go about enabling these?

22 hours ago, fizzyfrys said:

binderfs

ashmem / memfd

IPv6

ION / DMA-BUF Heaps

4KB page size

On Unraid there are all missing of them except for IPv6 so to speak:

CONFIG_ANDROID_BINDER_IPC
CONFIG_ANDROID_BINDERFS
CONFIG_ASHMEM
CONFIG_ION_OF
CONFIG_DMABUF_HEAPS

 

If you noticed I didn't mentioned 4K page size (CONFIG_PAGE_SIZE_4KB) above because that could have negative impacts on the Kernel compilation and other unwanted side effects which may affect Unraid itself since you are basically changing the page size.

Is this a strict requirement?

 

However I'm also not sure if the modules I've listed above are the correct ones because I really have no clue about this container, I would maybe try to contact the developer from this container if these are the correct modules and if 4K page size is a strict requirement.

 

 

BTW, sorry that it took so long but I somehow missed this notification completely...

56 minutes ago, ich777 said:

If you noticed I didn't mentioned 4K page size (CONFIG_PAGE_SIZE_4KB) above because that could have negative impacts on the Kernel compilation and other unwanted side effects which may affect Unraid itself since you are basically changing the page size.

Is this a strict requirement?

I believe unraid already uses 4KB page size. If I'm not mistaken, nothing needs to change there.

 

As for the rest,

I dug through a bunch of issues pages and folders on the repo, I believe these are the modules:

 

Quote

CONFIG_STAGING=y

CONFIG_ASHMEM=y

 

CONFIG_DMABUF_HEAPS=y

CONFIG_DMABUF_HEAPS_SYSTEM=y

 

CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"

 

Also discovered ION isn't necessary, apparently it's recommended for legacy kernels, when DMABUF_HEAPS isn't available or something.

There's another module that seems to be mentioned that lets the system better track resource usage when using android, but I dont think it's required to function, more a good to have:

 

CONFIG_PSI=y

 

 

1 hour ago, ich777 said:

BTW, sorry that it took so long but I somehow missed this notification completely...

No worries, thanks for responding!

24 minutes ago, fizzyfrys said:

I believe unraid already uses 4KB page size. If I'm not mistaken, nothing needs to change there.

I don't see that it uses 4KB page size specifically (it's not set in the Kernel) however on my system it reports 4K yes.

 

24 minutes ago, fizzyfrys said:

CONFIG_ANDROID

I don't think that this option is needed anymore since it was removed in 2022 AFAIK.

 

24 minutes ago, fizzyfrys said:

There's another module that seems to be mentioned that lets the system better track resource usage when using android, but I dont think it's required to function, more a good to have

Sorry but I would really like that someone creates an issue for that in the repository from the maintainer for this container and asks for the specific Kernel modules since in my opinion just because it's nice to have is no reason to include it.

After that we could ask LT to include those modules and see if nothing breaks.

 

Hope you understand my point on that. :)

  • 1 month later...

It would be great if this could be achieved. I have to use a physical Android device to run some apps now.

  • 3 months later...

You can now install ashmem on Unraid (Unraid 7.1.0-rc.1+) with this plugin:

https://raw.githubusercontent.com/ich777/unraid-ashmem-driver/refs/heads/master/ashmem-driver.plg

 

Please use with caution. The binder module is already included in the base distribution (built in).

11 hours ago, ich777 said:

You can now install ashmem on Unraid (Unraid 7.1.0-rc.1+) with this plugin:

https://raw.githubusercontent.com/ich777/unraid-ashmem-driver/refs/heads/master/ashmem-driver.plg

 

Please use with caution. The binder module is already included in the base distribution (built in).

Thanks for the plugin, I installed it succesfully, but I still don't have binder : 

root@turboserver03:~# lsmod | grep ashmem
ashmem_linux           16384  0
root@turboserver03:~# lsmod | grep binder
root@turboserver03:~# modprobe binder_linux
modprobe: FATAL: Module binder_linux not found in directory /lib/modules/6.12.23-Unraid

 

Redroid is still not starting :/

2 minutes ago, samsepi0l said:

Thanks for the plugin, I installed it succesfully, but I still don't have binder : 

I'll look into that more in detail in a bit, please give me a few days.

12 minutes ago, ich777 said:

I'll look into that more in detail in a bit, please give me a few days.

Sure no problem ! Thanks !

On 4/14/2025 at 11:09 AM, samsepi0l said:

Sure no problem ! Thanks !

You have to wait for the next Unraid release since there is a module missing.

 

BTW:

On 4/14/2025 at 10:54 AM, samsepi0l said:

root@turboserver03:~# modprobe binder_linux

This works now a bit different since this is a built in module.

 

However from what I read here, it should be enough to install the ashmem Driver plugin and start the container, all modprobes will be done at this point, granted that you have to wait for Unraid 7.1.0-rc.2

On 4/14/2025 at 11:09 AM, samsepi0l said:

Sure no problem ! Thanks !

Just to keep you updated, I just tested redroid on a internal test version and it is working as intended, so to speak with Unraid 7.1.0-rc.2 everything should work.

 

However I have to say the image with tag "redroid/redroid:15.0.0_64only-latest" didn't work (stopped immediately after starting it), however the image with the tag "redroid/redroid:12.0.0_64only-latest" (from the example) was working as intended. I didn't investigate further because time is short and I'm not too familiar with that container.

 

You just have to make sure the ashmem plugin is installed and that's it, no need to modprobe anything.

3 hours ago, ich777 said:

Just to keep you updated, I just tested redroid on a internal test version and it is working as intended, so to speak with Unraid 7.1.0-rc.2 everything should work.

 

However I have to say the image with tag "redroid/redroid:15.0.0_64only-latest" didn't work (stopped immediately after starting it), however the image with the tag "redroid/redroid:12.0.0_64only-latest" (from the example) was working as intended. I didn't investigate further because time is short and I'm not too familiar with that container.

 

You just have to make sure the ashmem plugin is installed and that's it, no need to modprobe anything.

Very nice ! I'm waiting 7.1.0-rc2 then. Thank you !

On 4/22/2025 at 4:30 PM, ich777 said:

Just to keep you updated, I just tested redroid on a internal test version and it is working as intended, so to speak with Unraid 7.1.0-rc.2 everything should work.

 

However I have to say the image with tag "redroid/redroid:15.0.0_64only-latest" didn't work (stopped immediately after starting it), however the image with the tag "redroid/redroid:12.0.0_64only-latest" (from the example) was working as intended. I didn't investigate further because time is short and I'm not too familiar with that container.

 

You just have to make sure the ashmem plugin is installed and that's it, no need to modprobe anything.

After installing the ashmem plugin with 7.1.0-rc3, Redroid 12 can start, but the startup is very slow, and the performance is extremely poor, making it almost impossible to open applications.
In Redroid, running logcat shows a large number of Connection failed messages.

Later, I also tried adding the binder plugin, but it didn't improve anything.

https://raw.githubusercontent.com/ich777/unraid-binder-driver/refs/heads/master/binder-driver.plg



It might still require binder_linux and psi.
Binder requires modprobe binder_linux devices="binder,hwbinder,vndbinder".
Psi requires CONFIG_PSI=y.

The reason for considering PSI is because of this issue.
https://github.com/remote-android/redroid-doc/issues/293#issuecomment-1379781029
https://github.com/remote-android/redroid-doc/issues/412#issuecomment-1672433652
 

Tested using Docker CLI commands.

docker run -itd --rm --privileged --pull always -v ~/data:/data -p 5555:5555 redroid/redroid:12.0.0_64only-latest


Below is a part of the logcat "Connection failed" segment:
 

04-27 07:05:46.356 7364 7396 E ActivityManager: Connection failed: java.io.IOException: No such file or directory
04-27 07:05:46.356 7364 7396 W ActivityManager: Failed to connect to lowmemorykiller, retry later
04-27 07:05:46.356 7364 7396 I ActivityManager: Failed to connect to lmkd, retry after 1000 ms
04-27 07:05:46.356 7364 7396 E ActivityManager: Connection failed: java.io.IOException: No such file or directory
04-27 07:05:46.356 7364 7396 W ActivityManager: Failed to connect to lowmemorykiller, retry later
04-27 07:05:46.356 7364 7396 I ActivityManager: Failed to connect to lmkd, retry after 1000 ms
04-27 07:05:46.356 7364 7396 E ActivityManager: Connection failed: java.io.IOException: No such file or directory
04-27 07:05:46.356 7364 7396 W ActivityManager: Failed to connect to lowmemorykiller, retry later
04-27 07:05:46.356 7364 7396 I ActivityManager: Failed to connect to lmkd, retry after 1000 ms
04-27 07:05:46.356 7364 7396 E ActivityManager: Connection failed: java.io.IOException: No such file or directory
04-27 07:05:46.356 7364 7396 W ActivityManager: Failed to connect to lowmemorykiller, retry later
04-27 07:05:46.356 7364 7396 I ActivityManager: Failed to connect to lmkd, retry after 1000 ms
04-27 07:05:46.356 7364 7396 E ActivityManager: Connection failed: java.io.IOException: No such file or directory
04-27 07:05:46.356 7364 7396 W ActivityManager: Failed to connect to lowmemorykiller, retry later
04-27 07:05:46.356 7364 7396 I ActivityManager: Failed to connect to lmkd, retry after 1000 ms

 

Edited by EliceAM

1 hour ago, EliceAM said:

Later, I also tried adding the binder plugin, but it didn't improve anything.

Please uninstall this, this was never intended to be published and I've now deleted the repository.

 

1 hour ago, EliceAM said:

Binder requires modprobe binder_linux devices="binder,hwbinder,vndbinder".

I'm not following here, binder is now integrated into the Kernel (since 7.1.0-rc.2) an you don't have to modprobe it any more since you can just create a mount point with something like:

mount -t binder binder /mnt/binderfs

granted that in the above example /mnt/binderfs exists.

 

1 hour ago, EliceAM said:

Psi requires CONFIG_PSI=y.

This config is not in 7.1.0-rc.2 I have to look into if it pulls in more dependencies.

 

1 hour ago, EliceAM said:

Below is a part of the logcat "Connection failed" segment:

Sorry but you should ask that in the GitHub or help thread from the container since this thread is just for missing modules.

@EliceAM PSI is now included in Unraid 7.1.0-rc.4

 

Please note that you have to activate it manually by adding psi=1 to your syslinux.config like:

grafik.thumb.png.90e8c7a5a9ca8ac8820a224da100fc57.png

 

and reboot, afterwards you can check if it's activated with:

grafik.png.3ffd30d1ab584f91441d71f567617a77.png

19 hours ago, ich777 said:

@EliceAM PSI 现已包含在 Unraid 7.1.0-rc.4 中

 

请注意,您必须通过将 psi=1 添加到您的 syslinux.config 来手动激活它,例如:

图像.thumb.png.90e8c7a5a9ca8ac8820a224da100fc57.png

 

然后重新启动,之后你可以检查它是否已激活:

图.png.3ffd30d1ab584f91441d71f567617a77.png

After adding psi=1 to the boot parameters in the RC4 version, Redroid is now basically running normally. Although there are still some binder errors during startup, they do not appear to affect app functionality. Therefore, Redroid can be considered to be working correctly.

Additionally, after enabling PSI, the 'Connection failed' message no longer appears in logcat.

Edited by EliceAM

14 hours ago, EliceAM said:

After adding psi=1 to the boot parameters in the RC4 version, Redroid is now basically running normally. Although there are still some binder errors during startup, they do not appear to affect app functionality. Therefore, Redroid can be considered to be working correctly.

Additionally, after enabling PSI, the 'Connection failed' message no longer appears in logcat.

Can you try this docker image ? https://hub.docker.com/r/kasmweb/redroid/ you do not need Kasm you can use this command :
sudo docker run --rm -it --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/redroid:1.16.0

 

For me I have an error about binder not loaded.

  • 9 months later...
On 2025/5/2 at PM6点15分, ich777 said:

@EliceAM PSI现已包含在Unraid 7.1.0-rc.4中。

 

请注意,您需要手动激活此功能,方法是在 syslinux.config 文件中添加 psi=1,例如:

grafik.thumb.png.90e8c7a5a9ca8ac8820a224da100fc57.png

 

重启后,您可以使用以下命令检查是否已激活:

图.png.3ffd30d1ab584f91441d71f567617a77.png

I apologize for any language barriers; this was written with the help of a translator.

Apologies for replying to an old thread, but I have recently encountered some issues while running Redroid on UNRAID.

Currently, UNRAID defaults to cgroup v2, which causes Redroid to be unstable and crash frequently. Checking the logs reveals the following errors, which seem to indicate missing cgroup v1 modules:

kernel: cgroup: Unknown subsys name 'memory'
kernel: cgroup: Unknown subsys name 'schedtune'

This suggests that Redroid is still attempting to call cgroup v1 subsystems. I tried using the unraidcgroup1 to switch back to the cgroup v1 environment, but after rebooting, I found that the relevant modules are still missing, and there has been no improvement in container stability.

I would like to ask:

Is there any way to enable cgroup v1 modules like 'memory' and 'schedtune' under UNRAID's cgroup v2?

Or, if running in UNRAID's cgroup v1 mode, is there a way to resolve the absence of these modules?

  • 1 month later...
  • 3 months later...

Hardware Information:

  • Unraid version: 7.3.1

  • Kernel version: 6.18.33-Unraid

  • CPU: Intel with UHD Graphics 630 (integrated GPU)

  • Architecture: x86_64 (AMD64)

Problem Description:

I'm trying to run Redroid (Android container) on Unraid, but I'm encountering persistent binder driver issues. My goal is to use an Android container with Root access for software testing. Here's what I've observed:

  1. Official Redroid image works but without Root:

    • redroid/redroid:11.0.0-latest starts successfully

    • ADB connects and container runs normally; Android apps can be installed and run

    • But Root access is not available (Magisk cannot be installed)

    • Binder-related errors appear in logs: Binder driver '/dev/binder' could not be opened. Terminating.

  2. Community images with pre-installed Magisk fail to start:

    • Images like abing7k/redroid:a11_magisk_ndk_amd crash immediately after startup

    • Logs show the same binder error: ProcessState: Binder driver '/dev/binder' could not be opened. Terminating.

  3. Custom images built with redroid-script also fail to start:

    • I used redroid-script to add Magisk to the official image, but the resulting image also fails to start

    • The error is identical to the community images above

  4. Host binder driver test fails:

    bash

    root@Tower:~# cat /proc/devices | grep binder
    241 binder
    root@Tower:~# timeout 1 cat /dev/binder >/dev/null 2>&1 && echo "OK" || echo "FAIL"
    FAIL
    • /proc/devices shows binder registered with major number 241

    • But /dev/binder cannot be read (returns "No such device" error)

  5. Binderfs mount appears to work:

    bash

    root@Tower:~# mount -t binder binder /mnt/binderfs
    root@Tower:~# ls /mnt/binderfs
    binder  binder-control  features/  hwbinder  vndbinder
    • Binderfs mounts successfully, but even when mounted to the container and symlinked to /dev/binder, the container still cannot access binder devices

What I've Tried:

  • Creating character device nodes with mknod /dev/binder c 241 1 (and hwbinder/vndbinder)

  • Using --device to map /dev/binder into the container

  • Mounting binderfs to the container (-v /mnt/binderfs:/binderfs) and creating symlinks to /dev/binder

  • Setting androidboot.selinux=permissive

  • Using the --privileged flag

  • Switching between ARM translation layers (libndk_translation.so and libhoudini.so)

  • Using redroid-script to build custom images (also failed)

Current Status:

  • Official Redroid image works (without Magisk), Android apps run normally

  • Any attempt to get Root access (community images, redroid-script builds) fails due to binder driver issues

  • I need Root access for software testing purposes

My Questions:

  1. Why does binder driver register with major number 241 but fail to create working device nodes?

  2. Does Unraid 7.3.1 fully support binder? Am I missing some configuration?

  3. How can I properly configure binder support on Unraid to run Redroid with Root access?

Thank you for your help!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.