Development / Q&A | OrangePi Neo-01

With FOSDEM 2024 we were able to showcase some of our prototypes of OrangePi Neo. We as a company worked since May 2023 together with OrangePi on that project. In this post we update you on the development status and which features we already managed to get working.

Introducing the Future of Gaming!

Experience the ultimate gaming hardware on Linux-based handheld devices with the OrangePi Neo powered by the Manjaro operating system. Equipped with a Dual Intelligent Touchpad, immerse yourself in seamless gaming with precise touch points and intuitive swipe gestures. Enhance your gaming precision and immersion with native mouse simulation and gyroscope support.

Personalize your gaming experience with customizable key mapping for keyboard, mouse, and system functions. The OrangePi Neo isn’t just a portable handheld console; it’s also a slim Desktop personal computer. Seamlessly switch between the Manjaro Plasma Desktop and Gamescope mode for optimal gaming performance.

Redefine gaming innovation in the palm of your hand. With open-source software, the possibilities for updates and customization are endless, ensuring you get the most out of your hardware.

How does Manjaro work on the OrangePi Neo?

Well, it will be the first ALPM-free version of Manjaro with focus on flatpaks to add additional software. As desktop environment we have chosen Plasma 5 but might adopt Plasma 6 when released. Having an immutable OS is needed for this product. Also user don’t have to track dependencies and other issues you may have with a rolling release model. You can simply update your system via the SteamUI and install additional packages via Discover from the desktop mode. We will provide several update channels for you to choose from. This way you can even help us to find bugs before the stable channel gets the updates. Also SteamUI gets monthly updates similar as on the Steamdeck.

What extra packages are used?

We use a special patched version of gamescope, handygccs, OpenGamepadUI, and hhd to support the integrated gyroscope. With some additional scripts and tools we create the Gaming Edition of Manjaro, which launches into the Steam OOBE mode for first run wizard. This way it is easy for the user to setup the device.

What functions work already on the prototype?

Since the OrangePi Neo-01 is a Linux first device, we made clear to only add Linux supported hardware to the device. For the gyroscope the BOSCH 260 was chosen. Initial support is already given via hhd. So we have full control over the controllers, via handycon or hhd, which adds additional features like gyro and RGB control (still work in progress). Via gamescope swipe gestures got implemented, which open QAM and the Steam Menu, even in-game. Power button and Audio control work out of the box.

What functions we still work on?

  • RGB control still needs to be added to hhd or a dedicated application
  • TDP control might work via OpenGamepadUI overlay mode
  • controller support still needs to be added to OpenGamepadUI
  • fan curves and battery control needs to be optimized
  • Audio Equalizer might still need some work to improve audio quality
  • Standby and Sleep needs some work in software and firmware to properly work

When I tested the prototype, I noticed the controllers. Were those the final ones?

The controllers used on the prototype we showcased at Fosdem 2024 were design previews and not the final ones. The final product will ship with an all in one Multi-Function Gaming Controller with Hall Sensing Joysticks, RGB Lighting and Linear Hall Triggers. This way you can expect one of the best gaming experience the market currently offers.

When can I expect the final product?

Currently the aim is to release the final product in Q2 2024. We keep you all updated via social media channels and this thread.

Can I change the SSD myself?

Yes, since we support regular M2 2280 NMVe disk from 512 GB up to 2 TB changing those will be easy.

What price I can expect?

Base Model 7840u 16GB/512GB will be 499$ or 4099 CNY
Base Model 8840u 16GB/512GB will be 599$ or 4499 CNY

Which markets you expect to sell?

The aim is for Western market and also China


Development Log - KW7

