Jump to content

Running Xserver on NanoPi NEO Plus2


Recommended Posts

Hi I have the following question which I have asked both to someone from Armworks and also #friendlyelec on free node. I haven't got the solution but it has lead me towards the answer. So my problem is in not being able to get xserver running that it indicates the driver "sun8i-de2" can not be found. As far as I can find not having the driver is the entire problem, however I can't find where I can get it. Below I have posted my full problem below:


I have been having problems getting things to display on the LCD display using Xserver. I have been successful displaying images using fbi though. The board the we have it the NanoPi-Neo Plus2. 


Currently we are attempting to get Xserver to on the nanoPi, we would like to use it so we can display a page we have created. We are trying to use chromium to display it. 


The problem occurs when trying to start Xserver, it indicates that it can not open the driver. I have searched the path it is looking for and it is not there. Though I did find drivers in another path, however the one it is looking for is not there and I can not find it online.


The Method I used to setup everything is as follows:


1. run command "sudo apt-get install xserver-xorg xinit x11-server-utils unclutter chromium-browser" (Note: x11-server-utils didn't get the package so I just left that out for now)

2. add a file called /etc/X11/Xwrapper.config which contains "allowed_users=anybody" (this should allow any user to start xserver)

3. Add a .xinitrc file to my home folder that contains the following, which causes chromium to start on xserver

unclutter &

chromium-browser --window-size=1920,1080 --kiosk --incognito http://localhost:3000


Now to run it, I go to my home folder and use the command "startx", this produces the following outputs, which can be seen it gives mainly just errors relating to the "sun81-de2" driver failing to load.




What I am hoping for is either a solution for this problem, do you know of any?

The other thing that would help is a known method for getting xserver to run chromium on the nanoPi, even if it means installing a different set of packages.

Thanks for your help in getting this to work! Let me know if there are any additional details you need in order to properly help.

Link to comment
Share on other sites

I have plans to test similar setup as yours when i receive the board, i will need to have access to UART1 and/or UART2 (pins are in use for the display i think).

Did you have to change DTS for this LCD? Did you get touch working?

Would you mind sharing a picture/photo of how it looks like when attached  (TOP, BOTTOM and from some angle)?

Link to comment
Share on other sites



So currently I haven't tried using the touch yet, mainly because I don't yet have the display showing what I want through xserver (hence the question). Even though I guess I could test it with their Qt5 stuff. As for getting the LCD working there was know DTS(Device Tree) changing required, everything just hooking up everything directly across as in the 2 documents http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Plus2 and http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_2'8_SPI_Key_TFT (The one I am using is the 1512, and not the 1706) . As indicated on the matrix the position of the UART1 pins(8 nd 10) are NC, so they are free to use. I am actually using these ones for something currently so if you need help with them let me know. I am using the nodeJS library called "serialport" with them to send data. As for UART 2 pins I am unsure whether they can be used, as it does indicate in the matrix that where the UART2 RX (pin 22) should be plugged in is to where the LCD DC (Data Command) is. In my experience this is necessary for the operation of the LCD, as it sends all of the initialization data to all the registers through here. Though Im not sure if it is just once during first startup or if it is every time something new is output on the screen. 


Below are the pictures, but the pages for the 2 should be enough as you are just connecting directly across. Let me know if you need anymore help with this. I assume you don't know about my xServer question?

Also the reason I am using xServer over Qt5 or PyQT5 is because it costs a lot to get those programs to use for commercial use. Also using xserver even though it is a lot heavier than Qt5 it makes it easy to make a page as you can just make a webpage for it to serve. i just made a React page with an Express backend :)  I had the complete process I explained working on the PiZeroW so i know it should work on debian/ubuntu systems, but I think I just need that driver.




Link to comment
Share on other sites

Just letting whoever looks at this know that the solution to my problem has been found. Sometime in the future I will post it here, just don't have time now. If you don't see it here within the month and you are looking for the solution feel free to give me a poke.



Link to comment
Share on other sites

On 9/18/2017 at 9:53 PM, dbelvede said:

I assume you don't know about my xServer question?

Thank you for the pictures, i was expecting a 1706 version. And Yes, i still don't know how to solve this but i just got the board here (without the LCD) so guess i have some lessons to learn. Nice you got it solved and i will poke you in a month or two. :) 

Link to comment
Share on other sites

@dbelvede I would really appreciate if you could explain how you achieved this. I am also trying to make this display work with my NanoPi Neo Plus2.

I have tried some things but with no success. I don't know how to even start. I also did not understand what you meant with the Device Tree in your post above.


Thanks in advance.

Link to comment
Share on other sites


Today i played a bit with the 1706 version and managed to have full xorg-xserver just like in any ordinary pc.

The possible solution is to have:

# CONFIG_SUN8I_DE2_CCU is not set

and only one /dev/fb0 , this way you don't need to fire startx, just let lightdm start the session and xorg. With this way you don't need to calibrate the touch.

I have found GAMMA correction is wrong for xserver, image is too bright while is good for framebuffer, maybe you are using some other driver.




On 10/20/2017 at 1:00 PM, farfeduc said:

you meant with the Device Tree

You need to add the entries on the Device Source Tree for the kernel to load and probe the driver on kernel 4.x



Link to comment
Share on other sites

This topic is now closed to further replies.
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines