USB framebuffer device not working b/c of xorg driver
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
While my framebuffer device, connected via USB, seems to work just fine, I cannot start an XServer using the fbdev
driver.
I debugged the piece of xorg that opens the framebuffer device (hw/xfree86/fbdevhw/fbdevhw.c
) and found that I am tripping over what seems to be a sanity check.
It says
/* only touch non-PCI devices on this path */
and ultimately things go south with this check
if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
readlink(sysfs_path, buf, sizeof(buf)) < 0 ||
strstr(buf, "devices/pci")) {
This looks for the framebuffer device in /sys
, resolves the symlink and checks if the resolved path contains the string devices/pci
.
This fails for me, b/c my
/sys/class/graphics/fb1
points to
../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.7/1-10.7.2/1-10.7.2:1.1/0003:046D:C229.000C/graphics/fb1`
So, what is actually broken here? I can imagine the following:
- My system is broken, b/c my USB device shows up in
/sys/class/devices/pci0000:00/
- A kernel driver is broken b/c it registers the device under
/sys/class/devices/pci0000:00/
- The sanity check the fbdevhw.c performs is not sane after all
Edit
I replaced
strstr(buf, "devices/pci")
with
(strstr(buf, "devices/pci") && strstr(buf, "/usb") == NULL )
and now I have a working XServer using my framebuffer. I don't know how well it works, but I can confirm xclock
is working.
So maybe, if somebody stumbles upon this question while trying to find out why the xorg fbdev will not work and doesn't give any feedback besides
(EE) No devices detected.
then check your device in /sys/class/graphics/fb?
if the symlink points to something that contains the string devices/pci
you may have found your problem right there.
xorg drivers framebuffer
add a comment |
While my framebuffer device, connected via USB, seems to work just fine, I cannot start an XServer using the fbdev
driver.
I debugged the piece of xorg that opens the framebuffer device (hw/xfree86/fbdevhw/fbdevhw.c
) and found that I am tripping over what seems to be a sanity check.
It says
/* only touch non-PCI devices on this path */
and ultimately things go south with this check
if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
readlink(sysfs_path, buf, sizeof(buf)) < 0 ||
strstr(buf, "devices/pci")) {
This looks for the framebuffer device in /sys
, resolves the symlink and checks if the resolved path contains the string devices/pci
.
This fails for me, b/c my
/sys/class/graphics/fb1
points to
../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.7/1-10.7.2/1-10.7.2:1.1/0003:046D:C229.000C/graphics/fb1`
So, what is actually broken here? I can imagine the following:
- My system is broken, b/c my USB device shows up in
/sys/class/devices/pci0000:00/
- A kernel driver is broken b/c it registers the device under
/sys/class/devices/pci0000:00/
- The sanity check the fbdevhw.c performs is not sane after all
Edit
I replaced
strstr(buf, "devices/pci")
with
(strstr(buf, "devices/pci") && strstr(buf, "/usb") == NULL )
and now I have a working XServer using my framebuffer. I don't know how well it works, but I can confirm xclock
is working.
So maybe, if somebody stumbles upon this question while trying to find out why the xorg fbdev will not work and doesn't give any feedback besides
(EE) No devices detected.
then check your device in /sys/class/graphics/fb?
if the symlink points to something that contains the string devices/pci
you may have found your problem right there.
xorg drivers framebuffer
add a comment |
While my framebuffer device, connected via USB, seems to work just fine, I cannot start an XServer using the fbdev
driver.
I debugged the piece of xorg that opens the framebuffer device (hw/xfree86/fbdevhw/fbdevhw.c
) and found that I am tripping over what seems to be a sanity check.
It says
/* only touch non-PCI devices on this path */
and ultimately things go south with this check
if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
readlink(sysfs_path, buf, sizeof(buf)) < 0 ||
strstr(buf, "devices/pci")) {
This looks for the framebuffer device in /sys
, resolves the symlink and checks if the resolved path contains the string devices/pci
.
This fails for me, b/c my
/sys/class/graphics/fb1
points to
../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.7/1-10.7.2/1-10.7.2:1.1/0003:046D:C229.000C/graphics/fb1`
So, what is actually broken here? I can imagine the following:
- My system is broken, b/c my USB device shows up in
/sys/class/devices/pci0000:00/
- A kernel driver is broken b/c it registers the device under
/sys/class/devices/pci0000:00/
- The sanity check the fbdevhw.c performs is not sane after all
Edit
I replaced
strstr(buf, "devices/pci")
with
(strstr(buf, "devices/pci") && strstr(buf, "/usb") == NULL )
and now I have a working XServer using my framebuffer. I don't know how well it works, but I can confirm xclock
is working.
So maybe, if somebody stumbles upon this question while trying to find out why the xorg fbdev will not work and doesn't give any feedback besides
(EE) No devices detected.
then check your device in /sys/class/graphics/fb?
if the symlink points to something that contains the string devices/pci
you may have found your problem right there.
xorg drivers framebuffer
While my framebuffer device, connected via USB, seems to work just fine, I cannot start an XServer using the fbdev
driver.
I debugged the piece of xorg that opens the framebuffer device (hw/xfree86/fbdevhw/fbdevhw.c
) and found that I am tripping over what seems to be a sanity check.
It says
/* only touch non-PCI devices on this path */
and ultimately things go south with this check
if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
readlink(sysfs_path, buf, sizeof(buf)) < 0 ||
strstr(buf, "devices/pci")) {
This looks for the framebuffer device in /sys
, resolves the symlink and checks if the resolved path contains the string devices/pci
.
This fails for me, b/c my
/sys/class/graphics/fb1
points to
../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.7/1-10.7.2/1-10.7.2:1.1/0003:046D:C229.000C/graphics/fb1`
So, what is actually broken here? I can imagine the following:
- My system is broken, b/c my USB device shows up in
/sys/class/devices/pci0000:00/
- A kernel driver is broken b/c it registers the device under
/sys/class/devices/pci0000:00/
- The sanity check the fbdevhw.c performs is not sane after all
Edit
I replaced
strstr(buf, "devices/pci")
with
(strstr(buf, "devices/pci") && strstr(buf, "/usb") == NULL )
and now I have a working XServer using my framebuffer. I don't know how well it works, but I can confirm xclock
is working.
So maybe, if somebody stumbles upon this question while trying to find out why the xorg fbdev will not work and doesn't give any feedback besides
(EE) No devices detected.
then check your device in /sys/class/graphics/fb?
if the symlink points to something that contains the string devices/pci
you may have found your problem right there.
xorg drivers framebuffer
xorg drivers framebuffer
edited 2 hours ago
Bananguin
asked 2 hours ago
BananguinBananguin
5,4601340
5,4601340
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f510827%2fusb-framebuffer-device-not-working-b-c-of-xorg-driver%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f510827%2fusb-framebuffer-device-not-working-b-c-of-xorg-driver%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown