Page MenuHomePhabricator

efl18 on wayland disables all but one screen (connected = 0 which is not true). no way to activate screens.
Open, TODOPublic

Description

this is a regression from efl17 where multihead worked out of the box but had different issues: T3409, T3438

full log:

RRR: apply 'HDMI-A-1'...
RRR: check lid for HDMI-A-1...
RRR: connected =  1
RRR: ... enabled
RRR: ... priority = 100
RRR: apply 'DVI-I-1'...
RRR: check lid for DVI-I-1...
RRR: connected =  0
RRR: ... disabled
RRR: apply 'VGA-1'...
RRR: check lid for VGA-1...
RRR: connected =  0
RRR: ... disabled
RRR: takeover config...
devilhorns triaged this task as Normal priority.
devilhorns added a subscriber: cedric.

Yes. This is a known issue right now. I am awaiting some new feature code from @cedric before I can re-enable secondary outputs inside Ecore_Drm2.

devilhorns lowered the priority of this task from Normal to TODO.Nov 2 2016, 6:25 AM
dkasak added a subscriber: dkasak.Jan 4 2017, 2:20 PM

Any ETA on this one?

This is all pending some multi-output ecore_evas work from @cedric

Hi @cedric ... I'd love to see this ticket progress. Is there some way ( paypal, beer, other ) you can be convinced to spend some time on the above-mentioned multi-output ecore_evas work?

@dkasak Work is progressing on this actually. I have a local git branch here with "work in progress" on this item. Exact ETA is unknown just yet, but I am hoping to have it completed this week

@cedric Wow thanks for the update :)

@dkasak I have pushed 2 feature branches (one for efl and one for E) which enables this functionality. They are not pushed into master yet tho as they require more testing.

https://git.enlightenment.org/core/efl.git/log/?h=feature/wayland/multi-output
https://git.enlightenment.org/core/enlightenment.git/log/?h=feature/wayland/multi-output

dkasak added a comment.Apr 3 2018, 5:29 AM

@devilhorns - thanks :) I've tried it out. There are some minor issues, but it appears to be mostly working. I'll briefly report what I've found here ... but if you want this in separate tickets, let me know and I'll create them ...

  • Non-primary displays don't appear to trigger the rendering of changes on them. So there are no mouse updates, or any other updates. However, changes on the primary display do trigger rendering of changes on non-primary displays. An interesting way to work around this is to use an animated background on the primary display - this keeps non-primary displays constantly updating.
  • When using Settings => Control Panel => Screen => Screen Setup ... when I apply changes, all displays fade to black and remain black. The only way I've been able to restore them is to CTRL-ALT-F2 to a console, then CTRL-ALT-F1 back into E.

Thanks again for working on this.

@dkasak Kepping things on this ticket is fine, no need for separate tickets.

  • This first one is interesting as I have not seen that happen here. When I move my mouse to the second display, the mouse movements get redrawn. Bringing up main menus on the second display causes redraws....things seem to redraw fine here. A little puzzled by this one :( If we can find a reliable way to reproduce this issue, then it could be easier to track down....

@devilhorns - so I've done some more testing with 2 different configurations. The issues reported above *always* happened for me on my home setup, which is an Intel GPU with a laptop panel and an external display connected over HDMI. If I try changing the display setup, I get the laptop's primary display turned off, and the HDMI-connected display operating normally. Actually I can't get out of this state now.

I've also tried at work, with the same laptop - Intel GPU, connected to a dock with *two* displays connected over DisplayPort. This setup behaves very differently. If I start E/wayland with my usual profile, instead of having 3 separate desktops, I get the primary display and the 1st DisplayPort display running in mirrored mode ... which is understandable if the names of displays are different. The 2nd DisplayPort monitor goes white for a while, then turns off. If I try to configure the displays, when I hit 'apply', E hangs. I can kill it from a console, but when I start it again, it immediately hangs again.

If I remove my ~/.e and run E/wayland, it locks my system hard after displaying the 1st-run wizard. I have to reset with ALT-SysRq { S , U , B }.

Unfortunately I can't get much testing done @ work for the above reasons. If there is something I can do to capture state or logs for any of this, let me know ...

@dkasak This is strange. I have a similar setup here with an Intel Gpu and an external HDMI monitor and yet I do not experience this. What version is your Intel gpu ? What settings are you trying in the Screen Config dialog ?

As I don't have DisplayPort available, nor a dock, this one will be tricky to track down.

The issue of the 1st-run wizard locking is likely unrelated.

If you can gdb attach to the E process, and get a backtrace when it hangs then that may help point to something.

Just a note, you can just remove the e_randr*.cfg files inside your ~/.e/e/config/<profile> directory to remove any existing Screen Config settings. No need to wipe out your entire ~/.e directory.

@devilhorns - sorry for the delay. I have a Skylake-generation GPU:

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.0-devel (git-6a519a157b)
OpenGL core profile shading language version string: 4.50

I've tried with various builds of mesa from git. I can go back to an older build if you want me to test that.

In the screen dialog, I'm just trying to get the displays configured in a non-mirroring mode. I can concentrate on the HDMI case if you want - that's the setup I have at home.

Thanks for the tips re: the e_ranrd config files.

I have some other strange behaviour to report. If I start an app on the primary display ( laptop display ), and move it to the HDMI-connected display, I get a lot of corruption and jumping around, and *very* bad performance. Also, generally, it's pretty unstable, unfortunately. I'm not sure how I can provide more feedback.

By the way - is there a wiki page that has details of capturing backtraces for E? I've tried a few times, but got an error about another process already connecting ( or something like that ).

zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:59 AM
zmike edited projects, added efl: display system; removed Restricted Project.Jun 11 2018, 9:13 AM