Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
18.55 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.05 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#296
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#297
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#291
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1899 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
  +slug: "Louvre-C-library-for-building-Wayland-compositors"
  +title: "Louvre: C++ library for building Wayland compositors."
  +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
  +body: """
    Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
    \n
    It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
    \n
    The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
    \n
    You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
    \n
    I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
    \n
    Greetings!
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 34
  +favouriteCount: 219
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1700324159 {#1853
    date: 2023-11-18 17:15:59.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1949 …}
  +votes: Doctrine\ORM\PersistentCollection {#1895 …}
  +reports: Doctrine\ORM\PersistentCollection {#2402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1388 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1375 …}
  +badges: Doctrine\ORM\PersistentCollection {#1400 …}
  +children: []
  -id: 13052
  -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
  -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700075572
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8258740"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989172 {#74
    date: 2023-11-14 20:12:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#296
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#297
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#291
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1899 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
  +slug: "Louvre-C-library-for-building-Wayland-compositors"
  +title: "Louvre: C++ library for building Wayland compositors."
  +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
  +body: """
    Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
    \n
    It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
    \n
    The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
    \n
    You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
    \n
    I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
    \n
    Greetings!
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 34
  +favouriteCount: 219
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1700324159 {#1853
    date: 2023-11-18 17:15:59.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1949 …}
  +votes: Doctrine\ORM\PersistentCollection {#1895 …}
  +reports: Doctrine\ORM\PersistentCollection {#2402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1388 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1375 …}
  +badges: Doctrine\ORM\PersistentCollection {#1400 …}
  +children: []
  -id: 13052
  -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
  -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700075572
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8258740"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989172 {#74
    date: 2023-11-14 20:12:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#296
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#297
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#291
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1899 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
  +slug: "Louvre-C-library-for-building-Wayland-compositors"
  +title: "Louvre: C++ library for building Wayland compositors."
  +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
  +body: """
    Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
    \n
    It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
    \n
    The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
    \n
    You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
    \n
    I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
    \n
    Greetings!
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 34
  +favouriteCount: 219
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1700324159 {#1853
    date: 2023-11-18 17:15:59.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1949 …}
  +votes: Doctrine\ORM\PersistentCollection {#1895 …}
  +reports: Doctrine\ORM\PersistentCollection {#2402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1388 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1375 …}
  +badges: Doctrine\ORM\PersistentCollection {#1400 …}
  +children: []
  -id: 13052
  -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
  -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700075572
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8258740"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989172 {#74
    date: 2023-11-14 20:12:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#288
  +icon: Proxies\__CG__\App\Entity\Image {#269 …}
  +name: "linux@lemmy.ml"
  +title: "linux"
  +description: """
    From Wikipedia, the free encyclopedia\n
    \n
    Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
    \n
    Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
    \n
    ### Rules\n
    \n
    - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
    - No misinformation\n
    - No NSFW content\n
    - No hate speech, bigotry, etc\n
    \n
    ### Related Communities\n
    \n
    - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
    - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
    - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
    - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
    \n
    Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1406
  +entryCommentCount: 28632
  +postCount: 6
  +postCommentCount: 214
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583542 {#296
    date: 2024-10-22 09:52:22.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#260 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
  +entries: Doctrine\ORM\PersistentCollection {#203 …}
  +posts: Doctrine\ORM\PersistentCollection {#161 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
  +bans: Doctrine\ORM\PersistentCollection {#140 …}
  +reports: Doctrine\ORM\PersistentCollection {#126 …}
  +badges: Doctrine\ORM\PersistentCollection {#104 …}
  +logs: Doctrine\ORM\PersistentCollection {#94 …}
  +awards: Doctrine\ORM\PersistentCollection {#83 …}
  +categories: Doctrine\ORM\PersistentCollection {#70 …}
  -id: 73
  +apId: "linux@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/linux"
  +apPublicUrl: "https://lemmy.ml/c/linux"
  +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "linux"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583596 {#297
    date: 2024-10-22 09:53:16.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1698929468 {#291
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details