All about RGB! RGB control is currently done via firmware. So you can control RGB like this:

  1. Switch light effect: In the default state, it is constant bright mode, press [Game-Shortcut (Button 6) + DPad direction key] to switch the light mode, and the mode switching order is constant bright-breathing-flashing-rainbow breathing-gradient-rainbow loop;

  2. Turn on and off the light: press [Game-Shortcut (Button 6) + DPad direction key] to turn off/turn on the light. Every time you turn it off, you will continue to use the mode before turning off the light;

  3. Hengliang mode:. In constant bright mode, the left and right rocker lights are always on. Press [Game-Shortcut (Button 6) + DPad direction key left] to switch the left rocker light, and press [Game-Shortcut (Button 6) + DPad direction key right] to switch the right rocker light. The default state is blue on both sides, and the switching order is: blue-orange-red-pink-yellow-green-green;

  4. Breathing mode: In Hengliang mode, press [Game-Shortcut (Button 6) + DPad direction key] to enter the breathing mode. The default is a seven-color cycle effect. Press [Game-Shortcut (Button 6) + DPad direction key left/right] to switch the color. The switching order is: cycle-blue-orange-red-pink-yellow-green-green;

  5. Flashing mode: Press [Game-Shortcut (Button 6) + DPad direction key] in breathing mode to enter flashing mode. The light turns on together and then gradually turns off. The frequency is controlled within 1S. The color continues the color of the breathing mode. Press [Game-Shortcut (Button 6) + DPad direction key left/right] to switch the color. The switching order is: cycle-blue-orange-red- Pink-yellow-green-green;

  6. Rainbow breathing mode: Press [Game-Shortcut (Button 6) + DPad direction key] in flashing mode to enter the rainbow breathing mode. The color is fixed to blue + green + yellow + red, the left and right rocker lights are the same color, breathing effect;

  7. Gradient mode: Press [Game-Shortcut (Button 6) + DPad direction key] in the rainbow breathing mode to enter the gradient mode. The color of the left and right rocker lamps is synchronized, and the cycle changes from blue according to the spectral color;

  8. Rainbow loop mode: Press [Game-Shortcut (Button 6) + DPad direction key] in the gradient mode to enter the rainbow mode. The left and right joysticks are the same color, and each of the eight lights present different colors, forming an aperture discoloration flow effect. After a circle of flow, the light is briefly extinguished, and then the repeated flow effect is lit again;

We will look into on how we may expose direct RGB access so applications like hhd and OpenRGB to control it directly.

Also we managed to get Gyro working via hhd and Dual Sense emulation.

Development Log - KW8 - KW9

The last two weeks we had two focus areas for the OrangePi Neo:

  • getting an easy way to change controller emulation and access TDP control
  • enhance the OS update system to make it more robust.

O boy, we achieved that both!

Getting things immutable

When browsing twitter I came across this post from Its FOSS mid KW8. After reading the article I browsed the project to know more. This was exactly the tech which might make the Neo fly. Having the latest tech like: systemd-boot, dracut, BTRFS subvolumes and a nice OS update system - it simply ticked all my check boxes. Hence I reached out to Dennis to talk about technology and what if this approach could be used in a consumer product in near future. We clicked and worked more than 8 days to improve things. My work can be followed partly here. I managed to make it on-pair with the solution I used before for the Neo. Now we will polish the experience as we go along.

The result will be a new way to distribute and build Manjaro on devices like a Linux Gaming Handheld. We also will spin regular immutable Manjaro Editions. Expect some profiles soon.

Make controls easy adjustable

Next on my to-do list was to make switching between controller emulation very easy. Together with Antheas we shacked things up and used transparency, gamescope overlay and touch control to provide an easy way to have access to controls and TDP.

With a double-tap on Game-Shortcut (Button 6) hhd will launch in the overlay mode. There we can control the quick settings of TDP and the Controller. When we expand the view we have more option to all plugins of hhd.

With adjustor and hhd-ui we have now easy control to adjust speed and functions of the device. By selecting Dual Sense (Edge) we have now full control over the built-in Gyroscope. Games like Portal can make use of it already as shown earlier on Twitter.

Development Log - KW10 - KW12

Antheas improved his work on HHD, HHD-UI and Adjustor to add more features and more gaming handhelds to his solutions. One of the highlight was adding controller support, next to the already working touch support navigating the UI. Dennis worked on ARKDEP to improve things based on my findings. I optimized my profiles accordingly.

Since the OrangePi Neo had an issue with sleep and instantly woke up, I contacted Mario from AMD. He pointed me to the amd_s2idle, which gives you a good starting point to figure out why a device doesn’t suspend or sleep. So I suspected modern standby issue with the device. However Phoenix mobile doesn’t support s0i2, or S3. S0i3 is what it should be set to. So the default set by the firmware was correct. I was able to narrow it down to i2c-hid connected devices. When I unloaded
i2c-hid-acpi the device was able to sleep. As a workaround I added echo 'disabled' > /sys/bus/i2c/devices/i2c-FTCS1000:00/power/wakeup to ignore wakeup calls from the touchscreen panel.

