I'm looking for a a way to get two separate display outputs, use eDP to connect 1st monitor(PC monitor), use HDMI to connect 2nd monitor(touch screen monitor).
From https://www.android-x86.org/, there's below descriptions, seems still not supported.
To-Do List
Multiple displays support
Better power management
Miracast
From https://blissos.org/, download below android generic iso image, and after flashed this iso image, we can found which support dual monitors,
display the same content on both monitors.
Android-Generic 11 AOSP (x86_64) Changelog#Kernel5.4 #Mesa20.1 #AOSP
https://sourceforge.net/projects/blissos-dev/files/Android-Generic/PC/aosp/stock/11/AG-11--x86_64-202106131243_k-kernel-5.4_m-x86.iso/download
But after flashed below blissos iso image, android system can boot normally on the 1st monitor(eDP), but only have console on 2nd monitor(HDMI)
Bliss OS 14.3 GMS with Gearlock (x86_64) Changelog#Kernel5.4 #Mesa20.1 #GApps #Gearlock
and we followed "https://docs.blissos.org/development/gui-method-build-bliss-os-14.x", synced the code, then built/flashed, still the same behaviors like blissos iso image.
For above "Android-Generic 11 AOSP" iso image, checked the boot log, there's "HWC=drm_minigbm GARLLOC=minigbm_intel" in the kernel command line,
but for bliss os iso image(download or build locally), there's no "HWC=drm_minigbm GARLLOC=minigbm_intel" in the command line,
only support below options on bliss os, but all are not work for dual monitors, normally on 1st monitor, there's console on 2nd monitor,
----------------------------------------------------------
HWC=drmfb GRALLOC=gbm
HWC=drm GRALLOC=gbm
HWC=drm_minigbm GRALLOC=minigbm
HWC=intel GRALLOC=intel
----------------------------------------------------------
we tried to use https://github.com/intel/minigbm/tree/android10-release to replace external/minigbm, met some build error, from this github, latest minigbm_intel is android 10, minigbm on bliss os 14 is android 11,
and above "Android-Generic 11 AOSP" iso image is actually android 12.
Seems not related with kernel, since we checked 89 kernel patches of android r under vendor_ag, all kernel patches have been merged into blissos 14.
When we tried the "HWC=drm_minigbm GRALLOC=intel", only have console on dual monitors, there's crash for surfaceflinger, sdcard has not been mounted so far, error please refer to attached error.
Why dual monitors supported on "Android-Generic 11 AOSP" iso image?
@electrikjesus could you have a look at this issue? thanks a lot
It will require a number of updates to drm_hwcomposer, gbm_gralloc, libdrm, etc. in order to get second screen activities working properly on AG 11 base. It is working on AG 12, so far, and most of those updates are compatible with AG 11 code base.
Lisbet111111 said:
I'm looking for a a way to get two separate display outputs, use eDP to connect 1st monitor(PC monitor), use HDMI to connect 2nd monitor(touch screen monitor).
From https://www.android-x86.org/, there's below descriptions, seems still not supported.
To-Do List
Multiple displays support
Better power management
Miracast
From https://blissos.org/, download below android generic iso image, and after flashed this iso image, we can found which support dual monitors,
display the same content on both monitors.
Android-Generic 11 AOSP (x86_64) Changelog#Kernel5.4 #Mesa20.1 #AOSP
https://sourceforge.net/projects/blissos-dev/files/Android-Generic/PC/aosp/stock/11/AG-11--x86_64-202106131243_k-kernel-5.4_m-x86.iso/download
But after flashed below blissos iso image, android system can boot normally on the 1st monitor(eDP), but only have console on 2nd monitor(HDMI)
Bliss OS 14.3 GMS with Gearlock (x86_64) Changelog#Kernel5.4 #Mesa20.1 #GApps #Gearlock
and we followed "https://docs.blissos.org/development/gui-method-build-bliss-os-14.x", synced the code, then built/flashed, still the same behaviors like blissos iso image.
For above "Android-Generic 11 AOSP" iso image, checked the boot log, there's "HWC=drm_minigbm GARLLOC=minigbm_intel" in the kernel command line,
but for bliss os iso image(download or build locally), there's no "HWC=drm_minigbm GARLLOC=minigbm_intel" in the command line,
only support below options on bliss os, but all are not work for dual monitors, normally on 1st monitor, there's console on 2nd monitor,
----------------------------------------------------------
HWC=drmfb GRALLOC=gbm
HWC=drm GRALLOC=gbm
HWC=drm_minigbm GRALLOC=minigbm
HWC=intel GRALLOC=intel
----------------------------------------------------------
we tried to use https://github.com/intel/minigbm/tree/android10-release to replace external/minigbm, met some build error, from this github, latest minigbm_intel is android 10, minigbm on bliss os 14 is android 11,
and above "Android-Generic 11 AOSP" iso image is actually android 12.
Seems not related with kernel, since we checked 89 kernel patches of android r under vendor_ag, all kernel patches have been merged into blissos 14.
When we tried the "HWC=drm_minigbm GRALLOC=intel", only have console on dual monitors, there's crash for surfaceflinger, sdcard has not been mounted so far, error please refer to attached error.
Why dual monitors supported on "Android-Generic 11 AOSP" iso image?
Click to expand...
Click to collapse
@electrikjesus Appreciate your quick reply!!
From https://www.android-x86.org/, latest open code base branch is r-86(Android 11), when AG 12 base(Android 12) could be ready and open? Is there any time plan?
From my understanding, updates mentioned below are not included in r-86(Android 11) branch yet, right?
Where can we get these updates so far? we really need these prefect patches,
could these patches can be found by below https://github.com/BlissRoms-x86/manifest/tree/s-x86-r1.1 ?
Just now, I compared r-86 branch and s-x86-r1.1 branch, there are very big change for drm_hwcomposer and libdrm, and grm_gralloc is not existed in s-x86-r1.1 branch.
It will require a number of updates to drm_hwcomposer, gbm_gralloc, libdrm, etc. in order to get second screen activities working properly on AG 11 base. It is working on AG 12, so far, and most of those updates are compatible with AG 11 code base.
Click to expand...
Click to collapse
Lisbet111111 said:
@electrikjesus Appreciate your quick reply!!
From https://www.android-x86.org/, latest open code base branch is r-86(Android 11), when AG 12 base(Android 12) could be ready and open? Is there any time plan?
From my understanding, updates mentioned below are not included in r-86(Android 11) branch yet, right?
Where can we get these updates so far? we really need these prefect patches,
could these patches can be found by below https://github.com/BlissRoms-x86/manifest/tree/s-x86-r1.1 ?
Just now, I compared r-86 branch and s-x86-r1.1 branch, there are very big change for drm_hwcomposer and libdrm, and grm_gralloc is not existed in s-x86-r1.1 branch.
Click to expand...
Click to collapse
Things for that have been made upstream. So gbm_gralloc is now working from mainline repo/Linux.
The recent experiments coming from @HMTheBoy154 also have these included, so you can check his repos for details
electrikjesus said:
Things for that have been made upstream. So gbm_gralloc is now working from mainline repo/Linux.
The recent experiments coming from @HMTheBoy154 also have these included, so you can check his repos for details
Click to expand...
Click to collapse
Thanks again!! It's very helpful.
Hi all,
I'm also trying to get dual monitor to work, with extended Android screen.
It is working on AG 12, so far
Click to expand...
Click to collapse
I tried "Bliss-v15.0-Alpha-android_x86_64-OFFICIAL-foss-202112151838-nb-sd-ksu-gearlock-ex_vt-console_all-mesa-drivers-crocus.iso" and
"android_x86_64-a12.1_r1-03.16.22-01-mesa22-ksu-gapps-libndk-sd.iso", however, I get the same result as the OP - the second display only shows a terminal.
Do I need to use later code and build from source? Or are there any kernel options that needs to be enabled?
Notes:
- Using a AMD Radeon RX 580
- Getting overlay glitches, but the workaround "boot using minigbm_intel" does not work for me (Android doesn't boot then)
Best regards,
Markus
I have onkyo ta2c-74z8 tablet.
There are no driver so I need to use other tablet goodix driver and edit "touchsettings.gt".
I was extracted cfg(0/1/2) values from linux kernel source code.
But it doesn't works correct. x and y axis was swapped and x axis was inverted.
I edit "x2y=0" to "x2y=1". It works. But "x2x" is not working.
How to fix this?
It's driver source code from linux kernel.
ta2c-74z8-linux-source/gt9xx.h at master · mouseos/ta2c-74z8-linux-source
Contribute to mouseos/ta2c-74z8-linux-source development by creating an account on GitHub.
github.com
ta2c-74z8 is called "f1006c".
It is touchsetting.gt.
Code:
[Setting]
UpdateCFG=1
SendCFG=1 ;Send CFG to touch IC when loading driver
SleepDisable=0
PhysicalXsize=800 ;Physical size」ャthe unit is 0.1mm
PhysicalYsize=1280
[Support]
ESD=1 ;Driver supports ESD recovery processing
;SensorID=0 ;According to the different SensorID send different configuration
GtpTool=0
X2X=1
Y2Y=0
X2Y=1
Log=0
[Feature]
Pen=0 ;stylus/pen support
NumberOfKey=0 ;The total number of keys supported,equal to 0 does not support key
Key1=0xe3 ;0xe3 is home key,Must be a hexadecimal number
Key2=0x1e
Key3=
Key4=
[CFG]
DefaultCFG=0x00,0x00,0x05,0x20,0x03,0x0A,0x3D,0x21,0x01,0xC8,0x28,0x08,0x5A,0x3C,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x17,0x1A,0x1D,0x14,0x90,0x30,0xCC,0x26,0x28,0xA6,0x0F,0x00,0x00,0x00,0x01,0x03,0x2D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x23,0x41,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,0x86,0x25,0x00,0x7B,0x2A,0x00,0x73,0x2F,0x00,0x6A,0x36,0x00,0x64,0x3D,0x00,0x64,0x08,0x00,0x00,0x00,0x00,0x60,0x50,0x00,0xF0,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x05,0x06,0x07,0x08,0x09,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x13,0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0A,0x08,0x07,0x06,0x04,0x02,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,0x01
senserid_0=0x00,0x00,0x05,0x20,0x03,0x0A,0x3D,0x21,0x01,0xC8,0x28,0x08,0x5A,0x3C,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x17,0x1A,0x1D,0x14,0x90,0x30,0xCC,0x26,0x28,0xA6,0x0F,0x00,0x00,0x00,0x01,0x03,0x2D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x23,0x41,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,0x86,0x25,0x00,0x7B,0x2A,0x00,0x73,0x2F,0x00,0x6A,0x36,0x00,0x64,0x3D,0x00,0x64,0x08,0x00,0x00,0x00,0x00,0x60,0x50,0x00,0xF0,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x05,0x06,0x07,0x08,0x09,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x13,0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0A,0x08,0x07,0x06,0x04,0x02,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,0x01
senserid_1=0x00,0x20,0x03,0x00,0x05,0x0A,0x35,0x21,0x01,0xC8,0x28,0x08,0x5A,0x3C,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x17,0x1A,0x1D,0x14,0x90,0x30,0xCC,0x26,0x28,0xA6,0x0F,0x00,0x00,0x00,0x01,0x03,0x2D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x23,0x41,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,0x86,0x25,0x00,0x7B,0x2A,0x00,0x73,0x2F,0x00,0x6A,0x36,0x00,0x64,0x3D,0x00,0x64,0xC0,0x00,0x00,0x00,0xF0,0x40,0x30,0xF0,0x00,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x05,0x06,0x07,0x08,0x09,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x14,0x13,0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0A,0x08,0x07,0x06,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x01
senserid_2=0x00,0x20,0x03,0x00,0x05,0x0A,0x35,0x21,0x01,0xC8,0x28,0x08,0x5A,0x3C,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x17,0x1A,0x1D,0x14,0x90,0x30,0xCC,0x26,0x28,0xA6,0x0F,0x00,0x00,0x00,0x01,0x03,0x2D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x23,0x41,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,0x86,0x25,0x00,0x7B,0x2A,0x00,0x73,0x2F,0x00,0x6A,0x36,0x00,0x64,0x3D,0x00,0x64,0xC0,0x00,0x00,0x00,0xF0,0x40,0x30,0xF0,0x00,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x05,0x06,0x07,0x08,0x09,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x14,0x13,0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0A,0x08,0x07,0x06,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x01
senserid_3=
senserid_4=
senserid_5=
x2y=1 x2x=1
x2y=1 x2x=0