Orange Pi HDMI/DVI output on Samsung SyncMaster T220

Playing with my Orange Pi Mini board, (using a DVI/HDMI conector) the monitor was unable to display the original 1280×720 resolution, cutting the image. I couldn’t get the monitor’s maximum resolution (1680×1050) yet, but managed to configure the boot environment variables to set up a 1280×1024, which worked OK (at least it shows all the text).

In the boot partition (on bananian 15.01, it was /dev/mmcblk0p1), you must edit the uEnv.txt file. You should find something similar to:

bootargs=console=ttyS0,115200 console=tty0 sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 disp.screen0_output_mode=EDID:1280x720p50 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

and modify the disp.screen0_output_mode variable to the following:

bootargs=console=ttyS0,115200 console=tty0 sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 disp.screen0_output_mode=EDID:1280x1024p60 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait


There are some distros (such as Lubuntu and Debian) for Orange Pi where the correct bootarg variable to be changed is disp.screen1_output_mode instead.

In the case of Lubuntu, the uEnv.txt file is placed in another partition (/dev/mmcblk0p1). You can just mount it somewhere:

# mount /dev/mmcblk0p1 /mnt

add the disp.screen1_output_mode definition to the bootargs:

# vi /mnt/uEnv.txt
# sync
# umount /mnt

and reboot to make the changes effective:

# reboot

For Debian, the bootargs definition is found in /boot/boot.cmd, and after modify it, you should recreate /boot/boot.scr file with the following:

# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr


Remote audio server with Pulseaudio

In the session running pulseaudio in the machine that has a sound board (in this example, it has IP address, run the following command to accept audio from the network

$ pactl load-module module-native-protocol-tcp 'auth-ip-acl=;' auth-anonymous=1

In the client session that run the program, export the PULSE_SERVER address, like this:

$ PULSE_SERVER= chromium &