[Pine H64] Display issues and missing wi-fi interface

Hi!

After a couple of attempts I now have Manjaro ARM (KDE Plasma edition) running from the eMMC on the Pine H64 (model B) by building an image using the manjaro-arm-tools. Very awesome, thanks Manjaro ARM-team! :slight_smile:

At this point there is only one major issue preventing me from using the H64 properly and it is related to display output. I think that there is no hardware acceleration active for video display as there is major lag when doing anything really, even moving the mouse cursor for example. Video's are played back at less than 1fps. The H64's GPU, the Mali-T720, should easily be able to playback content even at 4K resolution in combination with the Panfrost drivers AFAIK. Also, the TV connected to the H64 is not properly recognized and as a result I cannot change any of the display settings (resolution, refresh rate, ...). On my (x64) Manjaro laptop the TV is properly recognized, so I think this is no kernel/driver issue.

So, my question: is there any way for me to research or test whether or not the display drivers are properly initialized, or further investigate the above issues in any manner?

Furthermore the wifi interface (Realtek RTL8723BS chipset) is not recognized. For me this is not a major problem as the H64 is connected through ethernet, but I thought I should mention it nonetheless.

Thanks for any response in advance! :slight_smile:

2 Likes

The drivers installed by default is the fbturbo drivers, which means it's running everything on the CPU.
You can try removing xf86-video-fbturbo-git which should make it fall "back" to the panfrost driver. Also remember to remove the QT_QUICK_BACKEND=software line from /etc/environment if it's there.
Video acceleration is not handled by panfrost, but by Cedrus on Sunxi platform.

The drivers for the wifi is installed, but the kernel DTS does seem to lack the wifi/bluetooth nodes for this. I would have to see if I can patch it in at some point.

2 Likes

Thanks for the fast reply @Strit!

Did as you suggested:

  • Remove xf86-video-fbturbo-git package
  • Comment out QT_QUICK_BACKEND=software line from /etc/enviroment.

Then I rebooted the H64. It did boot up, however, SDDM was unable to start. The Manjaro booting animation (black screen with white 'M' and circles spinning underneath) was being displayed in a loop.

Fortunately I was still able to SSH to the device and dump dmesg output to file. You can view it here (download button in the top right corner). Errors regarding SDDM are starting to show up around line 480.

If there is any more logs I can gather or things I can try please let me know. Again, thanks for the help!

Can you post the output of sudo journalctl -xe instead? :slight_smile:

Of couse, you can find it here :slight_smile:

edit: also, here's the Xorg logs with more or less the same error message;

AddScreen/ScreenInit failed for driver 0

and also

[  1065.375] (II) LoadModule: "fbdev"
[  1065.375] (WW) Warning, couldn't open module fbdev
[  1065.375] (EE) Failed to load module "fbdev" (module does not exist, 0)

I'm guessing it can't find any display drivers? Do I need to manually install the Cedrus drivers?

Cedrus is the VPU driver, not the GPU driver. the GPU driver is panfrost, and that should be enabled by default though. Don't know why it would be looking for fbdev, if the device is supported by Panfrost.

Ah okay, I wasn't aware that the VPU required an additional driver. And yeah, AFAIK the T720 midgard GPU is one of the Mali GPUs that should be supported by Panfrost. Do you have any pointers how I can check out if Panfrost is enabled/loaded? Or anything else I could research?

I'll try to investigate things a bit further tonight myself, see if the appropriate package (mali/drm etc) are installed and play around with that a bit.

Thanks for the help so far!

Install mesa-demos and run inxi -G. What does it say under OpenGL renderer and driver?

Video playback has nothing to do with Panfrost drivers. In ARM devices Video playback is handled by its VPU and VPU drivers are not there yet. Also every SOC Supplier (AW,RK, AML Etc) have their own controllers of vpu which needs individual driver to make use of VPU in linux environment.

With T720 you should be able to make use of Panfrost for DE and try Videoplayback wit opengl it should be able to play 720 smoothly with software support.

It will be easier for us to understand your current state of drivers if you can share the output of the following command

  • inxi -Fzxi
  • sudo dmesg | grep panfrost

