main_wayland: Don't hardcode /dev/fb0 anymore
ClosedPublic

Authored by nerdopolist on Dec 29 2017, 5:44 PM.

Details

Summary

Now that the framebuffer device is queried, don't assume that the framebuffer device is /dev/fb0

Test Plan

Add /dev/fb1 to seat1, start kwin with the framebuffer backend on seat1, verify with the stdio/stderr output it selected /dev/fb1.
Make sure manual device selection still works

There is an issue right now where /dev/fb1 is all black, if it is both selected manually or automatically. I think I might need see if the VSCREENINFO or FSCREENINFO framebuffer settings are changing or something (I had to do something similar to this to Weston's fbdev backend as well)

If I do find a solution, I'll send one separate from this series

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
nerdopolist created this revision.Dec 29 2017, 5:44 PM
Restricted Application added a subscriber: kwin. · View Herald TranscriptDec 29 2017, 5:44 PM

Is there anything that needs to be changed with this one?

rkflx added subscribers: graesslin, rkflx.EditedMar 21 2018, 11:51 AM

@nerdopolist Please rebase on D9556 (!) after you updated D9556 itself (and update authorship information on Phab as usual ;):

git checkout 50b948134c81
arc patch D9557
git rebase arcpatch-D9556 # might be arcpatch-D9556_1 or similar for you
# Check if it still compiles
arc diff

@graesslin Friendly ping to review the code afterwards ;)

It's trying to pull and include other diffs into the submission
https://phabricator.kde.org/differential/diff/31453/
after
arc diff --preview

rkflx added a comment.Apr 6 2018, 9:57 AM

It's trying to pull and include other diffs into the submission

Try this:

git branch --set-upstream-to=arcpatch-D9556
arc diff

It still tries to include the changes of D9556 . even after git branch --set-upstream-to=arcpatch-D9556

rkflx added a comment.Apr 6 2018, 12:08 PM

It still tries to include the changes of D9556 . even after git branch --set-upstream-to=arcpatch-D9556

Did you use the correct branch? Remember that depending on how much you fiddled around before, the other Diff might have a different branch name for you, e.g. arcpatch-D9556_2.

Please try again my steps outlined above (i.e. rebasing and setting the upstream), and please use a fresh checkout of the repo for that (i.e. re-issue git clone).


If that all does not help (e.g. you botched your global arcconfig, which I cannot help you with), you could also tell Arcanist to only upload the top-most commit:

arc diff HEAD^
zzag added a subscriber: zzag.Apr 6 2018, 12:11 PM

FWIW, I had similar issue some time ago. I solved it by cherry-picking.

rkflx added a comment.Apr 6 2018, 12:16 PM
In D9557#241100, @zzag wrote:

FWIW, I had similar issue some time ago. I solved it by cherry-picking.

Hm, could you detail that, i.e. what are the exact commands you want @nerdopolist to type?

zzag added a comment.EditedApr 6 2018, 12:28 PM
In D9557#241112, @rkflx wrote:
In D9557#241100, @zzag wrote:

FWIW, I had similar issue some time ago. I solved it by cherry-picking.

Hm, could you detail that, i.e. what are the exact commands you want @nerdopolist to type?

If he can commit to the kwin repo,

arc patch D9557
git log --oneline # to see commit hash
git checkout master
git cherry-pick <commit hash>
# check whether KWin compiles and works
git push origin master

if he can't

arc patch D9557
git log --oneline # to see commit hash
git checkout master # or a branch on which this patch depends
git checkout -b dont-hardcode-fb0
git cherry-pick <commit hash>
# check whether KWin compiles and works
arc diff --update D9557 HEAD^ 
# and maybe repeat for patches which depend on this patch
rkflx added a comment.Apr 6 2018, 12:36 PM
In D9557#241123, @zzag wrote:

if he can't

arc patch D9557
git log --oneline # to see commit hash
git checkout master # or a branch on which this patch depends
git checkout -b dont-hardcode-fb0
git cherry-pick <commit hash>
# check whether KWin compiles and works
arc diff --update D9557 HEAD^ 
# and maybe repeat for patches which depend on this patch

The problem is that arc diff assumes an incorrect merge-base for @nerdopolist. Your cherry-picking won't solve this either, because you also have to use HEAD^ in the end, just like I proposed. This is all explained in https://secure.phabricator.com/book/phabricator/article/arcanist_commit_ranges/.

Anyway, I guess this will work now, either with HEAD^, or with setting the merge-base via --set-upstream-to.

nerdopolist edited the test plan for this revision. (Show Details)

rebase

ended up doing
arc patch D9557 --skip-dependencies

rkflx added a comment.Apr 7 2018, 7:42 AM

ended up doing
arc patch D9557 --skip-dependencies

On fresh clone of the repo and after arc patch D9557, calling gitk shows your commit is attached to 50b948134c8, which is from December, and the dependent Diff is missing too. However, that's not how it should look like. Your commit should have the local commit of D9556 as its parent, and the parent of D9556 should be d3f8b979a0c2 (at the time of writing).


In D9557#241099, @rkflx wrote:

Please try again my steps outlined above (i.e. rebasing and setting the upstream), and please use a fresh checkout of the repo for that (i.e. re-issue git clone).

Let me repeat the exact steps, based on the current situation you created on Phab:

git clone https://anongit.kde.org/kwin
cd kwin
arc patch D9556
arc patch D9557
git rebase arcpatch-D9556
git branch --set-upstream-to=arcpatch-D9556
gitk --all
arc which
arc diff
graesslin accepted this revision.Apr 22 2018, 3:52 PM
This revision is now accepted and ready to land.Apr 22 2018, 3:52 PM
This revision was automatically updated to reflect the committed changes.