From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey.Brodkin@synopsys.com (Alexey Brodkin) Date: Mon, 4 Dec 2017 13:16:48 +0000 Subject: xf86-video-armada via UDL [was: Re: UDL's fbdev doesn't work for user-space apps] In-Reply-To: <86238def-82be-2ad1-63d0-b9a8dbf83db6@synopsys.com> References: <1512387175.4977.24.camel@synopsys.com> <86238def-82be-2ad1-63d0-b9a8dbf83db6@synopsys.com> List-ID: Message-ID: <1512393408.4977.44.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org Hi Jose, On Mon, 2017-12-04@11:50 +0000, Jose Abreu wrote: > Hi Alexey, > > On 04-12-2017 11:32, Alexey Brodkin wrote: > > > > My first [probably incorrect] assumption is Xserver requires fbdev (/dev/fbX) > > and it cannot use DRI video card natively. Is that correct? > > > > > > Xserver can use DRI directly, you need to enable modesetting > driver in Xorg config or use the designated driver for your card > (if there is any). Ok that makes sense. I didn't think about generic modesetting driver for Xserver. And that indeed works. This is my xorg.conf: ----------------------->8---------------------- # cat /etc/X11/xorg.conf? Section "Device" ????????Identifier??????"Driver0" ????????Screen??????????0 ????????Driver??????????"modesetting" ????????Option??????????"kmsdev" "/dev/dri/card1" EndSection ----------------------->8---------------------- I do see xclock is rendered fine. Now I guess is getting closer to what I really need :) In the end I wanted to get 3D rendered by Vivante GPU to be displayed on UDL. My assumption was very simple - if IMX-DRM+Etnaviv work fine it should be straight-forward to swap IMX-DRM bitstreamer with UDL and we're golden. That might be more a question to Lucas now. I use xorg.conf as found here: http://git.arm.linux.org.uk/cgit/xf86-video-armada.git/tree/conf/xorg-sample.conf?h=unstable-devel That's what it has: ----------------------->8---------------------- Section "Device" Identifier "Driver0" Screen 0 Driver "armada" # Support hotplugging displays? # Option "Hotplug" "TRUE" # Support hardware cursor if available? # Option "HWCursor" "TRUE" # Use GPU acceleration? # Option "UseGPU" "TRUE" # Provide Xv interfaces? # Option "XvAccel" "TRUE" # Prefer overlay for Xv (TRUE for armada-drm, FALSE for imx-drm) # Option "XvPreferOverlay" "TRUE" # Which accelerator module to load (automatically found if commented out) # Option "AccelModule" "etnadrm_gpu" # Option "AccelModule" "etnaviv_gpu" # Support DRI2 interfaces? # Option "DRI" "TRUE" EndSection ----------------------->8---------------------- Indeed I uncommented all the lines and then it allows to see for example glmark2-es2 working on Wandboard (that's exactly where "imx-drm + etnaviv" combo is used). But if I swap "imx-drm" to "udl" I don't see anything on my screen (connected via UDL) even though Xserver seems to really start claiming the screen (so I see it becomes black, effectively overriding whatever was there before) and glmark benchmark prints results. Maybe I'm missing some additional glue for UDL in "xf86-video-armada" except the simple one: ----------------------->8---------------------- --- a/src/armada_module.c +++ b/src/armada_module.c @@ -26,7 +26,7 @@ ?#define ARMADA_NAME????????????"armada" ?#define ARMADA_DRIVER_NAME?????"armada" ? -#define DRM_MODULE_NAMES???????"armada-drm", "imx-drm" +#define DRM_MODULE_NAMES???????"armada-drm", "imx-drm", "udl" ?#define DRM_DEFAULT_BUS_ID?????NULL ? ?static const char *drm_module_names[] = { DRM_MODULE_NAMES }; @@ -43,6 +43,11 @@ static SymTabRec ipu_chipsets[] = { ????????{ -1, NULL } ?}; ? +static SymTabRec udl_chipsets[] = { +???????{??0, "UDL" }, +???????{ -1, NULL } +}; + ?static const OptionInfoRec * const options[] = { ????????armada_drm_options, ????????common_drm_options, @@ -115,6 +120,8 @@ static void armada_identify(int flags) ??????????????????????????armada_chipsets); ????????xf86PrintChipsets(ARMADA_NAME, "Support for Freescale IPU", ??????????????????????????ipu_chipsets); +???????xf86PrintChipsets(ARMADA_NAME, "Support DisplayLink USB2.0", +?????????????????????????udl_chipsets); ?} ----------------------->8---------------------- -Alexey From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Brodkin Subject: xf86-video-armada via UDL [was: Re: UDL's fbdev doesn't work for user-space apps] Date: Mon, 4 Dec 2017 13:16:48 +0000 Message-ID: <1512393408.4977.44.camel@synopsys.com> References: <1512387175.4977.24.camel@synopsys.com> <86238def-82be-2ad1-63d0-b9a8dbf83db6@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <86238def-82be-2ad1-63d0-b9a8dbf83db6@synopsys.com> Content-Language: en-US Content-ID: Sender: linux-kernel-owner@vger.kernel.org To: "l.stach@pengutronix.de" , Jose Abreu Cc: "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "airlied@gmail.com" , "airlied@redhat.com" , "daniel.vetter@ffwll.ch" , "linux-snps-arc@lists.infradead.org" List-Id: dri-devel@lists.freedesktop.org SGkgSm9zZSwNCg0KT24gTW9uLCAyMDE3LTEyLTA0IGF0IDExOjUwICswMDAwLCBKb3NlIEFicmV1 IHdyb3RlOg0KPiBIaSBBbGV4ZXksDQo+IA0KPiBPbiAwNC0xMi0yMDE3IDExOjMyLCBBbGV4ZXkg QnJvZGtpbiB3cm90ZToNCj4gPiANCj4gPiBNeSBmaXJzdCBbcHJvYmFibHkgaW5jb3JyZWN0XSBh c3N1bXB0aW9uIGlzIFhzZXJ2ZXIgcmVxdWlyZXMgZmJkZXYgKC9kZXYvZmJYKQ0KPiA+IGFuZCBp dCBjYW5ub3QgdXNlIERSSSB2aWRlbyBjYXJkIG5hdGl2ZWx5LiBJcyB0aGF0IGNvcnJlY3Q/DQo+ ID4gDQo+ID4gDQo+IA0KPiBYc2VydmVyIGNhbiB1c2UgRFJJIGRpcmVjdGx5LCB5b3UgbmVlZCB0 byBlbmFibGUgbW9kZXNldHRpbmcNCj4gZHJpdmVyIGluIFhvcmcgY29uZmlnIG9yIHVzZSB0aGUg ZGVzaWduYXRlZCBkcml2ZXIgZm9yIHlvdXIgY2FyZA0KPiAoaWYgdGhlcmUgaXMgYW55KS4NCg0K T2sgdGhhdCBtYWtlcyBzZW5zZS4gSSBkaWRuJ3QgdGhpbmsgYWJvdXQgZ2VuZXJpYyBtb2Rlc2V0 dGluZyBkcml2ZXIgZm9yIFhzZXJ2ZXIuDQpBbmQgdGhhdCBpbmRlZWQgd29ya3MuIFRoaXMgaXMg bXkgeG9yZy5jb25mOg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCiMgY2F0IC9ldGMvWDExL3hvcmcuY29uZsKgDQpTZWN0aW9uICJEZXZpY2UiDQrCoMKg wqDCoMKgwqDCoMKgSWRlbnRpZmllcsKgwqDCoMKgwqDCoCJEcml2ZXIwIg0KwqDCoMKgwqDCoMKg wqDCoFNjcmVlbsKgwqDCoMKgwqDCoMKgwqDCoMKgMA0KwqDCoMKgwqDCoMKgwqDCoERyaXZlcsKg wqDCoMKgwqDCoMKgwqDCoMKgIm1vZGVzZXR0aW5nIg0KwqDCoMKgwqDCoMKgwqDCoE9wdGlvbsKg wqDCoMKgwqDCoMKgwqDCoMKgImttc2RldiIgIi9kZXYvZHJpL2NhcmQxIg0KRW5kU2VjdGlvbg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KSSBkbyBz ZWUgeGNsb2NrIGlzIHJlbmRlcmVkIGZpbmUuDQoNCk5vdyBJIGd1ZXNzIGlzIGdldHRpbmcgY2xv c2VyIHRvIHdoYXQgSSByZWFsbHkgbmVlZCA6KQ0KSW4gdGhlIGVuZCBJIHdhbnRlZCB0byBnZXQg M0QgcmVuZGVyZWQgYnkgVml2YW50ZSBHUFUNCnRvIGJlIGRpc3BsYXllZCBvbiBVREwuIE15IGFz c3VtcHRpb24gd2FzIHZlcnkgc2ltcGxlIC0gaWYgSU1YLURSTStFdG5hdml2DQp3b3JrIGZpbmUg aXQgc2hvdWxkIGJlIHN0cmFpZ2h0LWZvcndhcmQgdG8gc3dhcCBJTVgtRFJNIGJpdHN0cmVhbWVy IHdpdGggVURMDQphbmQgd2UncmUgZ29sZGVuLg0KDQpUaGF0IG1pZ2h0IGJlIG1vcmUgYSBxdWVz dGlvbiB0byBMdWNhcyBub3cuDQpJIHVzZSB4b3JnLmNvbmYgYXMgZm91bmQgaGVyZToNCmh0dHA6 Ly9naXQuYXJtLmxpbnV4Lm9yZy51ay9jZ2l0L3hmODYtdmlkZW8tYXJtYWRhLmdpdC90cmVlL2Nv bmYveG9yZy1zYW1wbGUuY29uZj9oPXVuc3RhYmxlLWRldmVsDQpUaGF0J3Mgd2hhdCBpdCBoYXM6 DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KU2VjdGlv biAiRGV2aWNlIg0KCUlkZW50aWZpZXIJIkRyaXZlcjAiDQoJU2NyZWVuCQkwDQoJRHJpdmVyCQki YXJtYWRhIg0KDQojIFN1cHBvcnQgaG90cGx1Z2dpbmcgZGlzcGxheXM/DQojCU9wdGlvbgkJIkhv dHBsdWciCSJUUlVFIg0KDQojIFN1cHBvcnQgaGFyZHdhcmUgY3Vyc29yIGlmIGF2YWlsYWJsZT8N CiMJT3B0aW9uCQkiSFdDdXJzb3IiCSJUUlVFIg0KDQojIFVzZSBHUFUgYWNjZWxlcmF0aW9uPw0K IwlPcHRpb24JCSJVc2VHUFUiCSJUUlVFIg0KDQojIFByb3ZpZGUgWHYgaW50ZXJmYWNlcz8NCiMJ T3B0aW9uCQkiWHZBY2NlbCIJIlRSVUUiDQoNCiMgUHJlZmVyIG92ZXJsYXkgZm9yIFh2IChUUlVF IGZvciBhcm1hZGEtZHJtLCBGQUxTRSBmb3IgaW14LWRybSkNCiMJT3B0aW9uCQkiWHZQcmVmZXJP dmVybGF5IiAiVFJVRSINCg0KIyBXaGljaCBhY2NlbGVyYXRvciBtb2R1bGUgdG8gbG9hZCAoYXV0 b21hdGljYWxseSBmb3VuZCBpZiBjb21tZW50ZWQgb3V0KQ0KIwlPcHRpb24JCSJBY2NlbE1vZHVs ZSIJImV0bmFkcm1fZ3B1Ig0KIwlPcHRpb24JCSJBY2NlbE1vZHVsZSIJImV0bmF2aXZfZ3B1Ig0K DQojIFN1cHBvcnQgRFJJMiBpbnRlcmZhY2VzPw0KIwlPcHRpb24JCSJEUkkiCQkiVFJVRSINCkVu ZFNlY3Rpb24NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQoNCkluZGVlZCBJIHVuY29tbWVudGVkIGFsbCB0aGUgbGluZXMgYW5kIHRoZW4gaXQgYWxsb3dz IHRvIHNlZQ0KZm9yIGV4YW1wbGUgZ2xtYXJrMi1lczIgd29ya2luZyBvbiBXYW5kYm9hcmQgKHRo YXQncyBleGFjdGx5IHdoZXJlDQoiaW14LWRybSArIGV0bmF2aXYiIGNvbWJvIGlzIHVzZWQpLg0K DQpCdXQgaWYgSSBzd2FwICJpbXgtZHJtIiB0byAidWRsIiBJIGRvbid0IHNlZSBhbnl0aGluZyBv biBteSBzY3JlZW4NCihjb25uZWN0ZWQgdmlhIFVETCkgZXZlbiB0aG91Z2ggWHNlcnZlciBzZWVt cyB0byByZWFsbHkgc3RhcnQgY2xhaW1pbmcgdGhlIHNjcmVlbg0KKHNvIEkgc2VlIGl0IGJlY29t ZXMgYmxhY2ssIGVmZmVjdGl2ZWx5IG92ZXJyaWRpbmcgd2hhdGV2ZXIgd2FzIHRoZXJlIGJlZm9y ZSkgYW5kDQpnbG1hcmsgYmVuY2htYXJrIHByaW50cyByZXN1bHRzLg0KDQpNYXliZSBJJ20gbWlz c2luZyBzb21lIGFkZGl0aW9uYWwgZ2x1ZSBmb3IgVURMIGluICJ4Zjg2LXZpZGVvLWFybWFkYSIg ZXhjZXB0IHRoZSBzaW1wbGUgb25lOg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCi0tLSBhL3NyYy9hcm1hZGFfbW9kdWxlLmMNCisrKyBiL3NyYy9hcm1h ZGFfbW9kdWxlLmMNCkBAIC0yNiw3ICsyNiw3IEBADQrCoCNkZWZpbmUgQVJNQURBX05BTUXCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAiYXJtYWRhIg0KwqAjZGVmaW5lIEFSTUFEQV9EUklWRVJfTkFN RcKgwqDCoMKgwqAiYXJtYWRhIg0KwqANCi0jZGVmaW5lIERSTV9NT0RVTEVfTkFNRVPCoMKgwqDC oMKgwqDCoCJhcm1hZGEtZHJtIiwgImlteC1kcm0iDQorI2RlZmluZSBEUk1fTU9EVUxFX05BTUVT wqDCoMKgwqDCoMKgwqAiYXJtYWRhLWRybSIsICJpbXgtZHJtIiwgInVkbCINCsKgI2RlZmluZSBE Uk1fREVGQVVMVF9CVVNfSUTCoMKgwqDCoMKgTlVMTA0KwqANCsKgc3RhdGljIGNvbnN0IGNoYXIg KmRybV9tb2R1bGVfbmFtZXNbXSA9IHsgRFJNX01PRFVMRV9OQU1FUyB9Ow0KQEAgLTQzLDYgKzQz LDExIEBAIHN0YXRpYyBTeW1UYWJSZWMgaXB1X2NoaXBzZXRzW10gPSB7DQrCoMKgwqDCoMKgwqDC oMKgeyAtMSwgTlVMTCB9DQrCoH07DQrCoA0KK3N0YXRpYyBTeW1UYWJSZWMgdWRsX2NoaXBzZXRz W10gPSB7DQorwqDCoMKgwqDCoMKgwqB7wqDCoDAsICJVREwiIH0sDQorwqDCoMKgwqDCoMKgwqB7 IC0xLCBOVUxMIH0NCit9Ow0KKw0KwqBzdGF0aWMgY29uc3QgT3B0aW9uSW5mb1JlYyAqIGNvbnN0 IG9wdGlvbnNbXSA9IHsNCsKgwqDCoMKgwqDCoMKgwqBhcm1hZGFfZHJtX29wdGlvbnMsDQrCoMKg wqDCoMKgwqDCoMKgY29tbW9uX2RybV9vcHRpb25zLA0KQEAgLTExNSw2ICsxMjAsOCBAQCBzdGF0 aWMgdm9pZCBhcm1hZGFfaWRlbnRpZnkoaW50IGZsYWdzKQ0KwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGFybWFkYV9jaGlwc2V0cyk7DQrCoMKgwqDC oMKgwqDCoMKgeGY4NlByaW50Q2hpcHNldHMoQVJNQURBX05BTUUsICJTdXBwb3J0IGZvciBGcmVl c2NhbGUgSVBVIiwNCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpcHVfY2hpcHNldHMpOw0KK8KgwqDCoMKgwqDCoMKgeGY4NlByaW50Q2hpcHNldHMo QVJNQURBX05BTUUsICJTdXBwb3J0IERpc3BsYXlMaW5rIFVTQjIuMCIsDQorwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1ZGxfY2hpcHNldHMpOw0KwqB9 DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotQWxl eGV5