Also install these gpu test packages to see if your device is actually making use of the gpu and what score you can get on T720 as I never had any device with T7xx series gpu.

  • sudo pacman -S glmark2 mesa-demos`

run glmark2 bench marking using glmark2 -s 1920x1080and share the output.

Yes but mostly the panfrost team are more focused on T8xx series.

1 Like

Done :slight_smile:

$ inxi -G
Graphics:  Device-1: sun50i-h6-mali driver: panfrost v: kernel 
           Device-2: sun50i-h6-dw-hdmi driver: sun8i_dw_hdmi v: N/A 
           Device-3: sun50i-h6-display-engine driver: sun4i_drm v: kernel 
           Display: server: X.org 1.20.8 driver: modesetting tty: 210x63 
           Message: Advanced graphics data unavailable in console. Try -G --display

Thanks for all the information and willing to help! :slight_smile:

I've ran the commands you suggested:

$ inxi -Fzxi
System:    Host: H64-mediaplayer Kernel: 5.6.15-1-MANJARO-ARM aarch64 bits: 64 compiler: gcc v: 9.3.0 Console: tty 0 
           Distro: Manjaro ARM 
Machine:   Type: ARM Device System: Pine H64 model B details: N/A serial: <filter> 
CPU:       Topology: Quad Core model: N/A variant: cortex-a53 bits: 64 type: MCP arch: ARMv8 rev: 4 
           features: Use -f option to see features bogomips: 0 
           Speed: N/A min/max: N/A Core speeds (MHz): No speed data found for 4 cores. 
Graphics:  Device-1: sun50i-h6-mali driver: panfrost v: kernel bus ID: N/A 
           Device-2: sun50i-h6-dw-hdmi driver: sun8i_dw_hdmi v: N/A bus ID: N/A 
           Device-3: sun50i-h6-display-engine driver: sun4i_drm v: kernel bus ID: N/A 
           Display: server: X.org 1.20.8 driver: modesetting tty: 210x63 
           Message: Advanced graphics data unavailable in console. Try -G --display 
Audio:     Device-1: sun50i-h6-dw-hdmi driver: sun8i_dw_hdmi bus ID: N/A 
           Device-2: Microdia Airmouse type: USB driver: hid-generic,snd-usb-audio,usbhid bus ID: 2-1:2 
           Device-3: AudioQuest AudioQuest DragonFly Black v1.5 type: USB driver: hid-generic,snd-usb-audio,usbhid 
           bus ID: 4-1:2 
           Sound Server: ALSA v: k5.6.15-1-MANJARO-ARM 
Network:   Device-1: sun50i-h6-emac driver: dwmac_sun8i v: kernel port: N/A bus ID: N/A 
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           IP v4: <filter> type: dynamic noprefixroute scope: global 
           IP v6: <filter> type: noprefixroute scope: link 
           WAN IP: <filter> 
Drives:    Local Storage: total: 58.24 GiB used: 6.14 GiB (10.5%) 
           ID-1: /dev/mmcblk1 model: DA4064 size: 58.24 GiB 
Partition: ID-1: / size: 57.03 GiB used: 6.09 GiB (10.7%) fs: ext4 dev: /dev/mmcblk1p2 
           ID-2: /boot size: 213.4 MiB used: 53.2 MiB (24.9%) fs: vfat dev: /dev/mmcblk1p1 
Sensors:   Message: No sensors data was found. Is sensors configured? 
Info:      Processes: 132 Uptime: 10m Memory: 2.85 GiB used: 224.2 MiB (7.7%) Init: systemd Compilers: gcc: 9.3.0 Shell: bash 
           v: 5.0.17 inxi: 3.0.37

and:

$ sudo dmesg | grep -i panfrost
[    8.114165] panfrost 1800000.gpu: clock rate = 432000000
[    8.114193] panfrost 1800000.gpu: bus_clock rate = 100000000
[    8.114374] panfrost 1800000.gpu: mali-t720 id 0x720 major 0x1 minor 0x1 status 0x0
[    8.114382] panfrost 1800000.gpu: features: 00000000,10309e40, issues: 00000000,21054400
[    8.114391] panfrost 1800000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002821 AS:0xf JS:0x7
[    8.114396] panfrost 1800000.gpu: shader_present=0x3 l2_present=0x1
[    8.155338] [drm] Initialized panfrost 1.1.0 20180908 for 1800000.gpu on minor 0

And lastly:

$ glmark2 -s 1920x1080
Error: main: Could not initialize canvas

I guess this is because Xorg refuses to start, see also the logs I linked above.

I'll try to get Xorg up and running again and then rerun the commands :slight_smile:

Ok so xorg failed to start after removing the fbturbo driver right? You might have to use 01-panfrost.conf` file.