Furkan started to look into Fan Curves. So the firmware team added values to adjust that in user space software. To get fan control going via userspace I added needed support for newer AMD SOCs to ryzen_smu. Derek added the needed things to the kernel, so we were able to adjust them as needed via hhfc.

image

We also moved over to Plasma 6 as desktop environment, which added nice improvements to the device.

The UEFI firmware gained also a nice OrangePi boot splash.

One of the bigger aspects was to improve controller support. Since the early prototypes ran Android Controller Firmware, we had to translate that to Xinput standard via handycon or hhd. So our aim was to get direct Xinput support done. This also improves the sensitivity from 8bit to 16bit. We also found a regression in Kernel 6.8 series regarding Synaptics touchpads. A workaround was to revert to 6.7 series until upstream fixes it. Also an issue with vibration motors stopping after 10 mins game play got fixed.

End of KW12 we did the price reveal in Shenzhen.

Development Log - KW13 and KW14

Since I was for couple of days in Shenzhen I could work closer with the OrangePi team together. One of the things we did was to recycle my Prototype I got for Fosdem 2024 presentation. We changed the Chassis, Controller parts and fixed some issues we found in PCBA and extension board. We also fixed firmware related to USB-C to be able to add an eGPU to the device. Since the touchscreen panel also has a feature to report Stylus battery status Plasma 6 reported it as a false battery. That issue got fixed in firmware after testing a temporary kernel patch to ignore that information. We also dedicated some time to test TDP and how that may affect tempratures of the device. With another MCU firmware update 2D vibration got added.

The OrangePi Neo will be the first Linux Gaming Handheld using InputPlumber to control gamepad and extra buttons plus touchpads. Basic support got added. Next steps are to support Gyro and Touchpads in one virtual device. The issue with the trackpads got fixed upstream meanwhile.

image

Plus we managed to get 120Hz working in Gamescope.

9 Likes

How many grams does Orange Pi Neo weigh?

Will this Version of manjaro be locked down to this device or will we be able to Install this on Things Like the Steam Deck or even an HTPC?

1 Like

If this thing can actually come to market at “the lower end of Steamdeck pricing” I’ll be very impressed, but I’m very sceptical.

1 Like

This made my day :white_heart:

Small update on RGB control: For now the current implementation is via button combinations. We will provide a full video of it soon: https://twitter.com/fkardame/status/1758404407509565814

Default image will need flatpak packages, but users can install any OS on it.

Hi, will the battery be user-removable and/or externally charge-able? This will be required by EU from 2027 and also, I think, could make a serious advantage over competetive products. Not to mention prolonging the usability of the system (thus reducing it environmental impact by reducing e-waste), since these days the Li-ion battery is the first thing to noticeably degrade in mobile systems.

We designed the device to be easy repairable. No screws means no screws. The battery is replaceable as more or less most of the other components around the controller and so. I will discuss with OrangePi regarding replacement parts and how to get them out there.

1 Like

No screws isn’t a good thing for repairability. No screws is probably a deal breaker for a lot of the target audience, me included.

Of course the device has screws. Those however are inside of the device, not on the chassis. Since the device is designed highly modular, a lot of parts can be repaired.

But would I be able to Install the gaming edition of manjaro onto a HTPC or Steam Deck for example?

Mutable version only.

What’s the sRGB coverage of the display? It’s not listed and will probably be the deciding factor in whether I get it or the steam deck. I don’t need/want OLED but I still want decent color support.

Also will VRR/freesync be supported?

Will the 7840u model have an option for 32GB of ram?

Will the touchpads have the capacity for rebindable controls like the Steam Deck, where I can remap the four corners into a D-pad mapped to different keyboard controller buttons? Either in OpenGamepadUI or Steam Input/Big Picture?

Yes

No. The device has two laptop like touchpads you may find on devices from Dell, Lenovo, MSI or any other laptop manufacturer. It won’t have haptic, nor rumble and no extra mappings like the Steamdeck has. However we will see what we can do with them and how we combine them into the input controls.

Hello, can I find out why the sticks have the same arrangement as the Xbox controller? Why not make them opposite each other like a steam deck? Or is it all because of the Valve patent?

  1. When Orange Pi Neo will be available for purchase or pre-order?
  2. You say that user can replace m.2 ssd but i can’t understand that process in that case. Can you explain?

Is there an estimate of when the immutable version of Manjaro OS will be available for desktop computer?