Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement drivers (AppStream) #243

Closed
wants to merge 3 commits into from
Closed

Implement drivers (AppStream) #243

wants to merge 3 commits into from

Conversation

donadigo
Copy link
Contributor

Implements drivers and fixes #12.

After discussion on the Slack channel I decided to give AppStream implementation of drivers a go. We no longer depend on any Ubuntu / Debian specific code. Everything is based on AppStream and PackageKit, however scanning modaliases on the system is pretty much a Vala version of the UbuntuDrivers component. For more details about the code and it's design, look into the diff, I left some explanation for each driver related method.

Note that currently there is no AppStream data to test this branch with and this is kind of a problem since this feature is being asked by lots of people. So how did I test it?
The way to test this is to fool AppStream that some components are drivers. All of the compiled data is stored in /usr/share/app-info/yaml/pantheon_xenial-main_amd64.yml.gz file. Open this file with archive manager (with admin), and edit the .yml file inside of it. Choose some component and change it's Type field from desktop-app to driver. Next you will need a supported modalias by your system. These can be found by e.g: executing ubuntu-drivers debug and choosing one of the modalias strings. After that you can paste this under the Provides field:

modaliases:
  - your_modalias

and save the file.

Sorry if this is really complicated but this is the only way I found to test this. Perhaps Matthias knows a better way.

@danirabbit danirabbit added the Status: Blocked Something else needs to be done before this can be fixed label Apr 25, 2017
@Conan-Kudo
Copy link

@donadigo Is there a way we could have both backends supported, and have a build-time option to use one or the other?

@donadigo
Copy link
Contributor Author

@Conan-Kudo yes, we could use conditional compiling here.

@Philip-Scott
Copy link
Member

Is this PR still valid? Or does your other PR for the drivers supersede this?

@donadigo
Copy link
Contributor Author

@Philip-Scott yes, this PR is still valid. We're waiting on having all the drivers available as AppStream data, that's why this PR is blocked and cannot be merged now.

@decathorpe
Copy link
Contributor

Could you rebase this against current master?
I think this change would make driver support work on fedora, too, since drivers already work with gnome-software / packagekit / appstream.

@jeremypw
Copy link
Contributor

@donadigo Converting to draft as has conflicts and no recent activity. Please feel free to close or request review as desired.

@jeremypw jeremypw marked this pull request as draft April 28, 2021 18:15
@danirabbit
Copy link
Member

Gonna close this since there hasn't been movement in a couple years

@danirabbit danirabbit closed this May 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Conflicts with master Status: Blocked Something else needs to be done before this can be fixed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A sane place for Additional Drivers [$125 awarded]
6 participants