Create a file named 01-panfrost.conf in /etc/X11/xorg.conf.d/

Section "Monitor"
	Identifier		"Monitor0"
	Option			"DPMS" "false"
EndSection

Section "ServerFlags"
	Option			"BlankTime" "0"
	Option			"StandbyTime" "0"
	Option			"SuspendTime" "0"
	Option			"OffTime" "0"
EndSection

Section "Device"
    Identifier  "Default Device"
    Driver      "modesetting"
    Option      "AccelMethod"    "glamor"     ### "glamor" to enable 3D acceleration, "none" to disable.
EndSection

Section "ServerFlags"
        Option  "AutoAddGPU" "off"
        Option "Debug" "dmabuf_capable"
EndSection

Section "OutputClass"
        Identifier "Panfrost"
        MatchDriver "sun4i-drm"  # meson  rockchip
        Driver "modesetting"
        Option "PrimaryGPU" "true"
EndSection

You will have to install fbturbo back again if you want to create this file using GUI or just switch to tty2 and add this file and reboot. Hopefully you should have a working xorg without fbturbo.

1 Like

Thanks, I would have never discovered that... So I did as you suggested and created the panfrost config file for X11 and rebooted. Xorg is still crashing, but I think there is progress :slight_smile: Xorg logs look like this now:

# cat Xorg.0.log
[    78.183] (--) Log file renamed from "/var/log/Xorg.pid-1019.log" to "/var/log/Xorg.0.log"
[    78.185] 
X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
[    78.185] Build Operating System: Linux Arch Linux
[    78.185] Current Operating System: Linux H64-mediaplayer 5.6.15-1-MANJARO-ARM #1 SMP Thu May 28 08:48:44 CEST 2020 aarch64
[    78.186] Kernel command line: initrd=/initramfs-linux.img console=tty1 console=ttyS0,115200 root=LABEL=ROOT_MNJRO rw rootwait bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash
[    78.186] Build Date: 06 May 2020  09:03:25PM
[    78.186]  
[    78.186] Current version of pixman: 0.40.0
[    78.186]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    78.186] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    78.186] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun  8 20:19:40 2020
[    78.187] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    78.187] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    78.187] (==) No Layout section.  Using the first Screen section.
[    78.187] (==) No screen section available. Using defaults.
[    78.187] (**) |-->Screen "Default Screen Section" (0)
[    78.187] (**) |   |-->Monitor "<default monitor>"
[    78.188] (==) No device specified for screen "Default Screen Section".
        Using the first device section listed.
[    78.188] (**) |   |-->Device "Default Device"
[    78.188] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    78.188] (**) Option "AutoAddGPU" "off"
[    78.189] (**) Option "Debug" "dmabuf_capable"
[    78.189] (==) Automatically adding devices
[    78.189] (==) Automatically enabling devices
[    78.189] (**) Not automatically adding GPU devices
[    78.189] (==) Automatically binding GPU devices
[    78.189] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    78.189] (WW) The directory "/usr/share/fonts/misc" does not exist.
[    78.189]    Entry deleted from font path.
[    78.189] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[    78.189]    Entry deleted from font path.
[    78.189] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[    78.189]    Entry deleted from font path.
[    78.189] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[    78.189]    Entry deleted from font path.
[    78.189] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[    78.189]    Entry deleted from font path.
[    78.189] (==) FontPath set to:
        /usr/share/fonts/TTF
[    78.189] (==) ModulePath set to "/usr/lib/xorg/modules"
[    78.189] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    78.189] (II) Module ABI versions:
[    78.189]    X.Org ANSI C Emulation: 0.4
[    78.189]    X.Org Video Driver: 24.1
[    78.189]    X.Org XInput driver : 24.1
[    78.189]    X.Org Server Extension : 10.0
[    78.192] (++) using VT number 1

[    78.192] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    78.195] (II) xfree86: Adding drm device (/dev/dri/card1)
[    78.226] (II) xfree86: Adding drm device (/dev/dri/card0)
[    78.227] (**) OutputClass "Panfrost" setting /dev/dri/card1 as PrimaryGPU
[    78.227] (II) LoadModule: "glx"
[    78.227] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    78.235] (II) Module glx: vendor="X.Org Foundation"
[    78.236]    compiled for 1.20.8, module version = 1.0.0
[    78.236]    ABI class: X.Org Server Extension, version 10.0
[    78.236] (II) LoadModule: "modesetting"
[    78.236] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    78.238] (II) Module modesetting: vendor="X.Org Foundation"
[    78.239]    compiled for 1.20.8, module version = 1.20.8
[    78.239]    Module class: X.Org Video Driver
[    78.239]    ABI class: X.Org Video Driver, version 24.1
[    78.239] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    78.292] (II) modeset(0): using drv /dev/dri/card1
[    78.293] (II) modeset(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    78.293] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[    78.293] (II) Applying OutputClass "Panfrost" options to /dev/dri/card1
[    78.293] (**) modeset(0): Option "AccelMethod" "glamor"
[    78.293] (==) modeset(0): RGB weight 888
[    78.293] (==) modeset(0): Default visual is TrueColor
[    78.293] (II) Loading sub module "glamoregl"
[    78.293] (II) LoadModule: "glamoregl"
[    78.294] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    78.315] (II) Module glamoregl: vendor="X.Org Foundation"
[    78.315]    compiled for 1.20.8, module version = 1.0.1
[    78.316]    ABI class: X.Org ANSI C Emulation, version 0.4
[    78.610] (II) modeset(0): glamor X acceleration enabled on Mali T720 (Panfrost)
[    78.611] (II) modeset(0): glamor initialized
[    78.722] (II) modeset(0): Output HDMI-1 has no monitor section
[    78.833] (II) modeset(0): EDID for output HDMI-1
[    78.833] (II) modeset(0): Manufacturer: GSM  Model: 1  Serial#: 16843009
[    78.833] (II) modeset(0): Year: 2019  Week: 1
[    78.833] (II) modeset(0): EDID Version: 1.3
[    78.833] (II) modeset(0): Digital Display Input
[    78.833] (II) modeset(0): Max Image Size [cm]: horiz.: 160  vert.: 90
[    78.833] (II) modeset(0): Gamma: 2.20
[    78.833] (II) modeset(0): No DPMS capabilities specified
[    78.833] (II) modeset(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 
[    78.833] (II) modeset(0): First detailed timing is preferred mode
[    78.833] (II) modeset(0): redX: 0.640 redY: 0.330   greenX: 0.300 greenY: 0.600
[    78.833] (II) modeset(0): blueX: 0.150 blueY: 0.060   whiteX: 0.312 whiteY: 0.329
[    78.833] (II) modeset(0): Supported established timings:
[    78.833] (II) modeset(0): 720x400@70Hz
[    78.833] (II) modeset(0): 640x480@60Hz
[    78.833] (II) modeset(0): 800x600@60Hz
[    78.833] (II) modeset(0): 1024x768@60Hz
[    78.833] (II) modeset(0): Manufacturer's mask: 0
[    78.833] (II) modeset(0): Supported standard timings:
[    78.833] (II) modeset(0): #0: hsize: 640  vsize 480  refresh: 60  vid: 16433
[    78.833] (II) modeset(0): #1: hsize: 800  vsize 600  refresh: 60  vid: 16453
[    78.833] (II) modeset(0): #2: hsize: 1024  vsize 768  refresh: 60  vid: 16481
[    78.833] (II) modeset(0): #3: hsize: 1152  vsize 864  refresh: 60  vid: 16497
[    78.833] (II) modeset(0): #4: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
[    78.833] (II) modeset(0): #5: hsize: 1920  vsize 1080  refresh: 60  vid: 49361
[    78.833] (II) modeset(0): Supported detailed timing:
[    78.834] (II) modeset(0): clock: 297.0 MHz   Image Size:  1600 x 900 mm
[    78.834] (II) modeset(0): h_active: 3840  h_sync: 4016  h_sync_end 4104 h_blank_end 4400 h_border: 0
[    78.834] (II) modeset(0): v_active: 2160  v_sync: 2168  v_sync_end 2178 v_blanking: 2250 v_border: 0
[    78.834] (II) modeset(0): Supported detailed timing:
[    78.834] (II) modeset(0): clock: 148.5 MHz   Image Size:  1600 x 900 mm
[    78.834] (II) modeset(0): h_active: 1920  h_sync: 2008  h_sync_end 2052 h_blank_end 2200 h_border: 0
[    78.834] (II) modeset(0): v_active: 1080  v_sync: 1084  v_sync_end 1089 v_blanking: 1125 v_border: 0
[    78.834] (II) modeset(0): Ranges: V min: 24 V max: 120 Hz, H min: 30 H max: 135 kHz, PixClock max 305 MHz
[    78.834] (II) modeset(0): Monitor name: LG TV
[    78.834] (II) modeset(0): Supported detailed timing:
[    78.834] (II) modeset(0): clock: 85.5 MHz   Image Size:  1600 x 900 mm
[    78.834] (II) modeset(0): h_active: 1360  h_sync: 1424  h_sync_end 1536 h_blank_end 1792 h_border: 0
[    78.834] (II) modeset(0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 795 v_border: 0
[    78.834] (II) modeset(0): Number of EDID sections to follow: 1
[    78.834] (II) modeset(0): EDID (in hex):
[    78.834] (II) modeset(0):   00ffffffffffff001e6d010001010101
[    78.834] (II) modeset(0):   011d010380a05a780aee91a3544c9926
[    78.834] (II) modeset(0):   0f5054a1080031404540614071408180
[    78.834] (II) modeset(0):   d1c00101010104740030f2705a80b058
[    78.834] (II) modeset(0):   8a0040846300001e023a801871382d40
[    78.834] (II) modeset(0):   582c450040846300001e000000fd0018
[    78.834] (II) modeset(0):   781e871e000a202020202020000000fc
[    78.834] (II) modeset(0):   004c472054560a20202020202020018c
[    78.835] (II) modeset(0):   02034bf1565f101f0413051403021220
[    78.835] (II) modeset(0):   212215015d5e6263643f402f09570715
[    78.835] (II) modeset(0):   07505507003d1ec05f7e016e030c0030
[    78.835] (II) modeset(0):   00b83c20008001020304e200cfe305c0
[    78.835] (II) modeset(0):   00e50e60616566e3060d01662150b051
[    78.835] (II) modeset(0):   001b304070360040846300001e000000
[    78.835] (II) modeset(0):   00000000000000000000000000000000
[    78.835] (II) modeset(0):   000000000000000000000000000000f9
[    78.835] (--) modeset(0): HDMI max TMDS frequency 300000KHz
[    78.835] (II) modeset(0): Printing probed modes for output HDMI-1
[    78.835] (II) modeset(0): Modeline "3840x2160"x30.0  297.00  3840 4016 4104 4400  2160 2168 2178 2250 +hsync +vsync (67.5 kHz eP)
[    78.835] (II) modeset(0): Modeline "4096x2160"x30.0  297.00  4096 4184 4272 4400  2160 2168 2178 2250 +hsync +vsync (67.5 kHz e)
[    78.835] (II) modeset(0): Modeline "4096x2160"x25.0  297.00  4096 5064 5152 5280  2160 2168 2178 2250 +hsync +vsync (56.2 kHz e)
[    78.835] (II) modeset(0): Modeline "4096x2160"x24.0  297.00  4096 5116 5204 5500  2160 2168 2178 2250 +hsync +vsync (54.0 kHz e)
[    78.835] (II) modeset(0): Modeline "4096x2160"x30.0  296.70  4096 4184 4272 4400  2160 2168 2178 2250 +hsync +vsync (67.4 kHz e)
[    78.835] (II) modeset(0): Modeline "4096x2160"x24.0  296.70  4096 5116 5204 5500  2160 2168 2178 2250 +hsync +vsync (53.9 kHz e)
[    78.835] (II) modeset(0): Modeline "3840x2160"x25.0  297.00  3840 4896 4984 5280  2160 2168 2178 2250 +hsync +vsync (56.2 kHz e)
[    78.835] (II) modeset(0): Modeline "3840x2160"x24.0  297.00  3840 5116 5204 5500  2160 2168 2178 2250 +hsync +vsync (54.0 kHz e)
[    78.836] (II) modeset(0): Modeline "3840x2160"x30.0  296.70  3840 4016 4104 4400  2160 2168 2178 2250 +hsync +vsync (67.4 kHz e)
[    78.836] (II) modeset(0): Modeline "3840x2160"x24.0  296.70  3840 5116 5204 5500  2160 2168 2178 2250 +hsync +vsync (53.9 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x120.0  297.00  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (135.0 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x100.0  297.00  1920 2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (112.5 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x119.9  296.70  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (134.9 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x60.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x50.0  148.50  1920 2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (56.2 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x59.9  148.35  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.4 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080i"x60.0   74.25  1920 2008 2052 2200  1080 1084 1094 1125 interlace +hsync +vsync (33.8 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080i"x50.0   74.25  1920 2448 2492 2640  1080 1084 1094 1125 interlace +hsync +vsync (28.1 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x30.0   74.25  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (33.8 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x25.0   74.25  1920 2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (28.1 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x24.0   74.25  1920 2558 2602 2750  1080 1084 1089 1125 +hsync +vsync (27.0 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080i"x59.9   74.18  1920 2008 2052 2200  1080 1084 1094 1125 interlace +hsync +vsync (33.7 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x30.0   74.18  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (33.7 kHz e)
[    78.836] (II) modeset(0): Modeline "1920x1080"x24.0   74.18  1920 2558 2602 2750  1080 1084 1089 1125 +hsync +vsync (27.0 kHz e)
[    78.836] (II) modeset(0): Modeline "1280x1024"x60.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[    78.836] (II) modeset(0): Modeline "1360x768"x60.0   85.50  1360 1424 1536 1792  768 771 777 795 +hsync +vsync (47.7 kHz e)
[    78.836] (II) modeset(0): Modeline "1280x720"x60.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[    78.836] (II) modeset(0): Modeline "1280x720"x50.0   74.25  1280 1720 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz e)
[    78.836] (II) modeset(0): Modeline "1280x720"x59.9   74.18  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[    78.836] (II) modeset(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[    78.837] (II) modeset(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[    78.837] (II) modeset(0): Modeline "720x576"x50.0   27.00  720 732 796 864  576 581 586 625 -hsync -vsync (31.2 kHz e)
[    78.837] (II) modeset(0): Modeline "720x480"x60.0   27.03  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz e)
[    78.837] (II) modeset(0): Modeline "720x480"x59.9   27.00  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz e)
[    78.837] (II) modeset(0): Modeline "640x480"x60.0   25.20  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[    78.837] (II) modeset(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[    78.837] (II) modeset(0): Modeline "720x400"x70.1   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[    78.837] (II) modeset(0): Output HDMI-1 connected
[    78.837] (II) modeset(0): Using exact sizes for initial modes
[    78.837] (II) modeset(0): Output HDMI-1 using initial mode 3840x2160 +0+0
[    78.837] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[    78.837] (==) modeset(0): DPI set to (96, 96)
[    78.837] (II) Loading sub module "fb"
[    78.837] (II) LoadModule: "fb"
[    78.838] (II) Loading /usr/lib/xorg/modules/libfb.so
[    78.839] (II) Module fb: vendor="X.Org Foundation"
[    78.839]    compiled for 1.20.8, module version = 1.0.0
[    78.839]    ABI class: X.Org ANSI C Emulation, version 0.4
[    78.839] (EE) 
Fatal server error:
[    78.839] (EE) AddScreen/ScreenInit failed for driver 0
[    78.839] (EE) 
[    78.839] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[    78.839] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    78.839] (EE) 
[    79.107] (EE) Server terminated with error (1). Closing log file.

glx and glamoregl and fb modules are loaded properly, but again it seems to fail adding/initializing the screen, very strange! Should I maybe add a Screen section to the config file?

Mostly like this should be in the extconfig file in boot partition, What is the content of your extconfig.
Logs looks like the device is not able to set the screen resolution as per the TV's requirement are you using sony TV ? If you have any another TV then can you try it on that screen or try a different HDMI.

Anything can go wrong.

Mounted the boot partition to /mnt/boot to check it out. Subsequently /mnt/boot/extlinux/extlinux.conf contains this:

LABEL Manjaro ARM
KERNEL /Image
FDT /dtbs/allwinner/sun50i-h6-pine-h64-model-b.dtb
APPEND initrd=/initramfs-linux.img console=tty1 console=ttyS0,115200 root=LABEL=ROOT_MNJRO rw rootwait bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash

I'll try the H64 on a different TV/screen/monitor and report back afterwards.

Thanks for all the help so far! :slight_smile:

This is just weird. I put the HDMI cable in another port of the same TV, then rebooted the H64. Xorg started and SDDM was running happily and stated it was showing the Greeter. Then I switched the TV channel to the new HDMI port, and Xorg crashed. I've tried rebooting the H64 a couple of times and switching the HDMI cable to other TV ports but I cannot reproduce the described situation now. Just for the record: I've tried 2 other laptops with the TV (both running Manjaro x64) with the same HDMI cable and they are both working flawlessly.

I'll try another screen, but probably I won't get around to that as I need to go upstairs for that but I don't want to wake up my kid :slight_smile:

Edit:

I was too curious and couldn't wait so I went upstairs anyway to try and see if the H64 would now work on my other display :stuck_out_tongue: This display is a monitor (not a TV). Unfortunately, the result is the same: Xorg keeps crashing :confused:

What makes it extra strange to me is that the fbturbo software driver did work with my TV (albeit really slow), so that driver was able to set the desired resolution for the TV properly. Perhaps a next thing for me to try is to try a newer version of the panfrost driver? Could I build it myself?

Install mesa-git thats the newest version.
sudo pacman -S mesa-git it will ask you to remove mesa then just press 'Y'

I think there is something with the HDMI Port not able to get the right EDID.

Finally got around to trying this. Installed mesa-git and rebooted, but unfortunately still seeing the same behaviour: Xorg fails to start and as a result so does SDDM.

I read up about it a bit and I'm going to see if I can manually set the EDID by first reading it into a binary file and then pointing Xorg to that in xorg.conf. It seems however that the read-edid and edid-decode packages that are required for this are not compiled for ARM. I tried compiling them myself but CMake throws an errors saying it needs X86_library so I guess that's a dead end.

I'll try to get the EDID binary for my TV using my laptop and see how it goes from there. Will keep you updated. Thanks for all the suggestions so far!

1 Like

I mean to remember there was once something over at LE with H6 HDMI, but can't seem to remember. There are a couple of patches however that are in use, especially one for improved colour handling, maybe that could help? https://github.com/LibreELEC/LibreELEC.tv/tree/954257091213725742ae20eb4347befe038e2763/projects/Allwinner/patches/linux

Actually I tried finding what was required for VPU to get it to run and found this ref: https://forum.libreelec.tv/thread/17565-nightly-images-for-a20-a64-h3-h5-and-h6-boards/?postID=139620&highlight=patch#post139620

Maybe this is the better ref for H6: https://forum.libreelec.tv/thread/17565-nightly-images-for-a20-a64-h3-h5-and-h6-boards/?postID=138580&highlight=patch#post138580

There are more hits by jernej when searching for patch in this very thread.

1 Like

Wow H64 is now an official target of 20.06, with u-boot and dtb it should work with other H6 boards as well.

Thanks for these awesome tips. Unfortunately I'm not a Linux (kernel) developer either so I don't really know what to do with all these tips and patches. @Strit / @spikerguy do you guys maybe have a clue on some pointers on what to do with this? If I can do anything please let me know, I'm more then happy to do or test stuff!

Speaking of which;

Finally got around to trying this, and I was able to extract the EDID from my TV as binary with my (x64) laptop, SCPd it to the H64 and tried rebooting. Unfortunately Xorg still refused to start :frowning: Then just to be sure I tried with Mate edition instead of KDE but the results were the same. Works with fbturbo, refuses to work with Panfrost.

I don't really know what I could try to get hardware video acceleration working now to be honest :confused:

Forum kindly sponsored by